Update 1.4.17c released

  • Hi all,


    Here are full updates to the 1.4.17c system, that were released 7 November 2013.


    The DICOM server for windows:
    ftp://ftp-rt.nki.nl/outbox/Mar…rver/dicomserver1417c.zip


    The DICOM server for Linux with full scripting and web interface and source code:
    ftp://ftp-rt.nki.nl/outbox/Mar…conquestlinux1417c.tar.gz


    Source code of the server core executable (without libraries):
    ftp://ftp-rt.nki.nl/outbox/Mar…icomserver/dgate1417c.zip


    Source code of the DICOM library:
    ftp://ftp-rt.nki.nl/outbox/Mar…mserver/dicomlib1417c.zip


    This release fixes some minor bugs, one major communication issue with some clients, and adds the full scripting environment in the Linux build as well. See the post below as well as the 1.4.17 announcement for bugs fixed and features added.


    Please report any bugs or issues you find.


    Thanks, Marcel

  • Bugs will be collected here.


    1) "forward study" sees images with and without patient ID (only possible if AllowEmptyPatientID = 1) as coming from different studies. As workaround use something like "ifnotempty %VPatientID; forward study to DEST". Futured.


    2) writing directly into dicom.ini as in: Global.ForwardAssociationLevel = 'SERIES' is not thread safe and may crash the server if done by multiple threads at the same time. Futured.


    3) there may be an issue with non-standard DICOM objects and compression. To be investigated. As workaround detect these objects in importconverter and use "destroy: to make sure they do not enter the database. Futured.


    4) forward compressed as j2 to a certain system shows accepted compression j1. This is probably normal behavior, any lossless jpeg is accepted if one is proposed.


    5) install wordwrap.lua in zbs. In 1.4.17c.


    6) wrong version number baked into conquestdicomserver.exe etc tags (is now 1.4.14a). In 1.4.17c.


    7) service control manager loses contact during shutdown from 'services' on wsv 2008 or win7. Workaround: ignore the error message, the server did stop. Futured.


    8 ) Lossy jpeg is actually not lossy at all (fixed in 1.4.17c), quality parameter has no effect in e.g., jk50. For the latter, for noticeable higher compression use e.g. jk05. NO ERROR.


    9) Calling :GetImage on a jpeg compressed DICOM object crashes. As workaround decompress the image first using e.g. x:Script('compression un'); or x = Data:Compress('un') in 1.4.17d


    10) change default TruncateFieldNames to 10, UseBuiltInJPEG to 1, FileNameSyntax to 4, and SQLite to 1 so that a minimal dicom.ini make sense. In 1.4.17c, with exception of SQLite: would affect old odbc configs.


    11) e.g., 'forward compressed as J2 to server:port' overrules compression to UN. As workaround use 'forward compresses as J2 to AE'. Fixed in 1.4.17c.


    12) QueryResultConverter0 does not work in pure lua, as workaround: end it by an empty script('') command. Fixed in 1.4.17c


    13) DT_MSTR query to DBASEIII is not implemented, should give warning message to alert user. The message is there but printed to SystemDebug only. In 1.4.17c


    14) Table names are hardcoded in some queries, e.g., DicomImages.SOPInstanceUID. Futured.


    15) Sending large amounts of images in one move takes large amounts of memory, causes a full processor load in the sending server and is very slow. When I send 65000 images, it works in batches of 200 images and then nothing for a minute or so. This stop and go behavior seems related to GUI logging. If I turn off the GUI log window, the speed is much better, but after 5000 images or so the speed per slice drops noticeably to less than 1 slice per second. Fixed in 1.4.17c: speed stays at 30 slices per s even up to 50000 slices in a single move.


    16) To maintain ZBS compatibility after it adds lua5.2 support (not needed for version 0.38): adjust install script for luajit compatibility and distribute socket.lua with conquest. As ZBS 0.39 was just released this is now critical (see below for update). Fixed in 1.4.17c.


    17) Virtual query does not combine the results of computed fields like NumberOfPatientRelatedInstances but only returns a single one. Futured.


    18 ) Downsizing non-square images may affect image coordinates. Use downsizing option (e.g. k4 compression) with care. Fixed in 1.4.17c.


    19) WatchFolder is not documented in the manual. Fixed in 1.4.17c


    20) Virtual server fails if the c-move response to conquest is not for each slice causing a miscount of retrieved images. Fixed in 1.4.17c


    21) Fix in VirtualServerPerSeries when exactly equals #images, would omit SOP tag but set level to IMAGE. Fixed in 1.4.17c


    22) VirtualServerPerSeries wrong in manual. Fixed in 1.4.17c


    23) ***multiplex connection terminated on some servers. Fixed in 1.4.17c


    24) update some lua samples as reported by David Atkinson. In 1.4.17d


    25) remove ljz's AVL mail from the web page. In 1.4.17d


    26) IU-22 ultrasound machines hang in the connection after 1.4.17


    27) GUI started UID based queries fail to send UIDs as of 1.4.17. Fixed in 1.4.17d


    28 ) check why defer does not work on e.g., delayed forward study


    29) Would it be possible to fix the code of conquest dicom to not send
    AAbort PDU with Source value set to 3. As per PS 3.8 - 2011 Table 9-26 A-ABORT PDU FIELDS,
    only 0,1 or 2 are valid values for Source. This Source field shall contain an integer value encoded as an
    unsigned binary number. One of the following values shall be used:
    0 - DICOM UL service-user (initiated abort)
    1 - reserved
    2 - DICOM UL service-provider (initiated abort). Use value 0 In 1.4.17d


    30) update Linux doc: state clibs/socket/core.so instead of clibs/core.so. In 1.4.17d.


    31) j2 compressed data has the wrong transfer syntax in the file, and sending it out with j2 transmits this wrong syntax. At least this is reported when running with efilm. NOT CONFIRMED


    32) mailer does not work, settings cleared by the weekly checks config. Fixed in 1.4.17d


    33) MIRROR0 and MIRRORDevice0 seem mixed up. Define both to make it work. Check GUI handling of mirror copy failure file.


    34) dicommove documentation is wrong in zbs autocomplete, phycisianofrecord as well. Fixed in 1.4.17d


    35) Add W* to acrnema.map. In 1.4.17d


    36) Add entries for WeasisSeries and StudyXML to sample dicom.ini. In 1.4.17d


    37) protect anonymisation script against missing patientname tag and missing sopinstanceuid (for queries); add lua/ in examples. In 1.4.17d


    38 ) changeuid is sometimes used for patient names; if it contains a ' things go wrong, should be escaped. In 1.4.17d


    39) weasis cq files need to be updated for new java version (see weasis sticky by luiz); add weasis folder to htdocs with readme. In 1.4.17d


    40) add e.g. compression=JK option to weasis starters, update dictionary to include:
    (2001,9000) VERS="5" VR="SQ" VM="1-n" Keyword="PhilipsJunkSequence" Name="Philips Junk Sequence". Not needed; overruled by fix 41 in 1.4.17d below.


    41) Set 'UN' typed tags to 'SQ' when conquest knows it is a sequence. Fixed in 1.4.17d


    42) Update dwv.lua interface file, and provide empty dwv folder with readme in htdocs. In 1.4.17d


    43) Added DicomObject:Copy and DicomObject:Compress in Lua interface. In 1.4.17d


    44) jpeg lossless green color issue (incorrect choice of colorspace) and RLE decoder crash issue. In 1.4.17d


    45) FL in headerlister should be an array. Futured.


    46) DICOMWorklist table name hardcoded in places. Futured


    47) Update with cppcheck reports linux distro. Some in 1.4.17d


    48 ) Remove OtherPatienIDSequence in anonymizer. In 1.4.17d


    49) Allow generic NKI (xdr) decompression. In 1.4.17d


    50) Data:Read(file) (reading into global data object) crashes the server, while readdicom(file) works OK. Partly fixed in 1.4.17d


    51) Update overview.lua and conquest.lua autocomplete (e.g. Data:Compress), in 1.4.17d; add version of nifty.lua


    52) Update dgatesop.lst embedded in server install. In 1.4.17d


    53) Add Luiz's scripted replacements for the web pages into the distribution. In 1.4.17d


    54) Add Alea scripts to web server distribution. In 1.4.17d



    55) Reported crash on printing from GUI (cqdicom.dll of 1.4.17c is broken). Used older cqdicom.dll in In 1.4.17d.


    56) queryresultconverter0 runs erratically for direct call of lua file. Fixed in 1.4.17d


    57) Adapt (de)anonymization scripts and calls to work on queries as well, i.e., empty UIDs remains empty. In 1.4.17d


    58 ) Document required encoding for postgres (e.g., LATIN1 or Win1251). More or less in 1.4.17d

  • Feature requests will be collected here.


    1) Allow querying in lua of private ConquestFilename and ConquestDevice. Fixed in 1.4.17d
    2) add Linux autostart script to release. In 1.4.17c
    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. Check in 1.4.17d
    6) Add option to create DICOMDIR
    7) allow moving of printer_files and dbase folder (very low priority)
    8 ) new GUI that also works for Linux
    9) :Copy and :Compress Lua methods for DicomObjects. In 1.4.17d
    10) add quality clause to save jpg to. In 1.4.17c
    11) allow lua servercommand to other port {as workaround use os.execute('dgate -pNNN --...'}
    12) dgate --testimages: should also decompress jpeg data. As workaround write a lua program to do this. In 1.4.17c
    13) a lua callback to process (and filter) serverstatus logging
    14) keep patient/study/series layout inside exported zip file
    15) allow dgate --dolua:filenameme, and autostart lua file with same name as executable. In 1.4.17c
    16) enable virtual MWL.
    17) use l/w of header in jpeg generation
    18 ) lua mkdir function. In 1.4.17d
    19) Add support for MPEG and other transfer syntaxes that cannot be modified by the server (requires complex change in outgoing c-store)

  • Hi,


    Use this install script for ZBS0.39. If you have used the old install script with ZBS 0.39 instead, restore lua/socket.lua from the conquest distribution.


    IT IS NOT NEEDED ANYMORE FOR THE RELEASE OF 1.4.17C MADE JUST NOW.


    Marcel


  • hello
    I have problem pushing study as a zip from web interface. I did as u suggested in one of your replies to crate zip.cq and put nop in it, but still no luck I get this: [DICOMSERV] Importconverter-1.0: nop and 504 gateway timeout on web interface. any suggestions would be appreciated

  • on chrome it downloads as dgate.exe instead zip. that is not major for me, but I just stumbled on other problem when pushing as zip on big studies like Echo which are usually as big as 1gb, it gives me Gateway Timeout error. can I increase timeout for big files? looks like it can't prepare zip file fast enough for such big studies?

  • hi
    oh no pushing zip I meant downloading zips, I used word push because that's how it is on web interface, I think it should say download on web interface I was thinking to correct it but don't know where to do and that's not a problem for me I can live with that :). well it times out after 3 min.

  • Quote from marcelvanherk

    Hi,


    this may be affected by the TCPIPTimeOut parameter. Try to set it in both dicom.ini's of the sebserver and the dicom server. But it could also be a wampp thing....


    Marcel


    Hi
    there is no TCPIPTimeOut in webserver folder dicom.ini file only in dicom server folder. did I do something wrong? but I fixed timeout error by changing it just in dicom server folder dicom.ini file, I set it TCPIPTimeOut = 8000 and now downloads studies as big as 1.5gb.
    unfortunately now I'm getting another error on random studies with random file sizes it gives me Internal server error 500. The server encountered an internal error and was unable to complete your request.


    Error message:
    End of script output before headers: dgate.exe


    on Apache error log I get this: [cgi:error] [pid 6484:tid 1696] [client 127.0.0.1:49600] End of script output before headers: dgate.exe, referer: http://localhost/cgi-bin/dgate…2364691.0.2&source=(local)&key=


    any suggestions on this one? thanks

  • David Atkinson reported:


    livecoding.lua contains an incorrect Study Date range for the default
    images in the database (they are from 1998). WILL DO


    I still don't understand the second part of this comment in welcome.lua
    "You need to use version 1.4.17beta or later for this to work and copy
    mobdebug.lua from the ."
    I copied mobdebug.lua from the lua to ZeroBraneStudio folders but I'm
    not sure if this was needed or intended. TO BE REMOVED


    The bit in the importconverter0 that says " Association.Called=="SMOOTH"
    " isn't clear and doesn't work with a default set up? (I was using
    DicomCleaner to send images and that isn't called SMOOTH.) I changed the
    test to "Association.Called=="CONQUESTSRV1" " and it does put a smoothed
    nifti in C:\data and a copy in the database (I used your niftytest.lua,
    rather than making a new smooth.lua ). WILL BLOCK OUT

  • I just upgraded all our servers to 1.4.17c and am having some issues with Philips IU-22 machines
    Today in different sites we had these machines stop sending images until we restarted them.
    When looking through the logs I found the following:
    20131114 07:53:25
    ***Client Error: command ffff failed **
    20131114 07:53:25 ***Connection Terminated


    This is showing up already multiple times today in 2 of my locations.
    Is this a known bug or does anyone have suggestions on what might be going on?

  • all my sites have had the problem now multiple times.
    The only machines that are having the problem are Philips IU-22 machines
    I enabled debug logging on all conquest instances in the hope this will capture what exactly is going on.
    I'll post the logs once it happens again

  • I just had the error come up twice within 4 minutes on a server with debugging turned on.
    Below is a part of the log file
    If needed, Is there a secure way I can send anyone the complete log file?
    I don't really want to post it here since it contains patient data


    Code
    [NHCONQUEST1] 20131115 09:44:13 Connected by address: 0100007f[NHCONQUEST1] 20131115 09:44:13 Testing transfer: '1.2.840.10008.1.2' against list #0 = '1.2.840.10008.1.2'[NHCONQUEST1] 20131115 09:44:13 0000,0002 18 UI AffectedSOPClassUID "1.2.840.10008.1.1" [NHCONQUEST1] 20131115 09:44:13 0000,0100 2 US CommandField 48 [NHCONQUEST1] 20131115 09:44:13 0000,0110 2 US MessageID 7 [NHCONQUEST1] 20131115 09:44:13 0000,0800 2 US DataSetType 257 [NHCONQUEST1] 20131115 09:44:13 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [NHCONQUEST1] 20131115 09:44:13 9999,0400 6 LO ConquestConsoleComma "silent" [NHCONQUEST1] 20131115 09:45:13 Connected by address: 0100007f[NHCONQUEST1] 20131115 09:45:13 Testing transfer: '1.2.840.10008.1.2' against list #0 = '1.2.840.10008.1.2'[NHCONQUEST1] 20131115 09:45:13 0000,0002 18 UI AffectedSOPClassUID "1.2.840.10008.1.1" [NHCONQUEST1] 20131115 09:45:13 0000,0100 2 US CommandField 48 [NHCONQUEST1] 20131115 09:45:13 0000,0110 2 US MessageID 7 [NHCONQUEST1] 20131115 09:45:13 0000,0800 2 US DataSetType 257 [NHCONQUEST1] 20131115 09:45:13 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [NHCONQUEST1] 20131115 09:45:13 9999,0400 6 LO ConquestConsoleComma "silent" [NHCONQUEST1] 20131115 09:45:42 Server Command := 0000[NHCONQUEST1] 20131115 09:45:42 Message ID := 0000[NHCONQUEST1] 20131115 09:45:42 0002,0010 19 UI TransferSyntaxUID "1.2.840.10008.1.2.1" [NHCONQUEST1] 20131115 09:45:42 ***Client Error: command ffff failed **[NHCONQUEST1] 20131115 09:45:42 ***Connection Terminated[NHCONQUEST1] 20131115 09:45:42 0002,0010 19 UI TransferSyntaxUID "1.2.840.10008.1.2.1" [NHCONQUEST1] 20131115 09:45:57 Connected by address: 8303010a[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.1' against list #0 = '1.2.840.10008.1.2'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.1' against list #1 = '1.2.840.10008.1.2.1'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.1' against list #0 = '1.2.840.10008.1.2'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.1' against list #1 = '1.2.840.10008.1.2.1'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.1' against list #0 = '1.2.840.10008.1.2'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.1' against list #1 = '1.2.840.10008.1.2.1'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.4.50' against list #0 = '1.2.840.10008.1.2'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.4.50' against list #1 = '1.2.840.10008.1.2.1'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.4.50' against list #2 = '1.2.840.10008.1.2.4.50'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.4.50' against list #0 = '1.2.840.10008.1.2'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.4.50' against list #1 = '1.2.840.10008.1.2.1'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.4.50' against list #2 = '1.2.840.10008.1.2.4.50'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.1' against list #0 = '1.2.840.10008.1.2'[NHCONQUEST1] 20131115 09:46:06 Testing transfer: '1.2.840.10008.1.2.1' against list #1 = '1.2.840.10008.1.2.1'[NHCONQUEST1] 20131115 09:46:06


Participate now!

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