1.4.17 release out

  • Dear Conquest users,

    I just released version 1.4.17. It is a modest update to 1.4.16 versions and should be very stable. But please report anything problem you find in operation, installation or packaging of the files. The main new feature apart from some bug fixes is integration with a Lua IDE called ZeroBraneStudio maintained by Paul Kuchenko.

    I thank all users for their help in augmenting this system.

    You can find it at: http://www.xs4all.nl/~ingenium/dicom.html

    With kind regards,

    Marcel van Herk

  • Here bug reports will be collected.

    1) lua filenamesyntax is shows .v2 in GUI. Fixed in 1.4.17b

    2) See below: When I try to view headers for RTSTRUCT and RTPLAN via the web interface I am getting segmentation fault error.Headers in CT and RTDOSE modalities are shown properly. It is in the DumpVR(VR *vr, FILE *f, int iDepth) function in dgate.cpp file. Fixed in 1.4.17a

    3) The GUI crashes when attempting to edit AE or port on one of my win7 64 bits system (with auto updates ON and a Tesla k20 card) but not on many others. For now, if you have this problem edit dicom.ini to set AE and port. If the GUI crashes do not forget to kill dgate(64).exe before restarting it. One 1 other unstable WIN7 system the GUI did not start because the directory browser GUI component did not work.

    4) The version number in the compiled dgate(64).exe is 1.4.17beta3 but is should have been 1.4.17 proper. Fixed in 1.4.17a

    5) There was a hang condition in the autocomplete code of Zerobrane studio 0.37. Please download the ZIP repository (which is fully functional) from the ZeroBrane Github page to avoid this condition until a next version is released. Edit: as 0.38 is out, this issue is resolved.

    6) The lua scripts need updating such that thay also work on linux. Fixed in 1.4.17a

    7) The Linux compile of lua does not include posix (popen) and shared library support. Fixed in 1.4.17a

    8 ) anomymize from GUI does not use the passed patient ID as name but uses a CRC generated value ... Feature under discussion; should pass passed patientID to anonymizer script rather than applying it after to allow users to configure this behaviour. In 1.4.17b the new patientid is passed as command_line

    9) some lua function (e.g., setimage) return a ghost value. Fixed in 1.4.17a

    10) Look into these crashes: http://forum.image-systems.biz…c.php?f=33&t=21853#p32024. They occur for images without a patient ID (and patient name) which is invalid DICOM. Still need to be fixed though. Will be fixed in 1.4.17b

    11) add incoming folder to standard installation. Will be in 1.4.17b

    12) in the file/cgi-bin/viewers/LuanchWeasisStudy.cq the first two letters of the filename are mixed up and mismatching file extensions (solved for me) in your example /cgi-bin/dicom.ini for the section you suggest [weasis]source = viewers\LaunchWeasis.lua, whereas the file is named viewers\LaunchWeasis.cq. Will be fixed in 1.4.17b

    13) setimage(frame, a) fails, while Data:SetImage(frame, a) works. Will be fixed in 1.4.17b

    14) genuid() is not in zbs code completion file. Will be in 1.4.17b

    15) make dgate --lua: and dgate --luastart: and process with xx.lua and dicom move callback reentrant. Will be in 1.4.17b

    16) Running the load test scripts posted below (with a destroy import converter which speeds it up and saves disk space), I could cause a server thread to hang quite frequently if I ctrl-c'd the sending script. The hanging thread problem has been identified as a problem in the UCDavis PDU code and a fix will be in 1.4.17b.

    17) the "forward to" import converters are not multi-thread safe. Will be fixed in 1.4.17b

    18 ) the script triggered by e.g., "process series by file.lua" does not print to the log. Will be fixed in 1.4.17b

    19) "forward to import" converters do not close the connection after 5 s but after the TCP-IP timeout of 300 s. Will be fixed in 1.4.17b

    20) "forward study" sees images with and without patient ID as coming from different studies. Futured.

    21) writing directly into dicom.ini as in: Global.ForwardAssociationLevel = 'SERIES' is not thread safe. Futured.

    22) missing images are removed from the database for virtualserver operation; should be disable if no virtualserver is defined. Will be fixed in 1.4.17b

    23) under very high server load, acrnema.map array access can crash the server due to non-thread safety. Fixed in 1.4.17b

    24) there may be an issue with non-standard DICOM objects and compression. To be investigated.

    25) forward compressed as j2 to a certain system shows accepted compression j1.

  • Here feature requests will be collected.

    1) Allow querying in lua of private ConquestFilename and ConquestDevice. Futured.

    2) add Linux autostart script to release

    3) start wado based lua viewer from 'find xxx on yyyy' on web page

    4) integrate Stanislaw Adaszewski's HTML5 niftyviewer

    5) Automatically add QueryRetrieveLevel item to dicomquery. Futured.

    6) Add move by accessionnumber. In 1.4.17a

    7) Add option to create DICOMDIR

    8 ) Add option to disable FixImage and handle empty patient IDs. In 1.4.17b

    9) Add callbacks into virtualserver query, process query results and retrieve to allow an anonymizing virtual server, In 1.4.17b

    10) allow moving of printer_files and dbase folder (very low priority)

    11) "forward close" command for lua. As in 1.4.17b the forward import converter auto closes, not needed anymore.

    12) addimage call in lua and DicomObject:AddImage(), in 1.4.17b

  • Here I will list and detail some new feautures.

    OpenClinica integration files included.

    See the posts on the forum how to use.
    The files are in webserver/cgi-bin/OpenClinica and should be copied to your webserver's cgi-bin/OpenClinica folder.
    requires cgi-bin/dicom.ini change to default page and add of some [OpenClinica] settings (see new 1.4.17 sample)

    DWV and Weasis integration files included.

    See the posts on the forum on how to use.
    The files are in webserver/cgi-bin/viewers and should be copied to your webserver's cgi-bin/viewers folder.
    requires cgi-bin/dicom.ini changes to define and use the viewer (see new 1.4.17 sample)

    ZeroBraneStudio Lua IDE integration files included.

    Install or upgrade to conquest 1.4.17 including the lua and ZeroBraneStudio folders.
    Download and install (or unzip) ZeroBrane Studio (ZBS) from http://studio.zerobrane.com/ or Github
    Start ZBS
    Open dicomserver/ZeroBraneStudio/install.lua
    follow the instructions shown in this file (right click - select all; right-click - evaluate in console)
    done: code completion, script starting and debugging is active

  • Hi Marcel,

    I have found one bug in the 1.4.17 release which is, according to my testing, also present in the alpha and beta versions. I have a DICOM data with CT, RTDOSE, RTPLAN and RTSTRUCT modalities.

    When I try to view headers for RTSTRUCT and RTPLAN via the web interface I am getting segmentation fault error.
    Headers in CT and RTDOSE modalities are shown properly.

    Any idea what can cause this problem? Can somebody reproduce it?
    Running environment: 64bit Linux (Debian Wheezy), Postgres database



  • Hi,

    My feeling is that the bug is still related to the network communication layer. We tested the 1.4.17 on older linux with 2.* kernel and there it works fine. So the bug is showing up only on newer linux versions with kernel version 3.*


  • Hi,

    My colleague actually located the source of the problem. It is in the DumpVR(VR *vr, FILE *f, int iDepth) function in dgate.cpp file.

    There is a declaration for array of chars for dicom object printing and the size of char array is only 256. This is not sufficient especially for RTStruct which can have contour points included and and also RTPlan wiith LeafPositionBoundaries element. After increasing the array size to 2048 it is working again. Maybe it would be wise to have some sort of string size checking on this place.



  • Hi Tomas,

    that is great. I will fix to in the next update. Edit, buffer d[] needs to be 514 long: 2 quotes and maximal 256 characters that may be escaped to 512 (eg CR to \n). Edit, this bug has been there really long!

    Thanks! Marcel

  • Hi,

    When trying to compile on a Debiam Wheezy system I get the following:

    chrisje@draakje:~/conquest/conquest-linux-1417/conquestlinux1417$ sudo ./maklinux_mysql
    In file included from dgate.hpp:69:0,
    from vrtosql.cpp:76,
    from total.cpp:105:
    odbci.hpp:119:20: fatal error: mysql.h: Bestand of map bestaat niet
    compilation terminated.
    cp: kan status van ‘dgate’ niet opvragen: Bestand of map bestaat niet

    So compiling fails.
    I met the same on another Debian Wheezy syatem

  • Hi Chris,

    the make script maxlinux_mysql uses -I/usr/include/mysql. So it should find mysql.h in /usr/include/mysql.

    Can you check that it is there? If there is a better way to pass these paths let me know.



  • Hi Marcel,

    It seems to be necessary (Debian Wheezy) to have installed:

    After that you can find mysql.h in /usr/include/mysql.

    After installing both compilation goes without problems.


  • Hi Marcel,

    I'm having trouble with the 'Anonomize this Study' and 'Anonomize this Series'. It doesn't anonomize to the patientID and patientName I provided, but instead gives it a (to me) random name. The 1.4.17alpha did not have this problem. Could you speculate on the source of this problem and is there a work-around?


  • Hi,

    These are both requests for command line options, I assume. E.g.,

    dgate --moveaccession:source,dest,patid:accessionno
    dgate --export:pat,stu,ser,sop,c:\data\DICOMDIR,script

    The latter would be an added feauture to the existing export command. If you agree I will them as such on the wishlist.


Participate now!

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