1.4.16 release candidate 2 released

  • Hi, here is release candidate 2 of the Conquest DICOM server version 1.4.16:


    Windows (32/64 bits):
    ftp://ftp-rt.nki.nl/outbox/mar…er/dicomserver1416rc2.zip


    Linux (32/64 bits):
    ftp://ftp-rt.nki.nl/outbox/mar…nquestlinux1416rc2.tar.gz


    Server core source:
    ftp://ftp-rt.nki.nl/outbox/mar…omserver/dgate1416rc2.zip


    Library source:
    ftp://ftp-rt.nki.nl/outbox/mar…erver/dicomlib1416rc2.zip


    Thanks for all your help and bug reports!


    Please report any issues you find, quoting the software version number.


    Marcel

  • List of known bugs/wishes in 1.4.16rc2


    1) Ports 5679 and 1155 in use by Vista. Modify port ranges and test availability of port on fresh install.


    2 ) Web interface fails to query studies and series in databases with really old definition (no patient name in study).


    3) Bigendian transfer does not seem to work correctly. To be further tested. Disabled in dgatesop.lst in 1.4.16rc2.


    4) All formats: level and windowing overflows at high pixel values.


    5) web script variables from dicom.in only pass spaces when quoted e.g., variable = "sample 1". Fixed in 1.4.16rc5.


    6) uploading from the web server does not work in linux.


    7) Setting TruncateFieldNames to anything other than 10 creates issues in deletepatient, prefetch, wado, web server, archiving


    8 ) cached virtual query with empty patient ID crashes the server. Fixed in 1.4.16rc3.


    9) The "merge study" import converter calls MergeStudiesConverter0 instead of MergeSeriesConverter0. Fixed in 1.4.16rc3.


    10) The "merge study" import converter does not pass studyuid to the query if seriesdescription is passed. Fixed in 1.4.16rc3.


    11) the "script" clause of the merge study converter does not work. Fixed in 1.4.16rc3.


    12) very large queries are a bit slower as expected: the queryresultconverter does not auto disable. Fixed in 1.4.16rc3.


    13) %V does not handle integer dicom tags such as rows. Fixed in 1.4.16rc3.


    14) lua does not print correctly to serverstatus in GUI; lua and variableVR's must be destroyed. Error handling for lua. Fixed in 1.4.16rc3.


    15) just observed a reproducible deadlock in 1.4.16beta on a dual core machine if the move reciever breaks the connection during reception of a PET scan (small objects). Needs to be investigated, but did not reproduce on 1.4.16rc3. The deadlock resolved after 5 minutes (TCPIPTimeout).


    16) converters togif etc do use rescaleintercept but not rescaleslope causing incorrect l&w. Kind of fixed in 1.4.16rc5.


    17) reject does not pass from lua back to importconverter. Maybe put ImportConverterN return value into scriptdata. Fixed in 1.4.16rc3.


    18) lua should use lua51.dll to correctly allow loading DLL packages. To do.


    19) rc3 allows "" in a script string and replaces this with "; but this breaks passing an empy string. Fixed in 1.4.16rc4


    20) new items %f, %p and %b do not work in ImportConverters (fixed in 1.4.16rc4b).


    21) %c and %u (and called and calling filters) do not work in ExportConverters (broken in 1.4.16rc3, fixed in 1.4.16rc4b).


    22) Add line 10300: Filename[strlen(Filename)] = PATHSEPCHAR; to fix incoming folder for linux. Fixed in 1.4.16rc5.


    23) calling and called seem to be the same in lua Association. Fixed in 1.4.16rc5.


    24) newuids no longer automatically done in merge series? Not confirmed.


    25) there are images where the allocated area exceeds the imagesize by 1 byte (to make it even). These will not convert to jpeg etc. Fixed in 1.4.16rc5.


    26) worklistquery issue is maybe related to recent changes in dicom decoder. Fixed in 1.4.16


    27) InternalJPEG is not enabled by default in some or all linux releases (dicom.ini configuration files issue). Fixed in 1.4.16


    28 ) Show incoming does not work on rc3/rc4-5 GUI/dgate. This is probably only true for "rewritten" images. Fixed in 1.4.16rc6.


    29) buffer overflow in ExecHidden in nkiqrsop, make buffer 1024 i.s. of 256. Fixed in 1.4.16rc6.


    30) crash on findscu --key 0010,0010 --key 0010,0020 127.0.0.1 5678. Fixed in 1.4.16rc6.


    31) A write to dicom.ini does not flush the cache - next read may be out of date. Fixed in 1.4.16


    32) referrring physician is listed as 0009,0080 in dicomconformamce... page 21. Fixed in 1.4.16


    Wish list:


    1 ) Allow underscores in AE: http://forum.image-systems.biz/viewtopic.php?f=33&t=1847.


    2) Safer printing: thread-safe and no drops; http://forum.image-systems.biz/viewtopic.php?f=33&t=1844


    3) Add current thread number to each line logged so that a simple sort before parsing daily log files would solve this problem. Probably lua scripts can provide logging at the requested level of detail and with thread number.


    4) Make LossyQuality configurable in ImportConverter, forward statement and/or queryconverter.


    5) self learning query cache prefetch; cache local query data.


    6) use typecodes for our private tags (for explicit syntaxes)


    7) make ModalitiesInStudy a computed field.


    8 ) Cache computed items in database: clear when writing or deleting image, set when querying.


    9 ) Allow setting some web variables like address and port from the scripted pages (could be done with frames). Can be added in lua, but not done yet.


    10) "move image/series/study/patient from AE to AE org AE" command. Most easily added to lua.


    11) import converter to screen parts of the image (defined in %) for anonymization. Use LUA introduced in 1.4.16rc3.


    12) CD-style DICOMDIR creation at the study and patient levels. Maybe possible with LUA introduced in 1.4.16rc4


    13) Option to replace invalid characters DICOM objects with _. This is possible with lua script in 1 4.16rc3.


    14) ability to call lines in dicom.ini from script. Fixed in 1.4.16rc3.


    15) Multiple MergeSeriesConverters. This is possible with lua scripts in 1 4.16rc3.


    16) implement reject in merge scripts: rejected image not merged. Fixed in 1.4.16rc3.


    17) allow forget newuids of certain operation, for instance after merge. Fixed in 1.4.16rc3.


    18 ) Add %f %b %p options to (pre)generate filenames in importconverters. Fixed in 1.4.16rc3.


    19) let mkdir converter create subdirs as well (fixed in 1.4.16rc4b).


    20) allow creation of zip files from the web interface


    21) allow selection of database from lua script


    22) make MagTreshold configurable - harcoded 30 MB makes MAG0 run full. Added MAGDeviceFullThreshHold in 1.4.16rc5.


    23) converter event for rejected images to allow the script to save these. Added RejectedImageConverter0 in 1.4.16rc5.


    24) can importconverter read the incoming\filename ? Fixed in 1.4.16rc6b.


    25) option to stop checking dicom parsing. In 1.4.16.


    To get a list of bugs fixed in 1.4.16rc2-6 please have a look in the bug list for the earlier 1.4.16 releases. Please report any bugs you find!

  • Feature request:
    Non-promiscuous mode - when enabled, the server will not respond to query requests unless the requesting server is listed in the ACR-NEMA file


    CD-style DICOMDIR creation at the study and patient levels


    Possible bug or imcomplete feature in 1.4.15 and possible other versions:
    On linux, when sending the patient/study/series delete command from the shell via dgate the images are deleted as expected but the database entries are not cleared leaving broken entries

  • Thanks,


    Feature request:
    Non-promiscuous mode - when enabled, the server will not respond to query requests unless the requesting server is listed in the ACR-NEMA file.


    This is in principle already possble - just define all AE's allowed is dgatesop.lst.


    CD-style DICOMDIR creation at the study and patient levels


    Will add to wish list.


    Possible bug or imcomplete feature in 1.4.15 and possible other versions:
    On linux, when sending the patient/study/series delete command from the shell via dgate the images are deleted as expected but the database entries are not cleared leaving broken entries


    Can you give me an example log?


    Marcel


  • I'm not sure how to create the log you're looking for. I'm happy to generate one for you if you can give me instructions on how to do it.


    Is there information in the documentation about how to define the AE's in dicomsop.lst in order to accomplish this? That file is darn intimidating and I'm hesitant to just experiment without some guidance.


    Thanks,
    Chris

  • Hi,


    this is how the file is written when modified. It shows you the possible entries. Do not forget to enter the server itself as remote AE, otherwise you cannot control it anymore.


    Code
    for (r=0; r<PDU.RemoteAEListCount; r++)
    fprintf(f, "%-42s %-44s RemoteAe\n", PDU.RemoteAEListNames[r], PDU.RemoteAEList[r]);
    for (r=0; r<PDU.LocalAEListCount; r++)
    fprintf(f, "%-42s %-44s LocalAe\n", PDU.LocalAEListNames[r], PDU.LocalAEList[r]);
    for (r=0; r<PDU.ApplicationUIDListCount; r++)
    fprintf(f, "%-42s %-44s application\n", PDU.ApplicationUIDListNames[r], PDU.ApplicationUIDList[r]);
    for (r=0; r<PDU.SOPUIDListCount; r++)
    fprintf(f, "%-42s %-44s sop\n", PDU.SOPUIDListNames[r], PDU.SOPUIDList[r]);
    for (r=0; r<PDU.TransferUIDListCount; r++)
    fprintf(f, "%-42s %-44s transfer\n", PDU.TransferUIDListNames[r], PDU.TransferUIDList[r]);


    So this should work when added to dgatesop.lst (try it on a test server first):


    CONQUESTSRV1 CONQUESTSRV1 RemoteAE
    CLIENT CLIENT RemoteAE



    To log the delete action:


    dgate -v -^serverstatus.log &
    dgate --debuglevel:4
    dgate --deletestudy:patid:studyuid
    fg
    ^c


    and see what winds up in the log file.


    Marcel


  • This works as described. Only those AE's listed will be able to communicate at all with the server. All others are outright rejected.
    Excellent. I think you can add that as a feature, albeit one that has been there for a while.


    Thanks for the help on that.

Participate now!

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