DICOM server 1.4.19a update bug fixes and linux installer

  • Hi Conquest users,

    Here is update 1.4.19a. It fixes a jpeg bug and the merge command in the windows GUI. It also adds a somewhat new look and functionality to the web data browser such as anonymize and zip anonymized.

    For Linux users there is a new web based installer - please try it as follows , after installing the required tools such as compilers and apache:

    cd install
    chmod 777 linux.sh

    You can download the release here:


    Can you please try it? Reporting of issues will be greatly appreciated. As usual you can update as well by extracting dgate.exe or dgate64.exe and conquestdicomserver.exe


  • Here bug reports for 1.4.19a will be collected.

    These are leftover bugs:
    1) add LittleEndianExplicit to GUI connecting to dgate. Futured
    2) Improve safety of sqlite by regular flushing. Futured
    3) Check these changes: 20140608 mvh Added BYTE PCid to CStoreRSP::Write; This change is under review: pcid does not seem to get the right value
    4) brainix sample data fails to load from zip; maybe because of French folder names
    5) sql server and access database ODBC install only work for 32 bits of dgate (e.g. disable 64 bits or create ODBC entry by hand)
    6) install second server when service of first runs gives trouble - do an echo on the install button and fail if found - futured
    7 ) last line of dicom.ini does not read if no CR (IndexDBF = 50) - futured
    8 ) Publish about Docker release of Lance
    9) gui freeze on window 10 - not reproduced so far
    10) GUI fails to run as user after install as service on server2012; does run as admin - futured
    11) Implement wadoviewerhelp - In 1.4.19b
    12) Implement web interface for batch anonymisation - futured
    13) overlapvirtualget=0 breaks the virtual server operation (hardw) - futured
    14) Thumbnail in MR confuses kpacs viewer (Dennis on mail) - futured
    15) weasis starter has hardcoded, must be %server_name%. In 1.4.19b
    16) wish: OperatorConsole.printf ("*** multiplex: connection terminated [%s]\n", CallingApTitle); Futured
    17) c-move response cannot convey >65536 images, should max numbers at 65535. In 1.4.19b

    18 ) After Linux install, cgi-bin subfolders such as newweb have insufficient access rights. Fix with sudo chmod 777 /usr/lib/cgi-bin/newweb and same for viewers folder. Fixed in webinstall of 1.4.19a but I am afraid not in regular install; in 1.4.19b
    19) for anypage to block default web interface, also set defaultpage. In 1.4.19b
    20) default install causes some issues. Use manual install. In 1.4.19b
    21) color print server does not work. - futured, awaiting more information.
    22 ) 1.4.19 does not seem to run on Windows XP; special XP compile with MS100, but jpeg2000 does not compile - Fixed by fixing compile of jpeg2000 with ms10 and providing only compatible binaries in 1.4.19b
    23) Need to document web install. In 1.4.19b
    24) Add content_lenght to WADO messages; in 1.4.19b
    25) Change patient ID - of single image - lose the image being changed. In 1.4.19b
    26) Delete - series does not work properly from GUI. In 1.4.19b
    27) Forward compressed as j2(?) does not set transfer syntax UID correctly in transmitted image. This is an issue on dcm4che but has not been seen in conquest to conquest transmission.
    28 ) Check db table name case, any case error in empty patient ID code in dbsql.cpp: DicomImages. Fixed in 1.4.19b
    29) Massimo: added missing " at end of dicom.sql. Fixed in 1.4.19b
    30) Joes Staal: in rare circumstances conquest adds an incorrect IU type transfer syntax to sequences. Fixed in 1.4.19b
    31) Merge series in GUI is broken. Fixed in 1.4.19b
    32) c-cancel request during c-move crashes server. Fixed in 1.4.19b
    33) browse tab does not work if user of server service and server gui are differerent.
    34) Recent versions of Mariadb no longer like Rows as field name. Documented in 1.4.19b

    Please report any bugs you find!

  • Hi Marcel,

    I am just trying your latest version - thanks for this. I was wondering if you could provide some more information on the 'New scripted web interface' and also the new web anonymisation functions you mention above?

    I am looking to use the scripted anonymisation and was wondering if I could extract values from a DICOM modality worklist and use those values to update (re-identify) a study in the DICOM archive. The worklist could either be from an external worklist broker or Conquest's internal worklist table. Does the LUA scripting allow this kind of functionality?


  • Hi Marcel,

    Thanks so much for your work on this. I have used conquest on and off for some time and it is an invaluable piece of software.

    I have a question - are you able to provide some more information on the new features:

    1. Scripted web interface
    2. Flexible anonymisation server
    3. Anonymize functionality in the web browser

    What I am actually interested in achieving is to re-identify a study within the archive with identifiers extracted from a matching DICOM Modality worklist (matched on Name, DOB and Gender).The worklist can either be a worklist query of an external broker or an entry within the internal worklist table.

    This is a workflow that would re-assign our local hospital identifiers (PatientID and AccessionNumber) to external data.

    Is this possible with the LUA scripting, existing functionality?


  • Hi,

    I am new to this forum so "hello to everyone" ;)

    I would like to propose a change in the code. In dgate.cpp line 8095: char szEntry[32];. You should consider rising the size of the array, because 32 is too low to let ModalityWorklistQueryResultConverter0 to work. For future converter names it could be even 64 ;)


  • Then for Huw,

    Lua scripting can do things like

    newuids -- assign all new UIDs
    dbquery -- query a database
    Data.PatientID = value -- replace dicom entries

    So yes, lua scripting can achieve what you want. What you need to think of what workflow you would like to put this is. You can think of running a script for every incoming image (ImportConverter0), from the command line: dgate --lua:, or from the web interface (see below).

    1. Scripted web interface
    The new interface has a drop down menu that calls one of several actions coded in listpatients.lua. This file runs in the CGI interface but can call the server to do as it likes (using servercommand). Explore overview.lua and the lua files of the interface.

    2. Flexible anonymisation server
    This is more like a batch anonymiser. The text of an abstract about it is posted. It calls the anonymiser (in Lua) for every incoming image. Then scripts are run from a debugger (zero brane studio) to collect data for trials.

    3. Anonymize functionality in the web browser
    This is just a command of the scripted web interface, page mode=listpatients, parameter 'anonymizer' and 'anonymize'. It is easy to try it out and you can play around with the code. The actual anonymizer called is in anonymize_script.lua, you can easily add commands or modify this to call you own Lua file.



  • Hi Marcel,

    Thanks for this - apologies for the duplicate post, I wasn't sure if my first one went through.

    Thanks for the feedback, I will take a closer look.

    With regards to the new scripted interface, I can't access it for some reason, I am getting the following message (the other web interface functions are working okay):

    DICOM ERROR connect failed on socket level (called not running)
    Conquest 1.4.19a WEB interface
    server not running

    Is this a simple fix?


  • Hi Marcel,

    Thanks again for your response. It is the same port. Other parts of the web interface work, just not the new scripted interface.


    TCPPort = 11116


    WebServerFor =
    TCPPort = 11116

    Is there anything else to check?


Participate now!

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