Yesterday, a new development snapshot of the DCMTK has been made available. This is the eighteenth snapshot after the official release of version 3.6.0. As always, we have updated the code for the latest changes to the DICOM standard. That means, the data dictionary, the list of SOP Class and Transfer Syntax UIDs as well as the Code definitions and Context Group classes are up-to-date, i.e. based on the current edition of the standard text (DICOM 2016e) plus all recently approved Supplements and Correction Items (CP).
These are the main changes of this snapshot:
- Enhanced character set conversion:
- Refactored implementation, which now also supports further conversion libraries in addition to libiconv, e.g. ICU and the iconv functions from the C standard library.
- Added character set (and conversion) support to module “dcmqrdb“, in order to allow matching queries with data sets using different character sets and/or using a different character set for the response (e.g. always UTF-8).
- Added new command line tool “dcm2json” that allows for converting a DICOM file to JSON format. The output conforms to the “DICOM JSON Model” (DICOM Part 18).
- Added full support for the Simplified Adult Echocardiography Structured Report (Supplement 169) to module “dcmsr“.
- Updated automatically generated classes of module “dcmrt” once again.
- Enhanced support for DICOM Non-Patient Objects, e.g. allow for transferring them using the standard networking tools.
- Compiling with OpenSSL 1.1.x is now officially supported, while support for some older, insecure TLS cipher suites has been removed.
- The socket timeout used for send() and recv() is now configurable (at runtime); further fixes to the networking basics in module “dcmnet” in order to improve the overall performance, e.g. by default the Nagle algorithm is not disable anymore and the TCP send and receive buffer length is not set anymore.
As usual, we have also fixed a number of issues that were detected after the publication of the previous version. All details on what has changed can be found in the corresponding CHANGES file. If you are interested in the differences on a source code level, please check the web interface of our public git repository.
By the way, we are currently working towards the next official DCMTK release, which will be version 3.6.2 and which should be available in a couple of weeks 🙂