Conquest DICOM Server 1.5.0c released

  • Hi Conquest users and friends,


    This is the long awaited 1.5.0c release. Much time has gone into bug fixes and json integration culminating in a first release of DICOMWeb functionality.


    You can download the release here:


    http://natura-ingenium.nl/dicomserver/dicomserver150c.zip


    This is the corresponding Github commit for 1.5.0c:


    https://github.com/marcelvanhe…83a796ac54416c6d5f24d7517


    New features are: Fixes, Json and DICOMWeb support; regenerate with wildcard; hash anonymisation; allow rename images; Docker examples; sample webpages with DICOMWeb based viewers from Ohif and Luiz Oliveira, who greatly helped the DICOMWeb work.


    As usual you can update by extracting dgate.exe or dgate64.exe and conquestdicomserver.exe, but also quite a few other files have changed - mainly in the web interface, lua code and installer. The web interface no longer required cgi, but uses PhP instead.


    The latest source code (1.5.0c+) can be browsed on: https://github.com/marcelvanherk/Conquest-DICOM-Server


    Please report bugs and successes!


    Marcel

  • This is the buglist, starting with leftover bugs from earlier versions, per category:


    Documentation bugs

    D1) process study by file.lua does not allow () around argument (changed on Git)


    GUI bugs

    G1) browse tab does not work if user of server service and server gui are differerent.


    Web interface bugs

    DICOM Communication bugs

    C1) Multiple instance matching incomplete


    Installer bugs or limitations (low priority)

    I1) last line of dicom.ini does not read if no CR - futured

    I2) web installer should copy OHIF (in github) and luiz html folders and compile servertask

    I3) Web installer on windows does not offer a 'regen' by itself

    I4) Fedora uses /var/www, and nohup has an issue. Therefore provide specific web install scripts for other linux flavours, e.g. fedora.sh. Fedora also requires "sudo setenforce Permissive" for the web server and install to work; also acrnema.map must be copied locally to the cgi-bin/newweb folder rather than pointing to the server folder.

    I5) Oracle linux issues see below; add mysql/mariadb option


    Unconfirmed bugs:

    U1) I was also expecting DicomObject:Read('stu\ser\sop') to work with virtual servers but I tested it again and sadly no luck there

    U2) Show header in wadoviewer (wado text) open sometimes as dgate.exe downloads


    Below ---- newly found bugs for 1.5.0c will be collected (also see above)

    N1) Too long queries do not give a proper error message in GUI

    N2) luaSetVR does not padd odd string to even (fix on Github)

    N3) Need retry SqliteExec on SQLITE_LOCKED (fix on Github)

    N4) Running ConquestDicomserver from wine with dgate as linux service issues, replace c: temp filenames with z:/

    N5) Dicom printing from script or gui fails for compressed images

    N6) Linux webviewer.sh is not reliable

    N7) print from lua should fail gracefully for too long output

    N8) DICOMWeb app was hardcoded for AE CONQUESTSRV, fix sneaked into the release zip, 1 sept 2022

    ------------ Release

    N9) Internal networking is unreliable on Centos7

    N10) dicomweb frame code boundary string is incorrect (fix on Git)

    N11) studymodality did not display in newweb studies list (fix on Git)

    N12) .htaccess in app/ohif has rewriterules reversed (fix on Git)

    N13) data processed though incoming has CallingAE of 16 spaces in ImportConverter

    N14) progressbar in GUI fails to close on very short operations from browser

    N15) export:xx,,,,binary does not work

    N16) Change or modify should not allow empty patientIDs

    N17) default api path in ohiftop should not refer to localhost e.g. wadoUriRoot: '/api/dicom/wadouri' (fix on Git)

    N18) dgatesop.lst is out of sync with the GUI on install (fix on Git)

    N19) api query on modality does not pass query parameters (fix on Git)

    N20) SCP/SCU Role Selection Sub-Item Structure is not sent (fix on Git)

    N21) Update license to Apache

    N22) Add optional delay to incoming scanner to avoid reading partial files (when 'at' does not block) (fix on Git)

    N23) The GUI ignores ACRNemaMap in dicom.ini

    N24) Ladle on Linux: 1. The file lua/JSON.lua needs to be renamed to lua/json.lua; 2. All the urls contain dgate.exe eg http://127.0.0.1:8086/cgi-bin/…match=&patientnamematch=*; Ladle now also uses app/newweb and app/ohif - deprecating cgi-bin interface (fix on Git)

    N25) app/newweb may add HTML header to zip files if using userlogin (not confirmed)

    N26) Association.ConnectedIP is unreliable; Proposed fix on Git using thread local storage by msz-kp

    N27) the "by" clause is not checked in into_queue_unique(q, data, 230), extend to 490 characters. (fix on Git)

    N28 ) servertask --deletepatient: acts as if it is --dolua. (fix on Git)

    N29) The supplied postgress DLL uses a deprecated login method can use libcrypto-3-x64.dll; libiconv-2.dll; libintl-9.dll; libpq(64).dll; libssl-3-x64.dll; libwinpthread-1.dll from recent release

    N30) Set utf8todb and utf8fromdb for PostGres (fix on Git)

    N31) C-GET compression was not functional and left group 2 items (fix on Git)

    N32) Temp file in ladle script was not deleted (fix on Git)

    N33) I think autodelete only works when there is a single MAG device (-ff option).

    N34) startscript and readprogress assume \\ directory separator, wont work on linux (fix on Git)

    N35) postgress error [CONQUESTSRV1] *** ERROR: operator does not exist: character varying + integer LINE 1: ....SeriesInst = DICOMSeries.SeriesInst ORDER BY (ImageNumbe+0) (fix on Git)

    N36) servertask --dolua: failed after update for N28 (fix on Git)

    N37) Adapt choice of web apps in right click built-in server on what is actually there


    Please tell me of any bugs you find.

  • Here feature requests will be collected


    1) add LittleEndianExplicit to GUI connecting to dgate. Futured. Partly in 1.5.0beta1

    2) Improve safety of sqlite by regular flushing. Futured, but users can change SqLite startup pragma for safer operation in 1.4.19c

    3) install second server when service of first runs gives trouble - do an echo on the install button and fail if found - futured

    4) Implement web interface for batch anonymisation - futured

    5) Make max PDU size configurable. Futured.

    6) request for time stamp in ms. Futured.

    7) Use conquestdicomserver.lua from gui (could use servertask exe)

    8 ) Modify lua weasis starter for non-jnlp version

    9) Use flag to avoid error messages from install controller (*** Not enough rights; ***Error loading)

    10) Provide dgateserv service installers in web install

    11) Update SqLite version to latest (fix on Git)

    12) Provide options to personalise the web interface re name, header and color

    13) provide binary mode export: (partial in 1.5.0c)

    14) printer for Linux (WIP in 1.5.0c)

    15) option to read dicom objects partially for metadata (WIP)

    16) cache metadata requests based on UID and scrubbing

    17) select for archiving based on general query (studydate)

    18 ) Association.ConnectedIP is not passed to CallImportConverterN

    19) Selectively disable virtual queries and moves (through DICOM tag 0x9999,0x0802 in the query data) from a delayed forward statement.

    20) Check acrnema.map for duplicates when saving.

    21) Ignore _MACOSX shadow files making import slow (in release 1.5.0c)

    22) Count database accesses

    23) Allow binary input data for servercommand under lua (now only a file is allowed)

    24) Allow (local) as AE in lua commands

    25) Add a daily database backup for sqlite (https://sqlite.org/backup.html)

    26) Add a regen on file date (to restore a database lost during an active day)

    27) add dicomweb to built-in server (requires router.lua and translating php scripts) (on Git)

    28) Take new printer settings without restarting gui

    29) Add mechanism to auto scan and serve folder



    This list will be updated as the release progresses

  • marcelvanherk

    Changed the title of the thread from “Dicomserver 1.5.0c release” to “Conquest DICOM Server 1.5.0c released”.
  • Hi, im new in this blog but i use Conquest about 10 year ago,

    but i dont know what i need do to use Conquest like a Modality Dicom Worklist

    i only configure like Dicom Server and the workstations send to this the studies.


    thanks and have a nice day

  • Hi,


    I'm new to this community. I want to know when I scan this file with VirusTotal why is it being flagged as "Trojan"


    Security vendors' analysis

    Antiy-AVL

    Trojan/Generic.ASMalwRG.10F

    MaxSecure

    Trojan.Malware.300983.susgen


    Thank you.

  • Hi,


    I am keen to use this new release with DICOMweb as I want to use for AI training with monai label and 3dslicer.


    My system is Kubuntu 22.10 and I found a couple of problems while trying to use Ladel server. I downloaded by cloning the git repository


    1. The file lua/JSON.lua needs to be renamed to lua/json.lua

    2. All the urls contain dgate.exe eg http://127.0.0.1:8086/cgi-bin/…match=&patientnamematch=*

    They work when the .exe is removed.


    Any suggestions on how to fix it?


    Mark

  • Thanks for the feedback but I will delete your post in case it may be a placeholder for spam.

    Quote

    I've downloaded the release from the provided link and checked out the corresponding Github commit. It's fantastic to see the new features, including fixes, Json and DICOMWeb support. The addition of regenerate with wildcard, hash anonymization, and the ability to rename images is very helpful. The Docker examples and the sample webpages with DICOMWeb based viewers from Ohif and Luiz Oliveira are also impressive contributions.

    I appreciate the instructions on how to update by extracting the necessary files. It's good to know that there have been changes in the web interface, lua code, and installer. The transition from CGI to PhP for the web interface sounds like a positive improvement.

  • Hi! I've unpacked and seems to successfully started ConQuest. And have such log:

    [CONQUESTSRV1] DGATE (1.5.0c, build Sat Jul 01 21:22:07 2023, bits 64) is running as threaded server

    [CONQUESTSRV1] Database type: built-in SQLite driver

    [CONQUESTSRV1] User interface test: local server is running!

    [CONQUESTSRV1] 07/01/23 23:02:43: Ladle web server v0.1.2 (c) 2008 S Saint-Pettersen (c) 2015 D Rempel

    [CONQUESTSRV1] 07/01/23 23:02:43: Serving on *:8086

    [CONQUESTSRV1] timeout

    [CONQUESTSRV1] 07/01/23 23:03:00: Newlines (\r\n) not found in request:

    [CONQUESTSRV1] timeout

    [CONQUESTSRV1] 07/01/23 23:03:05: Newlines (\r\n) not found in request:


    I've tryied to open WEB interface at http://127.0.0.1:8086/

    But have no any usable content here.

    How it possible to open WEB interface of the storage?

    Another question. Does the DicomWEB works on the storage? And what port is it using? I've installed the Weases viewer and want to connect it to the Conquest storage.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!