Today, a new development snapshot of the DCMTK has been made available. This is the eleventh 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. This time, major parts of the data dictionary have been generated automatically based on the machine-readable DocBook version of Part 6 and 7 of the DICOM 2013 standard. In addition, all recently approved final text Supplements and CPs have been added manually. Due to this semi-automatic process, the old ACR/NEMA tag definitions have been outsourced into a separate data dictionary file.
Further important changes of this snapshot are:
- Fixed many minor issues in the implementation of the Native DICOM Model (e.g. relating to the encoding of AT and PN values), after the standard has been clarified in this regard. Also completed support for the <InlineBinary> XML element.
- Since the built-in VR checker is far away from being perfect, especially when checking values with special characters, it can now be disabled globally.
- Enhanced support for wide characters (as e.g. used on Windows systems) for the various file and directory functions in OFStandard. Also added further useful helpers.
- The CMake build system now facilitates the use of the DCMTK in external projects by supporting the “find_package()” command.
- Added static helper functions that simplify copying all data elements that belong to a particular module (e.g. Patient Module) from one DICOM dataset to another.
- Again enhanced the DICOM Structured Reporting implementation in module “dcmsr“, e.g. by adding support for the recently approved “Radiopharmaceutical Radiation Dose SR” document from Supplement 159 and by improving error handling of the SR tools.
- Completely rebuilt the automatically generated classes in module “dcmrt” since the detection of attributes nested in a sequence class was not always correct.
- Made sure that more source files are actually parsed by Doxygen for generating the HTML documentation, e.g. files that do contain global definitions (outside of a class).
- Fixed various issues in the DICOMDIR generation code, e.g. for the BD profiles.
- Fixed various issues regarding the support for building shared libraries.
And, of course, we have fixed a number of further 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.