Release 3.6.2 (Public Release - 2017-07-14) **** Changes from 2017.07.14 (schlamelcher) - Created CHANGES.362 for DCMTK release 3.6.2: Created CHANGES.362 for DCMTK release based on CHANGES.361 and the commit history since the last snapshot. Modified CHANGES to no longer only refer to DCMTK snapshots. CHANGES.361 has been removed since the content is included in CHANGES.362. Added: docs/CHANGES.362 Affects: CHANGES Removed: docs/CHANGES.361 - Updated man pages for DCMTK release 3.6.2. Affects: doxygen/manpages/man1/dcm2json.1 doxygen/manpages/man1/dcm2pdf.1 doxygen/manpages/man1/dcm2pnm.1 doxygen/manpages/man1/dcm2xml.1 doxygen/manpages/man1/dcmcjpeg.1 doxygen/manpages/man1/dcmcjpls.1 doxygen/manpages/man1/dcmconv.1 doxygen/manpages/man1/dcmcrle.1 doxygen/manpages/man1/dcmdjpeg.1 doxygen/manpages/man1/dcmdjpls.1 doxygen/manpages/man1/dcmdrle.1 doxygen/manpages/man1/dcmdspfn.1 doxygen/manpages/man1/dcmdump.1 doxygen/manpages/man1/dcmftest.1 doxygen/manpages/man1/dcmgpdir.1 doxygen/manpages/man1/dcmj2pnm.1 doxygen/manpages/man1/dcml2pnm.1 doxygen/manpages/man1/dcmmkcrv.1 doxygen/manpages/man1/dcmmkdir.1 doxygen/manpages/man1/dcmmklut.1 doxygen/manpages/man1/dcmodify.1 doxygen/manpages/man1/dcmp2pgm.1 doxygen/manpages/man1/dcmprscp.1 doxygen/manpages/man1/dcmprscu.1 doxygen/manpages/man1/dcmpschk.1 doxygen/manpages/man1/dcmpsmk.1 doxygen/manpages/man1/dcmpsprt.1 doxygen/manpages/man1/dcmpsrcv.1 doxygen/manpages/man1/dcmpssnd.1 doxygen/manpages/man1/dcmqridx.1 doxygen/manpages/man1/dcmqrscp.1 doxygen/manpages/man1/dcmqrti.1 doxygen/manpages/man1/dcmquant.1 doxygen/manpages/man1/dcmrecv.1 doxygen/manpages/man1/dcmscale.1 doxygen/manpages/man1/dcmsend.1 doxygen/manpages/man1/dcmsign.1 doxygen/manpages/man1/dcod2lum.1 doxygen/manpages/man1/dconvlum.1 doxygen/manpages/man1/drtdump.1 doxygen/manpages/man1/dsr2html.1 doxygen/manpages/man1/dsr2xml.1 doxygen/manpages/man1/dsrdump.1 doxygen/manpages/man1/dump2dcm.1 doxygen/manpages/man1/echoscu.1 doxygen/manpages/man1/findscu.1 doxygen/manpages/man1/getscu.1 doxygen/manpages/man1/img2dcm.1 doxygen/manpages/man1/movescu.1 doxygen/manpages/man1/pdf2dcm.1 doxygen/manpages/man1/storescp.1 doxygen/manpages/man1/storescu.1 doxygen/manpages/man1/termscu.1 doxygen/manpages/man1/wlmscpfs.1 doxygen/manpages/man1/xml2dcm.1 doxygen/manpages/man1/xml2dsr.1 - Updated version information for DCMTK release 3.6.2. Affects: CMake/dcmtkPrepare.cmake VERSION config/configure config/configure.in - Updated Makefile dependencies. Affects: dcmdata/apps/Makefile.dep dcmdata/libi2d/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmfg/libsrc/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmiod/libsrc/Makefile.dep dcmiod/tests/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpeg/libsrc/Makefile.dep dcmjpls/apps/Makefile.dep dcmjpls/libcharls/Makefile.dep dcmjpls/libsrc/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmnet/tests/Makefile.dep dcmpmap/libsrc/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmrt/apps/Makefile.dep dcmrt/libsrc/Makefile.dep dcmrt/tests/Makefile.dep dcmseg/libsrc/Makefile.dep dcmseg/tests/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libcmr/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmtls/libsrc/Makefile.dep dcmtract/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/tests/Makefile.dep oflog/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep - Updated ANNOUNCE and INSTALL for DCMTK release 3.6.2. Affects: ANNOUNCE INSTALL **** Changes from 2017.07.13 (schlamelcher) - Made including third-party libraries version agnostic: Made the Windows specific CMake code for including third party libraries version agnostic, i.e. it now searches for "libtiff*" instead of "libtiff-". Affects: CMake/3rdparty.cmake **** Changes from 2017.07.12 (schlamelcher) - Added support for suppressing C4307 on Visual Studio: Added support for suppressing integer overflow warnings emitted by Visual Studio, currently used to suppress this warning in the OFnumeric_limits unit test where the integer overflow behavior is being tested. Affects: ofstd/include/dcmtk/ofstd/diag/overflow.def - Removed several macros from config/docs/macros.txt: Removed the description of several macros from config/docs/macros.txt since they are now controlled by Autoconf/CMake and should no longer be modified by the user directly. Affects: config/docs/macros.txt - Removed no longer required section from COPYRIGHT: Removed no longer required section about the Android toolchain configuration file from COPYRIGHT since the reference file has been removed from DCMTK. Affects: COPYRIGHT **** Changes from 2017.07.12 (onken) - Export new LFS CMake flag to DCMTKConfig.cmake: Export the recently introduced LFS CMake flag to DCMTKConfig.cmake (for current CMake version and legacy versions > 2.8.3). Affects: CMake/DCMTKConfig.cmake.in CMake/DCMTKConfig.old_cmake.in **** Changes from 2017.07.12 (riesmeier) - Updated copyright date. Affects: COPYRIGHT **** Changes from 2017.07.11 (schlamelcher) - Added a workaround for inconsistent LFS API under QNX. Affects: ofstd/include/dcmtk/ofstd/offile.h - More fixes for SunPro: Modified the configuration test for readdir_r to also check the number of arguments and their types. This broke overnight for an unknown reason. Silenced some warnings about overloaded methods being hidden in derived classes. Affects: CMake/GenerateDCMTKConfigure.cmake dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcvrae.h dcmdata/include/dcmtk/dcmdata/dcvrcs.h dcmdata/include/dcmtk/dcmdata/dcvrda.h dcmdata/include/dcmtk/dcmdata/dcvrdt.h dcmdata/include/dcmtk/dcmdata/dcvrtm.h dcmdata/include/dcmtk/dcmdata/dcvrur.h - Small fixes for a previous commit: Fixed a typo and removed an inappropriate restriction (only affecting the CMake GUI): DCMTK_ENABLE_LFS was falsely restricted to the modes that were detected as available, making it impossible to choose 'lfs' in case 'lfs64' was available (since in that case the test looking for 'lfs' was not run and it was therefore unknown whether it is available or not). Now it is also possible to choose modes where the configuration tests have not been executed yet to trigger launching the tests in the first place. Affects: CMake/GenerateDCMTKConfigure.cmake - Workaround for strange LFS implementation on Windows: Windows (Visual Studio) provides a strange implicit LFS implementation where fpos_t is a 64 bit type but off_t is 32 bit. This implementation is now detected via configuration tests (CMake, not relevant for Autoconf since it is Windows only) and then honored by ignoring off_t and using Sint64 instead. This replaces the '#ifdef _WIN32' hacks removed by a previous commit hoping the already introduced configuration tests made them obsolete (which should now finally be the case). Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in ofstd/include/dcmtk/ofstd/offile.h **** Changes from 2017.07.10 (schlamelcher) - Added DCMTK_ENABLE_LFS for choosing LFS type (CMake): Added CMake variable for choosing the LFS type (lfs64/lfs/auto/off). This implementation is now similar to the Autoconf one (--enable-lfs=). Also modified the resulting macro in 'osconfig.h' to explicitly select the implementation, similar to DCMTK_ENABLE_CHARSET_CONVERSION. OFFile will now use EXPLICIT_LFS64 in case DCMTK_ENABLE_LFS is set to DCMTK_LFS64 and call the normal file access functions otherwise. The only difference between setting DCMTK_ENABLE_LFS to 'lfs' and 'off' is that setting it to 'off' will not set the required compiler flags and preprocessor definitions (if any) i.e. it is not possible forcibly disable LFS in case it is implicitly provided without setting any flags and/or preprocessor definitions. Added: config/tests/lfs.c config/tests/lfs64.cc Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/aclocal.m4 config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in ofstd/include/dcmtk/ofstd/offile.h - Added a workaround for C++11 compiling errors: Added a workaround for errors when enabling C++11 (DCMTK_ENABLE_CXX11) without enabling std::tuple. It is of course debatable whether this scenario makes any sense at all, but since it is currently the default behavior this workaround should increase usability. We should possible override the user choice whether or not to enable std::tuple in case C++11 was enabled in the future or provide a full C++11 implementation of OFtuple (is there any C++11 compiler that does not have std::tuple?). Affects: ofstd/include/dcmtk/ofstd/variadic/tuple.h **** Changes from 2017.07.07 (schlamelcher) - Silenced output of FIND_PACKAGE(ICU): Silenced the output of FIND_PACKAGE(ICU) to be consistent with the other occurrences of FIND_PACKAGE() within the CMake configuration. Affects: CMake/3rdparty.cmake - Fixed wrong usage of alignas: Fixed using alignas within typedefs (which was first introduced to realize compatibility with the implementation for Visual Studio). The new implementations of OFalign and OFalign_typename for alignas only define the given type without the alignment (for handling arrays) and add the alignment modifier on preprocessor level. Adjusted the documentation of OFalign accordingly and removed the now unnecessary configuration test whether type definitions using alignas are possible (since even if the test succeeded the compilers most likely didn't actually align the resulting type as one would expect). Thanks to Stefan Hengelein and Peter Klotz for reporting the issue. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/aclocal.m4 config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in ofstd/include/dcmtk/ofstd/ofalign.h ofstd/include/dcmtk/ofstd/ofoption.h **** Changes from 2017.07.06 (schlamelcher) - Fixed unexpected iconv behavior on FreeBSD: The iconv implementation inside FreeBSD's C standard library shows custom behavior when illegal character sequences are encountered (replacing them with '?' instead of failing the conversion). OFCharacterEncoding now correctly describes this behavior as unknown and does not longer claim that it supports the mode 'AbortTranscodingOnIllegalSequence'. Affects: ofstd/libsrc/ofchrenc.cc **** Changes from 2017.07.05 (schlamelcher) - Fixed compiling with Oracle Developer Studio (SunPro): Fixed linker issues caused by missing 'const' modifiers on some by-value arguments. The compiler seems to understand that these functions are compatible but then creates symbol references to the spelling that doesn't exist, leading to linker errors later in the build process. Removed some of the previously introduced workarounds that are not necessary on newer versions of SunPro, the old versions that required them lack some fundamental C++ features that are necessary for building DCMTK anyway (also removing the comment that SunPro was the retarded child of a Java compiler and an actual C++ compiler that is no longer true - SunPro can no longer be considered a child). Use Oracle Developer Studio 12.5 or later! Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h dcmiod/libsrc/iodcommn.cc dcmiod/libsrc/modbase.cc dcmnet/libsrc/scp.cc dcmtls/libsrc/tlslayer.cc dcmwlm/libsrc/wlfsim.cc oflog/include/dcmtk/oflog/appender.h oflog/include/dcmtk/oflog/spi/factory.h oflog/libsrc/appender.cc - Fixed compiler errors on Visual Studio with OpenSSL: Fixed compiling dcmtls with Visual Studio and OpenSSL 1.1.0f by: - Ensuring that OpenSSL headers can be included when performing the configuration tests, even when they are no in the system include directories. - Linking to the correct library (dcmtkeay was renamed to dcmtkcrypto). - Fixing related code in dcmtls (added missing include and fixed SOCKET -> DcmNativeSocketType). Affects: CMake/3rdparty.cmake CMake/CheckFunctionWithHeaderExists.cmake CMake/GenerateDCMTKConfigure.cmake dcmtls/include/dcmtk/dcmtls/tlslayer.h dcmtls/include/dcmtk/dcmtls/tlstrans.h dcmtls/libsrc/tlslayer.cc dcmtls/libsrc/tlstrans.cc **** Changes from 2017.07.04 (riesmeier) - Fixed typo in Coding Scheme Description. Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h **** Changes from 2017.07.03 (schlamelcher) - Many workarounds for SunPro: Many workarounds and some actually meaningful fixes for the SunPro compiler. In general the compiler at best seems to have a basic implementation of some parts of the C++ type system but does not actually implement it, e.g. fails to understand more complex types and perform any meaningful operations on them. The (perhaps) meaningful fixes are: 1. The configuration test for detecting whether the compiler is able to identify default constructable classes via SFINAE now also tests whether the result is the expected one and not only whether the code compiles. 2. The configuration tests for std::list and std::vector now also tests whether a const_iterator can be compared to a mutable iterator of the respective template, e.g. whether the compiler understands that a const_iterator can be constructed out of an iterator for the comparison on the fly. 3. The configuration tests for 'getgrnam_r' and 'getpwnam_r' now also ensure that both functions take the expected number (and types) of arguments. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake config/tests/list.cc config/tests/vector.cc dcmdata/libsrc/CMakeLists.txt dcmiod/libsrc/cielabutil.cc dcmtls/libsrc/tlslayer.cc dcmwlm/libsrc/wlfsim.cc oflog/include/dcmtk/oflog/appender.h oflog/include/dcmtk/oflog/spi/factory.h oflog/libsrc/appender.cc ofstd/include/dcmtk/ofstd/ofalign.h ofstd/include/dcmtk/ofstd/ofutil.h ofstd/libsrc/ofstd.cc ofstd/libsrc/ofxml.cc **** Changes from 2017.07.03 (onken) - Moved TRY_COMPILE to where it is first needed: Moved TRY_COMPILE macro inclusion to the position where it is first needed since otherwise CMake Version 2.8.3 will generate an error when trying to run cmake in an existing build tree again. Affects: CMake/GenerateDCMTKConfigure.cmake - Require CMake > 2.8.3. Extended DCMTKConfig.cmake: The minimum CMake version required to build DCMTK was forwarded to 2.8.3. since at least the FindICU.cmake script needs this version. The minimum required version used before (2.6) has been broken also for other other reasons (unsupported CACHE target for SET_PROPERTY and problems with some syntax constructs which could probably be solved). Also, more build parameters are now being exported to DCMTKConfig.cmake which now better reflect the current build configuration switches used when building DCMTK. The version DCMTKConfig.cmake26.in has been renamed to CMake/DCMTKConfig.old_cmake.in in order to reflect the new minimum version. Note that it is now only used for all CMake versions betweeen 2.8.3 (new minimum) and 2.8.8 (exclusively), since the latter includes the features required to use the "modern" DCMTKConfig.cmake. Added: CMake/DCMTKConfig.old_cmake.in Removed: CMake/DCMTKConfig.cmake26.in Affects: CMake/DCMTKConfig.cmake.in CMakeLists.txt **** Changes from 2017.07.01 (schlamelcher) - Fixed wrong syntax in previous commit. Affects: CMake/GenerateDCMTKConfigure.cmake - Workaround for SunPro C vs. C++ inconsistencies: The SunPro C compiler provides __PRETTY_FUNCTION__ et al. whereas its C++ version doesn't. Added configuration tests to ensure these macros are available for C and C++ before enabling them in the code (via 'osconfig.h'). Affects: CMake/GenerateDCMTKConfigure.cmake - Fixed configuration test errors: Fixed configuration test errors on Unix like systems introduced by the previous commit that fixed them on Visual Studio. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2017.07.01 (grallert) - Fixed configuration test errors on Visual Studio: Fixed inappropriate use of CHECK_FUNCTION_EXISTS() for detecting 'memcmp', 'memcpy' and 'memset', which became apparent by the recent modification that changed the configuration tests to be run in 'Release' mode. As described by the CMake documentation, CHECK_FUNCTION_EXISTS() cannot be used to detect functions that are inlined in headers or specified as a macro and fails to detect anything in the 32-bit versions of the Win32 API, because of a mismatch in calling conventions. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2017.06.30 (schlamelcher) - Several fixes for the SunPro compiler (Solaris): Added some missing includes to 'arith.cc' and a special compiler flag to CMAKE_CXX_FLAGS and CMAKE_C_FLAGS. Affects: CMake/dcmtkPrepare.cmake config/tests/arith.cc **** Changes from 2017.06.30 (riesmeier) - Minor fixes in Makefile: Minor fixes in Makefile (mainly for reasons of consistency. Affects: dcmfg/tests/Makefile.in dcmjpls/apps/Makefile.in dcmseg/tests/Makefile.in - Removed useless target "tclabutil" from Makefile. Affects: dcmiod/tests/Makefile.in - Moved MATHLIBS to LOCALLIBS: Moved MATHLIBS to LOCALLIBS definition for reasons of consistency with other similar libraries, e.g. ZLIBLIBS and CHARCONVLIBS. Affects: dcmdata/apps/Makefile.in dcmimage/apps/Makefile.in dcmimgle/apps/Makefile.in dcmjpeg/apps/Makefile.in dcmjpls/apps/Makefile.in dcmnet/apps/Makefile.in dcmpstat/apps/Makefile.in dcmqrdb/apps/Makefile.in dcmrt/apps/Makefile.in dcmsign/apps/Makefile.in dcmsr/apps/Makefile.in dcmwlm/apps/Makefile.in - Link MATHLIBS to all test programs: Link MATHLIBS to all test programs (similar to all programs in the "apps" subdirectory). This is e.g. required for linking the tests on QNX/ARM. Affects: dcmdata/tests/Makefile.in dcmiod/tests/Makefile.in dcmnet/tests/Makefile.in dcmpstat/tests/Makefile.in dcmrt/tests/Makefile.in dcmseg/tests/Makefile.in dcmsr/tests/Makefile.in dcmwlm/tests/Makefile.in ofstd/tests/Makefile.in **** Changes from 2017.06.30 (schlamelcher) - Fixed using wrong build type for configuration test: CMake will now use the same build configuration for running the unit tests (e.g. 'Release' or 'Debug') as the one that was chosen for building DCMTK. This fixes different configuration results incompatible with the later build, e.g. not detecting the problems with Visual Studio 2005's STL vector that led to failing the OFVector unit test. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2017.06.30 (grallert) - Modified compiler Flags for Solaris (CMake): The compiler flags for Solaris will now be auto-detected by CMake instead of setting them manually. This fixes problems with clang. Affects: CMake/dcmtkPrepare.cmake - Added missing compiler flags for NetBSD (Autoconf). Affects: config/configure config/configure.in **** Changes from 2017.06.29 (schlamelcher) - Removed broken attributes from dcmqrdb: Removed incomplete implementation of the special Query Retrieve attributes 'Number of Patient Related Studies', 'Number of Patient Related Series', 'Number of Patient Related Instances', 'Number of Study Related Series' and 'Number of Study Related Instances'. This closes DCMTK bug #328. Affects: dcmqrdb/docs/dcmqrscp.man dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2017.06.29 (grallert) - Fixed compiling error on Android: Added missing define "HAVE_PROTOTYPE_GETHOSTBYADDR_R" in CMake/osconfig.h.in. Affects: CMake/osconfig.h.in **** Changes from 2017.06.29 (schlamelcher) - Added a workaround for a bug in x87 FPUs/GCC: Added a workaround for buggy code generated by GCC for x87 FPUs. Affects: ofstd/libsrc/oftime.cc **** Changes from 2017.06.23 (riesmeier) - Removed 2nd parameter from gotoNamedChildNode(): Removed optional second parameter "searchIntoSub" from gotoNamedChildNode() since using a value of "OFTrue" (which was also the default) makes no sense and resulted in unexpected behavior. Now, only the first sub-level is checked for matching child nodes. Also enhanced recently added test cases. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libcmr/tid1600.cc dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tsrdoctr.cc **** Changes from 2017.06.22 (riesmeier) - Added new method gotoNamedNodeInSubTree(): Added new method that allows for setting the cursor to a named node in the subtree below the current node. This method complements the existing method gotoNamedChildNode(). Also added test cases for gotoNamedNodeInSubTree() and gotoNamedChildNode(). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdncsr.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc **** Changes from 2017.06.21 (riesmeier) - Enhanced documentation of gotoNamedChildNode(): Enhanced API documentation of gotoNamedChildNode(), which is just a shortcut for calling gotoChild() followed by gotoNamedNode(). Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h **** Changes from 2017.06.21 (grallert) - Several fixes for NetBSD support: Added required compiler flags and ensured linking the required libraries. Implemented additional configuration tests for gethostbyname_r and gethostbyaddr_r. Fixed CMakeLists.txt in dcmpstat/apps because it links unnecessary libraries to dcmmkcrv and dcmmklut which result in an error. Changed iconv_t test by using 0 instead of NULL. Added sys/socket.h in ofstd. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmpstat/apps/CMakeLists.txt ofstd/libsrc/ofstd.cc **** Changes from 2017.06.20 (riesmeier) - Updated latest tested CMake version: Updated information on latest CMake version that has been tested to "3.8.2". Affects: CMake/dcmtkPrepare.cmake **** Changes from 2017.06.15 (riesmeier) - Added new Storage SOP Classes to comment sections: Added recently approved Storage SOP classes also to the "Storage SCU" and "Role Selection" sections, but only as comments since the maximum number of presentation contexts has already been reached. Affects: dcmqrdb/etc/dcmqrprf.cfg - Added definition of new Presentation States: Added new Presentation State SOP Classes (from Supplement 189 and 190) to the list of known Presentation State (PR) types, i.e. accept them in an SR document where a PR object is expected, and associate a human readable name with them. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc - Initial support for "Patient Radiation Dose SR": Added initial support for the new "Patient Radiation Dose SR" Storage SOP Class (Supplement 191), i.e. this new SR document type is now known to the "dcmsr" module but now yet fully supported. In particular, the corresponding "IOD Constraint Checker" still has to be implemented. Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc - Added support for new "SR" and "PR" SOP Classes: Added support for recently approved Structured Reporting (SR) and Presentation State (PR) SOP Classes to the DICOMDIR generation code. Affects: dcmdata/libsrc/dcddirif.cc - Support new SOP Classes by networking tools: Added support for recently approved Storage SOP Classes to the various networking tools. This includes Supplement 189, 190, 191 and 197. Affects: dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man dcmqrdb/etc/dcmqrprf.cfg dcmqrdb/libsrc/dcmqrdbi.cc - Added definition of new Storage SOP Class UIDs: Updated list of Storage SOP Class UIDs known to the DCMTK based of DICOM 2017b. This includes Supplement 189, 190, 191 and 197. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc - Updated data dictionary for DICOM 2017b: Updated data dictionary for the latest edition of the DICOM standard, which has been released only recently. Since three DICOM attributes were "retired", the name of the associated DcmTagKey constants also changed. This required minor changes to the source code, especially with regards to the attribute Other Patient IDs (0010,1000): the name changed from DCM_OtherPatientIDs to DCM_RETIRED_OtherPatientIDs. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc dcmdata/tests/tparent.cc dcmiod/libsrc/modhelp.cc dcmqrdb/docs/dcmqrscp.man dcmqrdb/libsrc/dcmqrdbi.cc dcmrt/libsrc/drtdose.cc dcmrt/libsrc/drtimage.cc dcmrt/libsrc/drtionpl.cc dcmrt/libsrc/drtiontr.cc dcmrt/libsrc/drtplan.cc dcmrt/libsrc/drtstrct.cc dcmrt/libsrc/drttreat.cc dcmwlm/docs/wlmscpfs.man dcmwlm/include/dcmtk/dcmwlm/wlds.h dcmwlm/libsrc/wlds.cc **** Changes from 2017.06.13 (riesmeier) - Updated Makefile dependencies: Updated Makefile dependencies (oferror and terror were missing). Affects: ofstd/libsrc/Makefile.dep ofstd/tests/Makefile.dep - Fixed issue with configure test on QNX 6.5: Fixed issue with configure test for the macro INCLUDE_LIBC_H_AS_EXTERN_C, which used to work on QNX 6.2 but does not work anymore on QNX 6.5. This test should have no meaning for any other platform / operating system. Affects: CMake/GenerateDCMTKConfigure.cmake config/aclocal.m4 config/configure **** Changes from 2017.06.12 (riesmeier) - Added explicit type cast to keep QNX 6.5 quiet: Added explicit type cast when comparing numeric values with a variable of type "offile_off_t" in order to keep gcc on QNX 6.5 quiet. Affects: dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcsequen.cc - Minor changes for supporting QNX 6.5: Included system header "unix.h" (if available) and disabled definition of "EXPLICIT_LFS_64" in order to compile on QNX 6.5. Affects: ofstd/include/dcmtk/ofstd/offile.h - Changed the way XMLLIBS is set (Autoconf): Changed the way XMLLIBS is set when using Autoconf. Now, the value returned by "xml2-config --libs" is used, which might include the library path (i.e. something like "-L/usr/local/lib"). This change was needed for supporting QNX 6.5 but, of course, it should also work on other systems. Affects: config/configure config/configure.in **** Changes from 2017.06.12 (onken) - Removed unused variable. Affects: dcmnet/libsrc/dccfrsmp.cc **** Changes from 2017.06.09 (onken) - Fixed typos. Affects: dcmnet/libsrc/assoc.cc dcmnet/tests/tscuscp.cc dcmwlm/include/dcmtk/dcmwlm/wlds.h dcmwlm/include/dcmtk/dcmwlm/wldsfs.h dcmwlm/libsrc/wldsfs.cc **** Changes from 2017.06.09 (schlamelcher) - Added a partial workaround for DCMTK bug #758: Added a check to the configuration and unit tests of std::vector/OFVector to ensure that the construction of recursive data structures based on OFVector does not cause a stack overflow. Modified the default constructor of DCMTK's OFVector implementation to no longer predictively construct some elements, such that it passes the new test. Affects: config/tests/vector.cc ofstd/include/dcmtk/ofstd/ofvector.h ofstd/tests/tvec.cc **** Changes from 2017.06.09 (onken) - Added missing space. Affects: dcmnet/libsrc/assoc.cc - Fixed ASCII art in test. Affects: dcmnet/tests/tscuscp.cc - Test recently introduced role selection option: Test the recently introduced role selection compatibility option for accepting Default role even if SCP role is configured for the association acceptor. Affects: dcmnet/tests/tscuscp.cc - Opt. accept Default role if SCP role expected: Added option to dcmnet assocation acceptor code that allows to accept a Default role (no role selection in request) even if the acceptor is configured to only accept SCP role. This is helpful for faulty clients in services like Storage Commitment or Retrieve (via C-GET) very association requestors have to use role selection if they want to be correct with respect to the standard. Sine some are not, this option makes sure that such requests can be accepted (with return Default role, too). Added option to association acceptance code in dcmnet in order to allow for accepting Affects: dcmnet/include/dcmtk/dcmnet/assoc.h dcmnet/include/dcmtk/dcmnet/dcasccfg.h dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scpcfg.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/dcasccfg.cc dcmnet/libsrc/scp.cc dcmnet/libsrc/scpcfg.cc - Fixed ASCII art in comment. Affects: dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/tests/tscuscp.cc - Fixed error message. Affects: dcmnet/libsrc/assoc.cc - Fixed doubled space in log output. Affects: dcmnet/libsrc/assoc.cc - Removed leftovers from dcmStrictRoleSelection. Affects: dcmnet/libsrc/dul.cc **** Changes from 2017.06.08 (onken) - Added role selection tests. Affects: dcmnet/tests/tests.cc dcmnet/tests/tscuscp.cc - Allow search for role in SCU presentation contexts. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Better parameter name and documentation. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scp.cc - Enhanced role selection documentation. Affects: dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/dulconst.cc - Removed dcmStrictRoleSelection config. switch: Removed global dcmStrictRoleSelection configuration switch since it does not offer additional value to association acceptors who can enforce the same behaviour by already configuring the proposed roles accordingly. Affects: dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/libsrc/assoc.cc - Fixed possible role selection config. problem: Fixed possible role selection problem for association acceptors. If the first presentation context added to the association configuration used a default role, any other presentation context with role selection configured would not configure correctly. The reason is that when creating the underlying association profile in the first step, one already has to know the role selection profile, which does not exist if not instantly added together with the association configuration profile (together with the first presentation context). This commit ensures that an empty role selection profile can and is created in any case and all presentation contexts with role selection being added refer to that profile. Affects: dcmnet/include/dcmtk/dcmnet/dcasccfg.h dcmnet/include/dcmtk/dcmnet/dccfrsmp.h dcmnet/libsrc/dcasccfg.cc dcmnet/libsrc/dccfrsmp.cc dcmnet/libsrc/scpcfg.cc - Made parameter const. Affects: dcmnet/include/dcmtk/dcmnet/assoc.h dcmnet/libsrc/assoc.cc - Fixed wrong copy of SOP class in role selection: Fixed copying of SOP class in role selection code which could lead to shortened SOP Class UIDs in role selection items and thus to presentation contexts not being marked with the correct role. Affects: dcmnet/libsrc/dulparse.cc **** Changes from 2017.06.06 (goldhammer) - Fixed OFerror_code's unit test not working on OpenBSD: OpenBSD defines EPROTOTYPE instead of EPROTO. This is now covered by an additional "#elif __OpenBSD__" section. Affects: ofstd/tests/terror.cc **** Changes from 2017.06.02 (riesmeier) - Fixed typo and rewrapped new text paragraphs. Affects: dcmqrdb/docs/dcmqrscp.man **** Changes from 2017.06.01 (schlamelcher) - Refactored dcmwlm's attribute matching implementation: Refactored dcmwlm to use the recently introduced attribute matching implementation from the DcmElement class hierarchy. Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h dcmwlm/libsrc/wlfsim.cc - Fixed combined date time range matching: Fixed a bug in the combined date time (range) matching implementation in DcmAttributeMatching. Affects: dcmdata/libsrc/dcmatch.cc - Added attribute matching functions to DcmElement etc: Added methods to perform the appropriate kind of attribute matching on an instance of one of the DcmElement and derived classes: matches() and combinationMatches(), the latter being used for combined date time (range) matching. Calling match() will check that both the left hand DcmElement object and the one provided as its argument are compatible (e.g. similar VR) and then return the results from the appropriate matching function from DcmAttributeMatching (Wildcard Matching, Range Matching, etc.). Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcvrae.h dcmdata/include/dcmtk/dcmdata/dcvrcs.h dcmdata/include/dcmtk/dcmdata/dcvrda.h dcmdata/include/dcmtk/dcmdata/dcvrdt.h dcmdata/include/dcmtk/dcmdata/dcvrfd.h dcmdata/include/dcmtk/dcmdata/dcvrfl.h dcmdata/include/dcmtk/dcmdata/dcvrsl.h dcmdata/include/dcmtk/dcmdata/dcvrss.h dcmdata/include/dcmtk/dcmdata/dcvrtm.h dcmdata/include/dcmtk/dcmdata/dcvrui.h dcmdata/include/dcmtk/dcmdata/dcvrul.h dcmdata/include/dcmtk/dcmdata/dcvrur.h dcmdata/include/dcmtk/dcmdata/dcvrus.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcchrstr.cc dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcvrae.cc dcmdata/libsrc/dcvrcs.cc dcmdata/libsrc/dcvrda.cc dcmdata/libsrc/dcvrdt.cc dcmdata/libsrc/dcvrfd.cc dcmdata/libsrc/dcvrfl.cc dcmdata/libsrc/dcvrsl.cc dcmdata/libsrc/dcvrss.cc dcmdata/libsrc/dcvrtm.cc dcmdata/libsrc/dcvrul.cc dcmdata/libsrc/dcvrur.cc dcmdata/libsrc/dcvrus.cc **** Changes from 2017.05.30 (schlamelcher) - Added association negotiation profiles to dcmqrscp: Added support for association negotiation profiles via configuration file to dcmqrscp. The configuration file may be used to propose and accept additional storage SOP Classes as required for both incoming and outgoing associations separately. Accepting non storage SOP Class presentation contexts is not affected by the selected profiles. Added: dcmqrdb/etc/dcmqrprf.cfg Affects: dcmqrdb/apps/dcmqrscp.cc dcmqrdb/docs/dcmqrscp.man dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbm.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqropt.cc dcmqrdb/libsrc/dcmqrsrv.cc **** Changes from 2017.05.29 (grallert) - Fixed compiling on Solaris: Changed CMAKE_C_FLAGS and added missing include (netinet/in.h) to dwrap.c. Affects: CMake/dcmtkPrepare.cmake dcmnet/libsrc/dwrap.c **** Changes from 2017.05.26 (riesmeier) - Fixed various stylistic issues: Fixed wrong identation, superfluos space characters and CMake commands written in lower case. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2017.05.26 (grallert) - Several fixes for Solaris support: Added required compiler flags and libraries (CMake, Autoconf seemingly already had them). Implemented configuration tests for the libraries similar to the ones Autoconf has. Fixed 'arith.cc': Solaris seemed to reset the signal handlers after every processed signal, they are now always re-enabled as a workaround for that. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake config/tests/arith.cc ofstd/libsrc/CMakeLists.txt **** Changes from 2017.05.26 (eichelberg) - Removed support for HAVE_GUSI_H (MacOS classic): Removed support for the HAVE_GUSI_H macro and the header file, which was used in previous releases when compiling on MacOS classic, which is not supported anymore. Closes DCMTK Feature #743. Affects: dcmdata/apps/dcmconv.cc dcmdata/apps/dcmcrle.cc dcmdata/apps/dcmdrle.cc dcmdata/apps/dcmdump.cc dcmdata/apps/dump2dcm.cc dcmdata/apps/pdf2dcm.cc dcmdata/tests/tpath.cc dcmdata/tests/tpread.cc dcmimage/apps/dcm2pnm.cc dcmimage/apps/dcmquant.cc dcmimage/apps/dcmscale.cc dcmimgle/apps/dcmdspfn.cc dcmjpeg/apps/dcmcjpeg.cc dcmjpeg/apps/dcmdjpeg.cc dcmjpls/apps/dcmcjpls.cc dcmjpls/apps/dcmdjpls.cc dcmnet/apps/getscu.cc dcmnet/include/dcmtk/dcmnet/dcompat.h dcmnet/libsrc/dcmtrans.cc dcmnet/libsrc/dul.cc dcmnet/libsrc/dulfsm.cc dcmpstat/apps/dcmmkcrv.cc dcmpstat/apps/dcmmklut.cc dcmpstat/apps/dcmp2pgm.cc dcmpstat/apps/dcmpsmk.cc dcmpstat/apps/dcmpsprt.cc dcmpstat/tests/msgserv.cc dcmqrdb/apps/dcmqridx.cc dcmsign/apps/dcmsign.cc dcmtls/libsrc/tlstrans.cc dcmwlm/tests/wltest.cc ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc **** Changes from 2017.05.26 (grallert) - Added config test for the feenableexcept function: Added configuration test for the feenableexcept function for Autoconf and CMake. Modified the code to set the respective FPU flags manually if feenableexcept is not available. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in config/tests/arith.cc **** Changes from 2017.05.21 (schlamelcher) - Fixed wrong paths to 'config' dir in CMake scripts. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2017.05.19 (onken) - Fixed compiler warning on integer casting. Affects: dcmiod/libsrc/iodreferences.cc - Log write errors to error logger: Make sure that errors in elements (e.g. VR violation or missing attribute) are logged to error logger during write process. While reading, the same errors are printed to warning logger (as before). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/libsrc/iodutil.cc dcmiod/libsrc/modbase.cc **** Changes from 2017.05.17 (schlamelcher) - Updated copyright notice in recently modified file. Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h - Fixed some code relying on C++11 features: The recently introduced configuration tests for several STL features allowed using certain classes like std::tuple and std::error_code that were previously only enabled if C++11 support was enabled. The affected code was refactored to not depend on C++11 features any more (if possible) or wrapped behind #ifdef HAVE_CXX11 with an added fall-back implementation (hybrid between the existing fall-back implementation and using the native STL classes). Affects: ofstd/include/dcmtk/ofstd/oferror.h ofstd/include/dcmtk/ofstd/oftuple.h ofstd/include/dcmtk/ofstd/ofutil.h - Enhanced recently introduced STL configuration tests: The configuration tests for std::list and std::vector now also ensure that calling x.swap(y) does not invalidate any existing iterators (except for the ones referring to past-the-end) as required by the C++ standard and DCMTK. The configuration test for std::tuple now also ensures that std::tuple can take at least 50 template parameters (same as DCMTK's fall-back implementation) since otherwise DCMTK's fall-back implementation can be considered more mature. Affects: config/tests/list.cc config/tests/tuple.cc config/tests/vector.cc - Fixed segmentation fault in DcmDataDictionary: Fixed DcmDataDictionary's implementation relied on comparing default constructed iterators, which was undefined behavior prior to C++14. This closes DCMTK bug #755. Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h **** Changes from 2017.05.16 (schlamelcher) - Added configuration options for STL and C++11: Added configuration options for enabling STL and C++11 features for Autoconf and CMake. Enabling the STL will by default enable all separate STL classes (std::vector etc.) and functions, unless the respective switches are set individually. One may also enable only a single STL feature (e.g. std::string) without enabling all of the STL classes. Not all possible combinations may work though! C++11 support can either be enabled or disabled entirely, enabling individual C++11 features while disabling others is currently not supported (and probably never will be). Enabling an STL feature or C++11 will not directly set the respective MACRO (e.g. HAVE_STL_STRING), instead a configuration test will be performed to determine if the compiler provides an implementation that is sufficiently close enough to the C++ standard for DCMTK's requirements. If not, the feature will not be enabled! Enhanced the documentation in config/docs/macros.txt and config/docs/cxx11.dox appropriately for these changes. Tested several plausible combinations auf enabled/disabled STL and C++11 features and fixed the affected code as required. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake CMake/osconfig.h.in INSTALL config/configure config/configure.in config/docs/cxx11.dox config/docs/macros.txt config/include/dcmtk/config/osconfig.h.in ofstd/include/dcmtk/ofstd/oflimits.h ofstd/include/dcmtk/ofstd/ofutil.h ofstd/libsrc/ofstd.cc **** Changes from 2017.05.16 (hasenpusch) - Renamed several HAVE_ macros for better consistency: Renamed several macros like HAVE_STD_STRING -> HAVE_STL_STRING for better consistency, primarily DCMTK_USE_CXX11_STL -> HAVE_CXX11. Affects: dcmdata/include/dcmtk/dcmdata/dcmatch.h dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmiod/include/dcmtk/dcmiod/iodimage.h dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h ofstd/include/dcmtk/ofstd/ofalgo.h ofstd/include/dcmtk/ofstd/ofalign.h ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/include/dcmtk/ofstd/ofdefine.h ofstd/include/dcmtk/ofstd/oferror.h ofstd/include/dcmtk/ofstd/oflimits.h ofstd/include/dcmtk/ofstd/oflist.h ofstd/include/dcmtk/ofstd/ofmap.h ofstd/include/dcmtk/ofstd/ofmem.h ofstd/include/dcmtk/ofstd/ofoption.h ofstd/include/dcmtk/ofstd/ofstack.h ofstd/include/dcmtk/ofstd/ofstream.h ofstd/include/dcmtk/ofstd/ofstring.h ofstd/include/dcmtk/ofstd/oftraits.h ofstd/include/dcmtk/ofstd/oftuple.h ofstd/include/dcmtk/ofstd/oftypes.h ofstd/include/dcmtk/ofstd/ofutil.h ofstd/include/dcmtk/ofstd/ofvector.h ofstd/include/dcmtk/ofstd/ofvriant.h ofstd/libsrc/oferror.cc ofstd/libsrc/ofstd.cc ofstd/libsrc/ofstring.cc ofstd/tests/toption.cc **** Changes from 2017.05.16 (schlamelcher) - Moved config/arith.cc to config/tests/arith.c: Moved config/arith.cc to the recently introduced 'tests' subdirectory for consistency with the other C++ source file based configuration tests. Added: config/tests/arith.cc Removed: config/arith.cc Affects: CMake/GenerateDCMTKConfigure.cmake config/Makefile.in **** Changes from 2017.05.16 (hasenpusch) - Added feature test files for STL and C++11 support: Added several C++ source files to the 'config' module (new sub directory 'tests') that will be used for implementing configuration checks for several C++ STL features and C++11 support by Autoconf and CMake. Also added stdcxx.m4 script that will be used by Autoconf to configure C++11 settings. Added: config/stdcxx.m4 config/tests/algo.cc config/tests/cxx11.cc config/tests/limits.cc config/tests/list.cc config/tests/map.cc config/tests/memory.cc config/tests/stack.cc config/tests/string.cc config/tests/syserr.cc config/tests/ttraits.cc config/tests/tuple.cc config/tests/vector.cc **** Changes from 2017.05.05 (onken) - Added OB/OW-related comparison operators: Added comparsion() method to all OB/OW-based classes that usually deal with pixel data. So far, elements instantiated into such classes used the inherited compare() method from DcmElement and thus also returned equality if only tag and (E)VR have been identical, without even looking into the values. The new method uses the DcmElement check, and then compares the values in a meaningful way. For compressed data, equality is only returned if both elements do have native pixel data which is identical, or the have same current representation (compressed pixel data), i.e. the same transfer syntax, the same number of pixel items, with the same values (compared bytewise). If both elements do have the same representations (besides others) but those are not the current ones, the comparison will not return equality. Extended test for all data types (VRs) now offering the compare() method. This closes DCMTK Bug #674. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmdata/include/dcmtk/dcmdata/dcpixseq.h dcmdata/include/dcmtk/dcmdata/dcvrobow.h dcmdata/include/dcmtk/dcmdata/dcvrpobw.h dcmdata/libsrc/dcpixel.cc dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrpobw.cc dcmdata/tests/tvrcomp.cc - First check number of components before value: compare() was changed to first check the number of values of an element instead of first comparing the values. The reason is that it takes significantly more effort to compare the values which is often not necessary if the number of components is different anyway. This is especially useful for large binary values (like pixel data). The following commit will introduced specific comparsion operators for such elements. This might result in calls to compare() that now return -1 that earlier returned 1, and vice versa. This is not considered harmful since the functionality is quite new in DCMTK, and the majority of use cases would only check whether two elements are equal (0 returned) or not. The new implementation will never return equality (0) where it earlier returned -1 or 1. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcpixel.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dcvrat.h dcmdata/include/dcmtk/dcmdata/dcvrfl.h dcmdata/include/dcmtk/dcmdata/dcvrsl.h dcmdata/include/dcmtk/dcmdata/dcvrss.h dcmdata/include/dcmtk/dcmdata/dcvrul.h dcmdata/include/dcmtk/dcmdata/dcvrus.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcsequen.cc dcmdata/libsrc/dcvrat.cc dcmdata/libsrc/dcvrfd.cc dcmdata/libsrc/dcvrfl.cc dcmdata/libsrc/dcvrsl.cc dcmdata/libsrc/dcvrss.cc dcmdata/libsrc/dcvrul.cc dcmdata/libsrc/dcvrus.cc - Fixed check for transcoding, added documentation: Fixed code that checks whether transcoding from one compressed transfer syntax to another is possible. Added some comments for clarity. Affects: dcmdata/libsrc/dcpixel.cc **** Changes from 2017.05.02 (schlamelcher) - Hid some Visual Studio warnings regarding libxml: Added compiler definition -DLIBXML_STATIC for linking libxmlXXX.lib under Visual Studio without warnings (this even applies when linking the libxml DLL, since it is linked using the static helper libraries). This closes DCMTK bug #741. Affects: CMake/3rdparty.cmake **** Changes from 2017.05.02 (grallert) - Added some Attributes to DcmItem::checkAndUpdateVR(): Added detection for DCM_ChannelMinimumValue, DCM_ChannelMaximumValue, DCM_SmallestImagePixelValue, DCM_LargestImagePixelValue, DCM_SmallestPixelValueInSeries, DCM_LargestPixelValueInSeries, DCM_LUTDescriptor, DCM_RealWorldValueLastValueMapped and DCM_RealWorldValueFirstValueMapped when read in implicit mode to set correct VR. This closes DCMTK bug #370. Affects: dcmdata/libsrc/dcitem.cc **** Changes from 2017.05.02 (riesmeier) - Added unsigned suffix to large decimal constants: Added suffix "U" (for unsigned integer) to very large decimal constants in order to avoid the warning message "this decimal constant is unsigned only in ISO C90" reported by gcc 3.9.2. Affects: dcmdata/libsrc/dcvr.cc **** Changes from 2017.05.01 (eichelberg) - Fixed handling of EINTR in networkDataAvailable(): networkDataAvailable() and selectReadableAssociation() in class DcmTCPConnection now properly handle interruptions of the select() call through signal handlers, i.e. they restart the select() call with an updated timeout parameter. Thanks to DCMTK forum user "michael12345" for the bug report and patch. This closes DCMTK bug #614. Affects: dcmnet/libsrc/dcmtrans.cc - Converting large attributes to UN in explicit VR: When writing in explicit VR, some VRs are encoded with a 2-byte length field, whereas other VRs are encoded with a 4-byte length field. When writing implicit VR, all length fields are always encoded with 4 bytes. In some cases attribute values of the affected VRs may be larger than 64 kBytes, in which case the dataset can be represented in implicit VR, but not in explicit VR. Instead of refusing to write such datasets in explicit VR, DCMTK now automatically converts the affected attributes to UN (or, when generation of post-1993 VRs is disabled, to OB). This implements DICOM CP 1066 and closes DCMTK issue #331. Affects: dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcobject.cc - Removed unused variables. Affects: dcmdata/libsrc/cmdlnarg.cc **** Changes from 2017.04.28 (onken) - Suppress error message for missing segm. types: Suppress error message for missing Segmentation Fractional Type and Segmentation Type. Before, an error was printed while reading if one of the attributes was missing. Howeer, since both attributes are of type 1C, this is not necessarily an error. Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/libsrc/segdoc.cc - Fixed write transfer syntax and support Deflated: Make sure that uncompressed transfer syntax is written as desired by the user (before Little Endian Explicit has always been written). Also, support Deflated Transfer Syntax when saving Segmentation files if DCMTK has been compiled with ZLIB support. Loading Deflated as been supported before. Affects: dcmseg/libsrc/segdoc.cc **** Changes from 2017.04.27 (riesmeier) - Fixed issue with Simplified Adult Echo SR: Fixed issue with Simplified Adult Echo SR not being detected as one of the supported Structured Reporting IODs due to a wrong value of the end of list marker "DT_last". Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h - Fixed documentation and other minor issues. Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/dcvr.cc **** Changes from 2017.04.26 (grallert) - Enhanced value length information in DcmVR: Corrected wrong maxlength for some VR definitions that previously used DCM_UndefinedLength for specifying unlimited lengths. Added DCMVR_PROP_ISLENGTHINCHAR to specify whether length is given in bytes or characters and isLengthInChar() to query this information. This closes DCMTK bug #590. Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/dcvr.cc **** Changes from 2017.04.25 (riesmeier) - Fixed inconsistent documentation in man page: Converted additional description of command line option --formatted-code, which is only present in the man page, into a comment. Affects: dcmdata/docs/dcm2json.man - Removed unused local variable: This avoids a warning message reported by gcc. Affects: dcmwlm/libsrc/wlfsim.cc **** Changes from 2017.04.25 (grallert) - Added an argument conflict check for dcm2json: Added a conflict check for --read-dataset and --write-meta, since writing the meta header information requires reading it. Affects: dcmdata/apps/dcm2json.cc **** Changes from 2017.04.25 (schlamelcher) - Removed dead code from dcmnet: Removed dead code from 'dcompat.cc' that has been replaced by OFStandard::strerror(). Affects: dcmnet/libsrc/dcompat.cc **** Changes from 2017.04.25 (grallert) - Enhanced dcm2json application documentation: Added a warning to the description of --write-meta in dcm2json and the manpage. Also changed the description of --formatted-code and --compact-code. Affects: dcmdata/apps/dcm2json.cc dcmdata/docs/dcm2json.man **** Changes from 2017.04.25 (goldhammer) - Partially refactored 'errno' usage within dcmnet: Added specialized error code handling for WinSock by using OFStandard::getLastNetworkErrorCode() and the respective WinSock error constants (WSAEINTR) as appropriate within dulfsm.cc. Most of the other files in dcmnet and the rest of DCMTK already have a separate Windows implementation in this regard, so this fixes most of the remaining problems. Affects: dcmnet/libsrc/dulfsm.cc - Replaced 'errno' with OFStandard::getLast*ErrorCode(): Replaced occurrences of 'errno' with the appropriate call to one of the recently introduced methods OFStandard::getLastSystemErrorCode() and OFStandard::getLastNetworkErrorCode(). This refactoring should ensure that DCMTK always uses the right source for printing operating system error codes, preventing inappropriate error messages like "error: no error". Major step towards closing DCMTK bug #393. Affects: dcmdata/apps/dump2dcm.cc dcmdata/apps/xml2dcm.cc dcmdata/libsrc/cmdlnarg.cc dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcdicdir.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcostrmf.cc dcmdata/libsrc/dcuid.cc dcmdata/libsrc/vrscan.cc dcmnet/include/dcmtk/dcmnet/dcompat.h dcmnet/libsrc/dcompat.cc dcmnet/libsrc/dimse.cc dcmnet/libsrc/dul.cc dcmnet/libsrc/dulfsm.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/libsrc/dcmqrcbg.cc dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrdbi.cc dcmqrdb/libsrc/dcmqrsrv.cc dcmwlm/libsrc/wldsfs.cc dcmwlm/tests/wltest.cc **** Changes from 2017.04.24 (schlamelcher) - Fixed CMake check for resp. : CMake now honors the zlib and libpng include directories while searching for and . This fixes detecting these files when they are not in the default include paths (e.g. on Windows). Including is preferred, therefore, is not searched for if exists. The old CMake code simply did not define HAVE_LIBPNG_PNG_H no matter what, now, it is used as a fallback mechanism if is unavailable. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in **** Changes from 2017.04.21 (schlamelcher) - Added some CMake config tests and removed a macro: Added tests for std::nothrow new/delete and the std namespace itself. These have previously been fixed constants in the CMake configuration. Removed macro NO_IOS_BASE_ASSIGN, since copy assignment of std::iostreams is generally a bad idea. The affected code was modified to always operate without assigning iostreams to another (perhaps assigning the underlying streambuffers would be what the author originally intended, but the code should have been dead without anybody noticing it for quite some time now anyway, so removing it should be safe). Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/configure.in config/docs/macros.txt config/include/dcmtk/config/osconfig.h.in dcmdata/libsrc/cmdlnarg.cc **** Changes from 2017.04.21 (riesmeier) - Updated latest tested CMake version: Updated information on latest CMake version that has been tested to "3.8.0". Affects: CMake/dcmtkPrepare.cmake **** Changes from 2017.04.21 (schlamelcher) - Workaround for Clang regarding OFerror_category: Older versions of Clang did not generate a default constructor for the error category classes introduced by a previous commit but required one for their initialization (seemingly an edge case since they have no data members). Affects: ofstd/libsrc/oferror.cc **** Changes from 2017.04.20 (riesmeier) - Fixed non-ASCII character (German umlaut). Affects: CREDITS **** Changes from 2017.04.20 (schlamelcher) - Fixed a misplaced dllexport/dllimport declaration. Affects: ofstd/include/dcmtk/ofstd/oferror.h ofstd/libsrc/oferror.cc **** Changes from 2017.04.20 (eichelberg) - Updated CREDITS. Affects: CREDITS **** Changes from 2017.04.20 (riesmeier) - Added missing object file to Makefile (Autoconf). Affects: ofstd/libsrc/Makefile.in **** Changes from 2017.04.19 (eichelberg) - Updated Makefile. Affects: ofstd/tests/Makefile.in **** Changes from 2017.04.19 (goldhammer) - Introduced OFerror_code and related functionalities: Introduced OFerror_code, OFerror_category and the functions OFsystem_category() and OFgeneric_category() as portable implementations of C++11's std::error_code etc. Implemented the custom functions OFStandard::getLastSystemErrorCode() and OFStandard::getLastNetworkErrorCode() that return an OFerror_code object referring to the most recent error (using errno, GetLastError() or WSAGetLastError() as appropriate). The returned object can then be used to log the error message in a portable fashion, since the linked OFsystem_category() ensures the use of strerror, strerror_r or FormatMessage() as required by the target platform. Added: ofstd/include/dcmtk/ofstd/oferror.h ofstd/libsrc/oferror.cc ofstd/tests/terror.cc Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/ofstd.cc ofstd/tests/CMakeLists.txt ofstd/tests/tests.cc **** Changes from 2017.04.19 (schlamelcher) - Refactored getMACAddress() and its use: The recently modified getMACAddress() function now uses OFVector for allocating and freeing the buffer memory and has been changed to return not only the MAC address of the first adapter but instead the MAC addresses of all adapters. The function has therefore been renamed to getMACAddresses(). The calling code now adds all available MAC addresses to the CRC hash for generating a UUID. Also, a warning message output has been added in case GetAdaptersInfo() fails, to help in case of problems resulting from potential future API changes by Microsoft. Affects: dcmdata/libsrc/dcuid.cc **** Changes from 2017.04.18 (onken) - Ensure SPS/RP Description/Code is never empty: Per DICOM standard, either SPS Description or Scheduled Protocol Code, as well as either Requested Procedure Description or Requested Protocol Code must be filled in (type 1C, with the condition that either one of both attributes in each of both cases must be supported). The old code permitted that if the respective sequence is filled in, the description may have an empty value. Now an empty value is forbidden for the descriptions and for the sequences in any case. One of both (for each case) has to exist with a (non-empty) value. Thanks to Anne-Gaelle Berge for reporting a related issue. This closes DCMTK Bug #472. Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h dcmwlm/libsrc/wlfsim.cc - Take over charset on import. Minor changes: Take over charset when importing patient/study/series information from existing instance, if desired. Made some bool parameters const. Added / fixed documentation. Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h dcmiod/libsrc/iodcommn.cc dcmiod/libsrc/iodutil.cc **** Changes from 2017.04.17 (riesmeier) - Disabled check of VR for unsupported charsets: Disabled check of value representation (VR) in checkValue() method when using an unsupported character set, i.e. something else than ASCII or Latin-1. This applies to all VR classes derived from DcmCharString: PN, SH, ST, LO, LT, UC, UT. Affects: dcmdata/include/dcmtk/dcmdata/dcvrlo.h dcmdata/include/dcmtk/dcmdata/dcvrlt.h dcmdata/include/dcmtk/dcmdata/dcvrpn.h dcmdata/include/dcmtk/dcmdata/dcvrsh.h dcmdata/include/dcmtk/dcmdata/dcvrst.h dcmdata/include/dcmtk/dcmdata/dcvruc.h dcmdata/include/dcmtk/dcmdata/dcvrut.h dcmdata/libsrc/dcvrlo.cc dcmdata/libsrc/dcvrlt.cc dcmdata/libsrc/dcvrpn.cc dcmdata/libsrc/dcvrsh.cc dcmdata/libsrc/dcvrst.cc dcmdata/libsrc/dcvruc.cc dcmdata/libsrc/dcvrut.cc - Separated test for dcmGenerateUniqueIdentifier(): Created separate source file for recently added regression test of function dcmGenerateUniqueIdentifier() since this has nothing to do with the VR class DcmUniqueIdentifier. Added: dcmdata/tests/tgenuid.cc Affects: dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.in dcmdata/tests/tests.cc dcmdata/tests/tvrui.cc - Fixed API documentation of newDicomElement(): Fixed API documentation of newDicomElement() and newDicomElementWithVR(). Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcitem.cc **** Changes from 2017.04.17 (eichelberg) - Fixed private tag issue with dump2dcm and xml2dcm: Fixed an issue causing the VR of private tags to not be properly retained in dump2dcm and xml2dcm introduced by commit ae4ae81. This fixes DCMTK bug #745. Affects: dcmdata/apps/dump2dcm.cc dcmdata/apps/xml2dcm.cc dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcitem.cc - getMacAddress() on Windows now uses GetAdaptersInfo: The getMacAddress() function, which is used on Windows as part of the UID generation code, is now based on GetAdaptersInfo() instead of the old implementation, which was based on NETBIOS and SNMP and does not work reliably anymore on Windows 10. This closes DCMTK bug #594. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake dcmdata/libsrc/dcuid.cc dcmdata/tests/tests.cc dcmdata/tests/tvrui.cc **** Changes from 2017.04.15 (eichelberg) - Socket handle now always passed as 64-bit on Win32: The network layer now always passes the socket handle as an unsigned 64-bit integer on Win32 platforms when using the multi-process code. The code that reads the socket handle from the pipe in the client process has been moved into a helper function named DUL_readSocketHandleAsForkedChild(). Affects: dcmnet/apps/storescp.cc dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/libsrc/cond.cc dcmnet/libsrc/dul.cc dcmwlm/libsrc/wlmactmg.cc - Prevent infinite loop in DUL_AbortAssociation: Added code to prevent an potential infinite loop in DUL_AbortAssociation() that can occur when garbage is received over the network connection after sending an A-ABORT message. Thanks to Tamas Nemeth for the bug report. This closes DCMTK bug #371. Affects: dcmnet/libsrc/dul.cc **** Changes from 2017.04.14 (dicom) - Fixed typo in method name and API docs. Affects: dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h dcmfg/libsrc/fgrealworldvaluemapping.cc **** Changes from 2017.04.14 (riesmeier) - Fixed timezone issue with setISOFormattedTime(): Fixed issue with OFTime::setISOFormattedTime() when passing a timezone <= -0800 or >= +0800, because sscanf() interprets a leading 0 as octal number using the conversion pattern "%i". Also added a regression test. Thanks to forum user "Shaeto" for the report. Affects: ofstd/libsrc/oftime.cc ofstd/tests/tofdatim.cc **** Changes from 2017.04.14 (eichelberg) - Now setting LossyImageCompression when decompressing: All DCMTK-based image decompression codecs now insert the attribute LossyImageCompression with a value of 01 when decompressing an image encoded in a lossy transfer syntax. This makes sure that a warning about the reduced image quality remains in the dataset even if the encoder did not appropriately create it. This closes DCMTK feature #307. Affects: dcmjpeg/include/dcmtk/dcmjpeg/djcodecd.h dcmjpeg/include/dcmtk/dcmjpeg/djdecbas.h dcmjpeg/include/dcmtk/dcmjpeg/djdecext.h dcmjpeg/include/dcmtk/dcmjpeg/djdeclol.h dcmjpeg/include/dcmtk/dcmjpeg/djdecpro.h dcmjpeg/include/dcmtk/dcmjpeg/djdecsps.h dcmjpeg/include/dcmtk/dcmjpeg/djdecsv1.h dcmjpeg/libsrc/djcodecd.cc dcmjpeg/libsrc/djdecbas.cc dcmjpeg/libsrc/djdecext.cc dcmjpeg/libsrc/djdeclol.cc dcmjpeg/libsrc/djdecpro.cc dcmjpeg/libsrc/djdecsps.cc dcmjpeg/libsrc/djdecsv1.cc dcmjpls/include/dcmtk/dcmjpls/djcodecd.h dcmjpls/libsrc/djcodecd.cc - Updated COPYRIGHT file: The COPYRIGHT file now also includes the license notices of the external libraries that DCMTK can optionally be configured to use, such as zlib, libxml2 and openssl. This is to make sure that the copyright notices remain available to users that only download and install the executable binary package, which does include the COPYRIGHT file. This closes DCMTK bug #384. Affects: COPYRIGHT **** Changes from 2017.04.14 (riesmeier) - Enhanced XSD definition of "UniqueIdentifier": Enhanced XML Schema (XSD) definition of the DICOM value representation "Unique Identifier" (UI), which was not as strict as possible. Actually, the first component of an OSI Object Identification (numeric form) always starts with "0", "1" or "2" but this is currently not checked in order to accept values that are sometimes used for testing purposes (e.g. "99.xxx"). Thanks to Mathieu Malaterre for the report and suggested fix. Affects: dcmsr/data/dsr2xml.xsd **** Changes from 2017.04.14 (eichelberg) - Fixed conversion of OF/OD to OB in big endian: When the generation of post-1993 VRs is disabled in the parser, OF and OF elements are converted to OB. However, byte order was not handled when writing to Explicit VR Big Endian. This is now fixed for all VRs that are converted to OB. This closes DCMTK bug #554. Affects: dcmdata/libsrc/dcelem.cc - Added timeout handler to DUL FSM state 5: Added code to handle a timout occuring while the association initiator is waiting for an A-ASSOCIATE-AC or A-ASSOCIATE-RJ PDU. Thanks to Atsushi Suzuki for the suggestion and patch. This closes DCMTK bug #560. Affects: dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/libsrc/dulfsm.cc **** Changes from 2017.04.13 (schlamelcher) - Fixed and refactored running the unit tests via CTest: CTest will now always set the environment variable DCMDICTPATH appropriately such that the DICOM dictionaries from the source code folder will be used for running the tests. This prevents the test from failing caused by accidental use of a wrong dictionary or failing to load the dictionary. The test can now be executed via Wine and utilizing the Android emulator again, in both cases now also supporting to run the test in exhaustive mode (via make test-exhaustive etc.) and also correctly setting DCMDICTPATH. For both Android and Wine a CTestCustom.cmake file will be created to ensure: The Android emulator will be started, prepared and stopped as necessary, that is, the unit tests, required shared objects and now also the DICOM dictionaries will be copied to the device before running the tests. DCMDICTPATH and LD_LIBRARY_PATH will be set accordingly on the device during test execution. The Wine variant of the CTestCustom.cmake will ensure that the 'wineserver' process is already running during test execution, preventing CTest from attaching itself to that process leading to unnecessary and annoying wait times before executing the next test. Added: CMake/CTest/CTestCustomAndroid.cmake.in CMake/CTest/CTestCustomWine.cmake.in CMake/CTest/dcmtkCTestRun.cmake.in CMake/CTest/dcmtkCTestRunWine.cmake.in Removed: CMake/CTest/CTestCustom.cmake CMake/CTest/dcmtkCTestConfig.cmake.in CMake/CTest/dcmtkCTestRun.cmake Affects: CMake/CTest/dcmtkCTestRunAndroid.cmake.in CMake/dcmtkMacros.cmake CMakeLists.txt dcmdata/data/CMakeLists.txt **** Changes from 2017.04.12 (riesmeier) - Enhanced XSD definition of "DecimalString": Enhanced XML Schema (XSD) definition of the DICOM value representation "Decimal String" (DS), which did not allow for scientic notation. Thanks to Mathieu Malaterre for the report and suggested fix. Affects: dcmsr/data/dsr2xml.xsd **** Changes from 2017.04.12 (onken) - Warn if patient name may lead to broken dir name: The option --sort-on-patientname uses the patient name from received files in order to create a storage directory. The dir name is always in ASCII. storescp already defines a mapping from Latin-1 to ASCII. However, if a patient name uses a different character set, the latin-1 mapping is silently performed anyway. The new code does print a warning for cases where the patient name is not in ASCII or latin-1 denoting that the resulting directory name may be broken. Also, the current behaviour is documented. This fixes DCMTK Bug #557. Affects: dcmnet/apps/storescp.cc dcmnet/docs/storescp.man **** Changes from 2017.04.11 (schlamelcher) - Fixed and refactored cross compiling for Android: Removed previously introduced CMake function DCMTK_ATEXIT, since the utilized exploit seems to no longer work on newer versions of CMake. The Android emulator instance launched for performing the configuration tests will now only be shut down when/if CMake successfully finishes configuring the DCMTK build. This is hardly ideal, but there does not seem to be a proper solution with newer versions of CMake. Added a configuration test for detecting whether the implementation of 'lockf' that newer versions of Android provide can actually be used, i.e. whether it includes the definition of required macro constants. Fixed two breaking changes regarding the Android emulators command line arguments/handling. Modified accessing the emulator such that all commands will be executed with root access rights as a workaround for emulated devices of newer SDK versions not allowing access to /cache or executing applications on the sdcard. Removed outdated 'android.toolchain.cmake' that no longer works with newer SDK versions. Use the Android cross compiling support included in/provided by CMake version 3.7.2 and later instead! This commit will break running the unit tests on the Android emulator, which will be addressed by a follow-up refactoring of the unit test related CMake configuration. Removed: CMake/android.toolchain.cmake Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkMacros.cmake CMake/dcmtkPrepare.cmake CMake/dcmtkUseAndroidSDK.cmake CMakeLists.txt - Refactored cross compiling support with MinGW/Wine: When cross compiling for Windows using MinGW/Wine, the configuration tests will now run in a specifically prepared wineprefix that is configured for linking the detected/configured MinGW runtime DLLs. The Wine instances will also be spawned as detached processes, with their IO streams redirected to temporary files. This works around a problem where CMake was waiting for the whole 'wineserver' process to shutdown instead of only the spawned application, before continuing the execution. The temporary files will be read and displayed etc. such that the user experience does not change significantly compared to before. This commit will break running the unit tests via Wine, which will be addressed by a follow-up refactoring of the unit test related CMake configuration. Added: CMake/dcmtkWinePath.reg.in Affects: CMake/dcmtkTryRun.cmake CMake/dcmtkUseWine.cmake **** Changes from 2017.04.11 (onken) - Check override keys in img2dcm library code: img2dcm silently ignored errors if override keys defined with the --key option (or by the library user) can neither be parsed to a valid tag nor tag dictionary name. Now the error is handled and returned to the user. Additionally, the related method now uses a unique pointer to ensure that all code paths are cleaning up memory in case of error. This closes DCMTK bug #589. Affects: dcmdata/libi2d/i2d.cc **** Changes from 2017.04.11 (schlamelcher) - Fixed a mistake in the code generating arith.h: The configuration test for inspecting the fundamental arithmetic types was written under the wrong assumption that std::isnormal tests for non-subnormal values. Instead isnormal returns true if the value is neither zero, subnormal NaN or infinity. The test now compares the given value with FLT_MIN resp. DBL_MIN instead, which should be more appropriate. Luckily, the results seem to be the same on the platforms we have tested so far. Affects: config/arith.cc **** Changes from 2017.04.11 (onken) - Fix backslash quoting for Windows --fork mode: Windows --fork mode in DCMTK sets quotes ("") around each command line argument before providing it to CreateProcess. If the last character in the argument is a backslash, it escaped the following appended quote so that the delimiter of that command line argument was missing. The fix checks whether the last character is a backslash, and if so, escapes it so the finalizing quote stays intact. This closes DCMTK Bug #392. Affects: dcmnet/libsrc/dul.cc **** Changes from 2017.04.06 (riesmeier) - Fixed minor issues in manpage: Also reworded recently revised section on "Character Encoding". Affects: dcmdata/docs/dcm2json.man **** Changes from 2017.04.06 (grallert) - Fixed the encoding section in dcm2json man page: Removed the encoding table in dcm2json man page and replaced it with a small explanation that dcm2json always tries to output in UTF-8 if possible or in ASCII if not. Affects: dcmdata/docs/dcm2json.man - Added unique section labels in DCMTK man pages: Replaced identical section, subsection and subsubsection labels with unique labels, which are composed of the application name and the existing labels. Closes DCMTK bug #723. Affects: dcmdata/docs/dcm2json.man dcmdata/docs/dcm2pdf.man dcmdata/docs/dcm2xml.man dcmdata/docs/dcmconv.man dcmdata/docs/dcmcrle.man dcmdata/docs/dcmdrle.man dcmdata/docs/dcmdump.man dcmdata/docs/dcmftest.man dcmdata/docs/dcmgpdir.man dcmdata/docs/dcmodify.man dcmdata/docs/dump2dcm.man dcmdata/docs/img2dcm.man dcmdata/docs/pdf2dcm.man dcmdata/docs/xml2dcm.man dcmimage/docs/dcm2pnm.man dcmimage/docs/dcmquant.man dcmimage/docs/dcmscale.man dcmimgle/docs/dcmdspfn.man dcmimgle/docs/dcod2lum.man dcmimgle/docs/dconvlum.man dcmjpeg/docs/dcmcjpeg.man dcmjpeg/docs/dcmdjpeg.man dcmjpeg/docs/dcmj2pnm.man dcmjpeg/docs/dcmmkdir.man dcmjpls/docs/dcmcjpls.man dcmjpls/docs/dcmdjpls.man dcmjpls/docs/dcml2pnm.man dcmnet/docs/getscu.man dcmnet/docs/movescu.man dcmpstat/docs/dcmmkcrv.man dcmpstat/docs/dcmmklut.man dcmpstat/docs/dcmp2pgm.man dcmpstat/docs/dcmprscp.man dcmpstat/docs/dcmprscu.man dcmpstat/docs/dcmpschk.man dcmpstat/docs/dcmpsmk.man dcmpstat/docs/dcmpsprt.man dcmpstat/docs/dcmpsrcv.man dcmpstat/docs/dcmpssnd.man dcmqrdb/docs/dcmqridx.man dcmqrdb/docs/dcmqrscp.man dcmqrdb/docs/dcmqrti.man dcmrt/docs/drtdump.man dcmsign/docs/dcmsign.man dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man dcmsr/docs/dsrdump.man dcmsr/docs/xml2dsr.man dcmwlm/docs/wlmscpfs.man **** Changes from 2017.04.04 (schlamelcher) - Fixed CTest failing tests that did not compile: The previously introduced script based approach to run the unit tests for allowing additional parameters (e.g. -x) caused unit tests to fail if the respective test binary was unavailable instead of the correct and previous behavior to skip them. The respective binaries are now correctly marked as unit test dependency to restore the previous behavior. Affects: CMake/dcmtkMacros.cmake - Added config tests for including libc.h and math.h: CMake now also determines whether and may be included as extern "C" or must be included as C++ headers, instead of hardcoding the results that seem to have worked in the past but were never verified. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in - Modified CMake configuration regarding MinGW: CMake now uses the same path and environment separator etc. settings for MinGW as it does for other compilers that target native Windows (e.g. Visual Studio). The only remaining exception now is Cygwin, where the resulting executables are expected to be run in the Cygwin shell. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2017.04.04 (riesmeier) - Fixed issue reading XML template identification: Fixed issue when reading the template identification from XML input (e.g. using xml2dsr). Background: the internal value type "VT_includedTemplate" was mapped to the XML element name "template", which is also used for identifying the SR template in the XML document. Solution: use a different name for the mapping, i.e. something that never occurs in practice. Thanks to Mathieu Malaterre for the original report (including sample file and command line call showing this behavior). Affects: dcmsr/libsrc/dsrtypes.cc **** Changes from 2017.04.03 (schlamelcher) - Added CMake config tests for int64_t and uint64_t: Added CMake configuration tests for int64_t and uint64_t defining the respective macros HAVE_INT64_T and HAVE_UINT64_T if available. Modified oftypes.h to use HAVE_UINT64_T instead of presuming uint64_t exists when HAVE_INT64_T was defined. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in ofstd/include/dcmtk/ofstd/oftypes.h - Added double quotes around paths in CMake files: Added double quotes around paths inside the CMake configuration files to prevent errors resulting from paths that may contain spaces etc. Closes DCMTK bug #633. Affects: CMake/3rdparty.cmake CMake/CheckFunctionWithHeaderExists.cmake CMake/GenerateCMakeExports.cmake CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkAfterModules.cmake CMake/dcmtkMacros.cmake CMake/dcmtkPrepare.cmake CMake/dcmtkTryCompile.cmake CMake/dcmtkTryRun.cmake CMake/dcmtkUseAndroidSDK.cmake CMakeLists.txt config/docs/CMakeLists.txt dcmdata/CMakeLists.txt dcmdata/data/CMakeLists.txt dcmdata/docs/CMakeLists.txt dcmdata/include/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmfg/CMakeLists.txt dcmfg/include/CMakeLists.txt dcmimage/CMakeLists.txt dcmimage/include/CMakeLists.txt dcmimgle/CMakeLists.txt dcmimgle/data/CMakeLists.txt dcmimgle/include/CMakeLists.txt dcmiod/CMakeLists.txt dcmiod/include/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpeg/include/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/apps/CMakeLists.txt dcmjpls/include/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/CMakeLists.txt dcmnet/apps/CMakeLists.txt dcmnet/docs/CMakeLists.txt dcmnet/etc/CMakeLists.txt dcmnet/include/CMakeLists.txt dcmpmap/CMakeLists.txt dcmpmap/include/CMakeLists.txt dcmpstat/CMakeLists.txt dcmpstat/data/CMakeLists.txt dcmpstat/etc/CMakeLists.txt dcmpstat/include/CMakeLists.txt dcmqrdb/CMakeLists.txt dcmqrdb/docs/CMakeLists.txt dcmqrdb/etc/CMakeLists.txt dcmqrdb/include/CMakeLists.txt dcmrt/CMakeLists.txt dcmrt/include/CMakeLists.txt dcmseg/CMakeLists.txt dcmseg/include/CMakeLists.txt dcmsign/CMakeLists.txt dcmsign/include/CMakeLists.txt dcmsr/CMakeLists.txt dcmsr/data/CMakeLists.txt dcmsr/include/CMakeLists.txt dcmtls/CMakeLists.txt dcmtls/docs/CMakeLists.txt dcmtls/include/CMakeLists.txt dcmtract/CMakeLists.txt dcmtract/include/CMakeLists.txt dcmwlm/CMakeLists.txt dcmwlm/apps/CMakeLists.txt dcmwlm/data/CMakeLists.txt dcmwlm/include/CMakeLists.txt doxygen/CMakeLists.txt oflog/CMakeLists.txt oflog/etc/CMakeLists.txt oflog/include/CMakeLists.txt ofstd/CMakeLists.txt ofstd/include/CMakeLists.txt ofstd/tests/CMakeLists.txt **** Changes from 2017.03.31 (grallert) - Again, a small fix for HEVC/H.265 commit. Affects: dcmnet/apps/movescu.cc dcmqrdb/libsrc/dcmqrsrv.cc - Small fix for HEVC/H.265 commit. Affects: dcmnet/apps/movescu.cc - Added command line options for HEVC/H.265: Added command line options for the two new transfer syntaxes HEVC/H.265 Main Profile and HEVC/H.265 Main 10 Profile introduced by supplement 195. Closes DCMTK conformance #702. Affects: dcmnet/apps/getscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/docs/getscu.man dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/docs/storescu.man dcmqrdb/apps/dcmqrscp.cc dcmqrdb/docs/dcmqrscp.man dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrsrv.cc **** Changes from 2017.03.30 (schlamelcher) - Refactored low level network API usage: Created dcmnet header file dntypes.h defining platform independent socket file descriptor/handle data type etc. Added OFStandard::initializeNetwork() and OFStandard::shutdownNetwork(). Employed above definitions to replace platform specific networking code everywhere except within oflog. Closes DCMTK feature #451 (again). Added: dcmnet/include/dcmtk/dcmnet/dntypes.h Affects: dcmdata/libsrc/dcuid.cc dcmdata/libsrc/mkdeftag.cc dcmdata/libsrc/mkdictbi.cc dcmnet/apps/echoscu.cc dcmnet/apps/findscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/apps/termscu.cc dcmnet/include/dcmtk/dcmnet/dcmlayer.h dcmnet/include/dcmtk/dcmnet/dcmtrans.h dcmnet/include/dcmtk/dcmnet/dcompat.h dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/dcmlayer.cc dcmnet/libsrc/dcmtrans.cc dcmnet/libsrc/dcompat.cc dcmnet/libsrc/dfindscu.cc dcmnet/libsrc/dul.cc dcmnet/libsrc/dulextra.cc dcmnet/libsrc/dulfsm.cc dcmnet/libsrc/dulstruc.h dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmprscu.cc dcmpstat/apps/dcmpschk.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/apps/dcmpssnd.cc dcmpstat/libsrc/dviface.cc dcmpstat/libsrc/dvpsmsg.cc dcmpstat/libsrc/dvpspr.cc dcmpstat/tests/msgserv.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/apps/dcmqrti.cc dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrtis.cc dcmwlm/libsrc/wlmactmg.cc ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc **** Changes from 2017.03.27 (schlamelcher) - Added configure tests for some reentrant functions: Added configuration tests for some reentrant alternatives for the respective functions for CMake and Autoconf. Adjusted the code using the functions accordingly. Closes DCMTK bug #600. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmwlm/libsrc/wlfsim.cc ofstd/libsrc/ofstd.cc - Added test-exhaustive target for CMake: Modified the CMake unit test configuration to allow passing additional arguments via the DCMTK_CTEST_EXTRA_ARGUMENTS environment variable. Added the test-exhaustive and -test-exhaustive targets to run the respective unit tests in exhaustive mode (passing -x to the test executable). Added: CMake/CTest/dcmtkCTestRun.cmake CMake/CTest/dcmtkCTestRunExhaustive.cmake Affects: CMake/dcmtkMacros.cmake CMakeLists.txt INSTALL **** Changes from 2017.03.26 (eichelberg) - DCMTK now uses SOCKET data type on Windows: While Posix systems use an int type to represent network sockets, Win32 uses a type named SOCKET, which is a 64-bit unsigned integer when compiling on x64. DCMTK now properly uses this type. Affects: dcmnet/include/dcmtk/dcmnet/dcmlayer.h dcmnet/include/dcmtk/dcmnet/dcmtrans.h dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/dcmlayer.cc dcmnet/libsrc/dcmtrans.cc dcmnet/libsrc/dfindscu.cc dcmnet/libsrc/dul.cc dcmnet/libsrc/dulextra.cc dcmnet/libsrc/dulfsm.cc dcmnet/libsrc/dulstruc.h dcmpstat/libsrc/dvpsmsg.cc dcmpstat/tests/msgserv.cc dcmtls/include/dcmtk/dcmtls/tlslayer.h dcmtls/include/dcmtk/dcmtls/tlstrans.h dcmtls/libsrc/tlslayer.cc dcmtls/libsrc/tlstrans.cc - Explicitly include on Windows. Affects: dcmdata/libsrc/dcuid.cc dcmdata/libsrc/mkdeftag.cc dcmdata/libsrc/mkdictbi.cc dcmnet/apps/echoscu.cc dcmnet/apps/findscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/apps/termscu.cc dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmprscu.cc dcmpstat/apps/dcmpschk.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/apps/dcmpssnd.cc dcmpstat/libsrc/dviface.cc dcmpstat/libsrc/dvpspr.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/apps/dcmqrti.cc dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrtis.cc dcmwlm/libsrc/wlmactmg.cc ofstd/libsrc/ofstd.cc - Fixed server socket options on WIN32: On Windows, the socket option SO_REUSEADDR has different semantics than on Posix systems. Now using SO_EXCLUSIVEADDRUSE when compiling on Windows. This closes DCMTK bug #559. Affects: dcmnet/libsrc/dul.cc dcmpstat/tests/msgserv.cc **** Changes from 2017.03.24 (riesmeier) - Removed trailing spaces added by last commit. Affects: dcmsign/libsrc/sicertvf.cc - Documented new default value of --data-files-path. Affects: dcmwlm/docs/wlmscpfs.man - Updated Manpage after --write-us has been added. Affects: dcmimage/docs/dcmquant.man - Documented that --write-ow is now the default. Affects: dcmimage/apps/dcmquant.cc **** Changes from 2017.03.24 (eichelberg) - dcmquant now by default generates OW LUT data: dcmquant now by default uses the OW value representation for the generated palette color LUT entries. Using US VR for these elements was retired with CP 143. This closes DCMTK issue #578. Affects: dcmimage/apps/dcmquant.cc - Changed wlmscpfs default data path to current dir: Changed the default path under which wlmscpfs looks for worklist files to the current directory. This closes DCMTK feature #454. Affects: dcmwlm/apps/wlcefs.cc - Fixed bug in dcmsign certification validation code: Fixed bug in dcmsign certification validation code that caused a certificate chain to be (incorrectly) accepted when X509_verify_cert() returned a negative number. Thanks to for the bug report and fix. This closes DCMTK bug #740. Affects: dcmsign/libsrc/sicertvf.cc **** Changes from 2017.03.24 (schlamelcher) - Fixed linking some dcmsr unit tests with MSVC: Fixed linking dcmsr_addItems and dcmsr_getItems when building shared libraries (DLLs) with Visual Studio. The tests had previously been disabled when building shared libraries since Visual Studio is unable to handle some of the symbols that are part of the DSRListOfItems template. This workaround employs a dummy class to create specific symbols for the tests only. Closes DCMTK bug #694. Affects: dcmsr/tests/tsrlist.cc **** Changes from 2017.03.23 (onken) - Added support for final text CP-1619: CP-1619 changed the attribute for the code segmentation algorithm from "Segment Surface Generation Algorithm Identification Sequence" to the new attribute "Segmentation Algorithm Identification Sequence". Class member and method names now reflect the new attribute. Existing implementations using those methods have to adapt their code. Segmentation objects that use the old sequence attribute will be read successfully, but the algorithm code data will be ignored, i.e. the new implementation does not evaluate the "Segment Surface Generation Algorithm Identification Sequence" any more. Since not many implementations of Segmentation objects can be found so far, only a few users are expected to be affected and those are warned since their existing code does not compile any more. Rationale from the CP: The Segmentation IOD currently only allows specification of algorithm parameters in the Segment Surface Generation Algorithm Identification Sequence. Create a new attribute that is not limited to "Surface Generation" and that may may be used for any segmentation algorithm. Affects: dcmseg/include/dcmtk/dcmseg/segment.h dcmseg/libsrc/segment.cc **** Changes from 2017.03.23 (schlamelcher) - Suppressed an inappropriate Visual Studio warning. Affects: dcmdata/libsrc/dcmatch.cc - Refactored DSRListOfItems::EmptyItem: DSRListOfItems::EmptyItem is now no longer a static member variable but instead a global function template. While there was nothing wrong with the previous approach, the new one will hopefully have better compiler compatibility. Especially Visual Studio and some older versions of Clang have bugs that lead to problems with the previous approach when building shared objects (DLLs). Affects: dcmsr/include/dcmtk/dcmsr/dsrtlist.h dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrimgse.cc dcmsr/libsrc/dsrsc3gr.cc dcmsr/libsrc/dsrscogr.cc dcmsr/libsrc/dsrtcodt.cc dcmsr/libsrc/dsrtcosp.cc dcmsr/libsrc/dsrtcoto.cc dcmsr/libsrc/dsrwavch.cc **** Changes from 2017.03.23 (riesmeier) - Replaced spaces by tabs in comment header. Affects: dcmdata/data/dicom.dic - Enhanced logging of interface class DSRDocument: Enhanced logging of main interface class DSRDocument by adding output to the debug logger when creating, reading or writing a DICOM SR document. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc **** Changes from 2017.03.22 (riesmeier) - Fixed warnings on unused parameters: Fixed warnings on unused parameters (reported by gcc -Wunused-parameter). Affects: dcmdata/libsrc/dcjson.cc ofstd/include/dcmtk/ofstd/ofstd.h - Removed unused variable "checkAllStrings": Removed unused variable "opt_checkAllStrings" and parameter "checkAllStrings" (reported by gcc -Wunused-parameter). Affects: dcmdata/apps/dcm2json.cc - Fixed warnings reported by gcc with "-Wshadow": Renamed parameter that shadows a member variable (reported by gcc -Wshadow). Affects: dcmdata/include/dcmtk/dcmdata/dcjson.h dcmdata/libsrc/dcjson.cc - Fixed warning reported by gcc 4.8.5 (Linux): Fixed warning "comparison between signed and unsigned integer expressions [-Wsign-compare]" reported by gcc 4.8.5 on Linux. Affects: dcmwlm/libsrc/wlfsim.cc **** Changes from 2017.03.20 (eichelberg) - Fixed DLL compilation of libcharls. Affects: dcmjpls/libcharls/CMakeLists.txt **** Changes from 2017.03.19 (eichelberg) - Fixed warnings reported by VS 2017 x64. Affects: dcmiod/libsrc/iodreferences.cc dcmnet/libsrc/diutil.cc - Fixed warnings reported by VS 2017 x64. Affects: dcmdata/libi2d/i2djpgs.cc dcmfg/libsrc/fginterface.cc dcmfg/libsrc/fgrealworldvaluemapping.cc dcmfg/libsrc/stackinterface.cc dcmimage/libsrc/diqthash.cc dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/libsrc/iodutil.cc dcmiod/libsrc/modimagepixel.cc dcmiod/libsrc/modmultiframedimension.cc dcmiod/libsrc/modusfor.cc dcmjpeg/libsrc/djcodece.cc dcmjpls/libsrc/djcodece.cc dcmnet/apps/storescu.cc dcmnet/libsrc/dcmtrans.cc dcmnet/libsrc/dimstore.cc dcmnet/libsrc/dul.cc dcmpmap/libsrc/dpmparametricmapiod.cc dcmpstat/apps/dcmpschk.cc dcmpstat/tests/msgserv.cc dcmqrdb/libsrc/dcmqrcbg.cc dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrdbi.cc dcmseg/libsrc/segdoc.cc dcmtract/libsrc/trcstatistic.cc dcmtract/libsrc/trctrack.cc dcmtract/libsrc/trctractographyresults.cc dcmwlm/libsrc/wlds.cc dcmwlm/libsrc/wlfsim.cc **** Changes from 2017.03.17 (riesmeier) - Added standard comments to new CMake files: Added standard comments to recently introduced "CMakeLists.txt" files. These comments are used for the CMake file in all "tests" subdirectories. Affects: dcmpstat/tests/CMakeLists.txt dcmwlm/tests/CMakeLists.txt **** Changes from 2017.03.17 (schlamelcher) - Added dcmpstat and dcmwlm test applications to CMake: The CMake project configuration now also handles the test folders of dcmpstat and dcmwlm, which contain non unit-test like testing applications for those modules. Added: dcmpstat/tests/CMakeLists.txt dcmwlm/tests/CMakeLists.txt Affects: dcmpstat/CMakeLists.txt dcmwlm/CMakeLists.txt - Fixed misleading commit introduced by copy and paste. Affects: CMakeLists.txt **** Changes from 2017.03.17 (eichelberg) - Fixed warnings reported by VS 2017 x64. Affects: dcmpstat/include/dcmtk/dcmpstat/dvcache.h dcmpstat/libsrc/dcmpstat.cc dcmpstat/libsrc/dvpscu.cc dcmpstat/libsrc/dvpsgll.cc dcmpstat/libsrc/dvpsgr.cc dcmpstat/libsrc/dvpsmsg.cc dcmpstat/libsrc/dvpssp.cc dcmpstat/libsrc/dvpstat.cc dcmpstat/libsrc/dvpsvw.cc - Fixed warnings reported by VS 2017 x64. Affects: dcmpstat/apps/dcmmkcrv.cc **** Changes from 2017.03.17 (schlamelcher) - Enhanced the way is included: The file is now always included with WIN32_LEAN_AND_MEAN defined, in order to increase the performance of the compilation process. In some cases specific Winsock functions are used, which only works when WIN32_LEAN_AND_MEAN is not defined while including . All these occurrences are now consistently marked with '#undef WIN32_LEAN_AND_MEAN' and an appropriate comment. Closes DCMTK feature #451. Affects: dcmdata/libsrc/dcuid.cc dcmdata/libsrc/mkdeftag.cc dcmdata/libsrc/mkdictbi.cc dcmjpeg/libijg12/jerror.c dcmjpeg/libijg16/jerror.c dcmjpeg/libijg8/jerror.c dcmnet/apps/echoscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/apps/termscu.cc dcmnet/include/dcmtk/dcmnet/dcompat.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/dcmtrans.cc dcmnet/libsrc/dul.cc dcmnet/libsrc/dulextra.cc dcmnet/libsrc/dulfsm.cc dcmnet/libsrc/scu.cc dcmpstat/apps/dcmprscu.cc dcmpstat/apps/dcmpschk.cc dcmpstat/libsrc/dviface.cc dcmpstat/libsrc/dvpsmsg.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/apps/dcmqrti.cc dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrtis.cc dcmtls/libsrc/tlslayer.cc dcmtls/libsrc/tlstrans.cc dcmwlm/libsrc/wlmactmg.cc ofstd/libsrc/ofstd.cc ofstd/libsrc/ofthread.cc ofstd/libsrc/oftime.cc **** Changes from 2017.03.17 (eichelberg) - Fixed policy CMP0017 warning in CMake 3.7.2. Affects: CMakeLists.txt **** Changes from 2017.03.17 (schlamelcher) - Fixed problems regarding Windows include magic: Fixed problems caused by the previous commit that replaced OFauto_ptr with OFunique_ptr. The file 'ofmem.h' includes and defines WIN32_LEAN_AND_MEAN, which hides some Winsock functions required by dcmnet and dcmpstat. Explicitly included without defining WIN32_LEAN_AND_MEAN where needed as a workaround. Undefined the 'NEAR' macro from inside libcharls ('header.h'), as a workaround for libcharls using NEAR as variable name etc. Affects: dcmjpls/libcharls/header.h dcmnet/apps/findscu.cc dcmnet/libsrc/dfindscu.cc dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/apps/dcmpssnd.cc dcmpstat/libsrc/dviface.cc dcmpstat/libsrc/dvpspr.cc **** Changes from 2017.03.16 (schlamelcher) - Updated Makefile dependencies. Affects: dcmdata/apps/Makefile.dep dcmdata/libi2d/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmfg/libsrc/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmiod/libsrc/Makefile.dep dcmiod/tests/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpeg/libsrc/Makefile.dep dcmjpls/apps/Makefile.dep dcmjpls/libcharls/Makefile.dep dcmjpls/libsrc/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmnet/tests/Makefile.dep dcmpmap/libsrc/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmrt/apps/Makefile.dep dcmrt/libsrc/Makefile.dep dcmrt/tests/Makefile.dep dcmseg/libsrc/Makefile.dep dcmseg/tests/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libcmr/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmtls/libsrc/Makefile.dep dcmtract/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/tests/Makefile.dep oflog/libsrc/Makefile.dep - Replaced OFauto_ptr with OFunique_ptr: Replaced all occurrences of OFauto_ptr with OFunique_ptr and modified related code according to the changed semantics (employed OFmove where needed etc.). Closes DCMTK feature #537. Removed: ofstd/include/dcmtk/ofstd/ofaptr.h Affects: config/docs/macros.txt dcmfg/libsrc/fginterface.cc dcmjpls/libcharls/decodstr.h dcmjpls/libcharls/encodstr.h dcmjpls/libcharls/header.cc dcmjpls/libcharls/header.h dcmjpls/libcharls/jpegls.cc dcmjpls/libcharls/scan.h dcmpstat/apps/dcmprscp.cc dcmpstat/libsrc/dviface.cc oflog/include/dcmtk/oflog/appender.h oflog/include/dcmtk/oflog/hierarchy.h oflog/include/dcmtk/oflog/oflog.h oflog/include/dcmtk/oflog/spi/factory.h oflog/include/dcmtk/oflog/spi/logevent.h oflog/libsrc/appender.cc oflog/libsrc/hierarchy.cc oflog/libsrc/logevent.cc oflog/libsrc/oflog.cc ofstd/include/dcmtk/ofstd/ofutil.h **** Changes from 2017.03.16 (eichelberg) - Minor API change in dcmjpls. Affects: dcmjpls/libsrc/djcodece.cc **** Changes from 2017.03.15 (schlamelcher) - Fixed incorrect usage of FindICU.cmake: FindICU.cmake is now used correctly be specifying which components are needed. This works with the FindICU.cmake we provide with the DCMTK and also the newer versions provided by CMake. Affects: CMake/3rdparty.cmake - Modified config to prefer CMake's own FindXXX modules: Modified the CMake configuration to prefer the FindXXX modules provided by CMake (in ${CMAKE_ROOT}/Modules) instead of the ones we provide with DCMTK, since ours are only meant as a fallback for supporting older CMake versions. Affects: CMake/dcmtkPrepare.cmake **** Changes from 2017.03.15 (eichelberg) - JPEG/JPEG-LS padding now uses extended EOI marker: DCMTK now pads JPEG and JPEG-LS bitstreams that have odd length with an "extended" end of image (EOI) marker, writing ff/ff/d9 instead of adding a zero byte after the EOI marker, i.e. writing ff/d9/00. The old behaviour can be restored by defining the macro DISABLE_FF_JPEG_BITSTREAM_PADDING. This implements the following note from DICOM Part 5 Section A.4: "Any necessary padding may be added in the JPEG or JPEG-LS compressed data stream as per ISO 10918-1 and ISO 14495-1 such that the End of Image (EOI) marker ends on an even byte boundary, or may be appended after the EOI marker, depending on the implementation. ISO 10918-1 and ISO 14495-1 define the ability to add any number of padding bytes FFH before any marker (all of which also begin with FFH)." This closes DCMTK bug #658. Thanks to Mathieu Malaterre for the report. Affects: config/docs/macros.txt dcmjpeg/include/dcmtk/dcmjpeg/djutils.h dcmjpeg/libsrc/djeijg12.cc dcmjpeg/libsrc/djeijg16.cc dcmjpeg/libsrc/djeijg8.cc dcmjpeg/libsrc/djutils.cc dcmjpls/include/dcmtk/dcmjpls/djcodece.h dcmjpls/libsrc/djcodece.cc **** Changes from 2017.03.15 (schlamelcher) - Fixed build date definition problem regarding Xcode: The compiler definition 'DCMTK_BUILD_DATE' is now differently escaped for Xcode. This affects building DCMTK snapshot packages that set DCMTK_BUILD_DATE to the day on which the snapshot was created. The previous escaping produced unparsable Xcode project files. Closes DCMTK bugs #497 and #651. Affects: CMake/dcmtkPrepare.cmake **** Changes from 2017.03.15 (eichelberg) - Fixed bug introduced with commit f58cfe9: Fixed bug introduced with commit f58cfe9 that prevented successful reading of DICOM files without metaheader. Affects: dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcfilefo.cc **** Changes from 2017.03.15 (schlamelcher) - Fixed inspecting fundamental arithmetic types: CMake will now re-run the inspection of fundamental arithmetic types (configuration test) if the test code ("arith.cc") is newer than the existing "arith.h". This fixes problems with incompatible "arith.h" files in re-used build directories if the configure test code was modified. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2017.03.15 (eichelberg) - Updated API documentation. Affects: ofstd/include/dcmtk/ofstd/ofstd.h **** Changes from 2017.03.15 (schlamelcher) - Fixed previous commit support for old CMake versions. Affects: doxygen/CMakeLists.txt **** Changes from 2017.03.14 (schlamelcher) - Fixed installing manpages with CMake: CMake now installs manpages from the source code directory unless a newer version of a manpage exists in the build directory. This fixes installing manpages in out-of-source builds in case they are not explicitly generated via 'make man'. Inside source builds are not affected by this modification, since the manpage in the build and source directory are always identical in that case. Futhermore, CMake now omits unwanted directory index manpages generated by doxygen. Affects: doxygen/CMakeLists.txt **** Changes from 2017.03.14 (eichelberg) - Parser can now be stopped before a certain tag: Added methods to the dcmdata parser that allow the read process to be stopped before a certain tag is fully processed. This also works if the given tag (which must be on the main dataset level) is not present in file, i.e. no higher tag is parsed/processed. Added --stop-before-elem command line option to dcmdump to enable use of these new methods. This closes DCMTK patch #347. Thanks to Jeroen Eggermont for the suggestion and the (partial) patch. Affects: dcmdata/apps/dcmdump.cc dcmdata/docs/dcmdump.man dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc **** Changes from 2017.03.14 (goldhammer) - Fixed OFStandard::atof() not handling "NaN": Handling of "INF" (infinity) was also integrated, because it required almost no additional effort. Closes DCMTK Bug #718. Affects: ofstd/libsrc/ofstd.cc ofstd/tests/tatof.cc **** Changes from 2017.03.14 (eichelberg) - Updated macro documentation. Affects: config/docs/macros.txt **** Changes from 2017.03.13 (riesmeier) - Fixed indentation and removed trailing spaces. Affects: config/docs/macros.txt **** Changes from 2017.03.13 (eichelberg) - OFMutex on Win32 now based on cricital sections: The Win32 version of the OFMutex class now internally uyses critical sections instead of Win32 mutexes, because critical sections are much faster. The macro USE_WIN32_CREATE_MUTEX can be defined to revert to the old implementation. Thanks to Thomas Sondergaard for the suggestion. This closes DCMTK Patch #520. Affects: config/docs/macros.txt ofstd/libsrc/ofthread.cc **** Changes from 2017.03.13 (riesmeier) - Updated "dcmrt" classes based on DICOM 2017a: Updated automatically generated IOD and sequence C++ classes for the various RT objects based on the current edition of the DICOM standard (2017a). Added: dcmrt/include/dcmtk/dcmrt/seq/drtgmcs.h dcmrt/include/dcmtk/dcmrt/seq/drtgms.h dcmrt/libsrc/drtgmcs.cc dcmrt/libsrc/drtgms.cc Affects: dcmrt/apps/Makefile.dep dcmrt/include/dcmtk/dcmrt/drtdose.h dcmrt/include/dcmtk/dcmrt/drtimage.h dcmrt/include/dcmtk/dcmrt/drtionpl.h dcmrt/include/dcmtk/dcmrt/drtiontr.h dcmrt/include/dcmtk/dcmrt/drtplan.h dcmrt/include/dcmtk/dcmrt/drtstrct.h dcmrt/include/dcmtk/dcmrt/drttreat.h dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtads.h dcmrt/include/dcmtk/dcmrt/seq/drtafs.h dcmrt/include/dcmtk/dcmrt/seq/drtags.h dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h dcmrt/include/dcmtk/dcmrt/seq/drtas1.h dcmrt/include/dcmtk/dcmrt/seq/drtas5.h dcmrt/include/dcmtk/dcmrt/seq/drtas6.h dcmrt/include/dcmtk/dcmrt/seq/drtas7.h dcmrt/include/dcmtk/dcmrt/seq/drtass.h dcmrt/include/dcmtk/dcmrt/seq/drtbads.h dcmrt/include/dcmtk/dcmrt/seq/drtbas.h dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbs.h dcmrt/include/dcmtk/dcmrt/seq/drtbss.h dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h dcmrt/include/dcmtk/dcmrt/seq/drtccs.h dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtces.h dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h dcmrt/include/dcmtk/dcmrt/seq/drtchs.h dcmrt/include/dcmtk/dcmrt/seq/drtcims.h dcmrt/include/dcmtk/dcmrt/seq/drtcis.h dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h dcmrt/include/dcmtk/dcmrt/seq/drtcos.h dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h dcmrt/include/dcmtk/dcmrt/seq/drtcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h dcmrt/include/dcmtk/dcmrt/seq/drtcss.h dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h dcmrt/include/dcmtk/dcmrt/seq/drtddps.h dcmrt/include/dcmtk/dcmrt/seq/drtdias.h dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtds.h dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdss.h dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h dcmrt/include/dcmtk/dcmrt/seq/drteas.h dcmrt/include/dcmtk/dcmrt/seq/drtecs.h dcmrt/include/dcmtk/dcmrt/seq/drtes.h dcmrt/include/dcmtk/dcmrt/seq/drtfds.h dcmrt/include/dcmtk/dcmrt/seq/drtfes.h dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h dcmrt/include/dcmtk/dcmrt/seq/drtfms.h dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h dcmrt/include/dcmtk/dcmrt/seq/drtgas.h dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtiais.h dcmrt/include/dcmtk/dcmrt/seq/drtians.h dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h dcmrt/include/dcmtk/dcmrt/seq/drtibls.h dcmrt/include/dcmtk/dcmrt/seq/drtibs.h dcmrt/include/dcmtk/dcmrt/seq/drticpds.h dcmrt/include/dcmtk/dcmrt/seq/drticps.h dcmrt/include/dcmtk/dcmrt/seq/drtics.h dcmrt/include/dcmtk/dcmrt/seq/drtiis.h dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h dcmrt/include/dcmtk/dcmrt/seq/drtircs.h dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h dcmrt/include/dcmtk/dcmrt/seq/drtitts.h dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h dcmrt/include/dcmtk/dcmrt/seq/drtiws.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h dcmrt/include/dcmtk/dcmrt/seq/drtmas.h dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtmls.h dcmrt/include/dcmtk/dcmrt/seq/drtmps.h dcmrt/include/dcmtk/dcmrt/seq/drtmris.h dcmrt/include/dcmtk/dcmrt/seq/drtmss.h dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h dcmrt/include/dcmtk/dcmrt/seq/drtoas.h dcmrt/include/dcmtk/dcmrt/seq/drtois.h dcmrt/include/dcmtk/dcmrt/seq/drtopis.h dcmrt/include/dcmtk/dcmrt/seq/drtos.h dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h dcmrt/include/dcmtk/dcmrt/seq/drtpics.h dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h dcmrt/include/dcmtk/dcmrt/seq/drtporis.h dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h dcmrt/include/dcmtk/dcmrt/seq/drtpss.h dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h dcmrt/include/dcmtk/dcmrt/seq/drtqds.h dcmrt/include/dcmtk/dcmrt/seq/drtras.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrds.h dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h dcmrt/include/dcmtk/dcmrt/seq/drtrics.h dcmrt/include/dcmtk/dcmrt/seq/drtrims.h dcmrt/include/dcmtk/dcmrt/seq/drtris.h dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h dcmrt/include/dcmtk/dcmrt/seq/drtrps.h dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h dcmrt/include/dcmtk/dcmrt/seq/drtrses.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h dcmrt/include/dcmtk/dcmrt/seq/drtrws.h dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h dcmrt/include/dcmtk/dcmrt/seq/drtscris.h dcmrt/include/dcmtk/dcmrt/seq/drtscs.h dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtsds.h dcmrt/include/dcmtk/dcmrt/seq/drtshds.h dcmrt/include/dcmtk/dcmrt/seq/drtsins.h dcmrt/include/dcmtk/dcmrt/seq/drtsis.h dcmrt/include/dcmtk/dcmrt/seq/drtsns.h dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h dcmrt/include/dcmtk/dcmrt/seq/drtss.h dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h dcmrt/include/dcmtk/dcmrt/seq/drtsss.h dcmrt/include/dcmtk/dcmrt/seq/drttms0.h dcmrt/include/dcmtk/dcmrt/seq/drttms9.h dcmrt/include/dcmtk/dcmrt/seq/drttscds.h dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h dcmrt/include/dcmtk/dcmrt/seq/drttts.h dcmrt/include/dcmtk/dcmrt/seq/drtudis.h dcmrt/include/dcmtk/dcmrt/seq/drtvls.h dcmrt/include/dcmtk/dcmrt/seq/drtwps.h dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtws.h dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h dcmrt/libsrc/CMakeLists.txt dcmrt/libsrc/Makefile.dep dcmrt/libsrc/Makefile.in dcmrt/libsrc/drtaadcs.cc dcmrt/libsrc/drtadcs.cc dcmrt/libsrc/drtads.cc dcmrt/libsrc/drtafs.cc dcmrt/libsrc/drtags.cc dcmrt/libsrc/drtajcs.cc dcmrt/libsrc/drtas1.cc dcmrt/libsrc/drtas5.cc dcmrt/libsrc/drtas6.cc dcmrt/libsrc/drtas7.cc dcmrt/libsrc/drtass.cc dcmrt/libsrc/drtbads.cc dcmrt/libsrc/drtbas.cc dcmrt/libsrc/drtbcps.cc dcmrt/libsrc/drtbl2.cc dcmrt/libsrc/drtbl5.cc dcmrt/libsrc/drtbldls.cc dcmrt/libsrc/drtbldps.cc dcmrt/libsrc/drtblds1.cc dcmrt/libsrc/drtblds5.cc dcmrt/libsrc/drtblds6.cc dcmrt/libsrc/drtbldts.cc dcmrt/libsrc/drtbrcss.cc dcmrt/libsrc/drtbrdrs.cc dcmrt/libsrc/drtbrs.cc dcmrt/libsrc/drtbs.cc dcmrt/libsrc/drtbss.cc dcmrt/libsrc/drtbvcps.cc dcmrt/libsrc/drtcbars.cc dcmrt/libsrc/drtccs.cc dcmrt/libsrc/drtcctus.cc dcmrt/libsrc/drtcdrs.cc dcmrt/libsrc/drtces.cc dcmrt/libsrc/drtcgis.cc dcmrt/libsrc/drtchs.cc dcmrt/libsrc/drtcims.cc dcmrt/libsrc/drtcis.cc dcmrt/libsrc/drtcncs.cc dcmrt/libsrc/drtcos.cc dcmrt/libsrc/drtcpas.cc dcmrt/libsrc/drtcpis.cc dcmrt/libsrc/drtcps.cc dcmrt/libsrc/drtcs.cc dcmrt/libsrc/drtcsas.cc dcmrt/libsrc/drtcshs.cc dcmrt/libsrc/drtcsis.cc dcmrt/libsrc/drtcss.cc dcmrt/libsrc/drtdcs.cc dcmrt/libsrc/drtdddps.cc dcmrt/libsrc/drtddps.cc dcmrt/libsrc/drtdias.cc dcmrt/libsrc/drtdimcs.cc dcmrt/libsrc/drtdimrs.cc dcmrt/libsrc/drtdirs.cc dcmrt/libsrc/drtdose.cc dcmrt/libsrc/drtdrs.cc dcmrt/libsrc/drtds.cc dcmrt/libsrc/drtdspcs.cc dcmrt/libsrc/drtdss.cc dcmrt/libsrc/drtdvhs.cc dcmrt/libsrc/drtdvrrs.cc dcmrt/libsrc/drteas.cc dcmrt/libsrc/drtecs.cc dcmrt/libsrc/drtes.cc dcmrt/libsrc/drtfds.cc dcmrt/libsrc/drtfes.cc dcmrt/libsrc/drtfgs.cc dcmrt/libsrc/drtfgss.cc dcmrt/libsrc/drtfms.cc dcmrt/libsrc/drtfsss.cc dcmrt/libsrc/drtgas.cc dcmrt/libsrc/drtgpis.cc dcmrt/libsrc/drthsdrs.cc dcmrt/libsrc/drtiais.cc dcmrt/libsrc/drtians.cc dcmrt/libsrc/drtiblds.cc dcmrt/libsrc/drtibls.cc dcmrt/libsrc/drtibs.cc dcmrt/libsrc/drticpds.cc dcmrt/libsrc/drticps.cc dcmrt/libsrc/drtics.cc dcmrt/libsrc/drtiis.cc dcmrt/libsrc/drtimage.cc dcmrt/libsrc/drtionpl.cc dcmrt/libsrc/drtiontr.cc dcmrt/libsrc/drtipiqs.cc dcmrt/libsrc/drtircs.cc dcmrt/libsrc/drtiseis.cc dcmrt/libsrc/drtitts.cc dcmrt/libsrc/drtiwps.cc dcmrt/libsrc/drtiws.cc dcmrt/libsrc/drtlsds.cc dcmrt/libsrc/drtlsds6.cc dcmrt/libsrc/drtlsds7.cc dcmrt/libsrc/drtmacds.cc dcmrt/libsrc/drtmas.cc dcmrt/libsrc/drtmdrs.cc dcmrt/libsrc/drtmls.cc dcmrt/libsrc/drtmps.cc dcmrt/libsrc/drtmris.cc dcmrt/libsrc/drtmss.cc dcmrt/libsrc/drtmucs.cc dcmrt/libsrc/drtoas.cc dcmrt/libsrc/drtois.cc dcmrt/libsrc/drtopis.cc dcmrt/libsrc/drtos.cc dcmrt/libsrc/drtpbcs.cc dcmrt/libsrc/drtpcs.cc dcmrt/libsrc/drtpcxs.cc dcmrt/libsrc/drtpdecs.cc dcmrt/libsrc/drtpdeds.cc dcmrt/libsrc/drtpfms.cc dcmrt/libsrc/drtpics.cc dcmrt/libsrc/drtplan.cc dcmrt/libsrc/drtporcs.cc dcmrt/libsrc/drtporis.cc dcmrt/libsrc/drtppcs.cc dcmrt/libsrc/drtprsis.cc dcmrt/libsrc/drtpscs.cc dcmrt/libsrc/drtpsics.cc dcmrt/libsrc/drtpss.cc dcmrt/libsrc/drtpsss.cc dcmrt/libsrc/drtpvis.cc dcmrt/libsrc/drtqds.cc dcmrt/libsrc/drtras.cc dcmrt/libsrc/drtrbas2.cc dcmrt/libsrc/drtrbas8.cc dcmrt/libsrc/drtrbls.cc dcmrt/libsrc/drtrbos1.cc dcmrt/libsrc/drtrbos6.cc dcmrt/libsrc/drtrbos7.cc dcmrt/libsrc/drtrbs2.cc dcmrt/libsrc/drtrbs4.cc dcmrt/libsrc/drtrbs8.cc dcmrt/libsrc/drtrcdrs.cc dcmrt/libsrc/drtrcos.cc dcmrt/libsrc/drtrcps.cc dcmrt/libsrc/drtrcs.cc dcmrt/libsrc/drtrdros.cc dcmrt/libsrc/drtrdrs1.cc dcmrt/libsrc/drtrdrs6.cc dcmrt/libsrc/drtrdrs8.cc dcmrt/libsrc/drtrds.cc dcmrt/libsrc/drtrecs.cc dcmrt/libsrc/drtrfgs.cc dcmrt/libsrc/drtrfors.cc dcmrt/libsrc/drtrics.cc dcmrt/libsrc/drtrims.cc dcmrt/libsrc/drtris.cc dcmrt/libsrc/drtrlsds.cc dcmrt/libsrc/drtrmdrs.cc dcmrt/libsrc/drtrms.cc dcmrt/libsrc/drtrmss6.cc dcmrt/libsrc/drtrmss7.cc dcmrt/libsrc/drtrpcs.cc dcmrt/libsrc/drtrpis.cc dcmrt/libsrc/drtrppcs.cc dcmrt/libsrc/drtrpphs.cc dcmrt/libsrc/drtrpps.cc dcmrt/libsrc/drtrppss.cc dcmrt/libsrc/drtrps.cc dcmrt/libsrc/drtrris1.cc dcmrt/libsrc/drtrris6.cc dcmrt/libsrc/drtrris9.cc dcmrt/libsrc/drtrrms.cc dcmrt/libsrc/drtrros.cc dcmrt/libsrc/drtrrpcs.cc dcmrt/libsrc/drtrrros.cc dcmrt/libsrc/drtrrs.cc dcmrt/libsrc/drtrrshs.cc dcmrt/libsrc/drtrrtps.cc dcmrt/libsrc/drtrrtps3.cc dcmrt/libsrc/drtrrtps4.cc dcmrt/libsrc/drtrrtps5.cc dcmrt/libsrc/drtrscs.cc dcmrt/libsrc/drtrsers.cc dcmrt/libsrc/drtrses.cc dcmrt/libsrc/drtrshs.cc dcmrt/libsrc/drtrshs6.cc dcmrt/libsrc/drtrshs7.cc dcmrt/libsrc/drtrsis.cc dcmrt/libsrc/drtrsns.cc dcmrt/libsrc/drtrsos.cc dcmrt/libsrc/drtrsrs.cc dcmrt/libsrc/drtrss.cc dcmrt/libsrc/drtrsss.cc dcmrt/libsrc/drtrsts.cc dcmrt/libsrc/drtrtrs2.cc dcmrt/libsrc/drtrtrs4.cc dcmrt/libsrc/drtrvis.cc dcmrt/libsrc/drtrws.cc dcmrt/libsrc/drtrwvms.cc dcmrt/libsrc/drtscris.cc dcmrt/libsrc/drtscs.cc dcmrt/libsrc/drtsdcs.cc dcmrt/libsrc/drtsds.cc dcmrt/libsrc/drtshds.cc dcmrt/libsrc/drtsins.cc dcmrt/libsrc/drtsis.cc dcmrt/libsrc/drtsns.cc dcmrt/libsrc/drtspccs.cc dcmrt/libsrc/drtspcs.cc dcmrt/libsrc/drtspgis.cc dcmrt/libsrc/drtsptcs.cc dcmrt/libsrc/drtss.cc dcmrt/libsrc/drtssrcs.cc dcmrt/libsrc/drtssrs.cc dcmrt/libsrc/drtsss.cc dcmrt/libsrc/drtstrct.cc dcmrt/libsrc/drttms0.cc dcmrt/libsrc/drttms9.cc dcmrt/libsrc/drttreat.cc dcmrt/libsrc/drttscds.cc dcmrt/libsrc/drttsibs.cc dcmrt/libsrc/drttsmds.cc dcmrt/libsrc/drttts.cc dcmrt/libsrc/drtudis.cc dcmrt/libsrc/drtvls.cc dcmrt/libsrc/drtwps.cc dcmrt/libsrc/drtwrs.cc dcmrt/libsrc/drtwrsrs.cc dcmrt/libsrc/drtws.cc dcmrt/libsrc/drtxrs.cc dcmrt/tests/Makefile.dep **** Changes from 2017.03.12 (eichelberg) - Fixed linker warnings reported by VS 2017. Affects: oflog/libsrc/strcloc.cc oflog/libsrc/striconv.cc - Fixed warnings reported by VS 2017. Affects: dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2017.03.10 (schlamelcher) - Fixed CMake unit tests when BUILD_APPS was disabled: Unavailable unit tests are now no longer registered, disabling misleading CTest output. Closes DCMTK bugs #586 and #647. Affects: CMake/dcmtkMacros.cmake **** Changes from 2017.03.10 (riesmeier) - Updated code definitions for DICOM 2017a: Updated automatically generated code definitions for coding scheme "DCM", "NCIt" and "UMLS" for the 2017a edition of the DICOM standard. For the latter one, there were no changes. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h dcmsr/include/dcmtk/dcmsr/codes/ncit.h dcmsr/include/dcmtk/dcmsr/codes/umls.h - Updated data dictionary for DICOM 2017a: Updated data dictionary for the latest edition of the DICOM standard, which has been released today. Since DCMTK's data dictionary was already up-to-date regarding the recently approved Supplements and CPs, there are no changes apart from the "Version" column. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Re-added call of endOptionBlock(): Re-added call of endOptionBlock() at the end of the "write-xfer-xxx" options, which was accidentally removed with commit 2750839. Affects: dcmdata/apps/dcmconv.cc - Removed trailing spaces. Affects: dcmdata/docs/dcmconv.man - Fixed copyright date. Affects: dcmdata/tests/tests.cc dcmdata/tests/tvrcomp.cc **** Changes from 2017.03.10 (eichelberg) - Added support for writing GE private transfer syntax: dcmconv can now convert image files to the historical private GE implicit VR little endian with big endian pixel data transfer syntax, mostly for testing purposes. Affects: dcmdata/apps/dcmconv.cc dcmdata/docs/dcmconv.man - Added support for GE private transfer syntax: Added support for the historical GE implicit VR little endian transfer syntax with big endian pixel data. Images encoded in this transfer syntax can now be correctly read and processed. This closes DCMTK bug #686. Affects: dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcvrpobw.cc **** Changes from 2017.03.09 (onken) - Fixed module name in documentation. Affects: dcmdata/tests/tvrcomp.cc - Allow private tags creation in newDicomElement(): Thanks to forum user "Shaeto" for the suggestion and patch. Added: dcmdata/tests/tnewdcme.cc Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcitem.cc dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.dep dcmdata/tests/Makefile.in dcmdata/tests/tests.cc **** Changes from 2017.03.08 (onken) - Fixed wrong buffer size for sprintf: Fixed wrong buffer size allocated for sprintf operation. The old code does not take into account that sprintf needs one extra byte for the \0 byte it automatically appends. Affects: dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2017.03.08 (riesmeier) - Updated the code meaning of a "UCUM" code: Updated the code meaning of the UCUM code "{counts}/s" in order to be consistent with the latest version of the DICOM standard. Affects: dcmsr/include/dcmtk/dcmsr/codes/ucum.h - Updated code definitions for "SRT": Manually updated code definitions for the coding scheme "SRT": added code for "Imaging Procedure" and removed retired code for "Liver". Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h **** Changes from 2017.03.03 (riesmeier) - Fixed wrong comment on private GE transfer syntax: Fixed wrong comment on recently introduced private GE transfer syntax. It is almost identical to "Implicit VR Little Endian" and not to "Explicit VR Little Endian" (with the exception of the pixel data). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h - Removed redundant "TransferSyntax" suffix: Removed redundant "TransferSyntax" suffix from recently introduced "EXS_..." enum definition. This has already been done for all other definitions back in 2011 (see commit 51535a1). Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h dcmdata/libsrc/dcxfer.cc **** Changes from 2017.03.03 (eichelberg) - Added partial support for GE private transfer syntax: Added partial support for the historical GE implicit VR little endian transfer syntax with big endian pixel data. The transfer syntax UID is now recognized, but correct byte order swapping of pixel data not yet implemented. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/include/dcmtk/dcmdata/dcxfer.h dcmdata/libsrc/dcuid.cc dcmdata/libsrc/dcxfer.cc - Replaced unlink() with OFStandard::deleteFile(): Replaced calls to unlink() with OFStandard::deleteFile(). Affects: dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/libsrc/dimstore.cc dcmnet/libsrc/dstorscp.cc dcmnet/libsrc/scu.cc dcmpstat/apps/dcmpsrcv.cc dcmqrdb/libsrc/dcmqrcbs.cc dcmqrdb/libsrc/dcmqrsrv.cc - Delete partially received DICOM objects after error: Now deleting DICOM files that have been incompletely written during a network receive operation. Thanks to Alexander Haderer for the suggested patch. Closes DCMTK Patch #322. Affects: dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/libsrc/dstorscp.cc dcmnet/libsrc/scu.cc dcmpstat/apps/dcmpsrcv.cc dcmqrdb/libsrc/dcmqrcbs.cc **** Changes from 2017.03.03 (riesmeier) - Added comment on "specific character set" options: Added comment on "specific character set" options that they require support from an underlying character encoding library (same as for other tools). Affects: dcmqrdb/docs/dcmqrscp.man - Manual fixes to data dictionary (DICOM 2017a): Manual fixes to data dictionary according to the draft release of DICOM 2017a. Two attributes were wrong in Supplement 131: (0068,62F0) and (0076,0034). Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc **** Changes from 2017.03.02 (riesmeier) - Fixed output of network debug information: Fixed output of very low-level debug information in the network routines, e.g. added missing newlines, fixed indentation, added missing typecast. Since this output is usually disabled (for good reasons), a typical toolkit user will not see any difference. Anyway, it might be useful for very deep debugging sessions. Affects: dcmnet/libsrc/assoc.cc dcmnet/libsrc/dul.cc **** Changes from 2017.03.02 (eichelberg) - Fixed responding aetitle in ASC_dumpParameters(): ASC_dumpParameters() will now always show the responding aetitle to be identical to the called aetitle. This DICOM rule is enforced in the DUL network layer, but the output of this function showed a different value. This fixes bug #375. Affects: dcmnet/libsrc/assoc.cc **** Changes from 2017.03.01 (eichelberg) - Length check for DICOM implementation version name: The maximum length of the implementation version name (16 characters) is now properly enforced and checked. This fixes DCMTK bug #596. Affects: dcmnet/libsrc/assoc.cc dcmnet/libsrc/dimse.cc dcmnet/libsrc/dulfsm.cc **** Changes from 2017.03.01 (schlamelcher) - Fixed previous commit: The previous commit would have broken the else case. Affects: dcmqrdb/libsrc/dcmqrdbi.cc - Fixed dcmqrdb falsely retrying response conversion: The dcmqrdb library does no longer retry response conversion if the fall-back character set and the originally requested one are the same. This is more efficient and prevents duplicated warning output. Affects: dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2017.03.01 (riesmeier) - Moved dcm2json tool to the top (alphabetic order). Affects: dcmdata/docs/dcmdata.dox **** Changes from 2017.03.01 (schlamelcher) - Fixed previous commit: The previous commit would have broken the else case. Affects: dcmqrdb/libsrc/dcmqrdbi.cc - Fixed dcmqrdb falsely retrying response conversion: The dcmqrdb library does no longer retry response conversion if the fall-back character set and the originally requested one are the same. This is more efficient and prevents duplicated warning output. Affects: dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2017.03.01 (riesmeier) - Removed outdated comment on DB_FindAttr struct: The "key matching type", specifying which type of matching should be performed, has been removed from DB_FindAttr - so should the comment. Affects: dcmqrdb/libsrc/dcmqrdbi.cc - Added "Issuer of Patient ID" to documentation: Added Issuer of Patient ID (0010,0021) to the documentation since it was added only recently as a supported Query Key to the implementation (see commit b1f5c6c). Affects: dcmqrdb/docs/dcmqrscp.man **** Changes from 2017.02.28 (schlamelcher) - Updated CHANGES.361 for new development snapshot. Affects: docs/CHANGES.361 - Updated DCMTK_ABI_VERSION for new development snapshot. Affects: CMake/dcmtkPrepare.cmake - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/dcm2json.1 doxygen/manpages/man1/dcm2pdf.1 doxygen/manpages/man1/dcm2pnm.1 doxygen/manpages/man1/dcm2xml.1 doxygen/manpages/man1/dcmcjpeg.1 doxygen/manpages/man1/dcmcjpls.1 doxygen/manpages/man1/dcmconv.1 doxygen/manpages/man1/dcmcrle.1 doxygen/manpages/man1/dcmdjpeg.1 doxygen/manpages/man1/dcmdjpls.1 doxygen/manpages/man1/dcmdrle.1 doxygen/manpages/man1/dcmdspfn.1 doxygen/manpages/man1/dcmdump.1 doxygen/manpages/man1/dcmftest.1 doxygen/manpages/man1/dcmgpdir.1 doxygen/manpages/man1/dcmj2pnm.1 doxygen/manpages/man1/dcml2pnm.1 doxygen/manpages/man1/dcmmkcrv.1 doxygen/manpages/man1/dcmmkdir.1 doxygen/manpages/man1/dcmmklut.1 doxygen/manpages/man1/dcmodify.1 doxygen/manpages/man1/dcmp2pgm.1 doxygen/manpages/man1/dcmprscp.1 doxygen/manpages/man1/dcmprscu.1 doxygen/manpages/man1/dcmpschk.1 doxygen/manpages/man1/dcmpsmk.1 doxygen/manpages/man1/dcmpsprt.1 doxygen/manpages/man1/dcmpsrcv.1 doxygen/manpages/man1/dcmpssnd.1 doxygen/manpages/man1/dcmqridx.1 doxygen/manpages/man1/dcmqrscp.1 doxygen/manpages/man1/dcmqrti.1 doxygen/manpages/man1/dcmquant.1 doxygen/manpages/man1/dcmrecv.1 doxygen/manpages/man1/dcmscale.1 doxygen/manpages/man1/dcmsend.1 doxygen/manpages/man1/dcmsign.1 doxygen/manpages/man1/dcod2lum.1 doxygen/manpages/man1/dconvlum.1 doxygen/manpages/man1/drtdump.1 doxygen/manpages/man1/dsr2html.1 doxygen/manpages/man1/dsr2xml.1 doxygen/manpages/man1/dsrdump.1 doxygen/manpages/man1/dump2dcm.1 doxygen/manpages/man1/echoscu.1 doxygen/manpages/man1/findscu.1 doxygen/manpages/man1/getscu.1 doxygen/manpages/man1/img2dcm.1 doxygen/manpages/man1/movescu.1 doxygen/manpages/man1/pdf2dcm.1 doxygen/manpages/man1/storescp.1 doxygen/manpages/man1/storescu.1 doxygen/manpages/man1/termscu.1 doxygen/manpages/man1/wlmscpfs.1 doxygen/manpages/man1/xml2dcm.1 doxygen/manpages/man1/xml2dsr.1 - Updated Makefile dependencies. Affects: dcmdata/libi2d/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmwlm/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep - Fixed formatting errors in dcmqrscp's man page. Affects: dcmqrdb/docs/dcmqrscp.man - Documented dcmqrdb's new character set features. Affects: dcmqrdb/docs/dcmqrcnf.txt dcmqrdb/docs/dcmqrscp.man dcmqrdb/etc/dcmqrscp.cfg - Fixed digits10 not being a compile time constant: Fixed OFnumeric_limits::digits10 and OFnumeric_limits::max_digits10 not being compile time constants due to a previous lazy fix for building with GCC '-pedantic'. Removed: ofstd/libsrc/oflimits.cc Affects: config/arith.cc ofstd/include/dcmtk/ofstd/oflimits.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/Makefile.in - Fixed Visual Studio linker problem with DLLs: Visual Studio got confused by DcmQueryRetrieveCharacterSetOptions being forward declared as a class while defined as a struct, which prevented it from linking the functions using it from DLLs correctly. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h **** Changes from 2017.02.28 (riesmeier) - Further fixes to API documentation: Further fixes to API documentation, mainly for reasons of consistency. Affects: dcmdata/include/dcmtk/dcmdata/dcvrda.h dcmdata/include/dcmtk/dcmdata/dcvrdt.h dcmdata/include/dcmtk/dcmdata/dcvrtm.h - Updated documentation of getOFTimeFromString(): Made sure that the documentation of getOFTimeFromString() is again consistent with the implementation (after the latter changed recently with commit 255ecc7). Affects: dcmdata/include/dcmtk/dcmdata/dcvrtm.h - Updated documentation of getOFDateTimeFromString(): Made sure that the documentation of getOFDateTimeFromString() is again consistent with the implementation (after the latter changed recently with commit 255ecc7). Affects: dcmdata/include/dcmtk/dcmdata/dcvrdt.h - Removed documentation of macro STRICT_COMPARE: Removed documentation of macro STRICT_COMPARE since it is no longer used in the "dcmqrdb" module (as a result of the recent commit 4560c0a). Affects: config/docs/macros.txt **** Changes from 2017.02.28 (schlamelcher) - Fixed wrong value range check in extractDigits(): OFStandard::extractDigits() used the wrong member of OFnumeric_limits to check whether the given type could hold the requested number of digits (base two digits instead of base 10). Affects: ofstd/include/dcmtk/ofstd/ofstd.h - Workaround for clang non-type template argument issue: Workaround for clang not wanting to interpret a size_t non-type template argument as a boolean expression (!= 0) when C++11 support was enabled. Affects: ofstd/include/dcmtk/ofstd/ofstd.h **** Changes from 2017.02.27 (schlamelcher) - Fixed Q/R matching on failed character set conversion: Added error handling for the on the fly character set conversion during attribute matching in dcmqrdb. The dcmqrdb library will now use the original value if character set conversion fails, instead of the empty value that caused Universal Matching behavior inappropriately. Affects: dcmqrdb/libsrc/dcmqrdbi.cc - Added support for Issuer of Patient ID to dcmqrdb. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h dcmqrdb/libsrc/dcmqrdbi.cc - Added support for additional Matching Keys: Added support for the following attributes: Issuer of Patient ID (0010,0021) Study Date (0008,0020) Study Time (0008,0030) Affects: dcmwlm/docs/wlmscpfs.man dcmwlm/include/dcmtk/dcmwlm/wlfsim.h dcmwlm/include/dcmtk/dcmwlm/wltypdef.h dcmwlm/libsrc/wlds.cc dcmwlm/libsrc/wlfsim.cc - Moved dcmqrdb's trimString() function to OFStandard: Moved dcmqrdb's trimString() function to OFStandard since other code might also need it (e.g. dcmwlm). Affects: dcmqrdb/libsrc/dcmqrdbi.cc ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Fixed date time parsing regarding time zones: Fixed a bug in DcmDateTime::getOFDateTimeFromString() that did not allow parsing time zone information from date time values that did not contain a time value (e.g. 2017+0100). Affects: dcmdata/libsrc/dcvrdt.cc - Added character set conversion support to dcmqrdb: The dcmqrdb library now supports on the fly character set conversion for attribute matching and converting the find response to the requested character set. The matching has been refactored to use DcmAttributeMatching internally. Increased the size of attributes that are affected by Specific Character Set in the index file so that values using multi byte encodings may still fit. Affects: dcmqrdb/apps/dcmqrscp.cc dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbf.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrtis.h dcmqrdb/libsrc/dcmqrcbf.cc dcmqrdb/libsrc/dcmqrcnf.cc dcmqrdb/libsrc/dcmqrdbi.cc dcmqrdb/libsrc/dcmqrsrv.cc dcmqrdb/libsrc/dcmqrtis.cc **** Changes from 2017.02.26 (riesmeier) - Fixed typo, tab character and trailing space. Affects: ofstd/include/dcmtk/ofstd/oflist.h **** Changes from 2017.02.26 (eichelberg) - Fixed minor integer over/undeflows reported by clang: Fixed a few harmless integer overflows and underflows reported by clang when compiled with -fsanitize=integer. Affects: dcmdata/libi2d/i2dbmps.cc dcmdata/libsrc/dcswap.cc ofstd/include/dcmtk/ofstd/oflist.h ofstd/libsrc/offname.cc **** Changes from 2017.02.24 (schlamelcher) - Introduced DcmAttributeMatching: DcmAttributeMatching implements the different attribute matching functions defined in the DICOM standard for Query/Retrieve and Worklist queries. DcmAttributeMatching may either be used by explicitly calling one of its static member matching functions or by creating an DcmAttributeMatching object for a specific VR. Added: dcmdata/include/dcmtk/dcmdata/dcmatch.h dcmdata/libsrc/dcmatch.cc dcmdata/tests/tmatch.cc Affects: dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.in dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.in dcmdata/tests/tests.cc ofstd/include/dcmtk/ofstd/ofdatime.h **** Changes from 2017.02.24 (riesmeier) - Added parentheses around boolean operations: Added parentheses around boolean operations (i.e. comparisons) in order to be consistent with the rest of the source file. Affects: ofstd/libsrc/ofdatime.cc - Added trailing "." after first sentence (Doxygen): This trailing "." is required since the "first sentence" is used as a brief description by Doxygen (e.g. when generating HTML output). Affects: ofstd/include/dcmtk/ofstd/ofdatime.h - Updated copyright date after previous commit. Affects: ofstd/include/dcmtk/ofstd/ofdate.h ofstd/include/dcmtk/ofstd/ofdatime.h ofstd/libsrc/ofdatime.cc **** Changes from 2017.02.24 (schlamelcher) - Refactored string to date and time conversion: Refactored DcmDate, DcmTime and DcmDateTime string parser functions to work on character string + size input in addition to the existing functions that work on OFStrings. The new functions do not require the strings to be zero terminated and are therefore composable. DcmDateTime::getOFDateTimeFromString is now implemented based on DcmTime::getOFTimeFromString, which is now possible since the functions can now be used on substrings without unnecessary copies. Default parameters have been replaced by respective overloads to provide a consistent API in all three classes (all now have a function that takes no additional parameters to the string and the result). Affects: dcmdata/include/dcmtk/dcmdata/dcvrda.h dcmdata/include/dcmtk/dcmdata/dcvrdt.h dcmdata/include/dcmtk/dcmdata/dcvrtm.h dcmdata/libsrc/dcvrda.cc dcmdata/libsrc/dcvrdt.cc dcmdata/libsrc/dcvrtm.cc ofstd/include/dcmtk/ofstd/ofdatime.h - Added string to number helper functions: Added helper functions for extracting fixed length unsigned integer numbers from character strings that do not require the strings to be zero terminated. Affects: ofstd/include/dcmtk/ofstd/ofstd.h - Added comparison operators for OFDateTime: Added less, greater, less or equal and greater or equal comparison operators to OFDateTime. Affects: ofstd/include/dcmtk/ofstd/ofdate.h ofstd/include/dcmtk/ofstd/ofdatime.h ofstd/libsrc/ofdatime.cc ofstd/tests/tofdatim.cc **** Changes from 2017.02.22 (onken) - Added error message when writing sequences. Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h **** Changes from 2017.02.21 (riesmeier) - Various documentation fixes to newDicomElement(): Fixed typos, wrong descriptions, parameters and line breaks in the API documentation of the newDicomElement() functions. Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h **** Changes from 2017.02.17 (eichelberg) - Fixed DJDecoderRegistration::registerCodecs(): Fixed parameter list of DJDecoderRegistration::registerCodecs(), which contained one superfluous parameter. Affects: dcmjpeg/include/dcmtk/dcmjpeg/djdecode.h dcmjpeg/libsrc/djdecode.cc **** Changes from 2017.02.15 (riesmeier) - Enhanced logging in case of error: Enhanced output to the logger in case of fatal errors, e.g. if the DICOMDIR file to be updated is invalid/corrupted. Affects: dcmdata/apps/dcmgpdir.cc - Fixed crash while processing an invalid DICOMDIR: Fixed a crash that could occur while processing an invalid DICOMDIR file, e.g. when a single Directory Record was referenced more than once and, therefore, deleted more than once (from the DcmDicomDir destructor). Now, an error is both reported to the logger and returned to the caller. The main changes were done to DcmDicomDir::moveRecordToTree(). Additionally, slightly enhanced comments on other functions and improved the logger output. Thanks to forum user "psih128" for the report and for the sample file. Closes DCMTK Bug #388. Affects: dcmdata/libsrc/dcdicdir.cc **** Changes from 2017.02.14 (grallert) - Fixed and enhanced documentation of JSON functions: Removed leading '*' characters between @code{.cpp} and @endcode sections within doxygen markup. Further enhanced the documentation of DcmJsonFormat. Affects: dcmdata/include/dcmtk/dcmdata/dcjson.h **** Changes from 2017.02.10 (onken) - Fixed missing assignment from last commit: Enhanced intendation. Affects: dcmdata/libsrc/dcitem.cc - Hide public element constructors setting length: DCMTK's VR classes allowed to construct new DICOM elements by tag and a given length value. Internally the length is set, however, no related memory is allocated. This is the desired behaviour when reading new DICOM datasets since after creation of the element with a specific length after reading tag and length from the stream, the value is read and set on the element right afterwards. However, if such an element is created manually by a user who tries afterwards to access (read or write) a value to that element, a crash can occur since the element itself expects to have memory allocated up to the given length. In order to fix this, the related VR classes' constructors have been removed from the public interface and have been made protected. So far, only DcmItem and partly DcmDirectoryRecord (as "parsing" classes constructing elements in the valid way described above) need direct access to those constructors and thus have been amended by related friend declarations. The global functions newDicomElement(...) that use those constructors directly or indirectly have been moved into DcmItem as static methods. The ones that can be used publicly (those only taking tag and not length), are made public while the only one taking length (and other parsing parameters) is protected and is only used by DcmItem or safely from within other public methods. An alternative approach would have been to change the parsing behaviour that constructs element with explicit length first, in order to fill them with a value in the second step. Instead, onld could construct with 0 length and only set the length when actually setting the value. This would make the explicit length constructors superfluous. However, since the parser's internals are quite complicated regarding length handling, it was not touched for now. However, the work done may make it easier to change the parser accordingly later. Another approach would be to always allocate memory in the constructors. However this will lead often to double initializations since most methods that set a value in a subsequent call will delete that memory to allocate the value newly a second time. Also, the possibility to create elements with an explicit empty value of a specific length is of limited use: For number- based VRs this can easily be imitated by calling the related set() method afterwards, while for strings it is not even clear what an empty value of a specifc length might be. Thanks to forum user spasmous for the report. This fixes DCMTK bug #374. Affects: dcmdata/apps/dump2dcm.cc dcmdata/apps/xml2dcm.cc dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcpixseq.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dcvrat.h dcmdata/include/dcmtk/dcmdata/dcvrfd.h dcmdata/include/dcmtk/dcmdata/dcvrfl.h dcmdata/include/dcmtk/dcmdata/dcvrobow.h dcmdata/include/dcmtk/dcmdata/dcvrol.h dcmdata/include/dcmtk/dcmdata/dcvrsl.h dcmdata/include/dcmtk/dcmdata/dcvrss.h dcmdata/include/dcmtk/dcmdata/dcvrul.h dcmdata/include/dcmtk/dcmdata/dcvrulup.h dcmdata/include/dcmtk/dcmdata/dcvrus.h dcmdata/include/dcmtk/dcmdata/libi2d/i2doutpl.h dcmdata/libi2d/i2d.cc dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcpath.cc dcmdata/libsrc/dcpixseq.cc dcmdata/libsrc/dcsequen.cc dcmdata/libsrc/dcvrat.cc dcmdata/libsrc/dcvrfd.cc dcmdata/libsrc/dcvrfl.cc dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrol.cc dcmdata/libsrc/dcvrsl.cc dcmdata/libsrc/dcvrss.cc dcmdata/libsrc/dcvrul.cc dcmdata/libsrc/dcvrulup.cc dcmdata/libsrc/dcvrus.cc dcmiod/libsrc/iodutil.cc dcmiod/libsrc/modbase.cc dcmiod/libsrc/modenhusimage.cc dcmiod/libsrc/modmultiframedimension.cc dcmiod/libsrc/modusfor.cc dcmnet/apps/movescu.cc dcmnet/libsrc/dimcmd.cc dcmnet/libsrc/diutil.cc dcmqrdb/libsrc/dcmqrdbi.cc dcmtract/libsrc/trctrackset.cc dcmwlm/libsrc/wlds.cc dcmwlm/libsrc/wldsfs.cc dcmwlm/tests/wltest.cc **** Changes from 2017.02.08 (riesmeier) - Added two missing SOP Classes to modality table: Added two missing non-patient Storage SOP Classes to the modality table, which e.g. maps a known UID to a short character code ("modality") that can be used to generate a meaningful filename prefix. That way, a storage receiver of a Color Palette Storage object will generate a filename starting with "CP." instead of "UNKNOWN." (which is the default in case of an unknown UID). Affects: dcmdata/libsrc/dcuid.cc - Fixed name numberOfAllDcmStorageSOPClassUIDs: Fixed inconsistent name numberOfAllDcmStorageSOPClassUIDs by renaming it to numberOfDcmAllStorageSOPClassUIDs since the related global array is called dcmAllStorageSOPClassUIDs and not allDcmStorageSOPClassUIDs. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmpstat/apps/dcmpsrcv.cc dcmqrdb/libsrc/dcmqrptb.cc dcmqrdb/libsrc/dcmqrsrv.cc - Allow for sending non-patient DICOM objects: The storescu and dcmsend tool (based on the class DcmStorageSCU) are now able to send non-patient DICOM objects. The latter was already able to do so but reported a warning to the DEBUG logger that an "unknown storage SOP class (with standard UID prefix)" is to be transferred. This warning has now disappeared. This partly closes DCMTK Conformance #695. Affects: dcmnet/apps/storescu.cc dcmnet/libsrc/dstorscu.cc - Further enhanced support for non-patient objects: Added optional parameter to dcmIsaStorageSOPClassUID() that allows for checking a given SOP Class UID for being a known Storage SOP Class UID of a non-patient DICOM object. Also added support to check for image objects only. The default behavior of this function has not changed, i.e. only those Storage SOP Classes are covered that fit into into the conventional PATIENT-STUDY-SERIES-INSTANCE information model. The function dcmIsImageStorageSOPClassUID() is now only a shortcut for calling dcmIsaStorageSOPClassUID() with the new type parameter being ESSC_Image. This is useful in order to be backward compatible. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc **** Changes from 2017.02.07 (onken) - Rebuilt dependencies. Affects: dcmdata/apps/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmiod/tests/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmnet/tests/Makefile.dep dcmpmap/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmseg/libsrc/Makefile.dep dcmsr/libsrc/Makefile.dep dcmtls/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep ofstd/tests/Makefile.dep - Remove unused files from build system. Removed: dcmpmap/tests/Makefile.dep dcmseg/apps/CMakeLists.txt Affects: dcmpmap/Makefile.in **** Changes from 2017.02.06 (riesmeier) - Cleanup of comments (retired DICOM SOP Classes). Affects: dcmnet/etc/storescp.cfg - Further fixes regarding non-patient objects: Replaced some non-patient DICOM objects in dcmLongSCUStorageSOPClassUIDs by the three Legacy Converted Enhanced Image objects. This is another step towards a clearer distinction between patient and non-patient objects. Also see DCMTK Conformance #695. Affects: dcmdata/libsrc/dcuid.cc dcmnet/docs/getscu.man dcmqrdb/docs/dcmqrscp.man - Fixes for non-patient DICOM Storage Objects: Various fixes for non-patient DICOM Storage Objects such as Color Palette or Generic Implant Template Storage. The array dcmAllStorageSOPClassUIDs only contains the UIDs of those Storage SOP Classes that fit into the conventional PATIENT-STUDY-SERIES-INSTANCE information model. Of course, all other DICOM objects for which the Storage Service is defined should also be transferred using a C-STORE message. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmqrdb/docs/dcmqrscp.man - Added new sample association negotiation profile: Added new sample association negotiation profile "AllDICOM" for SCPs, e.g. for storescp or dcmrecv. This new profile allows for accepting all 126 Storage SOP Classes that are currently defined in the DICOM standard (i.e. without retired, draft, DICOS and DICONDE Storage SOP Classes). Affects: dcmnet/etc/storescp.cfg - Fixed wrong name of Storage SOP Class: Fixed wrong name of Wide Field Ophthalmic Photography 3D Coordinates Image Storage SOP Class; the name prefix "Wide Field" was missing for some reason. Affects: dcmdata/libsrc/dcuid.cc **** Changes from 2017.02.06 (onken) - Fixed crash in debug mode (const pointer misuse): Fixed crash in debug mode apparently caused by writing to const pointer. Minor changes (parameter type, whitespace). Closes DCMTK Bug #646. Affects: dcmnet/include/dcmtk/dcmnet/dccfpcmp.h dcmnet/libsrc/dccfpcmp.cc **** Changes from 2017.02.03 (onken) - Moved latest post-read checks to DcmDataset: Moved the recently introduced post-read checks into DcmDataset since they only apply to datasets and not general purpose items. This eliminates the need of explicitly checking in the code whether it is working on top level or not. Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcitem.cc - Fixed dcumentation one more time. Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h - Fixed parameter type, and docs. Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h **** Changes from 2017.02.03 (riesmeier) - Fixed wrong indentation of new options. Affects: dcmdata/docs/dcmconv.man dcmdata/docs/dcmdump.man **** Changes from 2017.02.03 (onken) - Report error in case of wrong Pixel Data encoding: It has been reported that some DICOM datasets do write encapsulated pixel data without following the related rules, i.e. to use undefined length for the Pixel Data element and to use Pixel Sequence and Pixel Items inside. So far such files (using defined length on encapsulated Pixel Data) have been read without any warnings or errors giving the impression that the data is valid. Now, DCMTK will per default report an error if reading such files. There is a global switch which permits to enforce the old behaviour, i.e. to read such files as if the encoding would be correct. However, in that case a warning is printed. Options demonstrating the flag have been added to dcmdump and dcmconv. The new functionality is aware of the fact that Pixel Data not being part of the top level dataset, i.e. nested within sequences, must not use the encapsulated format but remain uncompressed (as for icon images). The validity of internal structures of the Pixel Data element (Pixel Sequence and Items) is not checked by this new compatibility flag. This closes DCMTK Bug #427. Affects: dcmdata/apps/dcmconv.cc dcmdata/apps/dcmdump.cc dcmdata/docs/dcmconv.man dcmdata/docs/dcmdump.man dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc **** Changes from 2017.02.02 (riesmeier) - Added support for unkown VR "??" in dump file: Added support for unknown VR "??" that is e.g. used by dcmdump when parsing "Unknown Tag & Data" in a transfer syntax with implicit VR. Thanks to forum user "ionut.vaida" for the triggering posting. Affects: dcmdata/apps/dump2dcm.cc - Fixed typo in command line option check: Fixed a typo when checking the command line option "--prefer-mpeg4-2-st". Affects: dcmnet/apps/getscu.cc - Check returned status of chooseRepresentation(): Check returned status of chooseRepresentation() and report an error if changing the pixel representation fails. This information is useful in cases where a DICOM file cannot be converted because of the Pixel Data. Affects: dcmdata/apps/dcmconv.cc **** Changes from 2017.02.01 (riesmeier) - Added further support for Supplement 195 (HEVC): Added further support for Supplement 195 (HEVC/H.265 Transfer Syntax). Now, also movescu's --accept-all option supports the two new transfer syntaxes. Partly closes DCMTK Conformance #702. Affects: dcmnet/apps/movescu.cc dcmnet/docs/movescu.man - Shortened description of MPEG xfer options: Shortened description of the various MPEG (mainly -4 but also -2) transfer syntax options in order to fit into the max. line length of 80 characters. The full description is, of course, still available in the man page. Affects: dcmnet/apps/getscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmqrdb/apps/dcmqrscp.cc - Fixed description of option --prefer-mpeg4-bd. Affects: dcmnet/docs/getscu.man **** Changes from 2017.02.01 (schlamelcher) - Added missing comment header to several unit tests. Affects: ofstd/tests/tlimits.cc ofstd/tests/toption.cc ofstd/tests/ttuple.cc ofstd/tests/tvariant.cc **** Changes from 2017.02.01 (onken) - Fixed minor documentation issue. Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h **** Changes from 2017.02.01 (schlamelcher) - Minor fixes in code comments of yesterdays commits. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2017.02.01 (onken) - Fixed minor documnetation issue. Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h - Fixed User Identification Negotiation ack message: Fixed User Identification Negotiation Acknowledgement message which used the same user item identifier (0x58) as the request but has to use a different one (0x59) instead. Enhanced documentation. Fixes DCMTK bug #437. Thanks for the report to Yves Neumann. Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h dcmnet/libsrc/dcuserid.cc dcmnet/libsrc/dulparse.cc - Added missing documentation: Closes DCMTK Bug #541. Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h **** Changes from 2017.02.01 (riesmeier) - Fixed bug introduced with last commit (crash): Fixed a severe bug introduced with the last commit that caused the tool to crash if option --accept-all (+xa) was used. The reason was that the size of the array "transferSyntaxes" was not increased even though new entries were added to it (namely, three new MPEG4 transfer syntaxes). Affects: dcmnet/apps/movescu.cc **** Changes from 2017.01.31 (riesmeier) - Removed obsolete command line options: Removed options that were removed from the command line tool. Also removed outdated/useless section on "JSON Encoding". Affects: dcmdata/docs/dcm2json.man - Updated credits with regard to the Debian package. Affects: CREDITS - Removed useless "option block" for single option. Affects: dcmdata/apps/dcm2json.cc - Use DCM_MaxReadLength as the default value: Use DCM_MaxReadLength as the default value for the "maxReadLength" parameter and not "4096", i.e. a numerical value. Also fixed source code formatting. Affects: dcmdata/apps/dcm2json.cc - Minor fixes for reasons of consistency: Minor fixes such as source code formatting or naming conventions for reasons of consistency with existing code. Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/dcvr.cc - Made sure that a value is loaded before modified: Made sure that an element value is actually loaded before it is modified with DcmElement::changeValue(). This fixes a possible crash (segmentation fault) in case the "maxReadLength" parameter of the various loadFile/read methods was set to a very low value (i.e., less than 4). Thanks to Michael Schinner for the bug report and for the test program that demonstrates this crash. Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2017.01.31 (grallert) - Removed unused command line parameters from dcm2json: Removed --load-all, --load-short and --max-read-length, since they have no meaning for dcm2json (all elements will be read as needed for the JSON output anyway). Affects: dcmdata/apps/dcm2json.cc - Added MPEG-4 transfer syntax options to several apps: Several MPEG-4 transfer syntaxes may now be proposed/preferred via the respective command line arguments of storescu etc. Affects: dcmnet/apps/getscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/docs/getscu.man dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/docs/storescu.man dcmqrdb/apps/dcmqrscp.cc dcmqrdb/docs/dcmqrscp.man dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrsrv.cc **** Changes from 2017.01.31 (schlamelcher) - Added Specific Character Set to the dcmqrdb index: The value of Specific Character set (if any) is now also stored into the index file of dcmqrdb and provided within find responses. Don't forget to re-create your database indices using dcmqridx. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h dcmqrdb/libsrc/dcmqrdbi.cc - Refactored dcmqrdb element list to use new/delete: Dcmqrdb's list implementation is now created and destroyed using new/delete instead of malloc/free. This ensures all list element members are correctly initialized via the constructor and enables the use of non-POD types inside the list. Affects: dcmqrdb/libsrc/dcmqrdbi.cc - Fixed: ST is also affected by specific character set. Affects: dcmdata/libsrc/dcvr.cc **** Changes from 2017.01.31 (riesmeier) - Added support for recently approved CP-1619: Added support for CP-1619 to the data dictionary. This CP was approved during this week's DICOM WG-06 meeting. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc **** Changes from 2017.01.30 (schlamelcher) - Added DcmSpecificCharacterSet state checking methods: The initialization state (i.e. whether selectCharacterSet was called before) of an DcmSpecificCharacterSet object can now be queried via the corresponding operator OFBool and operator! methods. This eases using a persistent object for multiple character set conversions. Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/dcspchrs.cc - Refactored DcmCharString based classes using DcmVR: DcmCharString and the VR classes based on it now use the information from DcmVR for character set conversions; this reduces information redundancy. Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcvrlo.h dcmdata/include/dcmtk/dcmdata/dcvrpn.h dcmdata/include/dcmtk/dcmdata/dcvrsh.h dcmdata/libsrc/dcchrstr.cc dcmdata/libsrc/dcvrlo.cc dcmdata/libsrc/dcvrpn.cc dcmdata/libsrc/dcvrsh.cc - Added additional information to DcmVR: DcmVR now also provides Specific Character Set related information, if a given VR is affected by the value of Specific Character Set and what delimiter characters are to be regarded for character set conversion. Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/dcvr.cc **** Changes from 2017.01.27 (riesmeier) - Removed gethostbyname from compatibility header: Removed gethostbyname() function from dcmnet's old compatibility header file since this function has been wrapped and moved to ofstd with commit a144346. Affects: dcmnet/include/dcmtk/dcmnet/dcompat.h - Removed obsolete macro (Windows 95 workaround): Removed the obsolete macro NO_WINDOWS95_ADDRESS_TRANSLATION_WORKAROUND, which probably nobody every used. Since the gethostbyname() function, at least officially, does not accept an IP address on many operating systems, the "workaround" is now the only way of doing it. And, since it was already the default behavior for almost 20 years now, nothing changes at all. Also see DCMTK Bug #391. Affects: config/docs/macros.txt dcmnet/libsrc/dulfsm.cc **** Changes from 2017.01.25 (riesmeier) - Added explicit typecast to function parameter: Added explicit typecast to "int" parameter of Windows function WideCharToMultiByte() in order to avoid a compiler warning. Affects: ofstd/libsrc/ofstd.cc - Changed type for index/number of sequence items: Changed data type used for the index and number of sequence items. The type "size_t" seems to be more appropriate than "unsigned long" since internally an OFList (subset of std:list) instance is used for the data management. As a consequence, VisualStudio and other compilers will not warn anymore on a "possible loss of data" (warning C4267). Affects: dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtads.h dcmrt/include/dcmtk/dcmrt/seq/drtafs.h dcmrt/include/dcmtk/dcmrt/seq/drtags.h dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h dcmrt/include/dcmtk/dcmrt/seq/drtas1.h dcmrt/include/dcmtk/dcmrt/seq/drtas5.h dcmrt/include/dcmtk/dcmrt/seq/drtas6.h dcmrt/include/dcmtk/dcmrt/seq/drtas7.h dcmrt/include/dcmtk/dcmrt/seq/drtass.h dcmrt/include/dcmtk/dcmrt/seq/drtbads.h dcmrt/include/dcmtk/dcmrt/seq/drtbas.h dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbs.h dcmrt/include/dcmtk/dcmrt/seq/drtbss.h dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h dcmrt/include/dcmtk/dcmrt/seq/drtccs.h dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtces.h dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h dcmrt/include/dcmtk/dcmrt/seq/drtchs.h dcmrt/include/dcmtk/dcmrt/seq/drtcims.h dcmrt/include/dcmtk/dcmrt/seq/drtcis.h dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h dcmrt/include/dcmtk/dcmrt/seq/drtcos.h dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h dcmrt/include/dcmtk/dcmrt/seq/drtcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h dcmrt/include/dcmtk/dcmrt/seq/drtcss.h dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h dcmrt/include/dcmtk/dcmrt/seq/drtddps.h dcmrt/include/dcmtk/dcmrt/seq/drtdias.h dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtds.h dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdss.h dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h dcmrt/include/dcmtk/dcmrt/seq/drteas.h dcmrt/include/dcmtk/dcmrt/seq/drtecs.h dcmrt/include/dcmtk/dcmrt/seq/drtes.h dcmrt/include/dcmtk/dcmrt/seq/drtfds.h dcmrt/include/dcmtk/dcmrt/seq/drtfes.h dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h dcmrt/include/dcmtk/dcmrt/seq/drtfms.h dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h dcmrt/include/dcmtk/dcmrt/seq/drtgas.h dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtiais.h dcmrt/include/dcmtk/dcmrt/seq/drtians.h dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h dcmrt/include/dcmtk/dcmrt/seq/drtibls.h dcmrt/include/dcmtk/dcmrt/seq/drtibs.h dcmrt/include/dcmtk/dcmrt/seq/drticpds.h dcmrt/include/dcmtk/dcmrt/seq/drticps.h dcmrt/include/dcmtk/dcmrt/seq/drtics.h dcmrt/include/dcmtk/dcmrt/seq/drtiis.h dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h dcmrt/include/dcmtk/dcmrt/seq/drtircs.h dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h dcmrt/include/dcmtk/dcmrt/seq/drtitts.h dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h dcmrt/include/dcmtk/dcmrt/seq/drtiws.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h dcmrt/include/dcmtk/dcmrt/seq/drtmas.h dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtmls.h dcmrt/include/dcmtk/dcmrt/seq/drtmps.h dcmrt/include/dcmtk/dcmrt/seq/drtmris.h dcmrt/include/dcmtk/dcmrt/seq/drtmss.h dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h dcmrt/include/dcmtk/dcmrt/seq/drtoas.h dcmrt/include/dcmtk/dcmrt/seq/drtois.h dcmrt/include/dcmtk/dcmrt/seq/drtopis.h dcmrt/include/dcmtk/dcmrt/seq/drtos.h dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h dcmrt/include/dcmtk/dcmrt/seq/drtpics.h dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h dcmrt/include/dcmtk/dcmrt/seq/drtporis.h dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h dcmrt/include/dcmtk/dcmrt/seq/drtpss.h dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h dcmrt/include/dcmtk/dcmrt/seq/drtqds.h dcmrt/include/dcmtk/dcmrt/seq/drtras.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrds.h dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h dcmrt/include/dcmtk/dcmrt/seq/drtrics.h dcmrt/include/dcmtk/dcmrt/seq/drtrims.h dcmrt/include/dcmtk/dcmrt/seq/drtris.h dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h dcmrt/include/dcmtk/dcmrt/seq/drtrps.h dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h dcmrt/include/dcmtk/dcmrt/seq/drtrses.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h dcmrt/include/dcmtk/dcmrt/seq/drtrws.h dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h dcmrt/include/dcmtk/dcmrt/seq/drtscris.h dcmrt/include/dcmtk/dcmrt/seq/drtscs.h dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtsds.h dcmrt/include/dcmtk/dcmrt/seq/drtshds.h dcmrt/include/dcmtk/dcmrt/seq/drtsins.h dcmrt/include/dcmtk/dcmrt/seq/drtsis.h dcmrt/include/dcmtk/dcmrt/seq/drtsns.h dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h dcmrt/include/dcmtk/dcmrt/seq/drtss.h dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h dcmrt/include/dcmtk/dcmrt/seq/drtsss.h dcmrt/include/dcmtk/dcmrt/seq/drttms0.h dcmrt/include/dcmtk/dcmrt/seq/drttms9.h dcmrt/include/dcmtk/dcmrt/seq/drttscds.h dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h dcmrt/include/dcmtk/dcmrt/seq/drttts.h dcmrt/include/dcmtk/dcmrt/seq/drtudis.h dcmrt/include/dcmtk/dcmrt/seq/drtvls.h dcmrt/include/dcmtk/dcmrt/seq/drtwps.h dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtws.h dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h dcmrt/libsrc/drtaadcs.cc dcmrt/libsrc/drtadcs.cc dcmrt/libsrc/drtads.cc dcmrt/libsrc/drtafs.cc dcmrt/libsrc/drtags.cc dcmrt/libsrc/drtajcs.cc dcmrt/libsrc/drtas1.cc dcmrt/libsrc/drtas5.cc dcmrt/libsrc/drtas6.cc dcmrt/libsrc/drtas7.cc dcmrt/libsrc/drtass.cc dcmrt/libsrc/drtbads.cc dcmrt/libsrc/drtbas.cc dcmrt/libsrc/drtbcps.cc dcmrt/libsrc/drtbl2.cc dcmrt/libsrc/drtbl5.cc dcmrt/libsrc/drtbldls.cc dcmrt/libsrc/drtbldps.cc dcmrt/libsrc/drtblds1.cc dcmrt/libsrc/drtblds5.cc dcmrt/libsrc/drtblds6.cc dcmrt/libsrc/drtbldts.cc dcmrt/libsrc/drtbrcss.cc dcmrt/libsrc/drtbrdrs.cc dcmrt/libsrc/drtbrs.cc dcmrt/libsrc/drtbs.cc dcmrt/libsrc/drtbss.cc dcmrt/libsrc/drtbvcps.cc dcmrt/libsrc/drtcbars.cc dcmrt/libsrc/drtccs.cc dcmrt/libsrc/drtcctus.cc dcmrt/libsrc/drtcdrs.cc dcmrt/libsrc/drtces.cc dcmrt/libsrc/drtcgis.cc dcmrt/libsrc/drtchs.cc dcmrt/libsrc/drtcims.cc dcmrt/libsrc/drtcis.cc dcmrt/libsrc/drtcncs.cc dcmrt/libsrc/drtcos.cc dcmrt/libsrc/drtcpas.cc dcmrt/libsrc/drtcpis.cc dcmrt/libsrc/drtcps.cc dcmrt/libsrc/drtcs.cc dcmrt/libsrc/drtcsas.cc dcmrt/libsrc/drtcshs.cc dcmrt/libsrc/drtcsis.cc dcmrt/libsrc/drtcss.cc dcmrt/libsrc/drtdcs.cc dcmrt/libsrc/drtdddps.cc dcmrt/libsrc/drtddps.cc dcmrt/libsrc/drtdias.cc dcmrt/libsrc/drtdimcs.cc dcmrt/libsrc/drtdimrs.cc dcmrt/libsrc/drtdirs.cc dcmrt/libsrc/drtdose.cc dcmrt/libsrc/drtdrs.cc dcmrt/libsrc/drtds.cc dcmrt/libsrc/drtdspcs.cc dcmrt/libsrc/drtdss.cc dcmrt/libsrc/drtdvhs.cc dcmrt/libsrc/drtdvrrs.cc dcmrt/libsrc/drteas.cc dcmrt/libsrc/drtecs.cc dcmrt/libsrc/drtes.cc dcmrt/libsrc/drtfds.cc dcmrt/libsrc/drtfes.cc dcmrt/libsrc/drtfgs.cc dcmrt/libsrc/drtfgss.cc dcmrt/libsrc/drtfms.cc dcmrt/libsrc/drtfsss.cc dcmrt/libsrc/drtgas.cc dcmrt/libsrc/drtgpis.cc dcmrt/libsrc/drthsdrs.cc dcmrt/libsrc/drtiais.cc dcmrt/libsrc/drtians.cc dcmrt/libsrc/drtiblds.cc dcmrt/libsrc/drtibls.cc dcmrt/libsrc/drtibs.cc dcmrt/libsrc/drticpds.cc dcmrt/libsrc/drticps.cc dcmrt/libsrc/drtics.cc dcmrt/libsrc/drtiis.cc dcmrt/libsrc/drtimage.cc dcmrt/libsrc/drtionpl.cc dcmrt/libsrc/drtiontr.cc dcmrt/libsrc/drtipiqs.cc dcmrt/libsrc/drtircs.cc dcmrt/libsrc/drtiseis.cc dcmrt/libsrc/drtitts.cc dcmrt/libsrc/drtiwps.cc dcmrt/libsrc/drtiws.cc dcmrt/libsrc/drtlsds.cc dcmrt/libsrc/drtlsds6.cc dcmrt/libsrc/drtlsds7.cc dcmrt/libsrc/drtmacds.cc dcmrt/libsrc/drtmas.cc dcmrt/libsrc/drtmdrs.cc dcmrt/libsrc/drtmls.cc dcmrt/libsrc/drtmps.cc dcmrt/libsrc/drtmris.cc dcmrt/libsrc/drtmss.cc dcmrt/libsrc/drtmucs.cc dcmrt/libsrc/drtoas.cc dcmrt/libsrc/drtois.cc dcmrt/libsrc/drtopis.cc dcmrt/libsrc/drtos.cc dcmrt/libsrc/drtpbcs.cc dcmrt/libsrc/drtpcs.cc dcmrt/libsrc/drtpcxs.cc dcmrt/libsrc/drtpdecs.cc dcmrt/libsrc/drtpdeds.cc dcmrt/libsrc/drtpfms.cc dcmrt/libsrc/drtpics.cc dcmrt/libsrc/drtplan.cc dcmrt/libsrc/drtporcs.cc dcmrt/libsrc/drtporis.cc dcmrt/libsrc/drtppcs.cc dcmrt/libsrc/drtprsis.cc dcmrt/libsrc/drtpscs.cc dcmrt/libsrc/drtpsics.cc dcmrt/libsrc/drtpss.cc dcmrt/libsrc/drtpsss.cc dcmrt/libsrc/drtpvis.cc dcmrt/libsrc/drtqds.cc dcmrt/libsrc/drtras.cc dcmrt/libsrc/drtrbas2.cc dcmrt/libsrc/drtrbas8.cc dcmrt/libsrc/drtrbls.cc dcmrt/libsrc/drtrbos1.cc dcmrt/libsrc/drtrbos6.cc dcmrt/libsrc/drtrbos7.cc dcmrt/libsrc/drtrbs2.cc dcmrt/libsrc/drtrbs4.cc dcmrt/libsrc/drtrbs8.cc dcmrt/libsrc/drtrcdrs.cc dcmrt/libsrc/drtrcos.cc dcmrt/libsrc/drtrcps.cc dcmrt/libsrc/drtrcs.cc dcmrt/libsrc/drtrdros.cc dcmrt/libsrc/drtrdrs1.cc dcmrt/libsrc/drtrdrs6.cc dcmrt/libsrc/drtrdrs8.cc dcmrt/libsrc/drtrds.cc dcmrt/libsrc/drtrecs.cc dcmrt/libsrc/drtrfgs.cc dcmrt/libsrc/drtrfors.cc dcmrt/libsrc/drtrics.cc dcmrt/libsrc/drtrims.cc dcmrt/libsrc/drtris.cc dcmrt/libsrc/drtrlsds.cc dcmrt/libsrc/drtrmdrs.cc dcmrt/libsrc/drtrms.cc dcmrt/libsrc/drtrmss6.cc dcmrt/libsrc/drtrmss7.cc dcmrt/libsrc/drtrpcs.cc dcmrt/libsrc/drtrpis.cc dcmrt/libsrc/drtrppcs.cc dcmrt/libsrc/drtrpphs.cc dcmrt/libsrc/drtrpps.cc dcmrt/libsrc/drtrppss.cc dcmrt/libsrc/drtrps.cc dcmrt/libsrc/drtrris1.cc dcmrt/libsrc/drtrris6.cc dcmrt/libsrc/drtrris9.cc dcmrt/libsrc/drtrrms.cc dcmrt/libsrc/drtrros.cc dcmrt/libsrc/drtrrpcs.cc dcmrt/libsrc/drtrrros.cc dcmrt/libsrc/drtrrs.cc dcmrt/libsrc/drtrrshs.cc dcmrt/libsrc/drtrrtps.cc dcmrt/libsrc/drtrrtps3.cc dcmrt/libsrc/drtrrtps4.cc dcmrt/libsrc/drtrrtps5.cc dcmrt/libsrc/drtrscs.cc dcmrt/libsrc/drtrsers.cc dcmrt/libsrc/drtrses.cc dcmrt/libsrc/drtrshs.cc dcmrt/libsrc/drtrshs6.cc dcmrt/libsrc/drtrshs7.cc dcmrt/libsrc/drtrsis.cc dcmrt/libsrc/drtrsns.cc dcmrt/libsrc/drtrsos.cc dcmrt/libsrc/drtrsrs.cc dcmrt/libsrc/drtrss.cc dcmrt/libsrc/drtrsss.cc dcmrt/libsrc/drtrsts.cc dcmrt/libsrc/drtrtrs2.cc dcmrt/libsrc/drtrtrs4.cc dcmrt/libsrc/drtrvis.cc dcmrt/libsrc/drtrws.cc dcmrt/libsrc/drtrwvms.cc dcmrt/libsrc/drtscris.cc dcmrt/libsrc/drtscs.cc dcmrt/libsrc/drtsdcs.cc dcmrt/libsrc/drtsds.cc dcmrt/libsrc/drtshds.cc dcmrt/libsrc/drtsins.cc dcmrt/libsrc/drtsis.cc dcmrt/libsrc/drtsns.cc dcmrt/libsrc/drtspccs.cc dcmrt/libsrc/drtspcs.cc dcmrt/libsrc/drtspgis.cc dcmrt/libsrc/drtsptcs.cc dcmrt/libsrc/drtss.cc dcmrt/libsrc/drtssrcs.cc dcmrt/libsrc/drtssrs.cc dcmrt/libsrc/drtsss.cc dcmrt/libsrc/drtstrct.cc dcmrt/libsrc/drttms0.cc dcmrt/libsrc/drttms9.cc dcmrt/libsrc/drttreat.cc dcmrt/libsrc/drttscds.cc dcmrt/libsrc/drttsibs.cc dcmrt/libsrc/drttsmds.cc dcmrt/libsrc/drttts.cc dcmrt/libsrc/drtudis.cc dcmrt/libsrc/drtvls.cc dcmrt/libsrc/drtwps.cc dcmrt/libsrc/drtwrs.cc dcmrt/libsrc/drtwrsrs.cc dcmrt/libsrc/drtws.cc dcmrt/libsrc/drtxrs.cc - Pass value of correct type to "size" parameter: Pass value of correct type to "size" parameter of the getOutputData() method of class DicomImage, i.e. "unsigned long" instead of "size_t". This avoids a warning message being reported by certain compilers, e.g. VisualStudio 2015 (x64). Affects: dcmrt/libsrc/drmimage.cc - Added missing brackets to "if( || )" statement. Affects: ofstd/tests/toffile.cc - Minor cleanup in dump output of TLS connections: Fixed indentation and newlines in dump output of TLS connections. Affects: dcmtls/libsrc/tlslayer.cc dcmtls/libsrc/tlstrans.cc - Replaced remaining tabs by spaces. Affects: dcmnet/libsrc/dcmtrans.cc **** Changes from 2017.01.23 (riesmeier) - Disable exception throwing in destructor: Don't throw an exception from the destructor in order to avoid that the application terminates abruptly. The original code line comes from the underlying Log4cplus library. Affects: oflog/libsrc/hierlock.cc **** Changes from 2017.01.20 (onken) - Added hints that memory has to be freed by caller: Added hints that Segmentation and Tractography Results objects that are created by the existing static methods have to be freed by the caller. Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h dcmtract/include/dcmtk/dcmtract/trctractographyresults.h **** Changes from 2017.01.20 (riesmeier) - Enhanced comments on charset to library mapping: Enhanced comments on the mapping between DICOM character sets and the underlying conversion libraries. Also fixed various vaguenesses. Bottom line is: only the GNU libiconv (as of version 1.14) supports ALL character sets that are currently defined in the DICOM standard. Both ICU and the stdlibc iconv() function lack support of some Japanese character sets, e.g. "ISO-IR-87" (JIS X 0201) and "ISO-IR-159" (JIS X 0212). Affects: dcmdata/libsrc/dcspchrs.cc - Included missing standard header "assert": Added missing standard header "assert.h" or "cassert" in order to compile when HAVE_STL and HAVE_STD_STRING are defined. This header file is needed for Linux systems with gcc (and probably others). Affects: dcmdata/libsrc/dcjson.cc - Removed unused variable from writeJsonOpener(). Affects: dcmdata/libsrc/dcelem.cc - Added missing header include (without OpenSSL): When compiled without OpenSSL support, the header file "dcmtrans.h" also needs to be included for the new settings dcmSocketSend/ReceiveTimeout. Affects: dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc - Fixed typos in API documentation. Affects: dcmnet/include/dcmtk/dcmnet/dcmtrans.h **** Changes from 2017.01.19 (riesmeier) - Added new option --socket-timeout to storescu/scp: Added new option --socket-timeout, which allows for specifying the timeout for sending and receiving data on a network socket. A default of 60 seconds is useful in cases where the sender (e.g. storescu) looses the connection to the receiver (e.g. storescp) because the network cable is pulled or the like. A value 0 means that the send() or recv() function never timeouts. Affects: dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/docs/storescp.man dcmnet/docs/storescu.man - Made send() and recv() timeout configurable: Made the timeout for the send() and recv() function configurable, i.e. the default value of 60 seconds can now be changed at runtime. The previously used macros DISABLE_RECV_TIMEOUT and DISABLE_SEND_TIMEOUT have, therefore, become obsolete. This partly closes DCMTK Bug #618. Affects: config/docs/macros.txt dcmnet/include/dcmtk/dcmnet/dcmtrans.h dcmnet/libsrc/dcmtrans.cc - Added #warning on DONT_DISABLE_NAGLE_ALGORITHM: Added warning during compilation if outdated DONT_DISABLE_NAGLE_ALGORITHM is still used. Also readded this previously supported macro to the main documentation file with a hint on the new behavior. Affects: config/docs/macros.txt dcmnet/libsrc/dul.cc dcmnet/libsrc/dulfsm.cc - Minor corrections to documentation/comments. Affects: dcmnet/include/dcmtk/dcmnet/dul.h - Simplified output of default option values: Simplified output of default option values and also of the range of valid values. This approach is now consistent with other tools like "storescu". Affects: dcmnet/apps/storescp.cc **** Changes from 2017.01.19 (onken) - Fixed potential NULL pointer and implicit casts: Two potential NULL pointer derefences have been fixed as well as various implicit casts that could lead to data loss. Guards have been added where necessary and remaining (safe) casts have been made explicit. Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/libsrc/iodutil.cc dcmnet/apps/getscu.cc dcmnet/apps/storescu.cc dcmpmap/libsrc/dpmparametricmapiod.cc dcmseg/include/dcmtk/dcmseg/segtypes.h dcmseg/libsrc/segdoc.cc - Fixed (harmless) shadowed variabl. Affects: dcmfg/libsrc/fgframeanatomy.cc **** Changes from 2017.01.18 (riesmeier) - Do not pass simple const parameters by reference. Affects: dcmnet/include/dcmtk/dcmnet/assoc.h dcmnet/libsrc/assoc.cc - Do not disable Nagle algorithm by default: Beginning with DCMTK 3.4.1, the so-called Nagle algorithm was disabled by default for each DICOM transport connection in order to increase the network performance, especially on Windows systems. However, on most modern operating systems this default does not seem to be appropriate anymore. Therefore, the default has been changed and the compiler macro DONT_DISABLE_NAGLE_ALGORITHM has been replaced by DISABLE_NAGLE_ALGORITHM, so at compilation time the Nagle algorithm can still be disabled (if needed). In addition, the environment variable NO_TCPDELAY allows for changing this default at runtime. See "config/docs/macros.txt" and "config/docs/envvars.txt" for details. Closes DCMTK Feature #364. Affects: config/docs/envvars.txt config/docs/macros.txt dcmnet/libsrc/dul.cc dcmnet/libsrc/dulfsm.cc - Fixed maximum number of bytes to read from stdin: Limit maximum number of bytes to read from stdin in order to avoid a possible buffer overflow. This issue has been reported by the static code analysis tool of VisualStudio 2015. Also fixed various typos in comments. Affects: dcmnet/apps/storescp.cc dcmwlm/libsrc/wlmactmg.cc - Replaced binary ("&") by boolean ("&&") AND. Affects: dcmdata/libsrc/dcddirif.cc - Fixed warnings reported by VisualStudio 2015: Added explicit typecasts in order to avoid warnings of type C4267 "possible loss of data" reported by VisualStudio 2015. Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/dcuserid.cc dcmnet/libsrc/dulconst.cc dcmpstat/libsrc/dvpstat.cc - Updated latest tested CMake version: Updated information on latest CMake version that has been tested to "3.7.2". Affects: CMake/dcmtkPrepare.cmake **** Changes from 2017.01.17 (onken) - Avoid another variable shadow warning. Affects: dcmpmap/libsrc/dpmparametricmapiod.cc - Print conn. timeout to TRACE instead DEBUG level: If select() runs into a timeout when listening for TCP connections, a message was printed to the DEBUG log level. Since this can occur quite often (depending on the timeout), the message has been moved to the TRACE logger instead. Affects: dcmnet/libsrc/diutil.cc - Fixed warning about unused parameter. Affects: ofstd/include/dcmtk/ofstd/ofoption.h - Fixed warnings about overloaded virtual functions. Affects: dcmtract/include/dcmtk/dcmtract/trcstatistic.h dcmtract/libsrc/trcstatistic.cc - Avoid warnings about shadowed names. Affects: dcmfg/libsrc/fg.cc dcmiod/tests/tcielabutil.cc **** Changes from 2017.01.16 (riesmeier) - Do not set TCP send and receive buffer length: By default, don't set the TCP send and receive buffer length anymore since modern operating systems know much better what appropriate values are. If the user wants, he can still specify a certain buffer length by using the environment variable TCP_BUFFER_LENGTH (which was already supported by previous versions of the DCMTK). Thanks to Alexander Haderer for the suggested patch and forum user "tpalagyi" (and others) for the original report. Closes DCMTK Feature #597. Affects: config/docs/envvars.txt dcmnet/libsrc/dul.cc dcmnet/libsrc/dulfsm.cc - Removed DCMTK's implementation of tempnam(): Removed DCMTK's implementation of tempnam() since it is not used any longer. Also removed related documentation on environment variable TMPDIR. Affects: config/docs/envvars.txt dcmnet/include/dcmtk/dcmnet/dcompat.h dcmnet/libsrc/dcompat.cc **** Changes from 2017.01.14 (riesmeier) - Added another character set test (for ISO-IR 149): Added another character set conversion test that checks for the automatic detection of 8- vs. 16-bit characters when using "ISO 2022 IR 149". Affects: dcmdata/tests/tspchrs.cc **** Changes from 2017.01.13 (riesmeier) - Fixed issue with wrong detection of delimiters: Fixed issue with wrong detection of delimiters (such as a backslash) when converting a character string with multi-byte character set and code extensions. Also enhanced support for character sets that use one or two bytes per character such as "ISO 2022 IR 149". Thanks to Bhuvan Bose for the original report and for the sample DICOM object (using "\ISO 2022 IR 87" character set). Closes DCMTK Bug #684. Affects: dcmdata/libsrc/dcspchrs.cc - Updated documentation regarding HT delimiter: Updated documentation regarding the horizontal tab (HT) character being one of the standard delimiters. Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/dcspchrs.cc - Added another character set test (for ISO-IR 58): Added another character set test based on the example from DICOM PS3.5 K.2. This test uses GB 2312 (registered as ISO-IR 58), i.e. Simplified Chinese. Affects: dcmdata/tests/tspchrs.cc **** Changes from 2017.01.09 (onken) - Fixed various documentation issues: Fixed doxygen warnings by adding missing documentation of parameters and return values as well as doubled section labels in dcmnet documentation that also occur in other DCMTK modules. Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h dcmiod/include/dcmtk/dcmiod/iodmacro.h dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h dcmiod/include/dcmtk/dcmiod/modsynchronisation.h dcmnet/docs/cptscp.dox dcmnet/docs/dcmnet.dox dcmnet/docs/dcmrecv.man dcmnet/docs/dcmsend.man dcmnet/docs/echoscu.man dcmnet/docs/findscu.man dcmnet/docs/getscu.man dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/docs/storescu.man dcmnet/docs/termscu.man dcmnet/include/dcmtk/dcmnet/dcuserid.h dcmnet/include/dcmtk/dcmnet/scpcfg.h dcmpmap/docs/dcmpmap.dox dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h dcmseg/include/dcmtk/dcmseg/segdoc.h **** Changes from 2017.01.06 (onken) - Better SCP timeouts, test, cleanups and more docs: A new possibility was added to return from DcmSCP's listen() loop in non-blocking mode. A dedicated return code has been added, as well as for the existing "stop after current association" feature. A test was added to ensure DcmSCP works as expected. Some methods have been cleaned up, especially calls for freeing association structures have been concentrated into a single call. Some further documentation was added, including possible return codes of some important methods. Added: dcmnet/tests/tscuscp.cc Affects: dcmnet/apps/Makefile.dep dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/Makefile.dep dcmnet/libsrc/cond.cc dcmnet/libsrc/scp.cc dcmnet/tests/CMakeLists.txt dcmnet/tests/Makefile.dep dcmnet/tests/Makefile.in dcmnet/tests/tests.cc **** Changes from 2017.01.06 (riesmeier) - Removed "dcmwlm/wwwapps" from ".gitignore": Removed retired "wwwapps" of the Worklist Management SCP module from the ".gitignore" file. Affects: .gitignore - Added Manpage of recently introduced dcm2json tool. Added: doxygen/manpages/man1/dcm2json.1 - Let git ignore recently introduced dcm2json tool. Affects: .gitignore - Added a section on the rendering limitations: Added a section to the manpage that describes the (current) limitations when rendering a GSPS object, e.g. textual and graphical annotations are not supported. Closes DCMTK Feature #665. Affects: dcmpstat/docs/dcmp2pgm.man - Fixed incomplete renaming of command line options: Fixed incomplete renaming of command line options --illegal-obow-reject, --illegal-obow-convert, --illegal-voi-reject and --illegal-voi-convert, which was done with commit 0b36181. Now, these options should work again as expected since the correct option names are checked. Affects: dcmdata/apps/dcmconv.cc dcmdata/apps/dcmdump.cc - Removed unused configure variable/definition: Remove unused GNU Autoconf (aka "./configure") variable/definition DCMTK_ENABLE_BUILTIN_DICTIONARY. Seems to be a leftover from a previous implementation attempt that has not been committed. Affects: config/Makefile.def.in config/configure config/configure.in **** Changes from 2017.01.02 (onken) - Fixed installation of DCMTKConfigVersion.cmake: DCMTKConfigVersion.cmake has not been installed, thus leading to an error when importing DCMTK through find_package() with a specified version from other CMake-based projects. Thanks to Waldir Pimenta for the report and suggested patch. Closes DCMTK Bug #708. Affects: CMake/GenerateCMakeExports.cmake CMakeLists.txt **** Changes from 2016.12.16 (eichelberg) - Fixed integer underflow condition: Minor fix to avoid a (harmless) integer underflow reported by clang with -fsanitize=integer. Affects: dcmdata/libsrc/dcstack.cc **** Changes from 2016.12.14 (schlamelcher) - Added magic word and version checks to dcmqrdb: All dcmqrdb applications will now prefix the index file with the magic word 'QRDB' followed by two hexadecimal version digits. Both will be verified whenever an existing index file is opened for reading/modification. Please note that index files with the same magic word and version might still be binary incompatible with each other if they originate from different platforms (e.g. with different endianness or alignment). This mechanism is meant to catch cases where the index must be re-created due to dcmtk updates. Don't forget to re-create your database indices using dcmqridx. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2016.12.13 (riesmeier) - Further fixes to source code formatting. Affects: dcmdata/apps/dcm2json.cc - Various minor fixes to new "dcm2json" tool: Various minor fixes to the new "dcm2json" tool regarding documentation, source code formatting, etc. Affects: dcmdata/apps/dcm2json.cc dcmdata/docs/dcm2json.man **** Changes from 2016.12.13 (schlamelcher) - Fixed oflog character set conversion defines. Affects: oflog/include/dcmtk/oflog/config/defines.h - Fixed dcm2json when compiling as shared libraries. Affects: dcmdata/include/dcmtk/dcmdata/dcjson.h **** Changes from 2016.12.12 (schlamelcher) - Fixed a comment in OFCharacterEncoding: A recently added comment for the iconv specific OFCharacterEncoding implementation was (falsely) referring to the ICU. Affects: ofstd/libsrc/ofchrenc.cc **** Changes from 2016.12.12 (grallert) - Added support for the DICOM JSON Model (part 18 F): Introduced new DICOM to JSON converter that can be utilized to implement web applications. JSON to DICOM conversion is currently not implemented. Added: dcmdata/apps/dcm2json.cc dcmdata/docs/dcm2json.man dcmdata/include/dcmtk/dcmdata/dcjson.h dcmdata/libsrc/dcjson.cc Affects: dcmdata/apps/CMakeLists.txt dcmdata/apps/Makefile.in dcmdata/docs/dcmdata.dox dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcmetinf.h dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dcvrat.h dcmdata/include/dcmtk/dcmdata/dcvrds.h dcmdata/include/dcmtk/dcmdata/dcvris.h dcmdata/include/dcmtk/dcmdata/dcvrlo.h dcmdata/include/dcmtk/dcmdata/dcvrobow.h dcmdata/include/dcmtk/dcmdata/dcvrod.h dcmdata/include/dcmtk/dcmdata/dcvrof.h dcmdata/include/dcmtk/dcmdata/dcvrol.h dcmdata/include/dcmtk/dcmdata/dcvrpn.h dcmdata/include/dcmtk/dcmdata/dcvrsh.h dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.in dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcchrstr.cc dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcmetinf.cc dcmdata/libsrc/dcobject.cc dcmdata/libsrc/dcsequen.cc dcmdata/libsrc/dcvrat.cc dcmdata/libsrc/dcvrds.cc dcmdata/libsrc/dcvris.cc dcmdata/libsrc/dcvrlo.cc dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrod.cc dcmdata/libsrc/dcvrof.cc dcmdata/libsrc/dcvrol.cc dcmdata/libsrc/dcvrpn.cc dcmdata/libsrc/dcvrsh.cc **** Changes from 2016.12.09 (riesmeier) - Avoid compiler warning on unused parameter: Avoid compiler warning on unused parameter, e.g. when compiling with gcc -Wextra. Also the read and write item methods return EC_NotYetImplemented instead of EC_Normal since no real content is ever read or written. Closes DCMTK Bug #705. Affects: dcmrt/libsrc/drtmas.cc **** Changes from 2016.12.08 (riesmeier) - Added comments on ICU conversions flags: Added comments that ICU also supports other "conversions flags" and that the (currently, very basic) implementation might be enhanced in the future. Affects: ofstd/libsrc/ofchrenc.cc - Fixed wrong check on GLIBC macro: Instead of "__GLIBC__" the macro "__GLIBC_" was checked, i.e. one trailing underscore character was missing. Affects: ofstd/libsrc/ofchrenc.cc **** Changes from 2016.12.07 (riesmeier) - Added missing period at the end of descriptions: Added missing period at the end of some CMake variable/option descriptions (for reasons of consistency). Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake - Renamed isAvailable() and getVersionString(): Renamed the methods isAvailable() and getVersionString() back to their original names, i.e. as they have been before the "refactoring". Now, it is more consistent with other "libraries" used (e.g. "IJG" for JPEG) and also easier to understand for a user of the API. Affects: dcmdata/apps/dcm2xml.cc dcmdata/apps/dcmconv.cc dcmdata/apps/dcmdump.cc dcmdata/libsrc/dcspchrs.cc dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/apps/dsrdump.cc ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc ofstd/tests/tchrenc.cc - Fixed source code formatting (where appropriate): Fixed source code formatting after the character set conversion classes have been "refactored". Now, the formatting should be (a little) more consistenti than before. Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcspchrs.cc ofstd/libsrc/ofchrenc.cc - Updated note on character set conversion options: Updated note on the character set conversion options: Now, this conversion does not only rely on "libiconv". The available character encoding library is shown in the output of --version. Affects: dcmdata/docs/dcm2xml.man dcmdata/docs/dcmconv.man dcmdata/docs/dcmdump.man dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man dcmsr/docs/dsrdump.man - Fixed various documentation issues: Fixed various documentation and Doxygen-related issues that were introduced with the "refactoring" of the character set conversion classes. Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h ofstd/include/dcmtk/ofstd/ofchrenc.h **** Changes from 2016.12.07 (schlamelcher) - Several fixes regarding character set conversion: Fixed building with enabled C++11 support. Fixed the code to suppress unnecessary warnings about TheImplementation being in the wrong #if - #else - #endif segment. Fixed building with iconv from another C standard library than the GNU one. Renamed some macros/settings to reflect above changes (gnuc -> stdlibc etc.). Affects: CMake/3rdparty.cmake CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmdata/libsrc/dcspchrs.cc ofstd/libsrc/ofchrenc.cc **** Changes from 2016.12.06 (riesmeier) - Changed the way an unused parameter is treated: Now, the approach is identical to a similar notifyXXX() method. Affects: dcmnet/libsrc/dstorscu.cc **** Changes from 2016.12.06 (grallert) - Fixed suppressing overflow warnings with Clang: Changed -Woverflow to -Winteger-overflow. The -Woverflow flag exists for GCC compatibility only and has no effect for Clang. Affects: ofstd/include/dcmtk/ofstd/diag/overflow.def **** Changes from 2016.12.06 (schlamelcher) - Refactored character set conversion classes: Refactored character set conversion to support additional implementations, currently also the International Components for Unicode (ICU) and the ICONV implementation builtin the GNU C library are also supported, in addition to the already supported external ICONV library. Added: CMake/FindICU.cmake Affects: CMake/3rdparty.cmake CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake CMake/osconfig.h.in config/Makefile.def.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmdata/apps/Makefile.in dcmdata/apps/dcm2xml.cc dcmdata/apps/dcmconv.cc dcmdata/apps/dcmdump.cc dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/Makefile.in dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcspchrs.cc dcmdata/tests/Makefile.in dcmdata/tests/tspchrs.cc dcmimage/apps/Makefile.in dcmimgle/apps/Makefile.in dcmiod/tests/Makefile.in dcmjpeg/apps/Makefile.in dcmjpls/apps/Makefile.in dcmnet/apps/Makefile.in dcmnet/tests/Makefile.in dcmpstat/apps/Makefile.in dcmpstat/tests/Makefile.in dcmqrdb/apps/Makefile.in dcmrt/apps/Makefile.in dcmrt/tests/Makefile.in dcmseg/tests/Makefile.in dcmsign/apps/Makefile.in dcmsr/apps/Makefile.in dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/apps/dsrdump.cc dcmsr/tests/Makefile.in dcmwlm/apps/Makefile.in dcmwlm/tests/Makefile.in ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/ofchrenc.cc ofstd/libsrc/ofconapp.cc ofstd/tests/Makefile.in ofstd/tests/tchrenc.cc **** Changes from 2016.12.01 (riesmeier) - Added (missing) comments. Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h **** Changes from 2016.11.30 (riesmeier) - Limit number of entries in optimization LUT: Made sure that the number of look-up table entries used internally for the optimized pixel data processing does not exceed a certain limit. Especially, made sure that there is no numeric oveflow, which resulted in a segmentation fault on 32-bit systems when processing DICOM images with high bit depth (e.g. Bits Allocated / Stored = 32). Thanks to John Stark for the original report. Closes DCMTK Bug #696. Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h **** Changes from 2016.11.29 (riesmeier) - Added missing API documentation (Doxygen): Added missing API documentation for Doxygen, e.g. undocumented parameters or return values. Affects: oflog/include/dcmtk/oflog/oflog.h **** Changes from 2016.11.28 (riesmeier) - Added "Simplified Adult Echo SR" to ReportType. Affects: dcmsr/data/dsr2xml.xsd - Added missing character sets to XML Schema: Added various Asian character sets to the XML Schema. Support for these character sets was added to the C++ implementation some time ago but the XML Schema was - apparently - not updated. Affects: dcmsr/data/dsr2xml.xsd - Added tests for "new" Chinese characters sets: Added tests for Chinese character sets that were introduced with CP-1234: GB 2312 (also known as ISO-2022-CN) and GBK (a subset of GB 18030). Currently, it is only checked whether the associated Defined Terms for the Specific Character Set attribute are really supported. Affects: dcmdata/tests/tspchrs.cc - Added missing API documentation for Doxygen: Added missing API documentation for Doxygen, e.g. undocumented parameters or return values. Also fixed some typos in comments. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dccodec.h dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/include/dcmtk/dcmdata/dcmetinf.h dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/include/dcmtk/dcmdata/dcovlay.h dcmdata/include/dcmtk/dcmdata/dcpixseq.h dcmdata/include/dcmtk/dcmdata/dcpxitem.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/include/dcmtk/dcmdata/dcvrpobw.h dcmdata/include/dcmtk/dcmdata/dcvruc.h dcmdata/include/dcmtk/dcmdata/dcvrulup.h dcmdata/include/dcmtk/dcmdata/dcvrur.h dcmdata/include/dcmtk/dcmdata/dcvrut.h - Replaced boolean modes in convertCharacterSet(): Replaced boolean parameters "transliterate" and "discardIllegal" of the convertCharacterSet() methods by a single "flags" parameter (as it is used for other similar methods in the various "dcmdata" classes). This allows for adding further "modes" in the future without changing the signature of the character set conversion methods. Closes DCMTK Feature #579. Affects: dcmdata/apps/dcmconv.cc dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dctypes.h dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dctypes.cc **** Changes from 2016.11.25 (riesmeier) - Check return value of write() to avoid warning: Added check on return value of write() function in order to avoid a warning message reported by gcc (on some systems with certain flags, e.g. Ubuntu). This finally closes DCMTK Bug #379. Affects: dcmqrdb/libsrc/dcmqrdbi.cc - Check return value of fgets() to avoid warnings: Added check on return value of fgets() function in order to avoid warning messages reported by gcc (on some systems with certain flags, e.g. Ubuntu). Also fixed various typos in log messages and comments. This partly closes DCMTK Bug #379. Affects: dcmqrdb/libsrc/dcmqrcnf.cc **** Changes from 2016.11.25 (eichelberg) - Use fseek() instead of rewind() on Win32/Cygwin: On Win32 and Cygwin systems, rewind() fails if the file is read-only and was read to EOF before the call to rewind(). Now using fseek() instead in OFFile::rewind(). This fixes bug #378. Affects: ofstd/include/dcmtk/ofstd/offile.h - Increased buffer sizes to avoid buffer overflows: Increased buffer sizes to size of input string avoid possible buffer overflows caused by calls to sscanf with %s parameter. This closes bug #376. Affects: dcmqrdb/libsrc/dcmqrcnf.cc dcmqrdb/libsrc/dcmqrtis.cc - Minor change needed to compile on Cygwin 2.6.0. Affects: ofstd/libsrc/ofstd.cc **** Changes from 2016.11.24 (eichelberg) - Fixed signed/unsigned comparison in dcmqrdb module: Fixed signed/unsigned comparison in dcmqrdb module. WARNING: This change affects the binary format of the index.dat file, although only very large images > 2 GB are affected by the change. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h - Documented new movescu return codes in man page. Affects: dcmnet/docs/movescu.man - movescu now returns non-zero if c-move was unsuccessful: The movescu command line application now returns non-zero if the status of one or more c-move responses is warning or error and also prints a warning message to the logger. This simplifies the use of the tool in shell scripts, which can check for the return code. This closes feature request #652. Affects: dcmnet/apps/movescu.cc **** Changes from 2016.11.23 (schlamelcher) - Fixed an OFnumeric_limits problem regarding C++11: The previous fix for OFnumeric_limits did not consider the availability of C++11's std::numeric_limits, leading to name clashes if C++11 support was enabled. Affects: ofstd/libsrc/oflimits.cc **** Changes from 2016.11.23 (riesmeier) - Updated "dcmrt" classes based on DICOM 2016e: Updated automatically generated IOD and sequence C++ classes for the various RT objects based on the current edition of the DICOM standard (2016e). There were only very few changes. Affects: dcmrt/include/dcmtk/dcmrt/drtdose.h dcmrt/include/dcmtk/dcmrt/drtimage.h dcmrt/include/dcmtk/dcmrt/drtionpl.h dcmrt/include/dcmtk/dcmrt/drtiontr.h dcmrt/include/dcmtk/dcmrt/drtplan.h dcmrt/include/dcmtk/dcmrt/drtstrct.h dcmrt/include/dcmtk/dcmrt/drttreat.h dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtads.h dcmrt/include/dcmtk/dcmrt/seq/drtafs.h dcmrt/include/dcmtk/dcmrt/seq/drtags.h dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h dcmrt/include/dcmtk/dcmrt/seq/drtas1.h dcmrt/include/dcmtk/dcmrt/seq/drtas5.h dcmrt/include/dcmtk/dcmrt/seq/drtas6.h dcmrt/include/dcmtk/dcmrt/seq/drtas7.h dcmrt/include/dcmtk/dcmrt/seq/drtass.h dcmrt/include/dcmtk/dcmrt/seq/drtbads.h dcmrt/include/dcmtk/dcmrt/seq/drtbas.h dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbs.h dcmrt/include/dcmtk/dcmrt/seq/drtbss.h dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h dcmrt/include/dcmtk/dcmrt/seq/drtccs.h dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtces.h dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h dcmrt/include/dcmtk/dcmrt/seq/drtchs.h dcmrt/include/dcmtk/dcmrt/seq/drtcims.h dcmrt/include/dcmtk/dcmrt/seq/drtcis.h dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h dcmrt/include/dcmtk/dcmrt/seq/drtcos.h dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h dcmrt/include/dcmtk/dcmrt/seq/drtcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h dcmrt/include/dcmtk/dcmrt/seq/drtcss.h dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h dcmrt/include/dcmtk/dcmrt/seq/drtddps.h dcmrt/include/dcmtk/dcmrt/seq/drtdias.h dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtds.h dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdss.h dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h dcmrt/include/dcmtk/dcmrt/seq/drteas.h dcmrt/include/dcmtk/dcmrt/seq/drtecs.h dcmrt/include/dcmtk/dcmrt/seq/drtes.h dcmrt/include/dcmtk/dcmrt/seq/drtfds.h dcmrt/include/dcmtk/dcmrt/seq/drtfes.h dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h dcmrt/include/dcmtk/dcmrt/seq/drtfms.h dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h dcmrt/include/dcmtk/dcmrt/seq/drtgas.h dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtiais.h dcmrt/include/dcmtk/dcmrt/seq/drtians.h dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h dcmrt/include/dcmtk/dcmrt/seq/drtibls.h dcmrt/include/dcmtk/dcmrt/seq/drtibs.h dcmrt/include/dcmtk/dcmrt/seq/drticpds.h dcmrt/include/dcmtk/dcmrt/seq/drticps.h dcmrt/include/dcmtk/dcmrt/seq/drtics.h dcmrt/include/dcmtk/dcmrt/seq/drtiis.h dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h dcmrt/include/dcmtk/dcmrt/seq/drtircs.h dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h dcmrt/include/dcmtk/dcmrt/seq/drtitts.h dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h dcmrt/include/dcmtk/dcmrt/seq/drtiws.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h dcmrt/include/dcmtk/dcmrt/seq/drtmas.h dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtmls.h dcmrt/include/dcmtk/dcmrt/seq/drtmps.h dcmrt/include/dcmtk/dcmrt/seq/drtmris.h dcmrt/include/dcmtk/dcmrt/seq/drtmss.h dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h dcmrt/include/dcmtk/dcmrt/seq/drtoas.h dcmrt/include/dcmtk/dcmrt/seq/drtois.h dcmrt/include/dcmtk/dcmrt/seq/drtopis.h dcmrt/include/dcmtk/dcmrt/seq/drtos.h dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h dcmrt/include/dcmtk/dcmrt/seq/drtpics.h dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h dcmrt/include/dcmtk/dcmrt/seq/drtporis.h dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h dcmrt/include/dcmtk/dcmrt/seq/drtpss.h dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h dcmrt/include/dcmtk/dcmrt/seq/drtqds.h dcmrt/include/dcmtk/dcmrt/seq/drtras.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrds.h dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h dcmrt/include/dcmtk/dcmrt/seq/drtrics.h dcmrt/include/dcmtk/dcmrt/seq/drtrims.h dcmrt/include/dcmtk/dcmrt/seq/drtris.h dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h dcmrt/include/dcmtk/dcmrt/seq/drtrps.h dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h dcmrt/include/dcmtk/dcmrt/seq/drtrses.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h dcmrt/include/dcmtk/dcmrt/seq/drtrws.h dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h dcmrt/include/dcmtk/dcmrt/seq/drtscris.h dcmrt/include/dcmtk/dcmrt/seq/drtscs.h dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtsds.h dcmrt/include/dcmtk/dcmrt/seq/drtshds.h dcmrt/include/dcmtk/dcmrt/seq/drtsins.h dcmrt/include/dcmtk/dcmrt/seq/drtsis.h dcmrt/include/dcmtk/dcmrt/seq/drtsns.h dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h dcmrt/include/dcmtk/dcmrt/seq/drtss.h dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h dcmrt/include/dcmtk/dcmrt/seq/drtsss.h dcmrt/include/dcmtk/dcmrt/seq/drttms0.h dcmrt/include/dcmtk/dcmrt/seq/drttms9.h dcmrt/include/dcmtk/dcmrt/seq/drttscds.h dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h dcmrt/include/dcmtk/dcmrt/seq/drttts.h dcmrt/include/dcmtk/dcmrt/seq/drtudis.h dcmrt/include/dcmtk/dcmrt/seq/drtvls.h dcmrt/include/dcmtk/dcmrt/seq/drtwps.h dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtws.h dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h dcmrt/libsrc/drtaadcs.cc dcmrt/libsrc/drtadcs.cc dcmrt/libsrc/drtads.cc dcmrt/libsrc/drtafs.cc dcmrt/libsrc/drtags.cc dcmrt/libsrc/drtajcs.cc dcmrt/libsrc/drtas1.cc dcmrt/libsrc/drtas5.cc dcmrt/libsrc/drtas6.cc dcmrt/libsrc/drtas7.cc dcmrt/libsrc/drtass.cc dcmrt/libsrc/drtbads.cc dcmrt/libsrc/drtbas.cc dcmrt/libsrc/drtbcps.cc dcmrt/libsrc/drtbl2.cc dcmrt/libsrc/drtbl5.cc dcmrt/libsrc/drtbldls.cc dcmrt/libsrc/drtbldps.cc dcmrt/libsrc/drtblds1.cc dcmrt/libsrc/drtblds5.cc dcmrt/libsrc/drtblds6.cc dcmrt/libsrc/drtbldts.cc dcmrt/libsrc/drtbrcss.cc dcmrt/libsrc/drtbrdrs.cc dcmrt/libsrc/drtbrs.cc dcmrt/libsrc/drtbs.cc dcmrt/libsrc/drtbss.cc dcmrt/libsrc/drtbvcps.cc dcmrt/libsrc/drtcbars.cc dcmrt/libsrc/drtccs.cc dcmrt/libsrc/drtcctus.cc dcmrt/libsrc/drtcdrs.cc dcmrt/libsrc/drtces.cc dcmrt/libsrc/drtcgis.cc dcmrt/libsrc/drtchs.cc dcmrt/libsrc/drtcims.cc dcmrt/libsrc/drtcis.cc dcmrt/libsrc/drtcncs.cc dcmrt/libsrc/drtcos.cc dcmrt/libsrc/drtcpas.cc dcmrt/libsrc/drtcpis.cc dcmrt/libsrc/drtcps.cc dcmrt/libsrc/drtcs.cc dcmrt/libsrc/drtcsas.cc dcmrt/libsrc/drtcshs.cc dcmrt/libsrc/drtcsis.cc dcmrt/libsrc/drtcss.cc dcmrt/libsrc/drtdcs.cc dcmrt/libsrc/drtdddps.cc dcmrt/libsrc/drtddps.cc dcmrt/libsrc/drtdias.cc dcmrt/libsrc/drtdimcs.cc dcmrt/libsrc/drtdimrs.cc dcmrt/libsrc/drtdirs.cc dcmrt/libsrc/drtdose.cc dcmrt/libsrc/drtdrs.cc dcmrt/libsrc/drtds.cc dcmrt/libsrc/drtdspcs.cc dcmrt/libsrc/drtdss.cc dcmrt/libsrc/drtdvhs.cc dcmrt/libsrc/drtdvrrs.cc dcmrt/libsrc/drteas.cc dcmrt/libsrc/drtecs.cc dcmrt/libsrc/drtes.cc dcmrt/libsrc/drtfds.cc dcmrt/libsrc/drtfes.cc dcmrt/libsrc/drtfgs.cc dcmrt/libsrc/drtfgss.cc dcmrt/libsrc/drtfms.cc dcmrt/libsrc/drtfsss.cc dcmrt/libsrc/drtgas.cc dcmrt/libsrc/drtgpis.cc dcmrt/libsrc/drthsdrs.cc dcmrt/libsrc/drtiais.cc dcmrt/libsrc/drtians.cc dcmrt/libsrc/drtiblds.cc dcmrt/libsrc/drtibls.cc dcmrt/libsrc/drtibs.cc dcmrt/libsrc/drticpds.cc dcmrt/libsrc/drticps.cc dcmrt/libsrc/drtics.cc dcmrt/libsrc/drtiis.cc dcmrt/libsrc/drtimage.cc dcmrt/libsrc/drtionpl.cc dcmrt/libsrc/drtiontr.cc dcmrt/libsrc/drtipiqs.cc dcmrt/libsrc/drtircs.cc dcmrt/libsrc/drtiseis.cc dcmrt/libsrc/drtitts.cc dcmrt/libsrc/drtiwps.cc dcmrt/libsrc/drtiws.cc dcmrt/libsrc/drtlsds.cc dcmrt/libsrc/drtlsds6.cc dcmrt/libsrc/drtlsds7.cc dcmrt/libsrc/drtmacds.cc dcmrt/libsrc/drtmas.cc dcmrt/libsrc/drtmdrs.cc dcmrt/libsrc/drtmls.cc dcmrt/libsrc/drtmps.cc dcmrt/libsrc/drtmris.cc dcmrt/libsrc/drtmss.cc dcmrt/libsrc/drtmucs.cc dcmrt/libsrc/drtoas.cc dcmrt/libsrc/drtois.cc dcmrt/libsrc/drtopis.cc dcmrt/libsrc/drtos.cc dcmrt/libsrc/drtpbcs.cc dcmrt/libsrc/drtpcs.cc dcmrt/libsrc/drtpcxs.cc dcmrt/libsrc/drtpdecs.cc dcmrt/libsrc/drtpdeds.cc dcmrt/libsrc/drtpfms.cc dcmrt/libsrc/drtpics.cc dcmrt/libsrc/drtplan.cc dcmrt/libsrc/drtporcs.cc dcmrt/libsrc/drtporis.cc dcmrt/libsrc/drtppcs.cc dcmrt/libsrc/drtprsis.cc dcmrt/libsrc/drtpscs.cc dcmrt/libsrc/drtpsics.cc dcmrt/libsrc/drtpss.cc dcmrt/libsrc/drtpsss.cc dcmrt/libsrc/drtpvis.cc dcmrt/libsrc/drtqds.cc dcmrt/libsrc/drtras.cc dcmrt/libsrc/drtrbas2.cc dcmrt/libsrc/drtrbas8.cc dcmrt/libsrc/drtrbls.cc dcmrt/libsrc/drtrbos1.cc dcmrt/libsrc/drtrbos6.cc dcmrt/libsrc/drtrbos7.cc dcmrt/libsrc/drtrbs2.cc dcmrt/libsrc/drtrbs4.cc dcmrt/libsrc/drtrbs8.cc dcmrt/libsrc/drtrcdrs.cc dcmrt/libsrc/drtrcos.cc dcmrt/libsrc/drtrcps.cc dcmrt/libsrc/drtrcs.cc dcmrt/libsrc/drtrdros.cc dcmrt/libsrc/drtrdrs1.cc dcmrt/libsrc/drtrdrs6.cc dcmrt/libsrc/drtrdrs8.cc dcmrt/libsrc/drtrds.cc dcmrt/libsrc/drtrecs.cc dcmrt/libsrc/drtrfgs.cc dcmrt/libsrc/drtrfors.cc dcmrt/libsrc/drtrics.cc dcmrt/libsrc/drtrims.cc dcmrt/libsrc/drtris.cc dcmrt/libsrc/drtrlsds.cc dcmrt/libsrc/drtrmdrs.cc dcmrt/libsrc/drtrms.cc dcmrt/libsrc/drtrmss6.cc dcmrt/libsrc/drtrmss7.cc dcmrt/libsrc/drtrpcs.cc dcmrt/libsrc/drtrpis.cc dcmrt/libsrc/drtrppcs.cc dcmrt/libsrc/drtrpphs.cc dcmrt/libsrc/drtrpps.cc dcmrt/libsrc/drtrppss.cc dcmrt/libsrc/drtrps.cc dcmrt/libsrc/drtrris1.cc dcmrt/libsrc/drtrris6.cc dcmrt/libsrc/drtrris9.cc dcmrt/libsrc/drtrrms.cc dcmrt/libsrc/drtrros.cc dcmrt/libsrc/drtrrpcs.cc dcmrt/libsrc/drtrrros.cc dcmrt/libsrc/drtrrs.cc dcmrt/libsrc/drtrrshs.cc dcmrt/libsrc/drtrrtps.cc dcmrt/libsrc/drtrrtps3.cc dcmrt/libsrc/drtrrtps4.cc dcmrt/libsrc/drtrrtps5.cc dcmrt/libsrc/drtrscs.cc dcmrt/libsrc/drtrsers.cc dcmrt/libsrc/drtrses.cc dcmrt/libsrc/drtrshs.cc dcmrt/libsrc/drtrshs6.cc dcmrt/libsrc/drtrshs7.cc dcmrt/libsrc/drtrsis.cc dcmrt/libsrc/drtrsns.cc dcmrt/libsrc/drtrsos.cc dcmrt/libsrc/drtrsrs.cc dcmrt/libsrc/drtrss.cc dcmrt/libsrc/drtrsss.cc dcmrt/libsrc/drtrsts.cc dcmrt/libsrc/drtrtrs2.cc dcmrt/libsrc/drtrtrs4.cc dcmrt/libsrc/drtrvis.cc dcmrt/libsrc/drtrws.cc dcmrt/libsrc/drtrwvms.cc dcmrt/libsrc/drtscris.cc dcmrt/libsrc/drtscs.cc dcmrt/libsrc/drtsdcs.cc dcmrt/libsrc/drtsds.cc dcmrt/libsrc/drtshds.cc dcmrt/libsrc/drtsins.cc dcmrt/libsrc/drtsis.cc dcmrt/libsrc/drtsns.cc dcmrt/libsrc/drtspccs.cc dcmrt/libsrc/drtspcs.cc dcmrt/libsrc/drtspgis.cc dcmrt/libsrc/drtsptcs.cc dcmrt/libsrc/drtss.cc dcmrt/libsrc/drtssrcs.cc dcmrt/libsrc/drtssrs.cc dcmrt/libsrc/drtsss.cc dcmrt/libsrc/drtstrct.cc dcmrt/libsrc/drttms0.cc dcmrt/libsrc/drttms9.cc dcmrt/libsrc/drttreat.cc dcmrt/libsrc/drttscds.cc dcmrt/libsrc/drttsibs.cc dcmrt/libsrc/drttsmds.cc dcmrt/libsrc/drttts.cc dcmrt/libsrc/drtudis.cc dcmrt/libsrc/drtvls.cc dcmrt/libsrc/drtwps.cc dcmrt/libsrc/drtwrs.cc dcmrt/libsrc/drtwrsrs.cc dcmrt/libsrc/drtws.cc dcmrt/libsrc/drtxrs.cc - Updated Context Group classes for DICOM 2016e: Updated automatically generated Context Group classes for the 2016e edition of the DICOM standard. There were only changes to CID 7181 and 7469. Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h dcmsr/libcmr/cid100.cc dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid244.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid6147.cc dcmsr/libcmr/cid7021.cc dcmsr/libcmr/cid7181.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc dcmsr/libcmr/cid7464.cc dcmsr/libcmr/cid7469.cc - Added comments on transfer syntax name changes: With DICOM 2016e, the official names of the MPEG2 transfer syntaxes changed. Added a comment to both the corresponding UID and "Xfer names" definitions. However, the constants and defines have not been changed because of backward compatibility. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcxfer.cc - Now use code constant CODE_DCM_PulseSequenceName. Affects: dcmsr/libcmr/tid1600.cc - Updated code definitions for DICOM 2016e: Updated automatically generated code definitions for coding scheme "DCM", "NCIt" and "UMLS" for the 2016e edition of the DICOM standard. For the two latter ones, there were no changes. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h dcmsr/include/dcmtk/dcmsr/codes/ncit.h dcmsr/include/dcmtk/dcmsr/codes/umls.h - Updated data dictionary for DICOM 2016e: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2016-11-21. Since DCMTK's data dictionary was already up-to-date regarding the recently approved Supplements and CPs, there are no changes apart from the "Version" column. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Removed additional library dependencies: Removed additional library dependencies from "libsrc/CMakeLists.txt" files that are not needed since these dependencies are already specified by other linked libraries (using the CMake macro "DCMTK_TARGET_LINK_LIBRARIES"). Affects: dcmiod/libsrc/CMakeLists.txt dcmpmap/libsrc/CMakeLists.txt dcmseg/libsrc/CMakeLists.txt dcmtract/libsrc/CMakeLists.txt oflog/libsrc/CMakeLists.txt **** Changes from 2016.11.23 (eichelberg) - Added legal remark concerning HP's JPEG-LS patents: Added legal remark to dcmjpls documentation concerning HP's JPEG-LS patents and the possibility to receive a free license from HP. This closes #377. Affects: dcmjpls/docs/License.txt dcmjpls/docs/dcmjpls.dox - Improved 8/12/16 bit JPEG code consistency: Minor edits to keep data structures and variable names in the 8, 12 and 16 bit versions of the JPEG codec more consistent. This closes bug #654. Affects: dcmjpeg/libijg12/jdmarker.c dcmjpeg/libijg12/jpeglib12.h dcmjpeg/libijg16/jpeglib16.h dcmjpeg/libijg8/jpeglib8.h - JPEG decoder now decompresses incomplete bitstreams: Added codec flag and command line option in dcmdjpeg to permit decompression of faulty images with incomplete JPEG bitstreams. Instead of trying to read more JPEG data from the next fragment, the decoder simply skips to the next frame when activated. This closes bug #571. Affects: dcmjpeg/apps/dcmdjpeg.cc dcmjpeg/docs/dcmdjpeg.man dcmjpeg/include/dcmtk/dcmjpeg/djcparam.h dcmjpeg/include/dcmtk/dcmjpeg/djdecode.h dcmjpeg/libsrc/djcodecd.cc dcmjpeg/libsrc/djcparam.cc dcmjpeg/libsrc/djdecode.cc dcmjpeg/libsrc/djencode.cc **** Changes from 2016.11.22 (riesmeier) - Fixed issue with option "--display-overlay 0": Using option "--display-overlay 0" (or "+O 0") did not work because of a too strict range check. This issue was apparently not found in the past since this option is actually the default (i.e. show all overlay planes). Affects: dcmimage/apps/dcm2pnm.cc - Rebuilt Makefile dependencies. Affects: ofstd/libsrc/Makefile.dep ofstd/tests/Makefile.dep - Re-added tab characters removed by last commit. Affects: ofstd/libsrc/Makefile.in **** Changes from 2016.11.21 (hasenpusch) - Fixed OFSemaphore for macOS: The OFSemaphore class on macOS now uses Apple's dispatch framework as it contains the only functional unnamed semaphore implementation. The OFThread tests now all succeed. This fixes DCMTK bug #382. Affects: ofstd/include/dcmtk/ofstd/ofthread.h ofstd/libsrc/ofthread.cc ofstd/tests/tthread.cc **** Changes from 2016.11.21 (schlamelcher) - Suppressed warnings in OFThread's unit test: Suppressed inappropriate warnings about parameter name shadowing, see docu- mentation of the employed macro. Affects: ofstd/tests/tthread.cc - Suppressed silly Visual Studio warnings in OFvariant. Affects: ofstd/include/dcmtk/ofstd/variadic/variant.h - Several fixes for OFnumeric_limits: Fixed building with GCC using '-pedantic' by moving some definitions from the header to the new source file oflimits.cc. Suppressed type conversion warnings in the unit test that are also unneces- sary, since they are about what is being tested there. Added: ofstd/libsrc/oflimits.cc Affects: ofstd/include/dcmtk/ofstd/oflimits.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/Makefile.in ofstd/tests/tlimits.cc - Added support for additional compiler diagnostics: Introduced three new macros to ofdiag.h and added related definition files. Enhanced documentation of ofdiag.h regarding supported compilers. Added: ofstd/include/dcmtk/ofstd/diag/cnvrsn.def ofstd/include/dcmtk/ofstd/diag/shadow.def ofstd/include/dcmtk/ofstd/diag/vsprfw.def Affects: ofstd/include/dcmtk/ofstd/ofdiag.h **** Changes from 2016.11.18 (eichelberg) - Fixed empty pixel data bug in DcmPixelData::write(): Fixed bug in DcmPixelData::write() that caused an empty Pixel Data element to be written when the caller tried to write a compressed image in uncompressed transfer syntax without a prior call to chooseRepresentation() or canWriteXfer(). Now an error is returned. This closes bug #701. Affects: dcmdata/libsrc/dcpixel.cc **** Changes from 2016.11.18 (schlamelcher) - Suppressed an inappropriate Visual Studio warning: Suppressed an inappropriate Visual Studio warning about template specializa- tion in dcmsr. The affected code is not about template specialization but in- stead about static member initialization, the warning can therefore safely be ignored. Added: ofstd/include/dcmtk/ofstd/diag/nsdfti.def Affects: dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrimgse.cc dcmsr/libsrc/dsrsc3gr.cc dcmsr/libsrc/dsrscogr.cc dcmsr/libsrc/dsrtcodt.cc dcmsr/libsrc/dsrtcosp.cc dcmsr/libsrc/dsrtcoto.cc dcmsr/libsrc/dsrwavch.cc ofstd/include/dcmtk/ofstd/ofdiag.h **** Changes from 2016.11.18 (eichelberg) - JPEG encoder now writes SOF1 marker in 8-bit ext sequential TS: The JPEG encoder now always writes a SOF1 marker when encoding pixel data in the extended sequential transfer syntax with 8 bit/sample. This implements support for DICOM CP 1447 and closes bug #620 and #663. Affects: dcmjpeg/libijg8/jcapimin.c dcmjpeg/libijg8/jcmarker.c dcmjpeg/libijg8/jpeglib8.h dcmjpeg/libsrc/djeijg8.cc **** Changes from 2016.11.18 (schlamelcher) - Added compiler version checks to ofdiag.h etc: The compiler diagnostic macros now also check the compiler version and not only the compiler itself to ensure the respective features are really avail- able. This fixes problems regarding older versions of GCC. Affects: ofstd/include/dcmtk/ofstd/diag/mmtag.def ofstd/include/dcmtk/ofstd/diag/overflow.def ofstd/include/dcmtk/ofstd/diag/piof.def ofstd/include/dcmtk/ofstd/diag/pop.def ofstd/include/dcmtk/ofstd/diag/push.def ofstd/include/dcmtk/ofstd/diag/signcmp.def ofstd/include/dcmtk/ofstd/ofdiag.h **** Changes from 2016.11.17 (riesmeier) - Fixed warning re. overloaded virtual function: Fixed a compiler warning regarding an overloaded virtual function hiding the print() method from the base class. Could be reproduced using gcc with option -Woverloaded-virtual. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/libsrc/dsrdoctr.cc **** Changes from 2016.11.17 (onken) - Avoid warning regarding hidden virtual method. Affects: dcmiod/include/dcmtk/dcmiod/iodreferences.h **** Changes from 2016.11.17 (eichelberg) - Removed unnecessary call to getBaseTag(). Affects: dcmdata/libsrc/dcitem.cc **** Changes from 2016.11.16 (schlamelcher) - Added some missing files to the install steps: Added the new files under dcmtk/ofstd/diag to the install steps for both CMake and Autoconf. Added docs/CHANGES.XXX to the install steps for both CMake and Autoconf. Affects: CMakeLists.txt Makefile config/rootconf ofstd/include/CMakeLists.txt ofstd/include/Makefile.in **** Changes from 2016.11.16 (eichelberg) - Fixed minor formatting issues. Affects: dcmdata/apps/dcmconv.cc dcmdata/apps/dcmdump.cc dcmdata/docs/dcmconv.man dcmdata/docs/dcmdump.man dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/libsrc/dcitem.cc - Added code for handling VOI LUT Sequences with OB/OW VR: Added command line options for handling VOI LUT Sequence elements with illegal OB/OW value representation (undefined and explicit length). Affects: dcmdata/apps/dcmconv.cc dcmdata/apps/dcmdump.cc dcmdata/docs/dcmconv.man dcmdata/docs/dcmdump.man - Added code for handling VOI LUT Sequences with OB/OW VR: Added code for handling VOI LUT Sequence elements with illegal OB/OW value representation. The occurance of such DICOM datasets in the field, using OW and undefined length, was reported by Jörg Weinert in October 2016. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc **** Changes from 2016.11.16 (riesmeier) - Fixed wrong reference to conventonal JPEG format. Affects: dcmjpls/docs/dcmjpls.dox - Added note/warning on size of class instance: Added a note (warning) that an instance of this class requires quite some memory. So it is probably better to use the heap space (and not the stack). Affects: dcmrt/include/dcmtk/dcmrt/drtdose.h dcmrt/include/dcmtk/dcmrt/drtimage.h dcmrt/include/dcmtk/dcmrt/drtionpl.h dcmrt/include/dcmtk/dcmrt/drtiontr.h dcmrt/include/dcmtk/dcmrt/drtplan.h dcmrt/include/dcmtk/dcmrt/drtstrct.h dcmrt/include/dcmtk/dcmrt/drttreat.h - Replaced non-ASCII character in comment header. Affects: dcmiod/libsrc/cielabutil.cc - Fixed wrong identation with tab characters: Fixed wrong identation with tab characters (mainly introduced with last commit). Also changed outdated name of DCMTK module in the comment header (was "dcmpstat", actually is "dcmtls"). Affects: dcmtls/tests/dcmtk_ca.pl - Replaced tab characters by spaces: Replaced tab characters by spaces and removed trailing spaces (introduced with the last commit). Affects: dcmtls/libsrc/tlslayer.cc - Replaced non-ASCII characters: Replaced Unicode characters by their corresponding ASCII representation since the previous encoding resulted in a strange display of the HTML Doxgen documentation (in a web browser). Also replaced "(c)" by "(C)" where appropriate. Affects: COPYRIGHT **** Changes from 2016.11.16 (onken) - Renamed min() to min2() (macro name clash): Renamed the method min() to min2() since min() is also a macro on Windows systems which can lead to a name clash in user code. Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h dcmiod/libsrc/cielabutil.cc **** Changes from 2016.11.16 (schlamelcher) - Adjusted a previous commit for older GCC versions. Affects: ofstd/tests/tlimits.cc **** Changes from 2016.11.15 (schlamelcher) - Suppressed some unnecessary warnings: Suppressed overflow warnings in OFnumeric_limits' unit test, since it is the overflow behavior that is being tested there. Suppressed Clang warnings about mixing struct/class keywords in the pre C++11 implementation of OFtuple since mixing those keywords has no drawbacks and allows writing more compact code. Affects: ofstd/include/dcmtk/ofstd/oftuple.h ofstd/tests/tlimits.cc - Added macros for controlling compiler diagnostics: Introduced platform independent macros for controlling compiler diagnostic output i.e. warning messages. Added: ofstd/include/dcmtk/ofstd/diag/mmtag.def ofstd/include/dcmtk/ofstd/diag/overflow.def ofstd/include/dcmtk/ofstd/diag/piof.def ofstd/include/dcmtk/ofstd/diag/pop.def ofstd/include/dcmtk/ofstd/diag/push.def ofstd/include/dcmtk/ofstd/diag/signcmp.def ofstd/include/dcmtk/ofstd/ofdiag.h **** Changes from 2016.11.14 (riesmeier) - Added support for new SR IOD from Supplement 169: Added full support for the new Simplified Adult Echo SR IOD introduced with Supplement 169. This also adds optional support for the "Timezone Offset From UTC" attribute to all other Structured Reporting IODs. Closes DCMTK Conformance issue #703. Added: dcmsr/include/dcmtk/dcmsr/dsrsaecc.h dcmsr/libsrc/dsrsaecc.cc Affects: dcmsr/data/dsr2xml.xsd dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man dcmsr/docs/dsrdump.man dcmsr/docs/xml2dsr.man dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrtypes.cc - Use macro _LIBICONV_VERSION instead of variable: Use macro _LIBICONV_VERSION instead of global variable _libiconv_version in OFCharacterEncoding::getLibraryVersionString(). Both should be defined in the main header file "iconv.h"... but apparently are not (always). Affects: ofstd/libsrc/ofchrenc.cc **** Changes from 2016.11.11 (riesmeier) - Added "Simplified Adult Echo SR" to known types: Added the Simplified Adult Echo SR IOD / SOP Class, which was introduced only recently with Supplement 169, to the list of known (but not yet supported) SR document types. Full support for this IOD / SOP Class will follow in a future commit. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc - Added support for new UID from Supplement 169: Added support for new Storage SOP Class UID from Supplement 169 (Simplified Adult Echocardiography Report). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2016.11.11 (eichelberg) - Updated dcmtls and dcmpstat to compile with OpenSSL 1.1.0: Updated the dcmtls and dcmpstat modules, which now compile and work with OpenSSL 1.0.0, 1.0.1 and 1.1.0. Removed support for some historical, insecure export ciphersuites in TLS. NOTE: OpenSSL 1.1.0 does not anymore accept certificates with MD5 message digest in TLS connections. This means that certificates generated with previous versions of the dcmtk_ca.pl script will no longer work for TLS. The script has been updated accordingly. Affects: dcmpstat/libsrc/dviface.cc dcmtls/docs/ciphers.txt dcmtls/libsrc/tlslayer.cc dcmtls/tests/dcmtk_ca.pl - Updated dcmsign to correctly compile with OpenSSL 1.1.0: Updated the dcmsign module so that it compiles and works with OpenSSL 1.0.0, 1.0.1 and 1.1.0. Implemented support for SHA256, SHA384 and SHA512 as additional message digest algorithms for DICOM signatures. Added: dcmsign/include/dcmtk/dcmsign/sisha256.h dcmsign/include/dcmtk/dcmsign/sisha384.h dcmsign/include/dcmtk/dcmsign/sisha512.h dcmsign/libsrc/sisha256.cc dcmsign/libsrc/sisha384.cc dcmsign/libsrc/sisha512.cc Affects: dcmsign/apps/Makefile.dep dcmsign/apps/dcmsign.cc dcmsign/include/dcmtk/dcmsign/sitypes.h dcmsign/libsrc/CMakeLists.txt dcmsign/libsrc/Makefile.dep dcmsign/libsrc/Makefile.in dcmsign/libsrc/dcsignat.cc dcmsign/libsrc/sicert.cc dcmsign/libsrc/sicertvf.cc dcmsign/libsrc/sidsa.cc dcmsign/libsrc/siprivat.cc dcmsign/libsrc/sirsa.cc dcmsign/libsrc/sitypes.cc **** Changes from 2016.11.10 (riesmeier) - Added support for CP-1584 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Added initial support for Supplement 195: Added initial support for Supplement 195 (HEVC/H.265 Transfer Syntax), i.e. added definition of two new transfer syntaxes. Support in the various networking tools is not yet complete (e.g. missing prefer/propose options). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/include/dcmtk/dcmdata/dcxfer.h dcmdata/libsrc/dcuid.cc dcmdata/libsrc/dcxfer.cc dcmnet/apps/echoscu.cc dcmnet/apps/storescp.cc dcmnet/docs/echoscu.man dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/libsrc/dimse.cc - Added support for recently approved CPs: Added support for CP-1597, CP-1609 and CP-1611 to the data dictionary. These CPs were approved during this week's DICOM WG-06 meeting. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Added four Color Palette SOP Instances (CP-1584): Added well-known SOP Instance UID values for four new Color Palettes introduced with CP-1584 (Allow Palette Color in Parametric Map). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc - Fixed code value for "Pulse Sequence Name" (CP-1578): Fixed wrong definition of code value for "Pulse Sequence Name" (see CP-1578). Affects: dcmsr/libcmr/tid1600.cc **** Changes from 2016.11.10 (schlamelcher) - Enhanced C++11 compliance of OFvariant: Moved a type definition from the inside of a constexpr function to the enclosing class, since this is only allowed by C++14 and later but not C++11. Fixed potentially too weak alignment specifier used while determining the common alignment of all variant alternatives. Affects: ofstd/include/dcmtk/ofstd/ofvriant.h **** Changes from 2016.11.09 (riesmeier) - Added missing documentation for return values. Affects: dcmrt/include/dcmtk/dcmrt/drmimage.h dcmrt/include/dcmtk/dcmrt/drtdose.h dcmrt/include/dcmtk/dcmrt/drtimage.h dcmrt/include/dcmtk/dcmrt/drtionpl.h dcmrt/include/dcmtk/dcmrt/drtiontr.h dcmrt/include/dcmtk/dcmrt/drtplan.h dcmrt/include/dcmtk/dcmrt/drtstrct.h dcmrt/include/dcmtk/dcmrt/drttreat.h dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtads.h dcmrt/include/dcmtk/dcmrt/seq/drtafs.h dcmrt/include/dcmtk/dcmrt/seq/drtags.h dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h dcmrt/include/dcmtk/dcmrt/seq/drtas1.h dcmrt/include/dcmtk/dcmrt/seq/drtas5.h dcmrt/include/dcmtk/dcmrt/seq/drtas6.h dcmrt/include/dcmtk/dcmrt/seq/drtas7.h dcmrt/include/dcmtk/dcmrt/seq/drtass.h dcmrt/include/dcmtk/dcmrt/seq/drtbads.h dcmrt/include/dcmtk/dcmrt/seq/drtbas.h dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbs.h dcmrt/include/dcmtk/dcmrt/seq/drtbss.h dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h dcmrt/include/dcmtk/dcmrt/seq/drtccs.h dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtces.h dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h dcmrt/include/dcmtk/dcmrt/seq/drtchs.h dcmrt/include/dcmtk/dcmrt/seq/drtcims.h dcmrt/include/dcmtk/dcmrt/seq/drtcis.h dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h dcmrt/include/dcmtk/dcmrt/seq/drtcos.h dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h dcmrt/include/dcmtk/dcmrt/seq/drtcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h dcmrt/include/dcmtk/dcmrt/seq/drtcss.h dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h dcmrt/include/dcmtk/dcmrt/seq/drtddps.h dcmrt/include/dcmtk/dcmrt/seq/drtdias.h dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtds.h dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdss.h dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h dcmrt/include/dcmtk/dcmrt/seq/drteas.h dcmrt/include/dcmtk/dcmrt/seq/drtecs.h dcmrt/include/dcmtk/dcmrt/seq/drtes.h dcmrt/include/dcmtk/dcmrt/seq/drtfds.h dcmrt/include/dcmtk/dcmrt/seq/drtfes.h dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h dcmrt/include/dcmtk/dcmrt/seq/drtfms.h dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h dcmrt/include/dcmtk/dcmrt/seq/drtgas.h dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtiais.h dcmrt/include/dcmtk/dcmrt/seq/drtians.h dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h dcmrt/include/dcmtk/dcmrt/seq/drtibls.h dcmrt/include/dcmtk/dcmrt/seq/drtibs.h dcmrt/include/dcmtk/dcmrt/seq/drticpds.h dcmrt/include/dcmtk/dcmrt/seq/drticps.h dcmrt/include/dcmtk/dcmrt/seq/drtics.h dcmrt/include/dcmtk/dcmrt/seq/drtiis.h dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h dcmrt/include/dcmtk/dcmrt/seq/drtircs.h dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h dcmrt/include/dcmtk/dcmrt/seq/drtitts.h dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h dcmrt/include/dcmtk/dcmrt/seq/drtiws.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h dcmrt/include/dcmtk/dcmrt/seq/drtmas.h dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtmls.h dcmrt/include/dcmtk/dcmrt/seq/drtmps.h dcmrt/include/dcmtk/dcmrt/seq/drtmris.h dcmrt/include/dcmtk/dcmrt/seq/drtmss.h dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h dcmrt/include/dcmtk/dcmrt/seq/drtoas.h dcmrt/include/dcmtk/dcmrt/seq/drtois.h dcmrt/include/dcmtk/dcmrt/seq/drtopis.h dcmrt/include/dcmtk/dcmrt/seq/drtos.h dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h dcmrt/include/dcmtk/dcmrt/seq/drtpics.h dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h dcmrt/include/dcmtk/dcmrt/seq/drtporis.h dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h dcmrt/include/dcmtk/dcmrt/seq/drtpss.h dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h dcmrt/include/dcmtk/dcmrt/seq/drtqds.h dcmrt/include/dcmtk/dcmrt/seq/drtras.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrds.h dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h dcmrt/include/dcmtk/dcmrt/seq/drtrics.h dcmrt/include/dcmtk/dcmrt/seq/drtrims.h dcmrt/include/dcmtk/dcmrt/seq/drtris.h dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h dcmrt/include/dcmtk/dcmrt/seq/drtrps.h dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h dcmrt/include/dcmtk/dcmrt/seq/drtrses.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h dcmrt/include/dcmtk/dcmrt/seq/drtrws.h dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h dcmrt/include/dcmtk/dcmrt/seq/drtscris.h dcmrt/include/dcmtk/dcmrt/seq/drtscs.h dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtsds.h dcmrt/include/dcmtk/dcmrt/seq/drtshds.h dcmrt/include/dcmtk/dcmrt/seq/drtsins.h dcmrt/include/dcmtk/dcmrt/seq/drtsis.h dcmrt/include/dcmtk/dcmrt/seq/drtsns.h dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h dcmrt/include/dcmtk/dcmrt/seq/drtss.h dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h dcmrt/include/dcmtk/dcmrt/seq/drtsss.h dcmrt/include/dcmtk/dcmrt/seq/drttms0.h dcmrt/include/dcmtk/dcmrt/seq/drttms9.h dcmrt/include/dcmtk/dcmrt/seq/drttscds.h dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h dcmrt/include/dcmtk/dcmrt/seq/drttts.h dcmrt/include/dcmtk/dcmrt/seq/drtudis.h dcmrt/include/dcmtk/dcmrt/seq/drtvls.h dcmrt/include/dcmtk/dcmrt/seq/drtwps.h dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtws.h dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h - Fixed Doxygen-related issues in the documentation: Added missing documentation for parameters and return values. Affects: dcmimage/include/dcmtk/dcmimage/dicoimg.h dcmimgle/include/dcmtk/dcmimgle/dcmimage.h dcmimgle/include/dcmtk/dcmimgle/diimage.h dcmimgle/include/dcmtk/dcmimgle/dimoimg.h dcmimgle/include/dcmtk/dcmimgle/dimomod.h dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h - Enabled Doxygen's WARN_NO_PARAMDOC option: Enabled Doxygen's WARN_NO_PARAMDOC option in order to get a warning to the "doxygen/htmldocs.log" file on undocumented parameters and return values. Affects: doxygen/htmldocs.cfg - Various Doxygen-related fixes to documentation: Fixed various Doxygen-related issues in the documentation of the API, e.g. unresolved references to members of a base class or undocumented parameters and return values of methods. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrposcn.h dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h dcmsr/include/dcmtk/dcmsr/dsrscovl.h dcmsr/include/dcmtk/dcmsr/dsrtcovl.h dcmsr/include/dcmtk/dcmsr/dsrxmld.h - Renamed empty() methods to isEmpty(): Renamed remaining empty() methods to isEmpty() for reasons of consistency. Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h dcmsr/include/dcmtk/dcmsr/dsrrefin.h dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/libsrc/dsrcsidl.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrrefin.cc dcmsr/libsrc/dsrsoprf.cc - Added new method hasVerifyingObservers(): Added new method DSRDocument::hasVerifyingObservers(). Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc - Made getNumberOfVerifyingObservers() const: Made method DSRDocument::getNumberOfVerifyingObservers() "constant". Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc **** Changes from 2016.11.04 (riesmeier) - Made "ReportType" optional in XML Schema: Made "type" attribute optional for "report" element in XML Schema. This is because the readXML() of the DSRDocument class does not require it (in fact, it does not even use it). Also fixed a wrong name for one of the "ReportType" enumerations. Affects: dcmsr/data/dsr2xml.xsd - Removed check on arrays being not a null pointer: Removed comparison of char arrays being not equal to a null pointer since this is always true. This fix should avoid warning messages reported by Clang 3.5. Affects: dcmpstat/libsrc/dviface.cc **** Changes from 2016.11.03 (riesmeier) - Added support for missing "ReportType" values: Over the years, support for various new DICOM SR IODs has been added to the "dcmsr" module but the XML Schema was not updated in this regard. Now, the list of "ReportType" enumerated values is again up-to-date. Affects: dcmsr/data/dsr2xml.xsd - Added support for InstanceCreatorUID to readXML(): Added missing support for the InstanceCreatorUID to readXML(). The writeXML() already supported this optional XML attribute. Affects: dcmsr/libsrc/dsrdoc.cc **** Changes from 2016.11.02 (schlamelcher) - Updated CHANGES.361 for new development snapshot. Affects: docs/CHANGES.361 - Updated DCMTK_ABI_VERSION for new development snapshot. Affects: CMake/dcmtkPrepare.cmake - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/dcm2pdf.1 doxygen/manpages/man1/dcm2pnm.1 doxygen/manpages/man1/dcm2xml.1 doxygen/manpages/man1/dcmcjpeg.1 doxygen/manpages/man1/dcmcjpls.1 doxygen/manpages/man1/dcmconv.1 doxygen/manpages/man1/dcmcrle.1 doxygen/manpages/man1/dcmdjpeg.1 doxygen/manpages/man1/dcmdjpls.1 doxygen/manpages/man1/dcmdrle.1 doxygen/manpages/man1/dcmdspfn.1 doxygen/manpages/man1/dcmdump.1 doxygen/manpages/man1/dcmftest.1 doxygen/manpages/man1/dcmgpdir.1 doxygen/manpages/man1/dcmj2pnm.1 doxygen/manpages/man1/dcml2pnm.1 doxygen/manpages/man1/dcmmkcrv.1 doxygen/manpages/man1/dcmmkdir.1 doxygen/manpages/man1/dcmmklut.1 doxygen/manpages/man1/dcmodify.1 doxygen/manpages/man1/dcmp2pgm.1 doxygen/manpages/man1/dcmprscp.1 doxygen/manpages/man1/dcmprscu.1 doxygen/manpages/man1/dcmpschk.1 doxygen/manpages/man1/dcmpsmk.1 doxygen/manpages/man1/dcmpsprt.1 doxygen/manpages/man1/dcmpsrcv.1 doxygen/manpages/man1/dcmpssnd.1 doxygen/manpages/man1/dcmqridx.1 doxygen/manpages/man1/dcmqrscp.1 doxygen/manpages/man1/dcmqrti.1 doxygen/manpages/man1/dcmquant.1 doxygen/manpages/man1/dcmrecv.1 doxygen/manpages/man1/dcmscale.1 doxygen/manpages/man1/dcmsend.1 doxygen/manpages/man1/dcmsign.1 doxygen/manpages/man1/dcod2lum.1 doxygen/manpages/man1/dconvlum.1 doxygen/manpages/man1/drtdump.1 doxygen/manpages/man1/dsr2html.1 doxygen/manpages/man1/dsr2xml.1 doxygen/manpages/man1/dsrdump.1 doxygen/manpages/man1/dump2dcm.1 doxygen/manpages/man1/echoscu.1 doxygen/manpages/man1/findscu.1 doxygen/manpages/man1/getscu.1 doxygen/manpages/man1/img2dcm.1 doxygen/manpages/man1/movescu.1 doxygen/manpages/man1/pdf2dcm.1 doxygen/manpages/man1/storescp.1 doxygen/manpages/man1/storescu.1 doxygen/manpages/man1/termscu.1 doxygen/manpages/man1/wlmscpfs.1 doxygen/manpages/man1/xml2dcm.1 doxygen/manpages/man1/xml2dsr.1 - Updated Makefile dependencies. Affects: ofstd/libsrc/Makefile.dep - Added API documentation for OFvariant etc. Affects: ofstd/include/dcmtk/ofstd/ofutil.h ofstd/include/dcmtk/ofstd/ofvriant.h **** Changes from 2016.11.01 (riesmeier) - Added readXML mode that accepts empty/missing UID: Added new mode to readXML() that accepts empty or missing Study/Series/ SOP Instance UID values in the input document. This is required if only some of these three UID values should be re-generated (replaced). Now, option --generate-new-uids (with --dont-overwrite-uids) works as expected. Thanks to Martin Wenger for the original report that resulted in this improvement/fix. Affects: dcmsr/apps/xml2dsr.cc dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/include/dcmtk/dcmsr/dsrxmld.h dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrtypes.cc dcmsr/libsrc/dsrxmld.cc - Output debug messages when updating attributes: Output messages to the debug logger when updating DICOM header attributes, especially when generating new Study / Series / SOP Instance UIDs. Affects: dcmsr/libsrc/dsrdoc.cc - Made clear that options +/-Uo require +Ug: Now it is checked whether option --generate-new-uids (+Ug) is used when --overwrite-uids (+Uo) or --dont-overwrite-uids (-Uo) is also specified on the command line. This should avoid possible confusions. Affects: dcmdata/apps/xml2dcm.cc dcmsr/apps/xml2dsr.cc **** Changes from 2016.10.31 (schlamelcher) - Added OFvariant implementation for C++11: Closes DCMTK bug #693. Affects: dcmiod/include/dcmtk/dcmiod/iodimage.h dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h ofstd/include/dcmtk/ofstd/ofutil.h ofstd/include/dcmtk/ofstd/ofvriant.h **** Changes from 2016.10.30 (schlamelcher) - Fixed a problem with a previous commit: A line in a previous commit was truncated, leading to compiler errors. Affects: dcmpstat/libsrc/dviface.cc **** Changes from 2016.10.28 (schlamelcher) - Fixed using third party libraries with MinGW: Modified 3rdparty.cmake such that MinGW is handled the same as Unix like systems regarding the integration of third party libraries. Affects: CMake/3rdparty.cmake - Fixed 32 vs. 64 bit problem in dcmqrdb: Fixed incompatibility of dcmqrdb databases between 32 bit and 64 bit code on the same platform. Don't forget to re-create your databases using dcmqridx. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h - Several fixes for dcmpstat: Fixed detecting structured reporting objects based on the SOP class. Fixed print job execution and cleanup. Print job executing was bugged when the name of one print job was a prefix to the name of another print job. Fixed deadlock in instanceReviewed() regarding database access. Fixed opening files named using non ASCII characters (only relevant on Windows). Affects: dcmpstat/apps/dcmprscu.cc dcmpstat/libsrc/dviface.cc dcmpstat/libsrc/dvpshlp.cc - Fixed wrong usage of checkStringValue() in dcmpmap: Fixed passing the attribute type to checkStringValue() where the value multi- plicity is expected. Affects: dcmpmap/libsrc/dpmmodparametricmapimage.cc **** Changes from 2016.10.12 (riesmeier) - Added comment on recently added DICOM attributes: Added comment on DICOM attributes that were recently added to the DICOM standard but which are not (yet) supported by the "dcmsr" module. As usual, these "things to be done" can be found by searching for "tbd:" in the source code of this module. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/include/dcmtk/dcmsr/dsrdoc.h - Updated "dcmrt" classes based on DICOM 2016d: Updated automatically generated IOD and sequence C++ classes for the various RT objects based on the current edition of the DICOM standard (2016d). Added: dcmrt/include/dcmtk/dcmrt/seq/drtcgis.h dcmrt/include/dcmtk/dcmrt/seq/drtdddps.h dcmrt/include/dcmtk/dcmrt/seq/drtddps.h dcmrt/include/dcmtk/dcmrt/seq/drtgpis.h dcmrt/include/dcmtk/dcmrt/seq/drtmris.h dcmrt/include/dcmtk/dcmrt/seq/drtpdeds.h dcmrt/include/dcmtk/dcmrt/seq/drtscs.h dcmrt/include/dcmtk/dcmrt/seq/drtsins.h dcmrt/include/dcmtk/dcmrt/seq/drtspgis.h dcmrt/include/dcmtk/dcmrt/seq/drtsptcs.h dcmrt/include/dcmtk/dcmrt/seq/drtssrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtsss.h dcmrt/include/dcmtk/dcmrt/seq/drtudis.h dcmrt/libsrc/drtcgis.cc dcmrt/libsrc/drtdddps.cc dcmrt/libsrc/drtddps.cc dcmrt/libsrc/drtgpis.cc dcmrt/libsrc/drtmris.cc dcmrt/libsrc/drtpdeds.cc dcmrt/libsrc/drtscs.cc dcmrt/libsrc/drtsins.cc dcmrt/libsrc/drtspgis.cc dcmrt/libsrc/drtsptcs.cc dcmrt/libsrc/drtssrcs.cc dcmrt/libsrc/drtsss.cc dcmrt/libsrc/drtudis.cc Removed: dcmrt/include/dcmtk/dcmrt/seq/drtarics.h dcmrt/libsrc/drtarics.cc Affects: dcmrt/apps/Makefile.dep dcmrt/include/dcmtk/dcmrt/drtdose.h dcmrt/include/dcmtk/dcmrt/drtimage.h dcmrt/include/dcmtk/dcmrt/drtionpl.h dcmrt/include/dcmtk/dcmrt/drtiontr.h dcmrt/include/dcmtk/dcmrt/drtplan.h dcmrt/include/dcmtk/dcmrt/drtstrct.h dcmrt/include/dcmtk/dcmrt/drttreat.h dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtads.h dcmrt/include/dcmtk/dcmrt/seq/drtafs.h dcmrt/include/dcmtk/dcmrt/seq/drtags.h dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h dcmrt/include/dcmtk/dcmrt/seq/drtas1.h dcmrt/include/dcmtk/dcmrt/seq/drtas5.h dcmrt/include/dcmtk/dcmrt/seq/drtas6.h dcmrt/include/dcmtk/dcmrt/seq/drtas7.h dcmrt/include/dcmtk/dcmrt/seq/drtass.h dcmrt/include/dcmtk/dcmrt/seq/drtbads.h dcmrt/include/dcmtk/dcmrt/seq/drtbas.h dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbs.h dcmrt/include/dcmtk/dcmrt/seq/drtbss.h dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h dcmrt/include/dcmtk/dcmrt/seq/drtccs.h dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtces.h dcmrt/include/dcmtk/dcmrt/seq/drtchs.h dcmrt/include/dcmtk/dcmrt/seq/drtcims.h dcmrt/include/dcmtk/dcmrt/seq/drtcis.h dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h dcmrt/include/dcmtk/dcmrt/seq/drtcos.h dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h dcmrt/include/dcmtk/dcmrt/seq/drtcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h dcmrt/include/dcmtk/dcmrt/seq/drtcss.h dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdias.h dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtds.h dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdss.h dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h dcmrt/include/dcmtk/dcmrt/seq/drteas.h dcmrt/include/dcmtk/dcmrt/seq/drtecs.h dcmrt/include/dcmtk/dcmrt/seq/drtes.h dcmrt/include/dcmtk/dcmrt/seq/drtfds.h dcmrt/include/dcmtk/dcmrt/seq/drtfes.h dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h dcmrt/include/dcmtk/dcmrt/seq/drtfms.h dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h dcmrt/include/dcmtk/dcmrt/seq/drtgas.h dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtiais.h dcmrt/include/dcmtk/dcmrt/seq/drtians.h dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h dcmrt/include/dcmtk/dcmrt/seq/drtibls.h dcmrt/include/dcmtk/dcmrt/seq/drtibs.h dcmrt/include/dcmtk/dcmrt/seq/drticpds.h dcmrt/include/dcmtk/dcmrt/seq/drticps.h dcmrt/include/dcmtk/dcmrt/seq/drtics.h dcmrt/include/dcmtk/dcmrt/seq/drtiis.h dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h dcmrt/include/dcmtk/dcmrt/seq/drtircs.h dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h dcmrt/include/dcmtk/dcmrt/seq/drtitts.h dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h dcmrt/include/dcmtk/dcmrt/seq/drtiws.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h dcmrt/include/dcmtk/dcmrt/seq/drtmas.h dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtmls.h dcmrt/include/dcmtk/dcmrt/seq/drtmps.h dcmrt/include/dcmtk/dcmrt/seq/drtmss.h dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h dcmrt/include/dcmtk/dcmrt/seq/drtoas.h dcmrt/include/dcmtk/dcmrt/seq/drtois.h dcmrt/include/dcmtk/dcmrt/seq/drtopis.h dcmrt/include/dcmtk/dcmrt/seq/drtos.h dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h dcmrt/include/dcmtk/dcmrt/seq/drtpics.h dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h dcmrt/include/dcmtk/dcmrt/seq/drtporis.h dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h dcmrt/include/dcmtk/dcmrt/seq/drtpss.h dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h dcmrt/include/dcmtk/dcmrt/seq/drtqds.h dcmrt/include/dcmtk/dcmrt/seq/drtras.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrds.h dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h dcmrt/include/dcmtk/dcmrt/seq/drtrics.h dcmrt/include/dcmtk/dcmrt/seq/drtrims.h dcmrt/include/dcmtk/dcmrt/seq/drtris.h dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h dcmrt/include/dcmtk/dcmrt/seq/drtrps.h dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h dcmrt/include/dcmtk/dcmrt/seq/drtrses.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h dcmrt/include/dcmtk/dcmrt/seq/drtrws.h dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h dcmrt/include/dcmtk/dcmrt/seq/drtscris.h dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtsds.h dcmrt/include/dcmtk/dcmrt/seq/drtshds.h dcmrt/include/dcmtk/dcmrt/seq/drtsis.h dcmrt/include/dcmtk/dcmrt/seq/drtsns.h dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtss.h dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h dcmrt/include/dcmtk/dcmrt/seq/drttms0.h dcmrt/include/dcmtk/dcmrt/seq/drttms9.h dcmrt/include/dcmtk/dcmrt/seq/drttscds.h dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h dcmrt/include/dcmtk/dcmrt/seq/drttts.h dcmrt/include/dcmtk/dcmrt/seq/drtvls.h dcmrt/include/dcmtk/dcmrt/seq/drtwps.h dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtws.h dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h dcmrt/libsrc/CMakeLists.txt dcmrt/libsrc/Makefile.dep dcmrt/libsrc/Makefile.in dcmrt/libsrc/drtaadcs.cc dcmrt/libsrc/drtadcs.cc dcmrt/libsrc/drtads.cc dcmrt/libsrc/drtafs.cc dcmrt/libsrc/drtags.cc dcmrt/libsrc/drtajcs.cc dcmrt/libsrc/drtas1.cc dcmrt/libsrc/drtas5.cc dcmrt/libsrc/drtas6.cc dcmrt/libsrc/drtas7.cc dcmrt/libsrc/drtass.cc dcmrt/libsrc/drtbads.cc dcmrt/libsrc/drtbas.cc dcmrt/libsrc/drtbcps.cc dcmrt/libsrc/drtbl2.cc dcmrt/libsrc/drtbl5.cc dcmrt/libsrc/drtbldls.cc dcmrt/libsrc/drtbldps.cc dcmrt/libsrc/drtblds1.cc dcmrt/libsrc/drtblds5.cc dcmrt/libsrc/drtblds6.cc dcmrt/libsrc/drtbldts.cc dcmrt/libsrc/drtbrcss.cc dcmrt/libsrc/drtbrdrs.cc dcmrt/libsrc/drtbrs.cc dcmrt/libsrc/drtbs.cc dcmrt/libsrc/drtbss.cc dcmrt/libsrc/drtbvcps.cc dcmrt/libsrc/drtcbars.cc dcmrt/libsrc/drtccs.cc dcmrt/libsrc/drtcctus.cc dcmrt/libsrc/drtcdrs.cc dcmrt/libsrc/drtces.cc dcmrt/libsrc/drtchs.cc dcmrt/libsrc/drtcims.cc dcmrt/libsrc/drtcis.cc dcmrt/libsrc/drtcncs.cc dcmrt/libsrc/drtcos.cc dcmrt/libsrc/drtcpas.cc dcmrt/libsrc/drtcpis.cc dcmrt/libsrc/drtcps.cc dcmrt/libsrc/drtcs.cc dcmrt/libsrc/drtcsas.cc dcmrt/libsrc/drtcshs.cc dcmrt/libsrc/drtcsis.cc dcmrt/libsrc/drtcss.cc dcmrt/libsrc/drtdcs.cc dcmrt/libsrc/drtdias.cc dcmrt/libsrc/drtdimcs.cc dcmrt/libsrc/drtdimrs.cc dcmrt/libsrc/drtdirs.cc dcmrt/libsrc/drtdose.cc dcmrt/libsrc/drtdrs.cc dcmrt/libsrc/drtds.cc dcmrt/libsrc/drtdspcs.cc dcmrt/libsrc/drtdss.cc dcmrt/libsrc/drtdvhs.cc dcmrt/libsrc/drtdvrrs.cc dcmrt/libsrc/drteas.cc dcmrt/libsrc/drtecs.cc dcmrt/libsrc/drtes.cc dcmrt/libsrc/drtfds.cc dcmrt/libsrc/drtfes.cc dcmrt/libsrc/drtfgs.cc dcmrt/libsrc/drtfgss.cc dcmrt/libsrc/drtfms.cc dcmrt/libsrc/drtfsss.cc dcmrt/libsrc/drtgas.cc dcmrt/libsrc/drthsdrs.cc dcmrt/libsrc/drtiais.cc dcmrt/libsrc/drtians.cc dcmrt/libsrc/drtiblds.cc dcmrt/libsrc/drtibls.cc dcmrt/libsrc/drtibs.cc dcmrt/libsrc/drticpds.cc dcmrt/libsrc/drticps.cc dcmrt/libsrc/drtics.cc dcmrt/libsrc/drtiis.cc dcmrt/libsrc/drtimage.cc dcmrt/libsrc/drtionpl.cc dcmrt/libsrc/drtiontr.cc dcmrt/libsrc/drtipiqs.cc dcmrt/libsrc/drtircs.cc dcmrt/libsrc/drtiseis.cc dcmrt/libsrc/drtitts.cc dcmrt/libsrc/drtiwps.cc dcmrt/libsrc/drtiws.cc dcmrt/libsrc/drtlsds.cc dcmrt/libsrc/drtlsds6.cc dcmrt/libsrc/drtlsds7.cc dcmrt/libsrc/drtmacds.cc dcmrt/libsrc/drtmas.cc dcmrt/libsrc/drtmdrs.cc dcmrt/libsrc/drtmls.cc dcmrt/libsrc/drtmps.cc dcmrt/libsrc/drtmss.cc dcmrt/libsrc/drtmucs.cc dcmrt/libsrc/drtoas.cc dcmrt/libsrc/drtois.cc dcmrt/libsrc/drtopis.cc dcmrt/libsrc/drtos.cc dcmrt/libsrc/drtpbcs.cc dcmrt/libsrc/drtpcs.cc dcmrt/libsrc/drtpcxs.cc dcmrt/libsrc/drtpdecs.cc dcmrt/libsrc/drtpfms.cc dcmrt/libsrc/drtpics.cc dcmrt/libsrc/drtplan.cc dcmrt/libsrc/drtporcs.cc dcmrt/libsrc/drtporis.cc dcmrt/libsrc/drtppcs.cc dcmrt/libsrc/drtprsis.cc dcmrt/libsrc/drtpscs.cc dcmrt/libsrc/drtpsics.cc dcmrt/libsrc/drtpss.cc dcmrt/libsrc/drtpsss.cc dcmrt/libsrc/drtpvis.cc dcmrt/libsrc/drtqds.cc dcmrt/libsrc/drtras.cc dcmrt/libsrc/drtrbas2.cc dcmrt/libsrc/drtrbas8.cc dcmrt/libsrc/drtrbls.cc dcmrt/libsrc/drtrbos1.cc dcmrt/libsrc/drtrbos6.cc dcmrt/libsrc/drtrbos7.cc dcmrt/libsrc/drtrbs2.cc dcmrt/libsrc/drtrbs4.cc dcmrt/libsrc/drtrbs8.cc dcmrt/libsrc/drtrcdrs.cc dcmrt/libsrc/drtrcos.cc dcmrt/libsrc/drtrcps.cc dcmrt/libsrc/drtrcs.cc dcmrt/libsrc/drtrdros.cc dcmrt/libsrc/drtrdrs1.cc dcmrt/libsrc/drtrdrs6.cc dcmrt/libsrc/drtrdrs8.cc dcmrt/libsrc/drtrds.cc dcmrt/libsrc/drtrecs.cc dcmrt/libsrc/drtrfgs.cc dcmrt/libsrc/drtrfors.cc dcmrt/libsrc/drtrics.cc dcmrt/libsrc/drtrims.cc dcmrt/libsrc/drtris.cc dcmrt/libsrc/drtrlsds.cc dcmrt/libsrc/drtrmdrs.cc dcmrt/libsrc/drtrms.cc dcmrt/libsrc/drtrmss6.cc dcmrt/libsrc/drtrmss7.cc dcmrt/libsrc/drtrpcs.cc dcmrt/libsrc/drtrpis.cc dcmrt/libsrc/drtrppcs.cc dcmrt/libsrc/drtrpphs.cc dcmrt/libsrc/drtrpps.cc dcmrt/libsrc/drtrppss.cc dcmrt/libsrc/drtrps.cc dcmrt/libsrc/drtrris1.cc dcmrt/libsrc/drtrris6.cc dcmrt/libsrc/drtrris9.cc dcmrt/libsrc/drtrrms.cc dcmrt/libsrc/drtrros.cc dcmrt/libsrc/drtrrpcs.cc dcmrt/libsrc/drtrrros.cc dcmrt/libsrc/drtrrs.cc dcmrt/libsrc/drtrrshs.cc dcmrt/libsrc/drtrrtps.cc dcmrt/libsrc/drtrrtps3.cc dcmrt/libsrc/drtrrtps4.cc dcmrt/libsrc/drtrrtps5.cc dcmrt/libsrc/drtrscs.cc dcmrt/libsrc/drtrsers.cc dcmrt/libsrc/drtrses.cc dcmrt/libsrc/drtrshs.cc dcmrt/libsrc/drtrshs6.cc dcmrt/libsrc/drtrshs7.cc dcmrt/libsrc/drtrsis.cc dcmrt/libsrc/drtrsns.cc dcmrt/libsrc/drtrsos.cc dcmrt/libsrc/drtrsrs.cc dcmrt/libsrc/drtrss.cc dcmrt/libsrc/drtrsss.cc dcmrt/libsrc/drtrsts.cc dcmrt/libsrc/drtrtrs2.cc dcmrt/libsrc/drtrtrs4.cc dcmrt/libsrc/drtrvis.cc dcmrt/libsrc/drtrws.cc dcmrt/libsrc/drtrwvms.cc dcmrt/libsrc/drtscris.cc dcmrt/libsrc/drtsdcs.cc dcmrt/libsrc/drtsds.cc dcmrt/libsrc/drtshds.cc dcmrt/libsrc/drtsis.cc dcmrt/libsrc/drtsns.cc dcmrt/libsrc/drtspccs.cc dcmrt/libsrc/drtspcs.cc dcmrt/libsrc/drtss.cc dcmrt/libsrc/drtssrs.cc dcmrt/libsrc/drtstrct.cc dcmrt/libsrc/drttms0.cc dcmrt/libsrc/drttms9.cc dcmrt/libsrc/drttreat.cc dcmrt/libsrc/drttscds.cc dcmrt/libsrc/drttsibs.cc dcmrt/libsrc/drttsmds.cc dcmrt/libsrc/drttts.cc dcmrt/libsrc/drtvls.cc dcmrt/libsrc/drtwps.cc dcmrt/libsrc/drtwrs.cc dcmrt/libsrc/drtwrsrs.cc dcmrt/libsrc/drtws.cc dcmrt/libsrc/drtxrs.cc dcmrt/tests/Makefile.dep - Fixed typo in comments. Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h **** Changes from 2016.10.04 (riesmeier) - Updated Context Group classes for DICOM 2016d: Updated automatically generated Context Group classes for the 2016d edition of the DICOM standard. There were no changes to the supported Context Groups. Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h dcmsr/libcmr/cid100.cc dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid244.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid6147.cc dcmsr/libcmr/cid7021.cc dcmsr/libcmr/cid7181.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc dcmsr/libcmr/cid7464.cc dcmsr/libcmr/cid7469.cc - Updated code definitions for DICOM 2016d: Updated automatically generated code definitions for coding scheme "DCM", "NCIt" and "UMLS" for the 2016d edition of the DICOM standard. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h dcmsr/include/dcmtk/dcmsr/codes/ncit.h dcmsr/include/dcmtk/dcmsr/codes/umls.h - Update data dictionary for DICOM 2016d. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc **** Changes from 2016.10.04 (schlamelcher) - Fixed a problem in OFtuple's constructor: GCC 6.2.1 wasn't able to compile OFtuple's constructor, which is fixed in this commit. Affects: ofstd/include/dcmtk/ofstd/oftuple.h **** Changes from 2016.09.22 (riesmeier) - Added new DCMTK modules "dcmtract" and "dcmpmap": These two (still pretty new) modules were missing in the README file. Also updated description of "dcmsr" module in order to be consistent with the Doxygen file. Affects: README **** Changes from 2016.09.21 (onken) - Make Manufacturer type 2, consistency fixes: Thanks to Jörg Riesmeier for the hint and proposed patch. Affects: dcmiod/include/dcmtk/dcmiod/modenhequipment.h dcmiod/include/dcmtk/dcmiod/modequipment.h dcmiod/libsrc/modenhequipment.cc dcmiod/libsrc/modequipment.cc **** Changes from 2016.09.20 (riesmeier) - Disable two test cases when building shared libs: Temporarily disable two new test cases when building shared libraries because of unresolvable linker errors (static member "EmptyItem" not found). See DCMTK Bug #694. Affects: dcmsr/tests/Makefile.dep dcmsr/tests/tsrlist.cc **** Changes from 2016.09.19 (riesmeier) - Fixed compiler warnings on unused variables: Fixed compiler warnings on unused variables reported by Visual Studio 2010. Affects: dcmjpls/libcharls/intrface.cc - Fixed linker errors on non-gcc platforms: Fixed linker errors on non-gcc platforms that occurred after adding new "dcmsr" test cases (which make use of the class DSRListOfItems). Affects: dcmsr/tests/tsrlist.cc **** Changes from 2016.09.17 (riesmeier) - Added missing source file (new test cases): Added new source file that was missing for the previous commit. Added: dcmsr/tests/tsrlist.cc **** Changes from 2016.09.16 (hasenpusch) - Fixed include paths in DCMTK's package config file: Fixed exporting wrong module include paths inside generated DCMTKConfig.cmake. The specified module include paths went two levels too deep into the folder hierarchy, leading to system include shadowing under certain circumstances. This fixes DCMTK bug #692. Thanks to forum user jakecobb for reporting this bug. Affects: CMake/DCMTKConfig.cmake.in **** Changes from 2016.09.16 (riesmeier) - Enhanced template class DSRListOfItems: Added new methods addItems() and getItems() to the template class DSRListOfItems. These new methods expect a vector as a parameter and thus allow for adding/getting multiple items with a single call. Closes DCMTK Feature #572. Affects: dcmsr/include/dcmtk/dcmsr/dsrtlist.h dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.in dcmsr/tests/tests.cc **** Changes from 2016.09.15 (schlamelcher) - Further fixes for OFvariant: OFvariant's copy constructor and assignment operator are now disabled for types that can not be converted to one of the variant's alternatives (using OFenable_if). Fixed OFvariant's fallback implementation for systems that do not provide memory alignment facilities. Affects: ofstd/include/dcmtk/ofstd/variadic/variant.h **** Changes from 2016.09.14 (riesmeier) - Fixed minor issues in modules' documentation: Fixed minor issues in modules' documentation of "dcmpmap" und "dcmtract". Some of these are related to Doxygen (the tool that is used for generating the rendered output) and some have been fixed for reasons of consistency with other DCMTK modules. Affects: dcmpmap/docs/dcmpmap.dox dcmtract/docs/dcmtract.dox **** Changes from 2016.09.14 (schlamelcher) - Fixes for OFvariant, dcmiod, dcmseg and dcmpmap: Removed DLL export macros from several template classes as this does not seem to work for templates. Introduced a workaround for older C++ compilers regarding base class definitions in derived classes, e.g. OFvariant will not be available as OFvariant (without the template parameters) in derived classes on these compilers. OFvariant and DcmIODImage now define the types 'variant' and 'IODImage' resp. instead, which may be used in derived classes for referring to the resp. base class or one of its methods etc. Affects: dcmiod/include/dcmtk/dcmiod/iodimage.h dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h dcmpmap/libsrc/dpmparametricmapbase.cc dcmseg/libsrc/segdoc.cc ofstd/include/dcmtk/ofstd/variadic/variant.h **** Changes from 2016.09.13 (schlamelcher) - Trying possible fix for OFvariant vs DLLs. Affects: ofstd/include/dcmtk/ofstd/ofutil.h ofstd/libsrc/ofstd.cc **** Changes from 2016.09.12 (riesmeier) - Updated coding scheme designator (CP-1567): Updated coding scheme designator for CID 5000 (Languages) based on recently approved CP-1567: The designator changed from "IETF4646" to "RFC5646". Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h dcmsr/libcmr/cid5000.cc - Added support for recently approved CPs: Added support for CP-1418 and CP-1586 to the data dictionary. These CPs were approved during last week's DICOM WG-06 t-con. Also fixed an attribute name change in "dcmrt" due to retirement. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc dcmrt/libsrc/drtarics.cc - Added support for new UIDs from Supplement 121: Added support for new Storage and Query/Retrieve SOP Class UIDs from Supplement 121 (CT Protocol Storage). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for Supplement 121 to dictionary: Added support for the final text version of Supplement 121 (CT Protocol Storage) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc **** Changes from 2016.09.10 (onken) - Corrected value checking and setters for VM > 1: Some value checks have been filling the VM parameter incorrectly by providing the value type (like "1C") instead, leading to an error if value checking is not disabled. Thanks to Andrey Fedorov for the bug report. Also, some type of values (e.g. Floating Point Value) allow more than one value which is now possible using an optional parameter in the related setter() method. Affects: dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h dcmiod/libsrc/iodcontentitemmacro.cc **** Changes from 2016.09.05 (onken) - Fixed typos and other enhancements. Affects: dcmpmap/docs/dcmpmap.dox **** Changes from 2016.09.02 (onken) - Make sure setValueType() sets correct string value: Due to a copy/paste error setValueType() has constantly set the value "CODE" instead of the value provided by the user. Affects: dcmiod/libsrc/iodcontentitemmacro.cc **** Changes from 2016.09.01 (onken) - Remove default value for first parameter: Remove default value for first method parameter in constructor since otherwise Visual Studio moans that it overlaps with the default constructor (which is undefined and private, though). Affects: dcmiod/include/dcmtk/dcmiod/iodmacro.h - Introduced new module dcmpmap for Parametric Maps: The new dcmpmap module offers an API for creation, loading, accessing and saving DICOM Parametric Map objects as introduced in DICOM Supplement 172. All binary data types supported by the standard (16 bit signed and unsigned integer as well as 32 bit and 64 bit floating point data) are handled by the library. Acknowledgement: This work has been supported in part by the "QIICR" project. QIICR is supported by NIH National Cancer Institute, award U24 CA180918. Added: dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h dcmfg/include/dcmtk/dcmfg/fgidentpixeltransform.h dcmfg/include/dcmtk/dcmfg/fgparametricmapframetype.h dcmfg/libsrc/fgframeanatomy.cc dcmfg/libsrc/fgidentpixeltransform.cc dcmfg/libsrc/fgparametricmapframetype.cc dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h dcmiod/libsrc/iodcontentitemmacro.cc dcmiod/libsrc/modfloatingpointimagepixel.cc dcmiod/libsrc/modimagepixelbase.cc dcmiod/tests/timagepixel.cc dcmpmap/CMakeLists.txt dcmpmap/Makefile.in dcmpmap/configure dcmpmap/data/Makefile.in dcmpmap/docs/Makefile.in dcmpmap/docs/dcmpmap.dox dcmpmap/etc/Makefile.in dcmpmap/include/CMakeLists.txt dcmpmap/include/Makefile.in dcmpmap/include/dcmtk/dcmpmap/dpmdef.h dcmpmap/include/dcmtk/dcmpmap/dpmmodparametricmapimage.h dcmpmap/include/dcmtk/dcmpmap/dpmmodparametricmapseries.h dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapbase.h dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h dcmpmap/include/dcmtk/dcmpmap/dpmtypes.h dcmpmap/libsrc/CMakeLists.txt dcmpmap/libsrc/Makefile.dep dcmpmap/libsrc/Makefile.in dcmpmap/libsrc/dpmmodparametricmapimage.cc dcmpmap/libsrc/dpmmodparametricmapseries.cc dcmpmap/libsrc/dpmparametricmapbase.cc dcmpmap/libsrc/dpmparametricmapiod.cc dcmpmap/libsrc/dpmtypes.cc dcmpmap/tests/Makefile.dep dcmpmap/tests/Makefile.in ofstd/include/dcmtk/ofstd/ofvriant.h ofstd/include/dcmtk/ofstd/variadic/helpers.h ofstd/include/dcmtk/ofstd/variadic/variant.h ofstd/tests/tvariant.cc Removed: dcmiod/libsrc/iodimage.cc Affects: CMakeLists.txt Makefile config/modules dcmdata/include/dcmtk/dcmdata/dcerror.h dcmfg/include/dcmtk/dcmfg/fgderimg.h dcmfg/include/dcmtk/dcmfg/fgfracon.h dcmfg/include/dcmtk/dcmfg/fginterface.h dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h dcmfg/include/dcmtk/dcmfg/fgtypes.h dcmfg/include/dcmtk/dcmfg/stack.h dcmfg/libsrc/CMakeLists.txt dcmfg/libsrc/Makefile.dep dcmfg/libsrc/fgbase.cc dcmfg/libsrc/fgderimg.cc dcmfg/libsrc/fgfact.cc dcmfg/libsrc/fgfracon.cc dcmfg/libsrc/fgframevoilut.cc dcmfg/libsrc/fgimagedatatype.cc dcmfg/libsrc/fginterface.cc dcmfg/libsrc/fgpixmsr.cc dcmfg/libsrc/fgplanor.cc dcmfg/libsrc/fgplanorvol.cc dcmfg/libsrc/fgplanpo.cc dcmfg/libsrc/fgplanposvol.cc dcmfg/libsrc/fgrealworldvaluemapping.cc dcmfg/libsrc/fgseg.cc dcmfg/libsrc/fgtypes.cc dcmfg/libsrc/fgusimagedescription.cc dcmiod/include/dcmtk/dcmiod/iodcommn.h dcmiod/include/dcmtk/dcmiod/iodimage.h dcmiod/include/dcmtk/dcmiod/iodmacro.h dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/include/dcmtk/dcmiod/modbase.h dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h dcmiod/include/dcmtk/dcmiod/modenhequipment.h dcmiod/include/dcmtk/dcmiod/modequipment.h dcmiod/include/dcmtk/dcmiod/modfor.h dcmiod/include/dcmtk/dcmiod/modimagepixel.h dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h dcmiod/include/dcmtk/dcmiod/modsynchronisation.h dcmiod/libsrc/CMakeLists.txt dcmiod/libsrc/Makefile.dep dcmiod/libsrc/Makefile.in dcmiod/libsrc/iodcommn.cc dcmiod/libsrc/iodmacro.cc dcmiod/libsrc/modbase.cc dcmiod/libsrc/modcommoninstanceref.cc dcmiod/libsrc/modenhequipment.cc dcmiod/libsrc/modequipment.cc dcmiod/libsrc/modfor.cc dcmiod/libsrc/modimagepixel.cc dcmiod/libsrc/modmultiframedimension.cc dcmiod/libsrc/modmultiframefg.cc dcmiod/libsrc/modsynchronization.cc dcmiod/libsrc/modusfor.cc dcmiod/tests/CMakeLists.txt dcmiod/tests/Makefile.dep dcmiod/tests/Makefile.in dcmiod/tests/tests.cc dcmnet/libsrc/dstorscu.cc dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/libsrc/Makefile.dep dcmseg/libsrc/segdoc.cc dcmtract/libsrc/Makefile.dep doxygen/htmldocs.dox ofstd/include/dcmtk/ofstd/oftraits.h ofstd/include/dcmtk/ofstd/ofutil.h ofstd/libsrc/Makefile.dep ofstd/libsrc/ofstd.cc ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.dep ofstd/tests/Makefile.in ofstd/tests/tests.cc **** Changes from 2016.08.23 (riesmeier) - Fixed typos in comments and log output. Affects: config/Makefile.def.in dcmnet/libsrc/dulparse.cc **** Changes from 2016.08.22 (onken) - Optimized iterator usage to speed up execution. Affects: dcmfg/libsrc/fg.cc dcmfg/libsrc/fginterface.cc **** Changes from 2016.08.06 (onken) - Updated copyright. Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h dcmiod/libsrc/iodcommn.cc - Create SourceImageItem from DcmDataset as input: Thanks to Christian Herz for the suggested patch. Affects: dcmfg/include/dcmtk/dcmfg/fgderimg.h dcmfg/libsrc/fgderimg.cc - Moved import..() functionality into IODCommon: Moved import...() into base class of IOD classes in order to make it usable from all derived IOD implementations, e.g. Segmentation IOD in dcmseg, which directly offered this function before, and Parametric Maps IOD in dcmpmap. Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h dcmiod/libsrc/iodcommn.cc dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/libsrc/segdoc.cc **** Changes from 2016.08.03 (onken) - Switched VR and VM in comment. Affects: dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h **** Changes from 2016.07.27 (riesmeier) - Fixed warnings with Clang -Wparentheses-equality: Fixed warnings reported by Clang compiler, which uses -Wparentheses-equality by default, i.e. removed extraneous parentheses around equality comparison. Also fixed various typos in comments. Affects: dcmjpeg/libsrc/djcodece.cc **** Changes from 2016.07.25 (riesmeier) - Added explicit type cast to avoid warning: Added explicit typecast to a parameter value in order to avoid a warning reported by MSVC++ on Windows 64-bit systems. Affects: dcmimgle/libsrc/dimoimg.cc - Changed type of local variable to avoid warning: Changed type of local variable from size_t to unsigned long in order to avoid a warning reported by MSVC++ on Windows 64-bit systems. Affects: dcmjpeg/libsrc/ddpiimpl.cc **** Changes from 2016.07.19 (hasenpusch) - Fixed and refactored mutex & rwlock tests: Made sure thread 2 starts after thread 1 claims the first lock. Closes DCMTK bug #689. Affects: ofstd/tests/tthread.cc **** Changes from 2016.07.18 (riesmeier) - Fixed typos in comments. Affects: dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/libcmr/cid5000.cc oflog/include/dcmtk/oflog/oflog.h oflog/libsrc/oflog.cc **** Changes from 2016.07.08 (hasenpusch) - Fixed potential buffer overflow in libcharls: Libcharls' encoding facility now reallocates the given target buffer if the initial capacity happens to be too small. Closes DCMTK bug #688. Affects: dcmjpls/libcharls/decodstr.h dcmjpls/libcharls/encodstr.h dcmjpls/libcharls/header.cc dcmjpls/libcharls/intrface.cc dcmjpls/libcharls/intrface.h dcmjpls/libcharls/pubtypes.h dcmjpls/libcharls/scan.h dcmjpls/libcharls/streams.h dcmjpls/libcharls/util.h dcmjpls/libsrc/djcodece.cc **** Changes from 2016.06.30 (schlamelcher) - Updated CHANGES.361 for new development snapshot. Affects: docs/CHANGES.361 - DCMTK_ABI_VERSION for new development snapshot. Affects: CMake/dcmtkPrepare.cmake - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/dcm2pdf.1 doxygen/manpages/man1/dcm2pnm.1 doxygen/manpages/man1/dcm2xml.1 doxygen/manpages/man1/dcmcjpeg.1 doxygen/manpages/man1/dcmcjpls.1 doxygen/manpages/man1/dcmconv.1 doxygen/manpages/man1/dcmcrle.1 doxygen/manpages/man1/dcmdjpeg.1 doxygen/manpages/man1/dcmdjpls.1 doxygen/manpages/man1/dcmdrle.1 doxygen/manpages/man1/dcmdspfn.1 doxygen/manpages/man1/dcmdump.1 doxygen/manpages/man1/dcmftest.1 doxygen/manpages/man1/dcmgpdir.1 doxygen/manpages/man1/dcmj2pnm.1 doxygen/manpages/man1/dcml2pnm.1 doxygen/manpages/man1/dcmmkcrv.1 doxygen/manpages/man1/dcmmkdir.1 doxygen/manpages/man1/dcmmklut.1 doxygen/manpages/man1/dcmodify.1 doxygen/manpages/man1/dcmp2pgm.1 doxygen/manpages/man1/dcmprscp.1 doxygen/manpages/man1/dcmprscu.1 doxygen/manpages/man1/dcmpschk.1 doxygen/manpages/man1/dcmpsmk.1 doxygen/manpages/man1/dcmpsprt.1 doxygen/manpages/man1/dcmpsrcv.1 doxygen/manpages/man1/dcmpssnd.1 doxygen/manpages/man1/dcmqridx.1 doxygen/manpages/man1/dcmqrscp.1 doxygen/manpages/man1/dcmqrti.1 doxygen/manpages/man1/dcmquant.1 doxygen/manpages/man1/dcmrecv.1 doxygen/manpages/man1/dcmscale.1 doxygen/manpages/man1/dcmsend.1 doxygen/manpages/man1/dcmsign.1 doxygen/manpages/man1/dcod2lum.1 doxygen/manpages/man1/dconvlum.1 doxygen/manpages/man1/drtdump.1 doxygen/manpages/man1/dsr2html.1 doxygen/manpages/man1/dsr2xml.1 doxygen/manpages/man1/dsrdump.1 doxygen/manpages/man1/dump2dcm.1 doxygen/manpages/man1/echoscu.1 doxygen/manpages/man1/findscu.1 doxygen/manpages/man1/getscu.1 doxygen/manpages/man1/img2dcm.1 doxygen/manpages/man1/movescu.1 doxygen/manpages/man1/pdf2dcm.1 doxygen/manpages/man1/storescp.1 doxygen/manpages/man1/storescu.1 doxygen/manpages/man1/termscu.1 doxygen/manpages/man1/wlmscpfs.1 doxygen/manpages/man1/xml2dcm.1 doxygen/manpages/man1/xml2dsr.1 **** Changes from 2016.06.29 (schlamelcher) - Updated Makefile dependencies. Affects: ofstd/libsrc/Makefile.dep **** Changes from 2016.06.28 (onken) - Add get() for Segmentation Series Module: Thanks to Christian Herz for the hint and suggested patch. Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/libsrc/segdoc.cc **** Changes from 2016.06.21 (hasenpusch) - Removed unnecessary buffer size divisibility check: This fixes DCMTK bug #667. Affects: dcmjpeg/libsrc/djcodece.cc **** Changes from 2016.06.14 (onken) - Fixed 32 bit long int warning: Fixed warning in integer to string conversion originating from different size of type Uint32 on 32 and 64 bit systems. Affects: dcmiod/libsrc/iodreferences.cc **** Changes from 2016.06.13 (riesmeier) - Updated code definitions for DICOM 2016c: Updated automatically generated code definitions of "DCM" coding scheme for the latest release of the DICOM standard, i.e. DICOM 2016c. All other coding schemes are not updated since there were no changes or the header files are not (yet) generated automatically. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h - Updated data dictionary for DICOM 2016c edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2016-06-10. Since DCMTK's data dictionary was already up-to-date regarding the recently approved Supplements and CPs, there are no changes apart from the "Version" column. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc **** Changes from 2016.06.10 (onken) - Added another comment. Affects: dcmtract/include/dcmtk/dcmtract/trcmeasurement.h **** Changes from 2016.06.10 (hasenpusch) - Modified OFVector's re-allocation strategy: Upon insert() into a vector whose resulting size is greater than its capacity, the vector's allocated space will now be doubled, like with most STL implemen- tations. Affects: ofstd/include/dcmtk/ofstd/ofvector.h **** Changes from 2016.06.10 (onken) - Fixed doubled class name in function definition: Fixed double class name that breaks Visual Studio (and does not make much sense at all). Affects: dcmtract/libsrc/trctractographyresults.cc - Fix friend declaration to work in Visual Studio. Affects: dcmtract/include/dcmtk/dcmtract/trcmeasurement.h dcmtract/include/dcmtk/dcmtract/trcstatistic.h dcmtract/include/dcmtk/dcmtract/trctrack.h dcmtract/include/dcmtk/dcmtract/trctrackset.h **** Changes from 2016.06.09 (onken) - Corrected error from merging in tractography code. Affects: dcmiod/libsrc/iodtypes.cc - Modifier Code Sequence exchangable: Very often in DICOM as combination of a code with modifiers is used. The modifiers are often stored in the Modifier Code Sequence. However, sometimes another sequence is used for the same purpose. For those cases the sequence being used in the CodeWithModifiers class has been made configurable. Affects: dcmiod/include/dcmtk/dcmiod/iodmacro.h dcmiod/libsrc/iodmacro.cc **** Changes from 2016.06.08 (onken) - New module dcmtract for Tractography Results: Added new module dcmtract that offers a dedicated API to create and read DICOM Tractography Results objects as introduced in DICOM Supplement 181. The commit also includes enhancements and minor fixes for the dcmiod and dcmfg modules. Acknowledgement: This work has been supported by the "SlicerDMRI" project. SlicerDMRI is in part supported by funding from the National Institutes of Health National Institute of Biomedical Imaging and Bioengineering (NIBIB), to project Neuroimage Analysis Center, award P41 EB015902; and the National Institutes of Health National Cancer Institute (NCI) Informatics Technology for Cancer Research (ITCR) initiative, to project Open Source Diffusion MRI Technology For Brain Cancer Research, award U01 CA199459. Added: dcmiod/include/dcmtk/dcmiod/iodreferences.h dcmiod/libsrc/iodreferences.cc dcmtract/CMakeLists.txt dcmtract/Makefile.in dcmtract/configure dcmtract/data/Makefile.in dcmtract/docs/Makefile.in dcmtract/docs/dcmtract.dox dcmtract/etc/Makefile.in dcmtract/include/CMakeLists.txt dcmtract/include/Makefile.in dcmtract/include/dcmtk/dcmtract/trcdef.h dcmtract/include/dcmtk/dcmtract/trcmeasurement.h dcmtract/include/dcmtk/dcmtract/trcmodtractresults.h dcmtract/include/dcmtk/dcmtract/trcstatistic.h dcmtract/include/dcmtk/dcmtract/trctrack.h dcmtract/include/dcmtk/dcmtract/trctrackset.h dcmtract/include/dcmtk/dcmtract/trctractographyresults.h dcmtract/include/dcmtk/dcmtract/trctypes.h dcmtract/libsrc/CMakeLists.txt dcmtract/libsrc/Makefile.dep dcmtract/libsrc/Makefile.in dcmtract/libsrc/trcmeasurement.cc dcmtract/libsrc/trcmodtractresults.cc dcmtract/libsrc/trcstatistic.cc dcmtract/libsrc/trctrack.cc dcmtract/libsrc/trctrackset.cc dcmtract/libsrc/trctractographyresults.cc dcmtract/libsrc/trctypes.cc dcmtract/tests/Makefile.dep dcmtract/tests/Makefile.in Affects: CMakeLists.txt CREDITS Makefile config/modules dcmdata/include/dcmtk/dcmdata/dcerror.h dcmfg/libsrc/Makefile.dep dcmfg/libsrc/fgrealworldvaluemapping.cc dcmiod/include/dcmtk/dcmiod/iodmacro.h dcmiod/include/dcmtk/dcmiod/iodrules.h dcmiod/include/dcmtk/dcmiod/iodtypes.h dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/include/dcmtk/dcmiod/modbase.h dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h dcmiod/include/dcmtk/dcmiod/modenhequipment.h dcmiod/include/dcmtk/dcmiod/modenhusimage.h dcmiod/include/dcmtk/dcmiod/modgeneralimage.h dcmiod/libsrc/CMakeLists.txt dcmiod/libsrc/Makefile.dep dcmiod/libsrc/iodmacro.cc dcmiod/libsrc/iodrules.cc dcmiod/libsrc/iodtypes.cc dcmiod/libsrc/iodutil.cc dcmiod/libsrc/modacquisitioncontext.cc dcmiod/libsrc/modbase.cc dcmiod/libsrc/modcommoninstanceref.cc dcmiod/libsrc/modenhequipment.cc dcmiod/libsrc/modenhusimage.cc dcmiod/libsrc/modenhusseries.cc dcmiod/libsrc/modequipment.cc dcmiod/libsrc/modfor.cc dcmiod/libsrc/modgeneralimage.cc dcmiod/libsrc/modgeneralseries.cc dcmiod/libsrc/modgeneralstudy.cc dcmiod/libsrc/modimagepixel.cc dcmiod/libsrc/modmultiframedimension.cc dcmiod/libsrc/modmultiframefg.cc dcmiod/libsrc/modpatient.cc dcmiod/libsrc/modpatientstudy.cc dcmiod/libsrc/modsegmentationseries.cc dcmiod/libsrc/modsopcommon.cc dcmiod/libsrc/modsynchronization.cc dcmiod/libsrc/modusfor.cc dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/libsrc/Makefile.dep dcmseg/tests/Makefile.dep doxygen/htmldocs.dox - Added missing access to Segment Algorithm Name: Thanks to Christian Herz for the report and patch. Affects: dcmseg/include/dcmtk/dcmseg/segment.h dcmseg/libsrc/segment.cc **** Changes from 2016.06.03 (eichelberg) - Fixed overflow issue in JPEG-LS encoder: Fixed overflow issue in JPEG-LS encoder by porting the corrected implementation of EncoderStrategy::AppendToBitStream() from CharLS 1.1.0. This closes DCMTK Bug #687. Thanks to Mathieu Malaterre for the report. Affects: dcmjpls/libcharls/encodstr.h **** Changes from 2016.06.02 (riesmeier) - Changed name of recently added "DCM" codes: Removed additional "_" characters from new DCM code constant. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h **** Changes from 2016.06.01 (riesmeier) - Removed unused "dcmnet" function and definitions: Removed unused function DUL_DefaultServiceParameters() and unused macros DICOM_NET_IMPLEMENTATIONCLASSUID and DICOM_NET_IMPLEMENTATIONVERSIONNAME, which were probably used in the past in the ancient network implementation. Affects: dcmnet/include/dcmtk/dcmnet/dicom.h dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/libsrc/dul.cc **** Changes from 2016.06.01 (onken) - Adapted copyright date and fixed formatting: Adapted copyright date and fixed formatting errors caused by last commit removing the "register" keyword. Affects: dcmdata/libi2d/i2djpgs.cc dcmdata/libsrc/dcdict.cc dcmdata/libsrc/dcrleccd.cc dcmdata/libsrc/dcrlecce.cc dcmdata/libsrc/dcswap.cc dcmimage/include/dcmtk/dcmimage/diargpxt.h dcmimage/include/dcmtk/dcmimage/dicmypxt.h dcmimage/include/dcmtk/dcmimage/dicomot.h dcmimage/include/dcmtk/dcmimage/dicoopxt.h dcmimage/include/dcmtk/dcmimage/dicopxt.h dcmimage/include/dcmtk/dcmimage/dihsvpxt.h dcmimage/include/dcmtk/dcmimage/dipalpxt.h dcmimage/include/dcmtk/dcmimage/diqtcmap.h dcmimage/include/dcmtk/dcmimage/diqtctab.h dcmimage/include/dcmtk/dcmimage/diqtfs.h dcmimage/include/dcmtk/dcmimage/dirgbpxt.h dcmimage/include/dcmtk/dcmimage/diybrpxt.h dcmimage/include/dcmtk/dcmimage/diyf2pxt.h dcmimage/include/dcmtk/dcmimage/diyp2pxt.h dcmimage/libsrc/diqtctab.cc dcmimage/libsrc/diqthash.cc dcmimage/libsrc/diquant.cc dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h dcmimgle/include/dcmtk/dcmimgle/diflipt.h dcmimgle/include/dcmtk/dcmimgle/diinpxt.h dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h dcmimgle/include/dcmtk/dcmimgle/dimopxt.h dcmimgle/include/dcmtk/dcmimgle/dirotat.h dcmimgle/include/dcmtk/dcmimgle/discalet.h dcmimgle/include/dcmtk/dcmimgle/displint.h dcmimgle/include/dcmtk/dcmimgle/diutils.h dcmimgle/libsrc/dibaslut.cc dcmimgle/libsrc/dicielut.cc dcmimgle/libsrc/didispfn.cc dcmimgle/libsrc/digsdfn.cc dcmimgle/libsrc/digsdlut.cc dcmimgle/libsrc/diluptab.cc dcmimgle/libsrc/dimoimg.cc dcmimgle/libsrc/diovdat.cc dcmimgle/libsrc/diovlay.cc dcmimgle/libsrc/diovlimg.cc dcmimgle/libsrc/diovpln.cc dcmjpeg/libsrc/djcodecd.cc dcmjpls/libsrc/djcodecd.cc dcmpstat/libsrc/dviface.cc ofstd/include/dcmtk/ofstd/ofbmanip.h - Remove deprecated "register" keyword in C++ code: See also http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4193.html#809 Thanks to Hans Johnson for the hint and suggested patch. Affects: dcmdata/libi2d/i2djpgs.cc dcmdata/libsrc/dcdict.cc dcmdata/libsrc/dcrleccd.cc dcmdata/libsrc/dcrlecce.cc dcmdata/libsrc/dcswap.cc dcmdata/libsrc/dcvr.cc dcmimage/include/dcmtk/dcmimage/diargpxt.h dcmimage/include/dcmtk/dcmimage/dicmypxt.h dcmimage/include/dcmtk/dcmimage/dicomot.h dcmimage/include/dcmtk/dcmimage/dicoopxt.h dcmimage/include/dcmtk/dcmimage/dicopxt.h dcmimage/include/dcmtk/dcmimage/dihsvpxt.h dcmimage/include/dcmtk/dcmimage/dipalpxt.h dcmimage/include/dcmtk/dcmimage/diqtcmap.h dcmimage/include/dcmtk/dcmimage/diqtctab.h dcmimage/include/dcmtk/dcmimage/diqtfs.h dcmimage/include/dcmtk/dcmimage/dirgbpxt.h dcmimage/include/dcmtk/dcmimage/diybrpxt.h dcmimage/include/dcmtk/dcmimage/diyf2pxt.h dcmimage/include/dcmtk/dcmimage/diyp2pxt.h dcmimage/libsrc/diqtctab.cc dcmimage/libsrc/diqthash.cc dcmimage/libsrc/diquant.cc dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h dcmimgle/include/dcmtk/dcmimgle/diflipt.h dcmimgle/include/dcmtk/dcmimgle/diinpxt.h dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h dcmimgle/include/dcmtk/dcmimgle/dimopxt.h dcmimgle/include/dcmtk/dcmimgle/dirotat.h dcmimgle/include/dcmtk/dcmimgle/discalet.h dcmimgle/include/dcmtk/dcmimgle/displint.h dcmimgle/include/dcmtk/dcmimgle/diutils.h dcmimgle/libsrc/dibaslut.cc dcmimgle/libsrc/dicielut.cc dcmimgle/libsrc/didispfn.cc dcmimgle/libsrc/digsdfn.cc dcmimgle/libsrc/digsdlut.cc dcmimgle/libsrc/diluptab.cc dcmimgle/libsrc/dimoimg.cc dcmimgle/libsrc/diovdat.cc dcmimgle/libsrc/diovlay.cc dcmimgle/libsrc/diovlimg.cc dcmimgle/libsrc/diovpln.cc dcmjpeg/libsrc/djcodecd.cc dcmjpls/libsrc/djcodecd.cc dcmpstat/libsrc/dviface.cc ofstd/include/dcmtk/ofstd/ofbmanip.h ofstd/libsrc/ofstd.cc **** Changes from 2016.05.31 (riesmeier) - Added codes introduced with recently approved CPs: Added new "DCM" codes introduced with the recently approved CP-1543 (PET image library corrections). Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h - Made use of DateTime consistent in concept names: Implemented changes introduced with CP-1545 (Make use of DateTime consistent in concept names), which was approved as Final Text only recently. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h dcmsr/libcmr/tid1600.cc - Added support for recently approved CPs: Added support for CP-1031 and CP-1539 to the data dictionary. These CPs were approved during this weeks WG-06 meeting. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc **** Changes from 2016.05.24 (riesmeier) - Added size of DICOM dataset to transfer entry: Added information on the size of the dataset (in bytes) to the transfer entry, i.e. to the list of SOP instances to be transferred. Also added a new notifier method that is called _before_ a SOP instance is transferred. This allows for implementing a more accurate progress bar in a derived class. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/libsrc/dstorscu.cc **** Changes from 2016.05.13 (riesmeier) - Avoided recursion in DB_FreeUidList(): Replaced recursive call in DB_FreeUidList() by a while loop in order to fix a possible issue (crash) when freeing a very long UID list. Thanks to Stacy Loesch for the report. Affects: dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2016.05.03 (riesmeier) - Updated latest tested CMake version: Updated information on latest CMake version that has been tested to "3.5.2". Affects: CMake/dcmtkPrepare.cmake **** Changes from 2016.04.27 (riesmeier) - Enhanced return value of determineStartFragment(): Enhanced error conditions returned by DcmCodec::determineStartFragment(). This avoids getting a meaningless EC_IllegalCall when trying to access a particular frame of a compressed and fragmented pixel data element, e.g. if the basic offset table is empty. This is particularly reasonable since the codec rountines are usually hidden to the user of the toolkit, e.g. by the DicomImage class. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/libsrc/dccodec.cc dcmdata/libsrc/dcerror.cc - Removed unused local function: The (local) function dcmErrorConditionToString() is not used any longer, so remove it from the source file. Affects: dcmdata/libsrc/dcerror.cc **** Changes from 2016.04.25 (schlamelcher) - Removed definition of Visual Studio macro NOMINMAX: A previous commit introduced the definition of NOMINMAX inside osconfig.h to fix problems regarding the min()/max() functions declared as part of OFnumeric_limits. However, this is problematic for users that declare NOMINMAX themselves or don't want to declare NOMINMAX at all. This commit removes the NOMINMAX definition from osconfig.h and modifies OFnumeric_limits and related header files in a way that they may be included without the need to declare NOMINMAX. The NOMINMAX macro is then only defined when compiling the DCMTK itself, DCMTK users may or may not declare NOMINMAX themselves as needed/appropriate. Thanks to Peter Klotz for the report. Affects: CMake/dcmtkPrepare.cmake CMake/osconfig.h.in ofstd/include/dcmtk/ofstd/oflimits.h ofstd/include/dcmtk/ofstd/ofstd.h **** Changes from 2016.04.08 (schlamelcher) - Improved const handling of some DCMNET functions: Added the const modifier to so DCMNET function arguments for ease of use. Thanks to Peter Klotz for the suggested patch. Affects: dcmnet/include/dcmtk/dcmnet/dimse.h dcmnet/libsrc/dimecho.cc dcmnet/libsrc/dimfind.cc dcmnet/libsrc/dimget.cc dcmnet/libsrc/dimmove.cc dcmnet/libsrc/dimstore.cc **** Changes from 2016.04.08 (riesmeier) - Fixed typos in comments. Affects: dcmdata/libsrc/dcitem.cc **** Changes from 2016.04.07 (riesmeier) - Fixed an incorrect warning for command sets: Fixed an incorrect warning on invalid data elements in a command set (i.e. group 0x0000) caused by a previous commit (4636d9c). Thanks to Peter Klotz for the report. Affects: dcmdata/libsrc/dcitem.cc **** Changes from 2016.04.06 (riesmeier) - Updated context group classes for DICOM 2016b: Updated automatically generated context group classes from the DICOM Content Mapping Resource (DCMR) based on PS 3.16 from DICOM 2016b standard. Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h dcmsr/libcmr/cid100.cc dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid244.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid6147.cc dcmsr/libcmr/cid7021.cc dcmsr/libcmr/cid7181.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc dcmsr/libcmr/cid7464.cc dcmsr/libcmr/cid7469.cc - Updated code definitions for DICOM 2016b: Updated automatically generated code definitions of "DCM", "NCIt" and "UMLS" coding scheme for the latest release of the DICOM standard, i.e. DICOM 2016b. The other coding schemes like "SRT" or "UCUM" are not updated since their header files are not (yet) generated automatically. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h dcmsr/include/dcmtk/dcmsr/codes/ncit.h dcmsr/include/dcmtk/dcmsr/codes/umls.h - Updated data dictionary for DICOM 2016b edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2016-04-01. Since the data dictionary was already up-to-date regarding the recently approved Supplements and CPs, there are no changes apart from the "Version" column. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc **** Changes from 2016.04.06 (schlamelcher) - Fixed some configuration tests for VS2015 and later: Some changes in the runtime of Visual Studio 2015 and later lead to false configuration test results regarding some secure printf functions (e.g. vsprintf_s). Thanks to DCMTK forum user Shaeto for providing related information and the suggested patch. Affects: CMake/GenerateDCMTKConfigure.cmake - Fixed a problem with yesterday's commit: The previous commit regarding ofmath.cc resp. math.cc contained a copy and paste error leading to problems under Windows. Affects: config/math.cc **** Changes from 2016.04.05 (schlamelcher) - Fixed a warning and some whitespace errors: Fixed a warning about an uninitialized variable and some whitespace errors in oflog (timehelp.cc). Affects: oflog/libsrc/timehelp.cc - Refactored OFMath/arith.cc dependencies: Moved ofmath.cc to the config module (with slight modifications) so arith.cc depending on it becomes less messy. Added a new ofmath.cc for ofstd, adapting between both APIs (the low level API used in config and the one provided by ofstd). Modified arith.cc as necessary. Added: config/math.cc Affects: config/arith.cc ofstd/libsrc/ofmath.cc **** Changes from 2016.03.31 (schlamelcher) - Fixed touching arith.h on every CMake cache rebuild: Regarding the CMake setup, the file config/arith.h is now only generated once during the initial cache setup, similar to the other configure tests only being run once. This may potentially miss changes induced by changed compiler flags, however, this is of course also a problem regarding all the other configure test and should be addressed some time in the future in general. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2016.03.21 (riesmeier) - Replaced EC_InvalidTag by EC_MissingAttribute: Now using more appropriate status code EC_MissingAttribute instead of EC_InvalidTag when checkExistsWithValue() fails for Type 1 attributes. This change should have no effect to user code (internal use only). Affects: dcmdata/libsrc/dcddirif.cc - Added support for Directory Record "ASSESSMENT": Added support for new Directory Record Type "ASSESSMENT", which has been introduced with Supplement 185 (Content Assessment Results IOD). Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcdirrec.cc - Added support for new UID from Supplement 185: Added support for new Storage SOP Class UID from Supplement 185 (Content Assessment Results IOD). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for Supplement 185 to dictionary: Added support for the final text version "FT2" of Supplement 185 (Content Assessment Results IOD) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Added support for recently approved CPs: Added support for CP-1492, CP-1525 and CP-1531 to the data dictionary. These CPs were approved during last weeks WG-06 meeting. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Fixed typos and other minor issues in comments. Affects: dcmnet/include/dcmtk/dcmnet/assoc.h dcmnet/include/dcmtk/dcmnet/dimse.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/dimse.cc **** Changes from 2016.03.07 (riesmeier) - Cleaned up header inclusion in module "dcmsr": Made sure that only "required" header files are actually included. This should reduce the dependencies significantly. Affects: dcmpstat/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/apps/dsrdump.cc dcmsr/apps/xml2dsr.cc dcmsr/include/dcmtk/dcmsr/cmr/cid100.h dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/include/dcmtk/dcmsr/dsrposcn.h dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/include/dcmtk/dcmsr/dsrstrvl.h dcmsr/include/dcmtk/dcmsr/dsrtcodt.h dcmsr/include/dcmtk/dcmsr/dsrtlist.h dcmsr/include/dcmtk/dcmsr/dsrtnant.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/include/dcmtk/dcmsr/dsrxmlc.h dcmsr/include/dcmtk/dcmsr/dsrxmld.h dcmsr/libcmr/Makefile.dep dcmsr/libcmr/tid1001.cc dcmsr/libcmr/tid1204.cc dcmsr/libcmr/tid1411.cc dcmsr/libcmr/tid1500.cc dcmsr/libcmr/tid1600.cc dcmsr/libsrc/Makefile.dep dcmsr/libsrc/dsrcodtn.cc dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrcomtn.cc dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrcontn.cc dcmsr/libsrc/dsrcsidl.cc dcmsr/libsrc/dsrctpl.cc dcmsr/libsrc/dsrdattn.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrdtitn.cc dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrimgse.cc dcmsr/libsrc/dsrimgtn.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrpnmtn.cc dcmsr/libsrc/dsrrefin.cc dcmsr/libsrc/dsrreftn.cc dcmsr/libsrc/dsrsc3gr.cc dcmsr/libsrc/dsrsc3vl.cc dcmsr/libsrc/dsrscogr.cc dcmsr/libsrc/dsrscovl.cc dcmsr/libsrc/dsrsoprf.cc dcmsr/libsrc/dsrtcodt.cc dcmsr/libsrc/dsrtcosp.cc dcmsr/libsrc/dsrtcoto.cc dcmsr/libsrc/dsrtcovl.cc dcmsr/libsrc/dsrtextn.cc dcmsr/libsrc/dsrtimtn.cc dcmsr/libsrc/dsrtypes.cc dcmsr/libsrc/dsruidtn.cc dcmsr/libsrc/dsrwavch.cc dcmsr/libsrc/dsrwavtn.cc dcmsr/libsrc/dsrwavvl.cc dcmsr/tests/Makefile.dep dcmsr/tests/mkreport.cc dcmsr/tests/tsrcmr.cc dcmsr/tests/tsrcodvl.cc dcmsr/tests/tsrdoc.cc dcmsr/tests/tsrdoctr.cc dcmsr/tests/tsrnumvl.cc dcmsr/tests/tsrtpl.cc dcmsr/tests/tsrtree.cc **** Changes from 2016.03.04 (riesmeier) - Check for PixelSpacing in SharedFunctionalGroups: Also check for the Pixel Spacing (0028,0030) attribute in the Pixel Measures Sequence (0028,9110) of the Shared Functional Groups Sequence (5200,9229). By doing so, non-square pixels are supported for the family of Enhanced Multiframe Image IODs, too. Please note that support for Pixel Spacing within the Per-frame Functional Groups Sequence (5200,9230) is still missing. Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h dcmimgle/libsrc/diimage.cc - Fixed typos in comments (API documentation). Affects: dcmimage/include/dcmtk/dcmimage/dicoimg.h dcmimage/include/dcmtk/dcmimage/dicopx.h dcmimgle/include/dcmtk/dcmimgle/dimoimg.h - Fixed shifting negative value: undefined behavior: Fixed shifting a negative value (-1) since this is undefined behavior according to the C standard. See comment in the source code for details. This memory leak has been detected by "cppcheck" (version 1.72). Thanks to Andrei Terechko for the report Affects: dcmjpeg/libijg12/jdlhuff.c dcmjpeg/libijg12/jdphuff.c dcmjpeg/libijg12/jdshuff.c dcmjpeg/libijg16/jdlhuff.c dcmjpeg/libijg16/jdphuff.c dcmjpeg/libijg16/jdshuff.c dcmjpeg/libijg8/jdlhuff.c dcmjpeg/libijg8/jdphuff.c dcmjpeg/libijg8/jdshuff.c - Fixed typos in comments. Affects: ofstd/tests/tofstd.cc **** Changes from 2016.03.03 (riesmeier) - Fixed warnings reported by gcc with -Wshadow: Fixed warning messages on declaration of a local variable that shadows a previous declaration. This issue was reported by gcc with option -Wshadow. Affects: dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcsequen.cc **** Changes from 2016.03.03 (onken) - Removed test duplicate: Removed test that was present as a separate file (but not used) in favor of the same test being part of tofstd.cc which has already been in use. Removed: ofstd/tests/taddsub.cc Affects: ofstd/tests/Makefile.dep **** Changes from 2016.03.03 (riesmeier) - Fixed wrong module name in comment header. Affects: dcmrt/tests/tests.cc - Fixed typos in man pages. Affects: dcmdata/docs/dcmgpdir.man dcmdata/docs/img2dcm.man dcmjpeg/docs/dcmcjpeg.man dcmjpls/docs/dcmcjpls.man dcmnet/docs/movescu.man **** Changes from 2016.03.02 (onken) - Better warnings when reading segmentation objects: Enhanced warnings when reading segmentation objects if pixel data-related attributes have invalid values. Affects: dcmseg/include/dcmtk/dcmseg/segtypes.h dcmseg/libsrc/segdoc.cc dcmseg/libsrc/segtypes.cc - Fixed warning message: Fixed warning printed if the High Bit attribute does not have a valid value. Affects: dcmseg/libsrc/segdoc.cc **** Changes from 2016.02.26 (riesmeier) - Fixed typos etc. in module "dcmseg": Fixed typos and other minor issues in comments and log output. Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/include/dcmtk/dcmseg/segment.h dcmseg/include/dcmtk/dcmseg/segtypes.h dcmseg/include/dcmtk/dcmseg/segutils.h dcmseg/libsrc/segdoc.cc dcmseg/libsrc/segment.cc dcmseg/libsrc/segtypes.cc dcmseg/libsrc/segutils.cc - Fixed typos etc. in module "dcmiod": Fixed typos and other minor issues in comments, log output and return values. Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h dcmiod/include/dcmtk/dcmiod/iodmacro.h dcmiod/include/dcmtk/dcmiod/iodrules.h dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h dcmiod/include/dcmtk/dcmiod/modenhusimage.h dcmiod/include/dcmtk/dcmiod/modenhusseries.h dcmiod/include/dcmtk/dcmiod/modequipment.h dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h dcmiod/include/dcmtk/dcmiod/modmultiframefg.h dcmiod/include/dcmtk/dcmiod/modpatientstudy.h dcmiod/include/dcmtk/dcmiod/modsopcommon.h dcmiod/include/dcmtk/dcmiod/modsynchronisation.h dcmiod/libsrc/iodmacro.cc dcmiod/libsrc/iodutil.cc dcmiod/libsrc/modbase.cc dcmiod/libsrc/modequipment.cc dcmiod/libsrc/modsynchronization.cc dcmiod/tests/tcielabutil.cc **** Changes from 2016.02.25 (riesmeier) - Fixed numerous typos etc. in module "dcmfg": Fixed numerous typos and other minor issues like e.g. double semicolons, missing or extra space characters. This affects both comments and strings that are output to the logger. Of course, the latter are more important. Affects: dcmfg/include/dcmtk/dcmfg/fg.h dcmfg/include/dcmtk/dcmfg/fgbase.h dcmfg/include/dcmtk/dcmfg/fgderimg.h dcmfg/include/dcmtk/dcmfg/fgfracon.h dcmfg/include/dcmtk/dcmfg/fgframevoilut.h dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h dcmfg/include/dcmtk/dcmfg/fginterface.h dcmfg/include/dcmtk/dcmfg/fgpixmsr.h dcmfg/include/dcmtk/dcmfg/fgplanor.h dcmfg/include/dcmtk/dcmfg/fgplanorvol.h dcmfg/include/dcmtk/dcmfg/fgplanpo.h dcmfg/include/dcmtk/dcmfg/fgplanposvol.h dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h dcmfg/include/dcmtk/dcmfg/fgseg.h dcmfg/include/dcmtk/dcmfg/fgtypes.h dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h dcmfg/include/dcmtk/dcmfg/stack.h dcmfg/libsrc/fg.cc dcmfg/libsrc/fgbase.cc dcmfg/libsrc/fgfact.cc dcmfg/libsrc/fgfracon.cc dcmfg/libsrc/fginterface.cc dcmfg/libsrc/fgplanpo.cc dcmfg/libsrc/fgtypes.cc dcmfg/libsrc/fgusimagedescription.cc dcmfg/libsrc/stackinterface.cc **** Changes from 2016.02.25 (onken) - Fixed NULL pointer dereference: This memory leak has been detected by "cppcheck". Thanks to Andrei Terechko for the report. Affects: dcmfg/libsrc/fgimagedatatype.cc **** Changes from 2016.02.24 (riesmeier) - Fixed possible issue in OFStandard helper function: Fixed possible issue in OFStandard::removeRootDirFromPathname() that could occur when passing a NULL pointer as the "rootDir" parameter, and thus calling strncmp() or wcsncmp() with an invalid value. This is mainly a theoretical scenario, since most implementations of these standard string functions will not crash when a 0 length value is passed at the same time (see test case "ofstd_OFStandard_removeRootDirFromPathname"). This possible issue has been found with Pareon Verify. Thanks to Andrei Terechko for the report. Affects: ofstd/libsrc/ofstd.cc - Fixed memory leak in ASC_addPresentationContext(): Memory of presentation context data structure was not freed when empty transfer syntax list was passed to ASC_addPresentationContext(). Also removed an unused local variable and fixed various typos in comments. This memory leak has been detected by "cppcheck". Thanks to Andrei Terechko for the report. Affects: dcmnet/libsrc/assoc.cc **** Changes from 2016.02.22 (riesmeier) - Made use of definitions from "dcmsr/codes/ucum.h": Made use of code and coding scheme definitions from the header file "dcmsr/codes/ucum.h". Also removed coding scheme version ("1.4") since it is not used any longer by DICOM PS 3.16 for UCUM codes. Affects: dcmsr/include/dcmtk/dcmsr/codes/ucum.h dcmsr/tests/Makefile.dep dcmsr/tests/mkreport.cc - Added comment on mapping of code meanings: Added comment on the mapping of code meanings to a compiler-friendly representention, which is the reason why the SRT and UCUM coding schemes are not yet complete (with regard to the definitions in DICOM PS 3.16). Please note that the commit message for the previous commit (168662c) was incorrect: not the UCUM but the UMLS codes definitions were updated. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h dcmsr/include/dcmtk/dcmsr/codes/ucum.h - Updated "UCUM" codes for DICOM 2016a edition: Updated Unified Code for Units of Measure (Coding Scheme "UCUM") code definitions for the official 2016a edition of the DICOM standard. The header file has been generated automatically from a machine-readable version of DICOM PS 3.16. There is now a total of 38 codes defined for this coding scheme. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/codes/umls.h - Updated "NCIt" codes for DICOM 2016a edition: Updated NCI Thesaurus (Coding Scheme "NCIt") for the official 2016a edition of the DICOM standard. The header file has been generated automatically from a machine-readable version of DICOM PS 3.16. There is now a total of 12 codes defined for this coding scheme. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/codes/ncit.h - Fixed source code formatting. Affects: dcmsr/libsrc/dsrimgse.cc - Updated copyright header. Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h dcmsr/include/dcmtk/dcmsr/codes/ucum.h dcmsr/include/dcmtk/dcmsr/dsrdncsr.h **** Changes from 2016.02.20 (riesmeier) - Updated "DCM" codes for DICOM 2016a edition: Updated DICOM Controlled Terminology Definitions (Coding Scheme "DCM") for the official 2016a edition of the DICOM standard. The header file has been generated automatically from a machine-readable version of DICOM PS 3.16. There is now a total of 3358 codes for this coding scheme (i.e. DICOM codes). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h - Updated context group classes for DICOM 2016a: Updated automatically generated context group classes from the DICOM Content Mapping Resource (DCMR) based on PS 3.16 from DICOM 2016a standard. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h dcmsr/libcmr/cid100.cc dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid244.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid6147.cc dcmsr/libcmr/cid7021.cc dcmsr/libcmr/cid7181.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc dcmsr/libcmr/cid7464.cc dcmsr/libcmr/cid7469.cc - Updated data dictionary for DICOM 2016a edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2016-02-19. This includes the new tags from Supplement 156, 181 and 184 as well as those from CP 1364, 1431, 1432, 1441, 1454, 1457, 1458, 1460, 1461, 1478 (WC), 1487, 1496, 1499, 1504 and 1516. Please note that some attributes changed their names and/or value multiplicity. In addition, new and modified tags from ASTM's DICONDE (Digital Imaging and Communication in Nondestructive Evaluation) standard have been incorporated. The total number of entries in the DICOM data dictionary is now 4032. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc dcmrt/libsrc/drtbvcps.cc **** Changes from 2016.02.18 (riesmeier) - Added three new Storage SOP Classes from DICOS: Added three new Storage SOP Classes from DICOS (Digital Imaging and Communications in Security) standard: 2D AIT, 3D AIT and Quadrupole Resonance (QR). Actually, these SOP Classes were already introduced to the DICOM standard back in 2013 but have been added to the DCMTK just now. Further details on the underlying IODs are not known. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added missing Storage SOP Classes to manpage: Added missing Storage SOP Classes that are actually supported by the SCP (within the "movescu" tool). These SOP Classes were added during the previous months to the global list stored in "dcmAllStorageSOPClassUIDs". Affects: dcmnet/docs/movescu.man - Changed type of parameter to avoid warnings: Changed type of parameter/variable from Uint32 to size_t in order to avoid warnings reported by MSVC++ on Windows 64-bit systems. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/libsrc/dcbytstr.cc **** Changes from 2016.02.17 (riesmeier) - Updated Makefile dependencies for module "dcmsr". Affects: dcmsr/apps/Makefile.dep dcmsr/libcmr/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep - Fixed issue with shared library build (MSVC++): Fixed issue with shared library build on Windows with Microsoft Visual C++. Now, the CMake option BUILD_SHARED_LIBS works again on both Linux with gcc and Windows with Visual C++, i.e. for ".so" and ".dll" files. C++ templates with explicit specialization and shared library support are really a nightmare, especially when the implementation of the C++ template class is not completely contained in a header file. Affects: dcmsr/include/dcmtk/dcmsr/dsrdncsr.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h - Enhanced support for by-reference relationships: Further enhanced support for by-reference relationships: Now, the position string that is used to reference the target content item is also generated correctly when the document tree contains included (i.e. non-expanded) sub-templates. Also enhanced the existing test cases in order to check that it really works. Please pay attention to the new comment on updateByReferenceRelationships() and to the optional parameter that allows for updating subtrees managed by "included template" tree nodes. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/tsrtpl.cc - Further simplified DSRDocumentSubTree::print(): Further simplified implementation of DSRDocumentSubTree::print() by making use of the new DSRIncludedTemplateNodeCursor class. Also added a new print flag that disables the counting of "included template" nodes. This flag is also passed to the tree node cursor class in order to correctly generate the position string. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdncsr.cc dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtypes.cc - Made more use of new "included template" cursor: Made more use of the new DSRIncludedTemplateNodeCursor class (where appropriate). Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc - Added methods to get external cursor to root node: Added two methods that allow for getting an (external) cursor to the root node of the document tree, either an instance of DSRDocumentTreeNodeCursor or an instance of the recently introduced DSRIncludedTemplateNodeCursor. These cursors can be used to iterate over the nodes of the document tree without changing the internal cursor. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc - Introduced new document tree node cursor: Introduced new DSRIncludedTemplateNodeCursor class, which allows for iterating "included template" tree nodes as if the subtree managed by them was already expanded. This will make iteration over such document trees much easier (but the implementation looks a bit more complex). This new class is just a specialization of the existing, but now also extended, C++ template class DSRTreeNodeCursor, which has received a second template parameter for this purpose. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/dsrdncsr.h dcmsr/libsrc/dsrdncsr.cc Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrdoctn.cc - Enhanced output of print() for invalid references: Enhanced output of DSRByReferenceTreeNode::print() for unknown/invalid references. Now, a question mark "?" is printed if the position string of the referenced content item is empty. Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/libsrc/dsrreftn.cc - Added optional flags to position counter: Added support for optional flags parameter to class DSRPositionCounter. This parameter can be used to customize the processing of the counter. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrposcn.h dcmsr/libsrc/dsrposcn.cc - Added getCurrentNode() method to tree class: Added getCurrentNode() method to document (sub)tree class. This new method allows for accessing the current tree node by means of a (constant) pointer, i.e. read-only. Also added a new test case for this particular method. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc - Enhanced check for invalid characters: Now, the static function checkStringValue() - and all methods that use it - check for invalid characters in the given value. Currently, this only works for ASCII strings (default character repertoire) that contain non-ASCII characters, i.e. character codes > 127. This change requires that the Specific Character Set value is passed to the respective function/method since the default is ASCII (as it was before). Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcchrstr.cc dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcvrpn.cc dcmdata/tests/tchval.cc dcmiod/libsrc/iodrules.cc dcmiod/libsrc/iodutil.cc dcmrt/include/dcmtk/dcmrt/drttypes.h dcmrt/libsrc/drttypes.cc dcmsr/include/dcmtk/dcmsr/dsrcsidl.h dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/tsrdoc.cc - Set ASCII as default Specific Character Set: Now, the default value for the Specific Character Set is ASCII (empty Defined Term) and not "invalid". Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/tsrdoc.cc - Passed character set value to checkStringValue(): Made sure that the current value of the Specific Character Set (0008,0005) is passed to the calls of checkStringValue() where applicable. There are still a few remaining calls where the placeholder "UNKNOWN" is used, which disables the underlying VR checker. Closes DCMTK Bug #565 (partially). Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/libsrc/dsrcsidl.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrsoprf.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoc.cc - Fixed issue in one of the SR constraint checkers: Fixed issue in class DSRRadiopharmaceuticalRadiationDoseConstraintChecker: for Row 5 of the Table, the "targetValueType" was checked for "VT_PName" instead of the "sourceValueType". Thanks to forum user "Luuk" for the report and suggested fix. Affects: dcmsr/libsrc/dsrrrdcc.cc **** Changes from 2016.02.16 (schlamelcher) - Updated CHANGES.361 for new development snapshot. Affects: docs/CHANGES.361 - Updated DCMTK_ABI_VERSION for new development snapshot. Affects: CMake/dcmtkPrepare.cmake - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/dcm2pdf.1 doxygen/manpages/man1/dcm2pnm.1 doxygen/manpages/man1/dcm2xml.1 doxygen/manpages/man1/dcmcjpeg.1 doxygen/manpages/man1/dcmcjpls.1 doxygen/manpages/man1/dcmconv.1 doxygen/manpages/man1/dcmcrle.1 doxygen/manpages/man1/dcmdjpeg.1 doxygen/manpages/man1/dcmdjpls.1 doxygen/manpages/man1/dcmdrle.1 doxygen/manpages/man1/dcmdspfn.1 doxygen/manpages/man1/dcmdump.1 doxygen/manpages/man1/dcmftest.1 doxygen/manpages/man1/dcmgpdir.1 doxygen/manpages/man1/dcmj2pnm.1 doxygen/manpages/man1/dcml2pnm.1 doxygen/manpages/man1/dcmmkcrv.1 doxygen/manpages/man1/dcmmkdir.1 doxygen/manpages/man1/dcmmklut.1 doxygen/manpages/man1/dcmodify.1 doxygen/manpages/man1/dcmp2pgm.1 doxygen/manpages/man1/dcmprscp.1 doxygen/manpages/man1/dcmprscu.1 doxygen/manpages/man1/dcmpschk.1 doxygen/manpages/man1/dcmpsmk.1 doxygen/manpages/man1/dcmpsprt.1 doxygen/manpages/man1/dcmpsrcv.1 doxygen/manpages/man1/dcmpssnd.1 doxygen/manpages/man1/dcmqridx.1 doxygen/manpages/man1/dcmqrscp.1 doxygen/manpages/man1/dcmqrti.1 doxygen/manpages/man1/dcmquant.1 doxygen/manpages/man1/dcmrecv.1 doxygen/manpages/man1/dcmscale.1 doxygen/manpages/man1/dcmsend.1 doxygen/manpages/man1/dcmsign.1 doxygen/manpages/man1/dcod2lum.1 doxygen/manpages/man1/dconvlum.1 doxygen/manpages/man1/drtdump.1 doxygen/manpages/man1/dsr2html.1 doxygen/manpages/man1/dsr2xml.1 doxygen/manpages/man1/dsrdump.1 doxygen/manpages/man1/dump2dcm.1 doxygen/manpages/man1/echoscu.1 doxygen/manpages/man1/findscu.1 doxygen/manpages/man1/getscu.1 doxygen/manpages/man1/img2dcm.1 doxygen/manpages/man1/movescu.1 doxygen/manpages/man1/pdf2dcm.1 doxygen/manpages/man1/storescp.1 doxygen/manpages/man1/storescu.1 doxygen/manpages/man1/termscu.1 doxygen/manpages/man1/wlmscpfs.1 doxygen/manpages/man1/xml2dcm.1 doxygen/manpages/man1/xml2dsr.1 - Updated Makefile dependencies. Affects: dcmiod/libsrc/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libcmr/Makefile.dep dcmsr/libsrc/Makefile.dep **** Changes from 2016.02.15 (schlamelcher) - Added 'arith.h' to the list of installed files. Affects: CMakeLists.txt config/Makefile.in **** Changes from 2016.02.11 (riesmeier) - Updated documentation of setSpecificCharacterSet(): Updated API documentation of method setSpecificCharacterSet(), e.g. made clear that multiple values are allowed and invalid values do not always result in an error. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc - Enhanced description of "charset" parameter: Enhanced description of "charset" parameter of the static function checkStringValue(). Explain that only ASCII and Latin-1 are checked. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcvrlo.h dcmdata/include/dcmtk/dcmdata/dcvrlt.h dcmdata/include/dcmtk/dcmdata/dcvrpn.h dcmdata/include/dcmtk/dcmdata/dcvrsh.h dcmdata/include/dcmtk/dcmdata/dcvrst.h dcmdata/include/dcmtk/dcmdata/dcvruc.h dcmdata/include/dcmtk/dcmdata/dcvrut.h **** Changes from 2016.02.11 (onken) - Fixed use of checkStringValue(): For some VR classes (DcmLongText, DcmShortText, DcmUnlimitedText) the method checkStringValue() expects the character set as the second parameter and not the VM as it is the case for most other VR classes. The related calls in dcmiod, dcmfg and dcmseg did not respect this deviating API, thus requiring the given fix which disables the value checking. Affects: dcmfg/include/dcmtk/dcmfg/fgderimg.h dcmfg/include/dcmtk/dcmfg/fgfracon.h dcmfg/libsrc/fgderimg.cc dcmfg/libsrc/fgfracon.cc dcmiod/include/dcmtk/dcmiod/iodmacro.h dcmiod/include/dcmtk/dcmiod/modequipment.h dcmiod/libsrc/iodmacro.cc dcmiod/libsrc/modequipment.cc dcmiod/libsrc/modgeneralimage.cc dcmseg/include/dcmtk/dcmseg/segment.h dcmseg/include/dcmtk/dcmseg/segtypes.h dcmseg/libsrc/segtypes.cc - Added UID validity checking. Affects: dcmseg/libsrc/segment.cc **** Changes from 2016.02.09 (riesmeier) - Added prefix "DCMTK_" to public macro: Added prefix "DCMTK_" to public macro "EXPLICIT_SPECIALIZATION", which is used for explicit template specialization. This name change should avoid possible conflicts. Also moved the macro definition in the "dcmsr" module to a header file and introduced protection against double definition. Affects: dcmimgle/include/dcmtk/dcmimgle/dipxrept.h dcmsr/include/dcmtk/dcmsr/dsdefine.h dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrimgse.cc dcmsr/libsrc/dsrsc3gr.cc dcmsr/libsrc/dsrscogr.cc dcmsr/libsrc/dsrtcodt.cc dcmsr/libsrc/dsrtcosp.cc dcmsr/libsrc/dsrtcoto.cc dcmsr/libsrc/dsrwavch.cc **** Changes from 2016.02.09 (eichelberg) - Fixed uninitialized struct in libcharls decoder: Fixed unitialized struct in libcharls decoder that sometimes caused the decoder to refuse correctly compressed bitstreams. Thanks to Bruno Milutin for the bug report and fix. Affects: dcmjpls/libcharls/header.cc **** Changes from 2016.02.08 (riesmeier) - Added comment on missing conditional attribute: Added comment that the conditional attribute Pixel Origin Interpretation (0048,0301) is not yet supported by the DSRSpatialCoordinatesValue class. This attribute is required if the referenced SOP instance is a VL Whole Slide Microscopy Image. Affects: dcmsr/include/dcmtk/dcmsr/dsrscovl.h **** Changes from 2016.02.08 (onken) - Added support for Correction Proposal CP-1496: Added Tracking ID and Tracking UID to Segmentation segments in order to allow tracking of lesions or other observations over time. This change was introduced in CP-1496. Acknowledgement: This work has been supported by the "QIICR" project. Affects: dcmseg/include/dcmtk/dcmseg/segment.h dcmseg/libsrc/segment.cc **** Changes from 2016.02.08 (riesmeier) - Fixed warnings when compiled without libxml: Fixed various warnings on unused variables when compiled without libxml. These warnings were reported by gcc 4.8.4 with additional flag "-Wextra". Affects: dcmdata/apps/dcmdump.cc dcmsr/apps/dsr2html.cc dcmsr/apps/dsrdump.cc ofstd/libsrc/ofchrenc.cc **** Changes from 2016.02.07 (onken) - Fixed compiler warnings about unused parameters: Fixed compiler warnings about unused method parameters by adding either dummy uses, removing them from the parameter list (if possible, i.e. if not overwriting a derived function) or adding the corresponding checks. Also removed bonus functions which have still been marked as TODO. Added: dcmseg/apps/CMakeLists.txt Affects: dcmfg/include/dcmtk/dcmfg/fgfracon.h dcmfg/include/dcmtk/dcmfg/fgframevoilut.h dcmfg/include/dcmtk/dcmfg/fgpixmsr.h dcmfg/include/dcmtk/dcmfg/fgplanposvol.h dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h dcmfg/libsrc/fgfracon.cc dcmfg/libsrc/fgframevoilut.cc dcmfg/libsrc/fgimagedatatype.cc dcmfg/libsrc/fgpixmsr.cc dcmfg/libsrc/fgplanposvol.cc dcmfg/libsrc/fgrealworldvaluemapping.cc dcmfg/libsrc/fgusimagedescription.cc dcmiod/include/dcmtk/dcmiod/modenhusimage.h dcmiod/include/dcmtk/dcmiod/modgeneralseries.h dcmiod/include/dcmtk/dcmiod/modimagepixel.h dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h dcmiod/include/dcmtk/dcmiod/modsynchronisation.h dcmiod/libsrc/iodmacro.cc dcmiod/libsrc/modenhusimage.cc dcmiod/libsrc/modenhusseries.cc dcmiod/libsrc/modgeneralseries.cc dcmiod/libsrc/modimagepixel.cc dcmiod/libsrc/modmultiframedimension.cc dcmiod/libsrc/modsynchronization.cc dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/libsrc/segdoc.cc - Add Referenced Performed Procedure Step Sequence. Affects: dcmiod/include/dcmtk/dcmiod/modgeneralseries.h dcmiod/libsrc/modgeneralseries.cc - Removed broken, unused, doublette method. Affects: dcmnet/include/dcmtk/dcmnet/dccftsmp.h dcmnet/libsrc/dccftsmp.cc - Allow access to Referenced PPS. Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/libsrc/segdoc.cc - Use position parameter. Affects: dcmseg/libsrc/segment.cc **** Changes from 2016.02.05 (riesmeier) - Fixed various warnings reported by "gcc -Wextra": Fixed various warnings on unused variables reported by gcc 4.8.4 with additional flag "-Wextra". Affects: dcmnet/libsrc/dstorscu.cc dcmnet/libsrc/scp.cc dcmrt/include/dcmtk/dcmrt/drmimage.h dcmrt/libsrc/drtmas.cc ofstd/libsrc/ofcmdln.cc ofstd/libsrc/offile.cc ofstd/libsrc/ofuuid.cc ofstd/libsrc/ofxml.cc - Restructured print() output of included templates: Removed printTemplate() method from DSRIncludedTemplateTreeNode since it is not needed any longer. Also fixed numbering of content items in included subtree (now depends on certain print flag). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtpltn.cc - Overwrite isShort() in DSRIncludedTemplateTreeNode: Overwrite isShort() method in class DSRIncludedTemplateTreeNode. Since the base class DSRDocumentTreeNode always returns OFTrue, it makes sense to check the content in the derived tree node class. Of course, rendering a document tree with "included templates" is currently not supported, so the isShort() method is probably never really used in this context. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/libsrc/dsrtpltn.cc - By default, convert wide char encoding to UTF-8: Changed default value of parameter "convert" for both the constructor and the set() method of the OFFilename class, which expects a "wchar_t *", from "OFFalse" to "OFTrue". That means, a character string that is passed with Windows UTF-16 encoding will be converted to UTF-8 (char *) encoding. This change of the default behavior makes sense since e.g. the output of an OFFilename instance to the logger always happens with UTF-8 encoding. Affects: ofstd/include/dcmtk/ofstd/offile.h - Fixed documentation of convertToWideCharString(): Fixed documentation of parameter "toString" of convertToWideCharString(): the value of this result variable might only be NULL if memory is exhausted. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h **** Changes from 2016.02.04 (riesmeier) - Changed print() output of included SR templates: Slightly changed the output of the print() method for "included template" tree nodes: The line indentation and output of the position counter is now also shown for this "internal" node (and not only for the included subtree); the position counter is increased by 1 as it is true for all other tree nodes, which makes it easier and more consistent when determining the target of by-reference relationships. However, there is still some work to do... Also, the separate line for the included SR template (starting with the text "# INCLUDE ...") is now printed by default. Therefore, the name of the print flag changed from PF_printXXX to PF_hideXXX. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/tsrcmr.cc - Further enhanced checkSubTreeConstraints(): Added initial support for "included templates" to checkSubTreeConstraints(). At least, subtrees with included SR templates are not rejected any longer. However, since no further checks are performed, a message is reported to the trace logger. Also added a new test case in order to check whether "included templates" are really accepted when inserting a sub-template into a root template (with an appropriate IOD constraint checker enabled). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tests.cc dcmsr/tests/tsrtpl.cc - Improved check for valid reference to SR template: Improved check for a valid reference (shared pointer) to the included SR template that is managed by this document tree node class. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/libsrc/dsrtpltn.cc - Enhanced documentation of constructor: Added a comment to the constructor that the template identification is also set if available from the referenced SR template. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h - Made all canXXX() methods constant: Made methods canAddContentItem(), canAddByReferenceRelationship() and canInsertSubTree() constant since they do not modify the object. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc **** Changes from 2016.02.03 (riesmeier) - Minor fixes to module page of "dcmsr". Affects: dcmsr/docs/dcmsr.dox **** Changes from 2016.02.02 (riesmeier) - Use addContentItem() for by-value relations only: Made clear that addContentItem() should be used for by-value relationships only. This is now also checked and a new test case makes sure that it works. Furthermore, do not accept the internal value type VT_includedTemplate for this method. All this is checked by the helper method canAddContentItem(). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc - Reintroduced further methods from base class: Added various hasXXX() methods and countChildNodes() from the base classes to the derived template classes. All these methods are "constant", i.e. they do not change the object. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h **** Changes from 2016.02.01 (riesmeier) - Enhanced support for by-reference relationships: Further enhanced support for by-reference relationships, e.g. by restoring these type of relationships on a clone of the document (sub)tree. Also report details to the debug logger if adding a by-reference relationship fails (for some reason). Finally, added an initial version of a new test case that should make sure that by-reference relationships work with "included templates". Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tests.cc dcmsr/tests/tsrtpl.cc - Added more iterator methods to template classes: Added more of the iterator methods from the base classes to the derived template classes, e.g. gotoRoot(), gotoChild(), gotoNext() or iterate(). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h - Declared getParentNode() method "const": Now that OFStack::top() exists in a "const" version, there is not reason anymore not to declare the getParentNode() method "const". So just do it. Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h - Added "const" version of OFStack::top(): Added "const" version of top() method to OFStack class as it is defined for the standard (STL) class std::stack. Also fixed various documentation related issues. Affects: ofstd/include/dcmtk/ofstd/ofstack.h - Removed unneeded type definitions for Windows: Removed unneeded type definitions introduced for calling functions from the "SNMP Utility Library" (snmpapi.dll) on the Windows operating system. Affects: dcmdata/libsrc/dcuid.cc - Fixed issue with getMACAddress() on Windows 8++: Fixed issue with getMACAddress() on some Windows 8 (and newer) systems. Removed unneeded call to SnmpExtensionQuery() that caused a crash on such systems. Thanks to forum user "andreasb" for the report and suggested fix, and to forum user "Rich in Soquel" for confirming that this fix also solves an issue on Windows 10. Closes DCMTK Bug #594 (hopefully) Affects: dcmdata/libsrc/dcuid.cc **** Changes from 2016.01.30 (riesmeier) - Extracted expandIncludedTemplates() method: Extracted code from createExpandedSubTree() for the new protected method expandIncludedTemplates(). This new method might be used in the future for expanding the current (sub)tree, i.e. without creating a new one. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc - Never accept by-reference relations to templates: Never accept by-reference relationships to internal "included template" content items. This check might be useful for future SR templates that are implemented as part of the "dcmsr/cmr" submodule. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc **** Changes from 2016.01.29 (riesmeier) - Overwrite print() method in document tree class: Overwrite print() method from base class (DSRDocumentSubTree) in document tree class in order to hide additional parameter(s) on the main API level. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/libsrc/dsrdoctr.cc - Further enhanced support for included templates: Enhanced support for included (non-expanded) templates in print() method of document (sub)tree class. Now, the position counter of nested content items also works correctly for these "virtual" content items (i.e. with included subtrees). Also the complexity of the print() method code could be reduced. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtpltn.cc - Extracted position counter from cursor class: Extracted a new DSRPositionCounter class from the existing DSRTreeNodeCursor class. This will allow for enhancing the print() method of the document (sub) tree class, especially with regard to the support of included templates. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/dsrposcn.h dcmsr/libsrc/dsrposcn.cc Affects: dcmsr/apps/Makefile.dep dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libcmr/Makefile.dep dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/tests/Makefile.dep - Declared some very simple methods "inline". Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h - Use consistent spelling of the word "data set": Made sure that the spelling of the word "data set" is consistent (i.e. not "dataset") at least for the log messages of the main DICOM parser classes. Also fixed typos if encountered. Affects: dcmdata/apps/dcm2xml.cc dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc - Added a warning on invalid attribute tags: Added a warning message on invalid DICOM elements in a dataset or item, i.e. elements with an attribute tag of the group 0x0000 to 0x0003, 0x0005, 0x0007 or 0xFFFF. Now, for both file meta information header and dataset a warning is reported. Thanks to Mathieu Malaterre for the original reports and a sample DICOM file. Affects: dcmdata/libsrc/dcitem.cc **** Changes from 2016.01.27 (riesmeier) - Fixed issue with addPersonObserver() in TID 1001: Fixed issue when calling addPersonObserver() in TID1001_ObservationContext for the first time _after_ addDeviceObserver() has already been called. According to the SR template specification, the person observers always have to be stored at the beginning of the subtree of the SR template, i.e. the root node changes in such a case. Modified the test case accordingly. Also see previous commit that fixes an issue on the basic tree class. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/libcmr/tid1001.cc dcmsr/tests/tsrcmr.cc - Fixed issue in addNode() of basic tree class: Fixed issue in addNode() method of basic tree class, which occurred when adding a node or subtree before the root node of the current tree. Added new test case in order to make sure that this never happens again. This issue has been found when adding a "Device Observer" before a "Person Observer" in TID 1001 (Observation Context). Also see next commit. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/tests/tests.cc dcmsr/tests/tsrtree.cc - Added another test for invalid unique identifiers. Affects: dcmdata/tests/tchval.cc **** Changes from 2016.01.26 (riesmeier) - Updated Makefile dependencies. Affects: dcmdata/apps/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmfg/libsrc/Makefile.dep dcmimage/apps/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmiod/libsrc/Makefile.dep dcmiod/tests/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpls/apps/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmnet/tests/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmrt/apps/Makefile.dep dcmrt/libsrc/Makefile.dep dcmrt/tests/Makefile.dep dcmseg/libsrc/Makefile.dep dcmseg/tests/Makefile.dep dcmsign/apps/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep - Further enhanced example on included templates: Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/docs/dcmsr.dox - Added more header files to Doxygen documentation: Added header files with global definitions (in this case, transfer syntaxes and value representations) to the list of files that are processed by Doxygen. Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/include/dcmtk/dcmdata/dcxfer.h - Added new output flag for writeXML(): Added new output flag XF_addCommentsForIncludedTemplate for writeXML(), which allows for identifying the beginning and the end of included (non-expanded) templates by means of corresponding XML comments. This might be useful for debugging purposes. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtpltn.cc dcmsr/libsrc/dsrtypes.cc - Added support for new Media Application Profiles: Added support for new Media Storage Application Profiles that were introduced with Supplement 180 (MPEG-4 AVC/H.264 Transfer Syntax): General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP@Level4.2 for 2D video, for 3D video and stereo (STD-GEN-BD-MPEG4-HPLV42-2D, STD-GEN-BD-MPEG4-HPLV42-3D, STD-GEN-BD-MPEG4-SHPLV42). Closes DCMTK Conformance #641 and #643. Affects: dcmdata/apps/dcmgpdir.cc dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/libsrc/dcddirif.cc dcmjpeg/docs/dcmmkdir.man - Added support for Direcory Record Type "TRACT": Added support for new Directory Record Type "TRACT", which has been introduced with Supplement 181 (Tractography Results Storage SOP Class). Closes DCMTK Conformance #664. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcdirrec.cc - Fixed copying of tracking information (TID 1411): Fixed copying of tracking information from a referenced segmentation object: According to CP-1496 the Tracking ID and Tracking UID are stored in an item in the Segment Sequence, so further code is needed to find the appropriate item. Also adapted the test case accordingly. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h dcmsr/libcmr/tid1411.cc dcmsr/tests/tsrcmr.cc - Added new variant of setRealWorldValueMap(): Added new variant of adding/setting a real world value map to the template (TID 1411 - Row 14). SOP Class UID and SOP Instance UID are copied from a given DICOM dataset (similar to setReferencedSegment() which has been added by the previous commit). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h dcmsr/libcmr/tid1411.cc dcmsr/tests/tsrcmr.cc **** Changes from 2016.01.25 (riesmeier) - Added new variant of setReferencedSegment(): Added new variant of adding/setting a referenced segment to the template (TID 1411 - Row 7). According to CP-1494 the Tracking ID and Tracking UID should be consistent with the corresponding element values of the referenced DICOM dataset (if present). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h dcmsr/libcmr/tid1411.cc dcmsr/tests/tsrcmr.cc - Fixed references to DICOM Correct Items (CP-xxx). Affects: dcmsr/libcmr/tid1600.cc dcmsr/libsrc/dsrbascc.cc dcmsr/libsrc/dsrcomcc.cc dcmsr/libsrc/dsrenhcc.cc dcmsr/libsrc/dsrxrdcc.cc dcmsr/tests/mkreport.cc - Added support for "Station AE Title" to TID 1004: Added support for new optional content item "Station AE Title" to TID 1004 (Device Observer Identifying Attributes). Also added required code definition to "DCM" coding scheme. These changes were introduced with CP-1516. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h dcmsr/include/dcmtk/dcmsr/codes/dcm.h dcmsr/libcmr/tid1001.cc dcmsr/tests/tsrcmr.cc - Added support for recently approved CPs: Added support for CP-1460, CP-1496, CP-1499, CP-1504 and CP-1516 to the data dictionary. These CPs were approved during last weeks WG-06 meeting. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Changed handling of "Qualitative Evaluations": Slightly changed handling of "Qualitative Evaluations" (TID 1500 - Row 12 to 14). Previously, the CONTAINER in Row 12 was always created. Now, it is only added if qualitative evaluations are present. This change follows the clarification made in the upcoming CP-1579. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h dcmsr/libcmr/tid1500.cc dcmsr/tests/tsrcmr.cc - Added comments on what's "to be done" (tbd). Affects: dcmsr/libsrc/dsrdocst.cc - Added new method getSOPClassName(): Added new convenience method getSOPClassName() that allows for retrieving the name that is associated with the SOP class UID (if any). Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrsoprf.cc - Added example for using SR templates: Added simple example (based on TID 1500) that shows how to use SR templates. Also revised the first example in order to demonstrate some enhancements that were made on the DICOM SR API during the last couple of months. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/docs/dcmsr.dox - Added support of TID 1411 to TID 1500: Added support of TID 1411 (Volumetric ROI Measurements) and included templates to TID 1500 (Measurement Report). Now, the implementation of class TID1500_MeasurementReport is complete in terms of what is required by the DICOM standard and what is needed for QIICR's "Measurements SR" converter. Also completed corresponding test case for TID 1500. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h dcmsr/libcmr/Makefile.dep dcmsr/libcmr/tid1500.cc dcmsr/tests/Makefile.dep dcmsr/tests/tsrcmr.cc - Added support for TID 1411 and included templates: Added initial support for TID 1411 (Volumetric ROI Measurements) and included templates TID 1502 and TID 1419. This is the first generic SR template that has been implemented for this toolkit, i.e. it has SR template parameters that are directly mapped to C++ template types. Current support for TID 1411 is focussed on the use within TID 1500 (Measurement Report), which will be added by the next commit. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h dcmsr/libcmr/tid1411.cc Affects: dcmsr/apps/Makefile.dep dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep - Changed default value of "expandTree" parameter: The default value of the "expandTree" parameter of the DSRDocument::setTreeFromRootTemplate() method changed from OFFalse to OFTrue. This is because some output methods like write() or renderHTML() do not yet work on document trees that contain "included template" nodes. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/tests/tsrtpl.cc - Added method that returns the position counter: Added method that returns the value of the position counter on the current level, i.e. 1 for the first child, 2 for the second child, and so on. Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h - Slightly changed name of some UCUM codes: The name of some UCUM (Unified Code for Units of Measure) code definitions changed due to a slighly revised algorithm that generates these names automatically from the official code meaning (see DICOM PS 3.16). Some code names (like e.g. for "cm" or "s") now start with a lower case letter, which is more intuitive. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h dcmsr/include/dcmtk/dcmsr/codes/ucum.h dcmsr/libcmr/tid1600.cc dcmsr/tests/tsrcmr.cc - Added further SRT codes needed for QIICR: Added further SNOMED-RT (RT) codes that are needed for the "Measurements SR" converter of the QIICR (Quantitative Image Informatics for Cancer Research) project. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h **** Changes from 2016.01.22 (riesmeier) - Removed renderHTML() function from subtree class: Removed renderHTML() functionality from subtree and SR template classes since rendering parts of an SR document in HTML format doesn't make much sense. Also rendering document trees that contain included (non-expanded) templates isn't supported yet. This might change in the future. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc - Removed write() functionality from subtree class: Removed write() functionality from subtree and SR template classes since writing valid DICOM SR objects does not work (yet) on this level. Also writing of document trees that contain included (non-expanded) templates isn't supported yet. This might change in the future. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrtpltn.cc **** Changes from 2016.01.22 (onken) - Renamed method name for consistency. Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h dcmiod/libsrc/cielabutil.cc dcmiod/tests/tcielabutil.cc **** Changes from 2016.01.22 (riesmeier) - Minor fixes to API documentation. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h - Moved renderHTML() to DSRDocumentSubTree: Moved second variant of the renderHTML() method, i.e. the one with less parameters, from class DSRDocumentTree to DSRDocumentSubTree. By doing so, the same method call can be used for both root and non-root templates. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc - Added check for included templates to renderHTML(): Added check for included (non-expanded) templates to renderHTML() method. In such a case, a new error code SR_EC_CannotProcessIncludedTemplates is returned. Rendering these kind of documents is something that might be supported in the future. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtpltn.cc dcmsr/libsrc/dsrtypes.cc - Fixed issue with renderHTML() for document subtree: Fixed an issue when using renderHTML() for a document subtree that does not have a single root node, e.g. for a sub-template like TID 1001 (Observation Context). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/libsrc/dsrdocst.cc - Fixed wrong output of node ID in print(): Fixed wrong output of node ID for "included templates" in print() method. Affects: dcmsr/libsrc/dsrdocst.cc - Fixed issue with writeXML() for document subtree: Fixed an issue when using writeXML() for a document subtree that does not have a single root node, e.g. for an included sub-template like TID 1001 (Observation Context). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/libsrc/dsrdocst.cc - Used hasTemplateIdentification() method more often. Affects: dcmsr/libsrc/dsrdoctn.cc **** Changes from 2016.01.21 (riesmeier) - Fixed minor issues with Doxygen documentation: Also fixed some typos and made source code formatting more consistent. Affects: dcmdata/apps/mdfdsman.h dcmdata/include/dcmtk/dcmdata/dcmetinf.h dcmdata/include/dcmtk/dcmdata/dcvrulup.h dcmnet/include/dcmtk/dcmnet/dccftsmp.h ofstd/include/dcmtk/ofstd/ofcmdln.h ofstd/include/dcmtk/ofstd/oftempf.h - Added isComplete() to composite reference class: Added new method isComplete() to DSRCompositeReferenceValue, which checks whether the mandatory components are present (non-empty). This is a more basic check than isValid(). However, it is not the counterpart of isEmpty(). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/libsrc/dsrcomvl.cc - Added support for new UID from Supplement 181: Added support for new Storage SOP Class UID from Supplement 181 (Tractography Results Storage SOP Class). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added test for recently introduced VR "Other Long". Added: dcmdata/tests/tvrol.cc Affects: dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.dep dcmdata/tests/Makefile.in dcmdata/tests/tests.cc - Added support for Supplement 181 to dictionary: Added support for the final text version of Supplement 181 (Tractography Results Storage SOP Class) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Added helper function putAndInsertUint32Array(): Added helper function putAndInsertUint32Array() that can be used for both Unsigned Long (UL) and Other Long (OL) elements. Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcitem.cc - Added support for new value representation "OL": Added support for new value representation "Other Long" (OL) that has been introduced only recently with Supplement 181 (Tractography Results Storage SOP Class). Closes DCMTK Conformance #664 (partially). Added: dcmdata/include/dcmtk/dcmdata/dcvrol.h dcmdata/libsrc/dcvrol.cc Affects: dcmdata/apps/dump2dcm.cc dcmdata/docs/dump2dcm.man dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dctk.h dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/include/dcmtk/dcmdata/dcvrul.h dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.dep dcmdata/libsrc/Makefile.in dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcvr.cc dcmdata/libsrc/dcvrul.cc dcmdata/tests/telemlen.cc dcmdata/tests/tests.cc - Made use of isAffectedBySpecificCharacterSet(): Use isAffectedBySpecificCharacterSet() instead of checking the VRs that are affected by the specific character set manually. This should make sure that new VRs are not forgotten (like in this case "UC"). Affects: dcmdata/apps/xml2dcm.cc - Changed name of dcmEnableXXX global variables: Changed name of global variable dcmEnableOtherFloatStringVRGeneration and dcmEnableOtherDoubleStringVRGeneration: removed the term "String" from the names. This change should be harmless since most people will probably use the global function dcmEnable/DisableGenerationOfNewVRs() - if at all. Also see commit 280638e. Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/dcvr.cc - Removed unneeded includes and fixed comments. Affects: dcmdata/libsrc/dcvrfl.cc dcmdata/libsrc/dcvrod.cc dcmdata/libsrc/dcvrof.cc - Fixed wrong use of getVM() in print() method: Since the derived class DcmOtherDouble always has a value multiplicity of 1 getVM() cannot be used to determine the number of values stored. So, use the length field instead (as in other similar cases). Affects: dcmdata/libsrc/dcvrfd.cc **** Changes from 2016.01.21 (onken) - FormatMessage() instead of hand-crafted switch(): Use FormatMessage() in order to get an error code description instead of enumerating all string values in a switch() statement. Made Unix strerror() call thread-safe by using OFStandard version. Fixed typo. Affects: dcmnet/libsrc/diutil.cc **** Changes from 2016.01.20 (riesmeier) - Enhanced API documentation: Slightly enhanced API documentation on class DSRTreeNodeCursor. Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h - Removed empty source file for DSRTreeNodeCursor: Removed empty source file for the DSRTreeNodeCursor class. The implementation of the template class has been moved to the header file with commit 6171318. Some linkers complained about the empty file. Removed: dcmsr/libsrc/dsrtncsr.cc Affects: dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in - Moved some print() code from node to tree class: Moved some code from the print() method of the DSRIncludedTemplateTreeNode class to the print() method of the DSRDocumentSubTree class. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtpltn.cc - Added method to compare template identification: Added method to the document subtree, tree node and SR template classes that allows for an easier comparison of the template identification. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/libsrc/dsrctpl.cc dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/tests/tsrcmr.cc dcmsr/tests/tsrtpl.cc - Added further SRT codes needed for TID 1500: Added further SNOMED-RT codes that are needed for TID 1500 (Measurement Report) and included sub-templates. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h - Modified readable name of internal types: Slightly changed readable name of internal relationship type RT_isRoot and internal value type VT_includedTemplate. This might be useful for debugging purposes. Affects: dcmsr/libsrc/dsrtypes.cc - Fixed issue with definition of E_ValueType: When the new (internal) value type VT_includedTemplate was introduced, the indicator for the last entry in the enum (VT_last) has not been updated. This impacted the various valueTypeToXXX() helper functions. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h **** Changes from 2016.01.20 (onken) - Removed accidentially checked-in test code. Affects: dcmnet/apps/dcmrecv.cc - Better logging of select() on network: When waiting for network data using select() it has not been distinguishable whether a regular timeout occurred or if another error (such as an interrupt) interrupted the call. Now, debug output is written in order to make it easier to see what exactly happened (especially in case of errors). Thanks to forum user michael12345 for the report. Affects: dcmnet/apps/dcmrecv.cc dcmnet/include/dcmtk/dcmnet/diutil.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/dcmtrans.cc dcmnet/libsrc/diutil.cc dcmnet/libsrc/dul.cc dcmnet/libsrc/dulextra.cc dcmnet/libsrc/dulfsm.cc dcmpstat/tests/msgserv.cc dcmtls/libsrc/tlstrans.cc **** Changes from 2016.01.19 (riesmeier) - Do no treat empty included template as error: Made sure that an empty included template is not treated as an error in the various output methods like writeXML() or renderHTML(). Instead, EC_Normal is returned (see API documentation). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/libsrc/dsrtpltn.cc - Output numeric value qualifier in print(): Added output of optional numeric value qualifier in print() method if the numeric measurement value is empty. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/libsrc/dsrnumvl.cc **** Changes from 2016.01.19 (onken) - Avoid warning if size_t mismatches unsigned long. Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h - Avoid warning when initialzing srand(): Some systems report a warning when using time_t to initialize srand(). A cast was added which should be safe since we are not interested into the exact number time() returns but in a "random" initialization value. Affects: dcmiod/tests/tcielabutil.cc - Fixed #define for including time.h. Affects: dcmiod/tests/tcielabutil.cc **** Changes from 2016.01.19 (riesmeier) - Enhanced error checking of writeXML() method: Enhanced error checking of writeXML() method, i.e. made sure that errors caused by nested elements are actually reported to the caller. This also required a minor change in the "dcm2xml" command line tool. Affects: dcmdata/apps/dcm2xml.cc dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcmetinf.cc dcmdata/libsrc/dcsequen.cc - Used more specific conditions than EC_IllegalCall: Used more specific condition codes than EC_IllegalCall when there is an issue with the character set options or the character set encoding of the DICOM dataset. Affects: dcmdata/apps/dcm2xml.cc **** Changes from 2016.01.18 (onken) - Added missing shared library export macro. Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h **** Changes from 2016.01.18 (riesmeier) - Added class CMR_SRNumericMeasurementValueWithUnits: Introduced derived template class CMR_SRNumericMeasurementValueWithUnits that allows for checking the measurement unit based on a given context group (baseline or defined group). Also added new test cases for this purpose. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/srnumvlu.h Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h dcmsr/include/dcmtk/dcmsr/dsrctxgr.h dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc - Defined short names for CID and TID classes: Defined short names for context group (CID) and template (TID) classes as an alternative to the existing long names. The nomenclature of these type definitions is: CMR_CIDnnn (with "nnn" being the numeric identifier of the context group) or CMR_TIDnnn (with "nnn" being the numeric ID of the SR template), respectively. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h dcmsr/tests/tsrcmr.cc **** Changes from 2016.01.18 (onken) - Utilities for conversion between CIELab and RGB. Added: dcmiod/include/dcmtk/dcmiod/cielabutil.h dcmiod/libsrc/cielabutil.cc dcmiod/tests/CMakeLists.txt dcmiod/tests/Makefile.dep dcmiod/tests/tcielabutil.cc dcmiod/tests/tests.cc Affects: COPYRIGHT dcmiod/CMakeLists.txt dcmiod/Makefile.in dcmiod/libsrc/CMakeLists.txt dcmiod/libsrc/Makefile.dep dcmiod/libsrc/Makefile.in dcmiod/tests/Makefile.in **** Changes from 2016.01.15 (riesmeier) - Overwrite setValue() methods from base class: Added setValue() methods that expect a CID42_NumericValueQualifier instance for the "valueQualifier" parameter instead of a simple DSRCodedEntryValue. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h dcmsr/libcmr/srnumvl.cc - Avoid output of pixel items in Native DICOM Model: Added check for Native DICOM Model in writeXML() method of class DcmPixelItem and return an error since output in this format is not supported. Affects: dcmdata/libsrc/dcpxitem.cc **** Changes from 2016.01.14 (riesmeier) - Fixed memory leak reported by valgrind: Fixed memory leak ("still reachable blocks" at program exit) that was reported by valgrind in CMR_ContentMappingResource::cleanupAllContextGroups(). Instead of cleanup() the initialize() function was called for the CID 7469 class. Affects: dcmsr/libcmr/init.cc - Used CMR_SRNumericMeasurementValue more often: Replaced type of numeric value parameters in public API from class DSRNumericMeasurementValue by derived class CMR_SRNumericMeasurementValue which provides additional checks, e.g. on the code used for the optional value qualifier (CID 42). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h dcmsr/libcmr/Makefile.dep dcmsr/libcmr/tid1600.cc dcmsr/tests/Makefile.dep - Enhanced class CMR_SRNumericMeasurementValue: Enhanced implementation of derived class CMR_SRNumericMeasurementValue: added further constructor for "value qualifier" and copy constructor for DSRNumericMeasurementValue, changed parameters of setNumericValueQualifier() and added new tests. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h dcmsr/libcmr/srnumvl.cc dcmsr/tests/tsrcmr.cc **** Changes from 2016.01.13 (riesmeier) - Added support for recently added Context Groups: Added support for recently added Context Group CID 6147, 7181, 7464 and 7469. These groups were still missing in the global initialize/cleanup() methods. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h dcmsr/libcmr/Makefile.dep dcmsr/libcmr/init.cc - Added more header files to Doxygen documentation: Added header files with global definitions (in this case, error constants) to the list of files that are processed by Doxygen. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h - Made sure file is processed by Doxygen: Made sure that the header file is processed by Doxygen since it contains some interesting (and also documented) global variables/settings. Fixed a couple of typos and other minor issues related to the documentation. Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h - Replaced call of isValid() by isComplete(): Replaced call of DSRCodedEntryValue::isValid() by the recently introduced isComplete() method where appropriate. Also fixed a couple of wrong calls of addChildContentItem() instead of addContentItem(), which makes no difference for an empty document tree anyway. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/libcmr/tid1500.cc dcmsr/libcmr/tid1600.cc - Always pass "check" parameter to addContentItem(). Affects: dcmsr/libcmr/tid1001.cc dcmsr/libcmr/tid1204.cc dcmsr/libcmr/tid1500.cc dcmsr/libcmr/tid1600.cc - Flag for default creation of empty image library: Added optional flag to the constructor that allows for disabling the default creation of an empty image library. This approach is now consistent with the upcoming class for TID 1411 (Volumetric ROI Measurements). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h dcmsr/libcmr/tid1600.cc - Allowed read-only access to frame/segment list: Added const variants of getFrame/SegmentList(), e.g. in order to check the number of items stored in the list. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h - Enhanced check on Segmentation objects: Enhanced check on DICOM Segmentation objects that are referenced by an instance of DSRImageReferenceValue. On the one hand, the list of known Storage SOP Classes has been updated for the latest edition of the DICOM standard (2015c); the Surface Segmentation object was missing. On the other hand, the list of referenced segment numbers is only allowed for Segmentation objects, which is now also checked. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/libsrc/dsrimgvl.cc - Added further constructor and setValue() method: Added another constructor and setValue() method which accept a coded entry representing the numeric value qualifier, i.e. the reason why the numeric value and measurement unit are absent. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/libsrc/dsrnumvl.cc dcmsr/tests/tsrnumvl.cc - Added method isComplete() to numeric value class: Added new method isComplete() to DSRNumericMeasurementValue, which checks whether the mandatory components are present (and complete). This is a much more basic check than isValid() provides. However, it is not the counterpart of isEmpty(). Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/libsrc/dsrnumvl.cc dcmsr/tests/tsrnumvl.cc - Checked standard for defined Waveform objects: Checked current edition of the DICOM standard (2015c) for the list of defined Waveform objects and updated the documentation accordingly. Since the last check (DICOM 2014a), no new SOP Classes were added. Affects: dcmsr/include/dcmtk/dcmsr/dsrwavvl.h dcmsr/libsrc/dsrwavvl.cc - Minor fixes to API documentation. Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h - Harmonized log output of DICOM attribute names: Don't mix keywords (CamelCase) with attribute names anymore. Always use the official attribute names in log messages, i.e. with space characters. Of course, this only applies to manually written messages. In case the name is derived automatically from the attribute tag, the official keyword from the DICOM data dictionary (PS 3.6) is used. Affects: dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrcsidl.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrsc3vl.cc dcmsr/libsrc/dsrscovl.cc dcmsr/libsrc/dsrtcovl.cc - Added initial version of NCIt code definitions: Added initial version of the NCI Thesaurus (Coding Scheme "NCIt") code definitions as used/defined by the DICOM standard. The code definitions are generated semi-automatically from the machine-readable DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That means that the definitions will be updated from time to time as the standard evolves. However, please be warned that the names of the constants/defines might change in the future (hopefully, there will be official keywords in the standard like they are for the DICOM attribute tags in PS 3.6). Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/codes/ncit.h **** Changes from 2016.01.12 (riesmeier) - Allowed public access to referenced template: Allowed public access (get and set method) to the referenced template that is managed by the class DSRIncludedTemplateTreeNode. That way, there is no need any more for the inelegant "friend" declaration. Also the API is now more consistent with other "node" classes, even though this class is used only for internal purposes. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtpltn.cc - Fixed minor issues when using C++11 STL: Fixed minor issues when compiling with gcc 4.8.4 and C++11 STL enabled. In C++11 mode, some implicit type conversions do not seem to work, so make them more explicit. Affects: dcmsr/libsrc/dsrtpltn.cc dcmsr/tests/tsrtpl.cc **** Changes from 2016.01.11 (onken) - Fixed DCMTK C++11 STL-enabled build: Missing include led to failures since std::cout could not be found any more. Affects: ofstd/libsrc/ofmath.cc **** Changes from 2016.01.11 (riesmeier) - Fixed another issue with createExpandedSubTree(): When an empty "included template" content item was processed, i.e. removed from the resulting document tree, the next content item was skipped by mistake. This was detected when enhancing a test case for the upcoming support of TID 1411 (which is included in TID 1500 - Row 8). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/libsrc/dsrdocst.cc - Avoid checking the pointer returned by getNode(): Avoid checking the pointer returned by getNode() method if it is clear that it cannot be NULL, e.g. because the internal cursor has already been checked for validity or a previous call of an iteration method returned a non-zero value. Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/tests/tsrtree.cc - Enhanced derived implementation of countNodes(): Enhanced implementation of countNodes() in derived document tree classes by providing two optional flags that allow for specifying how to count and process "included templates", e.g. whether the content of included (but not expanded) sub-templates is counted like a normal subtree with all of its nodes. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc - Added new method isCursorValid(): Added method that checks whether the internal cursor of a document tree, which points to the current content item, is valid. This new method is also available to the derived SR template classes. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/libsrc/dsrdocst.cc **** Changes from 2016.01.10 (onken) - Fixed typo in error message. Affects: dcmfg/libsrc/fginterface.cc - Fixed bug when packaging binary segmentations: Segmentations bits are filled into the byte from right to left, i.e. starting from the least significant bit of the first byte to the most significant bit of the last byte in the Pixel Data element. The old implementation filled the bytes in the correct order, however, the bits have been filled in from the wrong order. This was discovered since another implementation was available for interoperability testing. Acknowledgement: This work has been supported by the "QIICR" project. Affects: dcmseg/libsrc/segutils.cc - Fixed comment. Affects: dcmseg/libsrc/segdoc.cc **** Changes from 2016.01.08 (riesmeier) - Updated Makefile dependencies. Affects: dcmsr/libcmr/Makefile.dep dcmsr/libsrc/Makefile.dep - Fixed issue expanding empty included template: Fixed an issue that occurred when trying to expand a document tree that contains an empty included template. This resulted in an error status returned by DSRDocumentSubTree::createExpandedSubTree(). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/libsrc/dsrdocst.cc - Added support for CID 6147, 7181, 7464 and 7469: Added support for Context Group CID 6147 (Response Criteria), CID 7181 (Abstract Multi-dimensional Image Model Component Units), CID 7464 (General Region of Interest Measurement Modifiers) and 7469 (Generic Intensity and Size Measurements), which will be needed for using the upcoming template class of TID 1411 (Volumetric ROI Measurements) within TID 1500 (Measurement Report). As always, all these new files were generated automatically. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h dcmsr/libcmr/cid6147.cc dcmsr/libcmr/cid7181.cc dcmsr/libcmr/cid7464.cc dcmsr/libcmr/cid7469.cc Affects: dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.in - Regenerated context groups with new script version: Regenerated all context group header and source files with a new version of the XSLT script. There was only a single change in the name of an enum. Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/libcmr/cid100.cc dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid244.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid7021.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc - Fixed imprecise documentation of parameter: Distinguish more clearly between "numeric value" and "measurements". Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/libsrc/dsrnumvl.cc **** Changes from 2016.01.07 (riesmeier) - Fixed minor Doxygen-related issues: Also updated the copyright date (where appropriate). Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/libsrc/dsrdoctn.cc - Added new method hasExtendedCodedEntries(): Added new method hasExtendedCodedEntries() to the context group base class, which allows for checking whether the group has any extended, i.e. non-standard coded entries. Also changed two virtual functions to "inline" (as it was intended). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h dcmsr/libsrc/dsrctxgr.cc dcmsr/tests/tsrcmr.cc - Introduced new printExtended() method: Extracted output of extended information on a content item from the general print() method of the DSRDocumentSubTree class and moved this code to the new printExtended() method of the DSRDocumentTreeNode class. In other words, the resulting output is the same but the internal structure is now clearer. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc - Fixed wrong call of gotoLastEntryFromNodeList(): Replaced wrong call of gotoLastEntryFromNodeList() by gotoEntryFromNodeList(). In practice, this should make no difference but now the correct function is called. Affects: dcmsr/libcmr/tid1500.cc **** Changes from 2016.01.06 (riesmeier) - Added full support for qualitative evaluations: Added full support for qualitative evaluations (TID 1500 - Row 13 and 14), e.g. for categorial observations that are related to the entire subject of the report rather than specific measurement groups (DICOM PS 3.16). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h dcmsr/libcmr/tid1500.cc dcmsr/tests/tsrcmr.cc - Added new method isComplete() to coded entry class: Added new method isComplete() to DSRCodedEntryValue, which checks whether the three mandatory components of a code are non-empty. This is a much more basic check than isValid() provides. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/libsrc/dsrcodvl.cc dcmsr/tests/tests.cc dcmsr/tests/tsrcodvl.cc - Added new condition constant and fixed memory leak: Introduced new condition constant that is used when no image library entry descriptors have been added (i.e. copied from a given dataset). Also fixed a possible memory leak that could occur in such a case. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h dcmsr/libcmr/tid1600.cc - Added new parameter to gotoLastEntryFromNodeList(): Added optional parameter "firstPos" to gotoLastEntryFromNodeList(), which allows for stopping the search process at a particular node list entry. Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/libcmr/tid1500.cc dcmsr/libsrc/dsrctpl.cc - Added optional "check" parameter to addContentItem: Added optional "check" parameter to convenience methods addContentItem() and addChildContentItem(). Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc - Enhanced hasXXX() by adding an optional parameter: Enhanced hasImagingMeasurements() and hasQualitativeEvaluations() by adding an optional parameter that allows for checking whether the respective content item has any children (i.e. real content). Since the child nodes are optional the default is not to check for children. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/libcmr/tid1500.cc dcmsr/libsrc/dsrctpl.cc dcmsr/tests/tsrcmr.cc - Slightly reworked use of xxx_RESULT helper macros: Introduced new helper macros GOOD_RESULT and BAD_RESULT. Replaced helper macro DELETE_ERROR by an appropriate use of the new macro BAD_RESULT. In general, used the helper macros more often in order to increase the readability of the source code. Affects: dcmsr/libcmr/tid1001.cc dcmsr/libcmr/tid1204.cc dcmsr/libcmr/tid1500.cc dcmsr/libcmr/tid1600.cc - Changed variable name for reasons of consistency. Affects: dcmsr/libcmr/srnumvl.cc - Added preliminary support for TID 1500 - Row 12: Added preliminary support for the conditional CONTAINER content item "Qualitative Evaluations" (TID 1500 - Row 12), which seems to be required according to the condition given in the template definition table. Support for the child content items (CODE and TEXT) will follow in a separate commit. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h dcmsr/libcmr/Makefile.dep dcmsr/libcmr/tid1500.cc dcmsr/tests/Makefile.dep dcmsr/tests/tsrcmr.cc - Added initial version of UMLS code definitions: Added initial version of Unified Medical Language System (Coding Scheme "UMLS") code definitions as used/defined by the DICOM standard. The code definitions are generated automatically from the machine-readable DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That means that the definitions will be updated from time to time as the standard evolves. However, please be warned that the names of the constants/defines might change in the future (hopefully, there will be official keywords in the standard like they are for the DICOM attribute tags in PS 3.6). Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/codes/umls.h **** Changes from 2016.01.05 (riesmeier) - Added links to implemented SR templates: Added links to the currently implemented SR templates to the Doxygen documentation of the "dcmsr" module. Affects: dcmsr/docs/dcmsr.dox - Added 1st version of TID 1500 (Measurement Report): Added first version of TID 1500 (Measurement Report) and included templates. The focus of this initial commit was on the general structure of this SR template and the mandatory content items and included templates (TID 1204, 1001, 1600). There is also a new test case that demonstrates how to use the new TID1500_MeasurementReport class. Further enhancements will follow. Acknowledgement: This work and also the previous commits on the "dcmsr" module have been supported in part by the "QIICR" project. See CREDITS file for details. Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h dcmsr/libcmr/tid1500.cc Affects: dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc - Used another document type for a test case: Used another document type for the test case "dcmsr_changeDocumentType_2" in order to avoid a warning message that the template identification is not set. Affects: dcmsr/tests/tsrdoc.cc - Added further output methods to template classes: Added write(), writeXML() and renderHTML() method to template-related classes. Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/libsrc/dsrtpltn.cc - Moved further output methods to subtree class: Moved write(), writeXML() and renderHTML() method from document tree to subtree class. This is a preparatory step that will be completed with the next commit. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc - Print the annotation text for included templates: As for all other types of content items, the optional annotation text is now also printed for the internal "included template" type. Affects: dcmsr/libsrc/dsrtpltn.cc - Call clear() method of both base classes: Made sure that the clear() method of both base classes is called, i.e. also DSRTemplateCommon::clear() which clears the internally managed node list. Affects: dcmsr/libsrc/dsrrtpl.cc - Avoid calling getSelectedValue() explicitly. Affects: dcmsr/libcmr/tid1001.cc dcmsr/libcmr/tid1204.cc - Enhanced reserveEntriesInNodeList(): Added optional parameter to reserveEntriesInNodeList() that allows for initializing the entries of the node list with a value of 0. Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/libsrc/dsrctpl.cc - Fixed minor inconsistencies in comments. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h - Updated copyright dates. Affects: COPYRIGHT **** Changes from 2015.12.30 (riesmeier) - Added support for expanding a document tree: Added support for expanding a document tree, i.e. to replace all included templates by their content (i.e. the subtree that is managed by the class). Also added a new test case that uses (and checks) this new feature. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tests.cc dcmsr/tests/tsrtpl.cc - Added support for including templates into a tree: Added support for including - not inserting - templates into a document tree or subtree. That means, the template-specific API is still available to the user even though the tree structure that is managed by the template class has been "inserted" into a (sub)tree. In order to achieve this, a new value type (internal) has been added: VT_includedTemplate. Further related changes will follow. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h dcmsr/libsrc/dsrtpltn.cc Affects: dcmsr/apps/Makefile.dep dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libcmr/Makefile.dep dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/Makefile.dep - Included standard header "assert": Added missing standard header "assert.h" or "cassert" in order to compile when HAVE_STL and HAVE_STD_STRING are defined. This header file is needed for Linux systems with gcc (and probably others). Also fixed some typos and Doxygen related issues. Affects: ofstd/include/dcmtk/ofstd/ofstd.h **** Changes from 2015.12.28 (riesmeier) - Added support for replacing a node in a tree: Added support for replacing the current node (and all of its child nodes) of a tree by a given node (which might be the root of a subtree). This new feature is needed for the upcoming enhanced SR template support. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tests.cc dcmsr/tests/tsrtree.cc - Added mapping resource to IOD constraint checker: Replaced getRootTemplateIdentifier() by getRootTemplateIdentification() which returns the mapping resource in addition to the identifier of the root template (if any). Before, the DICOM Content Mapping Resource (DCMR) was implicitly assumed when calling the getRootTemplateIdentifier() method. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsracqcc.h dcmsr/include/dcmtk/dcmsr/dsrbascc.h dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h dcmsr/include/dcmtk/dcmsr/dsrchecc.h dcmsr/include/dcmtk/dcmsr/dsrcolcc.h dcmsr/include/dcmtk/dcmsr/dsrcomcc.h dcmsr/include/dcmtk/dcmsr/dsrenhcc.h dcmsr/include/dcmtk/dcmsr/dsrimpcc.h dcmsr/include/dcmtk/dcmsr/dsriodcc.h dcmsr/include/dcmtk/dcmsr/dsrkeycc.h dcmsr/include/dcmtk/dcmsr/dsrmaccc.h dcmsr/include/dcmtk/dcmsr/dsrmamcc.h dcmsr/include/dcmtk/dcmsr/dsrprocc.h dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h dcmsr/include/dcmtk/dcmsr/dsrspecc.h dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h dcmsr/libsrc/dsracqcc.cc dcmsr/libsrc/dsrbascc.cc dcmsr/libsrc/dsrc3dcc.cc dcmsr/libsrc/dsrchecc.cc dcmsr/libsrc/dsrcolcc.cc dcmsr/libsrc/dsrcomcc.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrenhcc.cc dcmsr/libsrc/dsrimpcc.cc dcmsr/libsrc/dsrkeycc.cc dcmsr/libsrc/dsrmaccc.cc dcmsr/libsrc/dsrmamcc.cc dcmsr/libsrc/dsrprocc.cc dcmsr/libsrc/dsrrrdcc.cc dcmsr/libsrc/dsrspecc.cc dcmsr/libsrc/dsrxrdcc.cc **** Changes from 2015.12.21 (riesmeier) - Added "inline" specifier to isRootTemplate(). Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h - Use "const" specifier for pointer parameters: Use "const" specifier for pointer parameters (where appropriate). Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc - Fixed wrong use of gotoXXX() function call: Replaced call of gotoLastEntryFromNodeList() by gotoEntryFromNodeList(). This change should make no difference since the method where this function is called always checks whether the requested entry exists in the list of node IDs. Affects: dcmsr/libcmr/tid1600.cc - Added explicit type cast to avoid warnings: Added explicit type cast in order to avoid compiler warnings reported by gcc 4.8.4 with additional flags. Affects: dcmimgle/include/dcmtk/dcmimgle/dibaslut.h dcmimgle/include/dcmtk/dcmimgle/diovpln.h dcmrt/libsrc/drmdose.cc **** Changes from 2015.12.18 (onken) - Disable Visual Studios min()/max() macros: The DCMTK version of min() and max() defined in oflimits.h n conflicts with the Visual Studio versions that are pre-defined in Windows. Thus, they are now disabled in a Visual Studio build. Affects: CMake/osconfig.h.in - Added missing DLL export macro to OFMath class. Affects: ofstd/include/dcmtk/ofstd/ofmath.h **** Changes from 2015.12.17 (onken) - Always use isnan() and isinf() from OFMath. Affects: ofstd/libsrc/ofstd.cc - Removed superfluous DLL export macro: Renoved DLL export macro from static inline functions causing compiler errors in shared builds. Affects: ofstd/include/dcmtk/ofstd/ofstd.h **** Changes from 2015.12.16 (onken) - Regenerated dependencies for autoconf. Affects: dcmdata/apps/Makefile.dep dcmdata/libi2d/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmfg/libsrc/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmiod/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpeg/libsrc/Makefile.dep dcmjpls/apps/Makefile.dep dcmjpls/libcharls/Makefile.dep dcmjpls/libsrc/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmnet/tests/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmrt/apps/Makefile.dep dcmrt/libsrc/Makefile.dep dcmrt/tests/Makefile.dep dcmseg/libsrc/Makefile.dep dcmseg/tests/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libcmr/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/tests/Makefile.dep oflog/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep ofstd/tests/Makefile.dep ofstd/tests/taddsub.cc - Moved math functions from OFStandard to OFMath: Commit 1b6bb7 added oflimit.h dependency to ofstd.h in order to implement some new methods in OFStandard. However, oflimits.h relies on arith.h which is created very early by arith.cc in a special build step. However, arith.cc already relies on ofstd.h so a circular dependency was created. This has been fixed by moving those functions (isnan and isinf) into an new class "OFMath" which is declared in a separate header file ofmath.h. Before, ofstd.h defined the functions and ofmath.cc already implemented them as part of OFStandard. Thus the methods also moved from class OFStandard to OFMath. Added: ofstd/include/dcmtk/ofstd/ofmath.h Affects: config/arith.cc ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofmath.cc ofstd/libsrc/ofstd.cc ofstd/tests/tlimits.cc **** Changes from 2015.12.15 (riesmeier) - Further enhanced implementation of TID 1600: Further enhanced implementation of TID 1600 (Image Library), e.g. since this template is extensible, the structure of content items might deviate from the definition in DICOM PS 3.16 (Content Mapping Resource). Also there is now a way of recreating the root content item of this template after the clear() method has been called. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libcmr/tid1600.cc dcmsr/libsrc/dsrctpl.cc dcmsr/libsrc/dsrstpl.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/tsrcmr.cc **** Changes from 2015.12.14 (onken) - Fixed possible underflows and overflows: At several places in the code a wrong length of ACSE data structures received over the network can cause overflows or underflows when processing those data structures. Related checks have been added at various places in order to prevent such (possible) attacks. Thanks to Kevin Basista for the report. Added: ofstd/tests/taddsub.cc Affects: dcmnet/libsrc/dulparse.cc ofstd/include/dcmtk/ofstd/ofstd.h ofstd/tests/tests.cc ofstd/tests/tofstd.cc - Fixed issues with binary segmentations: Fixed memory leak when creating binary segmentations as well as possible write to non-initialized memory. Also fixed extraction of binary segmentation frames for some objects. Fixed typo. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmseg/libsrc/segdoc.cc - Simpler API to extract binary segmentation frame: Acknowledgement: This work has been supported by the "QIICR" project. Affects: dcmseg/include/dcmtk/dcmseg/segutils.h dcmseg/libsrc/segutils.cc **** Changes from 2015.12.11 (riesmeier) - Added set() methods for various template rows: Added new methods that allow for setting various modality-specific content items manually. At the moment, only some content items for TID 1607 (Image Library Entry Descriptors for PET) are supported. Further items will follow. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h dcmsr/libcmr/Makefile.dep dcmsr/libcmr/tid1600.cc dcmsr/tests/Makefile.dep dcmsr/tests/tsrcmr.cc - Added new condition constant for template errors: Added new condition constant that can be used if the "Value Set Constraint" of a particular SR template row is violated. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc - Added new function gotoNamedChildNode(): Added new helper function gotoNamedChildNode() which sets the internal cursor of the document (sub)tree to a named node starting from the first children of the current node. This avoid calling multiple other functions and checking of return values. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc - Added output stream operators: Added output stream operator<<() to class DSRCodedEntryValue and DSRNumericMeasurementValue. Internally, the print() method is used. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrnumvl.cc - Added comparison operator "not equal": Added implementation of comparison operator!=() to class DSRCodedEntryValue. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/libsrc/dsrcodvl.cc dcmsr/tests/tsrcodvl.cc - Added new functions getCursor() and setCursor(): Added new protected helper functions getCursor() and setCursor(), which can be used to store and reset a particular cursor position within a derived class (e.g. one of the SR template classes). This is much more efficient than iterating over the tree and searching for a particular node ID. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h - Added new functions gotoParent() and gotoChild(): Added new helper functions gotoParent() and gotoChild() to the basic tree node cursor class. The functionality is identical to goUp() and goDown(). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h **** Changes from 2015.12.08 (onken) - Fixed typo in configure step also in configure.in. Affects: config/configure config/configure.in - Fixed decsription of configure option and typo: Fixed escription of internal dictionary option and removed a superfluous line leading to a (non-critical) error when executing config/configure. Affects: config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in - Fixed issue with some binary segmentations: Some binary segmentation objects, whose number of pixels are not dividable by 8, could not be correctly read or written since the standard requires to not have any unused bits between the frames when encoding them in the Pixel Data element. The corresponding routines have been re-written to reflect this requirement. Thanks to Andrey Fedorov and David Flade for the report. Acknowledgement: This work has been supported by the "QIICR" project. Added: dcmseg/tests/CMakeLists.txt dcmseg/tests/Makefile.dep dcmseg/tests/tests.cc dcmseg/tests/tutils.cc Affects: dcmseg/CMakeLists.txt dcmseg/Makefile.in dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/include/dcmtk/dcmseg/segtypes.h dcmseg/include/dcmtk/dcmseg/segutils.h dcmseg/libsrc/segdoc.cc dcmseg/libsrc/segtypes.cc dcmseg/libsrc/segutils.cc dcmseg/tests/Makefile.in **** Changes from 2015.12.07 (riesmeier) - Updated "dcmrt" classes based on DICOM 2015c: Updated automatically generated IOD and sequence C++ classes for the various RT objects based on the current edition of the DICOM standard (2015c). Added: dcmrt/include/dcmtk/dcmrt/seq/drtbss.h dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h dcmrt/include/dcmtk/dcmrt/seq/drtdias.h dcmrt/include/dcmtk/dcmrt/seq/drtecs.h dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h dcmrt/include/dcmtk/dcmrt/seq/drtqds.h dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h dcmrt/libsrc/drtbss.cc dcmrt/libsrc/drtcpis.cc dcmrt/libsrc/drtdias.cc dcmrt/libsrc/drtecs.cc dcmrt/libsrc/drtpdecs.cc dcmrt/libsrc/drtqds.cc dcmrt/libsrc/drtwrsrs.cc Affects: COPYRIGHT dcmrt/apps/Makefile.dep dcmrt/include/dcmtk/dcmrt/drtdose.h dcmrt/include/dcmtk/dcmrt/drtimage.h dcmrt/include/dcmtk/dcmrt/drtionpl.h dcmrt/include/dcmtk/dcmrt/drtiontr.h dcmrt/include/dcmtk/dcmrt/drtplan.h dcmrt/include/dcmtk/dcmrt/drtstrct.h dcmrt/include/dcmtk/dcmrt/drttreat.h dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtads.h dcmrt/include/dcmtk/dcmrt/seq/drtafs.h dcmrt/include/dcmtk/dcmrt/seq/drtags.h dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h dcmrt/include/dcmtk/dcmrt/seq/drtarics.h dcmrt/include/dcmtk/dcmrt/seq/drtas1.h dcmrt/include/dcmtk/dcmrt/seq/drtas5.h dcmrt/include/dcmtk/dcmrt/seq/drtas6.h dcmrt/include/dcmtk/dcmrt/seq/drtas7.h dcmrt/include/dcmtk/dcmrt/seq/drtass.h dcmrt/include/dcmtk/dcmrt/seq/drtbads.h dcmrt/include/dcmtk/dcmrt/seq/drtbas.h dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h dcmrt/include/dcmtk/dcmrt/seq/drtbs.h dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h dcmrt/include/dcmtk/dcmrt/seq/drtccs.h dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtces.h dcmrt/include/dcmtk/dcmrt/seq/drtchs.h dcmrt/include/dcmtk/dcmrt/seq/drtcims.h dcmrt/include/dcmtk/dcmrt/seq/drtcis.h dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h dcmrt/include/dcmtk/dcmrt/seq/drtcos.h dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h dcmrt/include/dcmtk/dcmrt/seq/drtcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h dcmrt/include/dcmtk/dcmrt/seq/drtcss.h dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtds.h dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtdss.h dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h dcmrt/include/dcmtk/dcmrt/seq/drteas.h dcmrt/include/dcmtk/dcmrt/seq/drtes.h dcmrt/include/dcmtk/dcmrt/seq/drtfds.h dcmrt/include/dcmtk/dcmrt/seq/drtfes.h dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h dcmrt/include/dcmtk/dcmrt/seq/drtfms.h dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h dcmrt/include/dcmtk/dcmrt/seq/drtgas.h dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtiais.h dcmrt/include/dcmtk/dcmrt/seq/drtians.h dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h dcmrt/include/dcmtk/dcmrt/seq/drtibls.h dcmrt/include/dcmtk/dcmrt/seq/drtibs.h dcmrt/include/dcmtk/dcmrt/seq/drticpds.h dcmrt/include/dcmtk/dcmrt/seq/drticps.h dcmrt/include/dcmtk/dcmrt/seq/drtics.h dcmrt/include/dcmtk/dcmrt/seq/drtiis.h dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h dcmrt/include/dcmtk/dcmrt/seq/drtircs.h dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h dcmrt/include/dcmtk/dcmrt/seq/drtitts.h dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h dcmrt/include/dcmtk/dcmrt/seq/drtiws.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h dcmrt/include/dcmtk/dcmrt/seq/drtmas.h dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtmls.h dcmrt/include/dcmtk/dcmrt/seq/drtmps.h dcmrt/include/dcmtk/dcmrt/seq/drtmss.h dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h dcmrt/include/dcmtk/dcmrt/seq/drtoas.h dcmrt/include/dcmtk/dcmrt/seq/drtois.h dcmrt/include/dcmtk/dcmrt/seq/drtopis.h dcmrt/include/dcmtk/dcmrt/seq/drtos.h dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h dcmrt/include/dcmtk/dcmrt/seq/drtpics.h dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h dcmrt/include/dcmtk/dcmrt/seq/drtporis.h dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h dcmrt/include/dcmtk/dcmrt/seq/drtpss.h dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h dcmrt/include/dcmtk/dcmrt/seq/drtras.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h dcmrt/include/dcmtk/dcmrt/seq/drtrds.h dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h dcmrt/include/dcmtk/dcmrt/seq/drtrics.h dcmrt/include/dcmtk/dcmrt/seq/drtrims.h dcmrt/include/dcmtk/dcmrt/seq/drtris.h dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h dcmrt/include/dcmtk/dcmrt/seq/drtrps.h dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h dcmrt/include/dcmtk/dcmrt/seq/drtrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h dcmrt/include/dcmtk/dcmrt/seq/drtrses.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h dcmrt/include/dcmtk/dcmrt/seq/drtrws.h dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h dcmrt/include/dcmtk/dcmrt/seq/drtscris.h dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtsds.h dcmrt/include/dcmtk/dcmrt/seq/drtshds.h dcmrt/include/dcmtk/dcmrt/seq/drtsis.h dcmrt/include/dcmtk/dcmrt/seq/drtsns.h dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h dcmrt/include/dcmtk/dcmrt/seq/drtss.h dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h dcmrt/include/dcmtk/dcmrt/seq/drttms0.h dcmrt/include/dcmtk/dcmrt/seq/drttms9.h dcmrt/include/dcmtk/dcmrt/seq/drttscds.h dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h dcmrt/include/dcmtk/dcmrt/seq/drttts.h dcmrt/include/dcmtk/dcmrt/seq/drtvls.h dcmrt/include/dcmtk/dcmrt/seq/drtwps.h dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h dcmrt/include/dcmtk/dcmrt/seq/drtws.h dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h dcmrt/libsrc/CMakeLists.txt dcmrt/libsrc/Makefile.dep dcmrt/libsrc/Makefile.in dcmrt/libsrc/drtaadcs.cc dcmrt/libsrc/drtadcs.cc dcmrt/libsrc/drtads.cc dcmrt/libsrc/drtafs.cc dcmrt/libsrc/drtags.cc dcmrt/libsrc/drtajcs.cc dcmrt/libsrc/drtarics.cc dcmrt/libsrc/drtas1.cc dcmrt/libsrc/drtas5.cc dcmrt/libsrc/drtas6.cc dcmrt/libsrc/drtas7.cc dcmrt/libsrc/drtass.cc dcmrt/libsrc/drtbads.cc dcmrt/libsrc/drtbas.cc dcmrt/libsrc/drtbcps.cc dcmrt/libsrc/drtbl2.cc dcmrt/libsrc/drtbl5.cc dcmrt/libsrc/drtbldls.cc dcmrt/libsrc/drtbldps.cc dcmrt/libsrc/drtblds1.cc dcmrt/libsrc/drtblds5.cc dcmrt/libsrc/drtblds6.cc dcmrt/libsrc/drtbldts.cc dcmrt/libsrc/drtbrcss.cc dcmrt/libsrc/drtbrdrs.cc dcmrt/libsrc/drtbrs.cc dcmrt/libsrc/drtbs.cc dcmrt/libsrc/drtbvcps.cc dcmrt/libsrc/drtcbars.cc dcmrt/libsrc/drtccs.cc dcmrt/libsrc/drtcctus.cc dcmrt/libsrc/drtcdrs.cc dcmrt/libsrc/drtces.cc dcmrt/libsrc/drtchs.cc dcmrt/libsrc/drtcims.cc dcmrt/libsrc/drtcis.cc dcmrt/libsrc/drtcncs.cc dcmrt/libsrc/drtcos.cc dcmrt/libsrc/drtcpas.cc dcmrt/libsrc/drtcps.cc dcmrt/libsrc/drtcs.cc dcmrt/libsrc/drtcsas.cc dcmrt/libsrc/drtcshs.cc dcmrt/libsrc/drtcsis.cc dcmrt/libsrc/drtcss.cc dcmrt/libsrc/drtdcs.cc dcmrt/libsrc/drtdimcs.cc dcmrt/libsrc/drtdimrs.cc dcmrt/libsrc/drtdirs.cc dcmrt/libsrc/drtdose.cc dcmrt/libsrc/drtdrs.cc dcmrt/libsrc/drtds.cc dcmrt/libsrc/drtdspcs.cc dcmrt/libsrc/drtdss.cc dcmrt/libsrc/drtdvhs.cc dcmrt/libsrc/drtdvrrs.cc dcmrt/libsrc/drteas.cc dcmrt/libsrc/drtes.cc dcmrt/libsrc/drtfds.cc dcmrt/libsrc/drtfes.cc dcmrt/libsrc/drtfgs.cc dcmrt/libsrc/drtfgss.cc dcmrt/libsrc/drtfms.cc dcmrt/libsrc/drtfsss.cc dcmrt/libsrc/drtgas.cc dcmrt/libsrc/drthsdrs.cc dcmrt/libsrc/drtiais.cc dcmrt/libsrc/drtians.cc dcmrt/libsrc/drtiblds.cc dcmrt/libsrc/drtibls.cc dcmrt/libsrc/drtibs.cc dcmrt/libsrc/drticpds.cc dcmrt/libsrc/drticps.cc dcmrt/libsrc/drtics.cc dcmrt/libsrc/drtiis.cc dcmrt/libsrc/drtimage.cc dcmrt/libsrc/drtionpl.cc dcmrt/libsrc/drtiontr.cc dcmrt/libsrc/drtipiqs.cc dcmrt/libsrc/drtircs.cc dcmrt/libsrc/drtiseis.cc dcmrt/libsrc/drtitts.cc dcmrt/libsrc/drtiwps.cc dcmrt/libsrc/drtiws.cc dcmrt/libsrc/drtlsds.cc dcmrt/libsrc/drtlsds6.cc dcmrt/libsrc/drtlsds7.cc dcmrt/libsrc/drtmacds.cc dcmrt/libsrc/drtmas.cc dcmrt/libsrc/drtmdrs.cc dcmrt/libsrc/drtmls.cc dcmrt/libsrc/drtmps.cc dcmrt/libsrc/drtmss.cc dcmrt/libsrc/drtmucs.cc dcmrt/libsrc/drtoas.cc dcmrt/libsrc/drtois.cc dcmrt/libsrc/drtopis.cc dcmrt/libsrc/drtos.cc dcmrt/libsrc/drtpbcs.cc dcmrt/libsrc/drtpcs.cc dcmrt/libsrc/drtpcxs.cc dcmrt/libsrc/drtpfms.cc dcmrt/libsrc/drtpics.cc dcmrt/libsrc/drtplan.cc dcmrt/libsrc/drtporcs.cc dcmrt/libsrc/drtporis.cc dcmrt/libsrc/drtppcs.cc dcmrt/libsrc/drtprsis.cc dcmrt/libsrc/drtpscs.cc dcmrt/libsrc/drtpsics.cc dcmrt/libsrc/drtpss.cc dcmrt/libsrc/drtpsss.cc dcmrt/libsrc/drtpvis.cc dcmrt/libsrc/drtras.cc dcmrt/libsrc/drtrbas2.cc dcmrt/libsrc/drtrbas8.cc dcmrt/libsrc/drtrbls.cc dcmrt/libsrc/drtrbos1.cc dcmrt/libsrc/drtrbos6.cc dcmrt/libsrc/drtrbos7.cc dcmrt/libsrc/drtrbs2.cc dcmrt/libsrc/drtrbs4.cc dcmrt/libsrc/drtrbs8.cc dcmrt/libsrc/drtrcdrs.cc dcmrt/libsrc/drtrcos.cc dcmrt/libsrc/drtrcps.cc dcmrt/libsrc/drtrcs.cc dcmrt/libsrc/drtrdros.cc dcmrt/libsrc/drtrdrs1.cc dcmrt/libsrc/drtrdrs6.cc dcmrt/libsrc/drtrdrs8.cc dcmrt/libsrc/drtrds.cc dcmrt/libsrc/drtrecs.cc dcmrt/libsrc/drtrfgs.cc dcmrt/libsrc/drtrfors.cc dcmrt/libsrc/drtrics.cc dcmrt/libsrc/drtrims.cc dcmrt/libsrc/drtris.cc dcmrt/libsrc/drtrlsds.cc dcmrt/libsrc/drtrmdrs.cc dcmrt/libsrc/drtrms.cc dcmrt/libsrc/drtrmss6.cc dcmrt/libsrc/drtrmss7.cc dcmrt/libsrc/drtrpcs.cc dcmrt/libsrc/drtrpis.cc dcmrt/libsrc/drtrppcs.cc dcmrt/libsrc/drtrpphs.cc dcmrt/libsrc/drtrpps.cc dcmrt/libsrc/drtrppss.cc dcmrt/libsrc/drtrps.cc dcmrt/libsrc/drtrris1.cc dcmrt/libsrc/drtrris6.cc dcmrt/libsrc/drtrris9.cc dcmrt/libsrc/drtrrms.cc dcmrt/libsrc/drtrros.cc dcmrt/libsrc/drtrrpcs.cc dcmrt/libsrc/drtrrros.cc dcmrt/libsrc/drtrrs.cc dcmrt/libsrc/drtrrshs.cc dcmrt/libsrc/drtrrtps.cc dcmrt/libsrc/drtrrtps3.cc dcmrt/libsrc/drtrrtps4.cc dcmrt/libsrc/drtrrtps5.cc dcmrt/libsrc/drtrscs.cc dcmrt/libsrc/drtrsers.cc dcmrt/libsrc/drtrses.cc dcmrt/libsrc/drtrshs.cc dcmrt/libsrc/drtrshs6.cc dcmrt/libsrc/drtrshs7.cc dcmrt/libsrc/drtrsis.cc dcmrt/libsrc/drtrsns.cc dcmrt/libsrc/drtrsos.cc dcmrt/libsrc/drtrsrs.cc dcmrt/libsrc/drtrss.cc dcmrt/libsrc/drtrsss.cc dcmrt/libsrc/drtrsts.cc dcmrt/libsrc/drtrtrs2.cc dcmrt/libsrc/drtrtrs4.cc dcmrt/libsrc/drtrvis.cc dcmrt/libsrc/drtrws.cc dcmrt/libsrc/drtrwvms.cc dcmrt/libsrc/drtscris.cc dcmrt/libsrc/drtsdcs.cc dcmrt/libsrc/drtsds.cc dcmrt/libsrc/drtshds.cc dcmrt/libsrc/drtsis.cc dcmrt/libsrc/drtsns.cc dcmrt/libsrc/drtspccs.cc dcmrt/libsrc/drtspcs.cc dcmrt/libsrc/drtss.cc dcmrt/libsrc/drtssrs.cc dcmrt/libsrc/drtstrct.cc dcmrt/libsrc/drttms0.cc dcmrt/libsrc/drttms9.cc dcmrt/libsrc/drttreat.cc dcmrt/libsrc/drttscds.cc dcmrt/libsrc/drttsibs.cc dcmrt/libsrc/drttsmds.cc dcmrt/libsrc/drttts.cc dcmrt/libsrc/drtvls.cc dcmrt/libsrc/drtwps.cc dcmrt/libsrc/drtwrs.cc dcmrt/libsrc/drtws.cc dcmrt/libsrc/drtxrs.cc dcmrt/tests/Makefile.dep - Handle EINTR raised by connect() or select(): The EINTR error (system call was interrupted by a signal that was caught) might also be raised by a call of connect() or select(), which was not yet handled appropriately. Thanks to Thomas Sondergaard and Alexander Karaivanov for the report and suggested fix. Affects: dcmnet/libsrc/dulfsm.cc - Check return value of listen() for errors: Introduced check of return value of listen() call in order to detect e.g. when listening on a certain port that is already in use (EADDRINUSE). This kind of error has been reported for various Linux distributions, e.g. RHEL5.3 and CentOS 7. Thanks to Thomas Sondergaard and Alexander Karaivanov for the report and suggested fix. Affects: dcmnet/libsrc/dul.cc - Fixed numerous typos. Affects: dcmnet/libsrc/dul.cc dcmnet/libsrc/dulfsm.cc **** Changes from 2015.12.04 (riesmeier) - Added comment on optional elements to be supported: Added comment on optional data elements to be supported in the future. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h - Fixed wrong cardinality check on type 2 sequence: Fixed wrong cardinality check on type 2 element Performed Procedure Code Sequence (0040,A372). The DICOM standard says: "Zero or more Items shall be included in this Sequence." Affects: dcmsr/libsrc/dsrdoc.cc **** Changes from 2015.12.01 (riesmeier) - Updated documentation on recently added VR "UC": Updated documentation regarding the value representation (VR) "Unlimited Characters" (UC), which was missing at various places, especially when listing the VRs that are affected by Specific Character Set (0008,0005). Affects: dcmdata/apps/dcm2xml.cc dcmdata/docs/dcm2xml.man dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man **** Changes from 2015.11.25 (onken) - Replaced type "bool" through "OFBool": Some occurrences of bool have been checked in by one of the last commits (72538a3). Since bool is not used in DCMTK so far (except for code integrated from external sources), it was replaced by the DCMTK-specific OFBool type. Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcitem.h **** Changes from 2015.11.18 (onken) - Add operators "<", "<=", ">" and ">=" for dcmdata: Added operators "<", "<=", ">" and ">=" for DcmElement and DcmItem classes in dcmdata in order to allow comparison of elements or items (i.e. lists of elements). The operators use the compare() functions introduced several weeks ago. Also fixed doxygen documentation issue. Acknowledgement: This work has been supported by the "QIICR" project. Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/tests/tvrcomp.cc **** Changes from 2015.11.17 (riesmeier) - Added text on IOD-specific template constraints: Added text from DICOM PS 3.3 on template constraints to SR IOD checker classes. This might be helpful when certain templates are referenced. Affects: dcmsr/include/dcmtk/dcmsr/dsrchecc.h dcmsr/include/dcmtk/dcmsr/dsrcolcc.h dcmsr/include/dcmtk/dcmsr/dsrimpcc.h dcmsr/include/dcmtk/dcmsr/dsrkeycc.h dcmsr/include/dcmtk/dcmsr/dsrmaccc.h dcmsr/include/dcmtk/dcmsr/dsrmamcc.h dcmsr/include/dcmtk/dcmsr/dsrprocc.h dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h dcmsr/include/dcmtk/dcmsr/dsrspecc.h dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h - Fixed incorrect constraint for root template: According to DICOM PS 3.3, the root template TID 3001 "may be" used for the Procedure Log IOD but it is not required (i.e. no constraint). Affects: dcmsr/include/dcmtk/dcmsr/dsrprocc.h dcmsr/libsrc/dsrprocc.cc - Fixed typos and updated references in comments. Affects: dcmsr/libsrc/dsrc3dcc.cc dcmsr/libsrc/dsrcomcc.cc dcmsr/libsrc/dsrimpcc.cc - Check Acquisition Context SR contstraints: Added support for checking the relationship content constraints of the recently added Acquisition Context SR IOD (Supplement 187). Added: dcmsr/include/dcmtk/dcmsr/dsracqcc.h dcmsr/libsrc/dsracqcc.cc Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrtypes.cc - Added minimal support for Supplement 187: Added minimal support for the recently approved Supplement 187 (Preclinical Small Animal Imaging Acquisition Context), i.e. added new Storage SOP Class to "dcmdata", "dcmnet" and "dcmqrdb". Also added new SR document type to "dcmsr". Full support for this new Structured Rreporting IOD will follow in a future commit. The official status of this Supplement is "Draft Final Text - Waiting for Codes" (WC), i.e. the document is final but some machine-readable codes are still missing. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man dcmqrdb/libsrc/dcmqrdbi.cc dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc - Added DICOMDIR support for Supplement 184: Added support for new Storage SOP Class from Supplement 184 (Brachytherapy Delivery Instruction) to DICOMDIR generation code. Also fixed a minor issue with the "RT Beams Delivery Instruction Storage" SOP Class in this context. Affects: dcmdata/libsrc/dcddirif.cc **** Changes from 2015.11.16 (riesmeier) - Added support for new UID from Supplement 184: Added support for new Storage SOP Class UID from Supplement 184 (Brachytherapy Delivery Instruction). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for recently approved CPs: Added support for CP-1364, CP-1431, CP-1432, CP-1457, CP-1478 (WC) and CP-1487 to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Added support for Supplement 184 to dictionary: Added support for the final text version of Supplement 184 (Brachytherapy Delivery Instruction) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc **** Changes from 2015.11.16 (onken) - Use tag constants for better readability. Affects: dcmdata/tests/tvrcomp.cc - Print warning when overwriting an existing file: Make sure that movescu and getscu print out a warning when storing a received file using a filename that is already taken by an existing file. This resulting behaviour (warning and overwriting the old file) is now consistent with storescp. Affects: dcmnet/apps/movescu.cc dcmnet/libsrc/scu.cc **** Changes from 2015.11.13 (riesmeier) - Added support for further Asian character sets: Added support for further Asian character sets, e.g. Thai, Japanese, Korean and Chinese (including ISO 2022 code extensions). The character set mapping that is used for HTML/XHTML and XML format is based on Table D-1 in DICOM PS 3.18 Annex D (current version from Supplement 174 - RESTful Rendering). Affects: dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man dcmsr/docs/xml2dsr.man dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrtypes.cc - Changed checking of unsupported character sets: Changed the way unsupported character sets, which are specified by option --charset-assume, are checked. This will facilitate the addition of new character sets (in the future). Affects: dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc - Support multiple values for SpecificCharacterSet: Added support for multiple values being used for Specific Character Set (0008,0005). This will allow for specifying ISO 2022 based character sets as needed for Japanese, Korean and Chinese (i.e. code extensions). Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc - Fixed "Type of modification" field: Fixed value of "Type of modification" field for recently added macro ENABLE_BUILTIN_DICTIONARY. Now it is consistent with other similar macros. Affects: config/docs/macros.txt **** Changes from 2015.11.13 (onken) - Renamed some handle...() methods for consisteny: The handle...() methods for FIND, MOVE and ACTION only receive the corresponding message but do not handle them further (e.g. they do not send a response). Thus the methods have been renamed to "receive...()" following the scheme already used for the STORE message before. Thanks to Ing-Long Eric Kuo for the report. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc **** Changes from 2015.11.12 (riesmeier) - Report an error on missing "Rows" or "Columns": Output a more specific error message to the logger if the mandatory attribute Rows (0028,0010) and/or Columns (0028,0011) is missing. Affects: dcmimgle/libsrc/diimage.cc **** Changes from 2015.11.09 (riesmeier) - Enhanced documentation on option --charset-assume: Made it more explicit that the old terms (latin-1, greek, etc.) are still supported for option --charset-assume (for reasons of backward compatibility). Affects: dcmdata/docs/dcm2xml.man dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man **** Changes from 2015.11.03 (onken) - Fixed further possible issues with Segment Number. Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/include/dcmtk/dcmseg/segment.h dcmseg/libsrc/segdoc.cc dcmseg/libsrc/segment.cc **** Changes from 2015.11.03 (eichelberg) - Fixed dcmdata_VRCompare test: Fixed dcmdata_VRCompare unit test to catch a regression of the bug in DcmItem::compare() fixed earlier today. Affects: dcmdata/tests/tvrcomp.cc - Fixed bug in DcmItem::compare(): Fixed bug in DcmItem::compare() leading to incorrect comparison results. Thanks to Robert Habrich for the bug report and patch. Affects: dcmdata/libsrc/dcitem.cc **** Changes from 2015.11.03 (onken) - Fixed segment access via Segment Number: Fixed segment access via Segment Number which now assumes that the first Segment Number is not 0 as in the underlying vector, but starts with 1. Thanks to Andrey Fedorov for the report. Affects: dcmseg/libsrc/segdoc.cc **** Changes from 2015.10.09 (riesmeier) - Check further dependence of command line options: Made sure that option --attr-template-id is only used together with option --write-template-id, i.e. check the same dependence as for option --template-envelope. This is because --attr-template-id would have no effect otherwise, which might be unexpected to the user. Affects: dcmsr/apps/dsr2xml.cc **** Changes from 2015.10.08 (riesmeier) - Added guard to fix issue with llvm-gcc-4.2: Added guard to fix linker error with llvm-gcc-4.2 on Mac OS X. This guard checks for the use of a Clang compiler, which requires explicit template instantiation (see commit a3dc5b5) while other compilers do not. Thanks to Bill Lorensen for the report and Jean-Christophe Fillion-Robin for the patch. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h **** Changes from 2015.10.08 (onken) - Fixed error message. Affects: dcmiod/libsrc/iodutil.cc **** Changes from 2015.10.01 (riesmeier) - Fixed issue with Clang 3.0/3.1 on Mac OS X: Fixed linker error with Clang 3.0/3.1 on Mac OS X with support for "shared libs" enabled. These older versions seem to require explicit instantiation of the template class DSRTree, which serves as the base class of DSRDocumentSubTree. Thanks to Jean-Christophe Fillion-Robin for the patch. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h **** Changes from 2015.09.25 (riesmeier) - Updated comments for TID 1607: Updated comments for TID 1607 (Image Library Entry Descriptors for PET) based on feedback and a proposed CP from David Clunie. Affects: dcmsr/libcmr/tid1600.cc - Fixed code meaning for UCUM code "deg": Fixed code meaning for UCUM code "deg" (based on a proposed CP from David Clunie, editor of the DICOM standard). Affects: dcmsr/include/dcmtk/dcmsr/codes/ucum.h - Made static method checkSOPInstance() virtual: Made static method checkSOPInstance() virtual so derived classes can overwrite (specialize) it. Also added a comment explaining this. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h - Fixed possible memory leak: Made sure that all locally allocated memory is freed before returning from a method with an error status. This possible memory leak was found in DcmSCU::sendSTORERequest(). Affects: dcmnet/libsrc/scu.cc - Report an error if DICOM file cannot be loaded: Report an error to the log output if a SOP instance to be sent (i.e. which is part of the transfer list) cannot be loaded from the referenced DICOM file. Affects: dcmnet/libsrc/dstorscu.cc - Changed API to use OFFilename instead of OFString: Changed type of parameter of some methods that take a filename to use an instance of OFFilename instead of OFString. This allows for passing also a wide character string (on Windows) as well as a C string. This is an onging process, so further API changes may follow. Affects: dcmdata/include/dcmtk/dcmdata/dcdatutl.h dcmdata/libsrc/dcdatutl.cc dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/dstorscu.cc dcmnet/libsrc/scu.cc - Fixed incorrect header and comments: The helper functions were extracted from the DcmStoragesSCU class, so the copyright header and comments were not correct. Also the name of the DCMTK module was incorrect (it is "dcmdata" and not "dcmiod"). Affects: dcmdata/include/dcmtk/dcmdata/dcdatutl.h dcmdata/libsrc/dcdatutl.cc - Fixed automatically generated CHANGES entry. Affects: docs/CHANGES.361 - Removed suffix "String" from "Other..." VRs: Supplement 181 (Tractography Results Storage SOP Class) introduces a new value representation (VR) "Other Long" (OL) and, thereby, removes the suffix "String" from all "Other..." (Ox) VRs. See DCMTK's issue tracker: Conformance #664 Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/include/dcmtk/dcmdata/dcvrobow.h dcmdata/include/dcmtk/dcmdata/dcvrod.h dcmdata/include/dcmtk/dcmdata/dcvrof.h - Updated latest tested CMake version: Updated information on latest CMake version that has been tested to "3.3.2". Affects: CMake/dcmtkPrepare.cmake **** Changes from 2015.09.24 (schlamelcher) - Updated CHANGES.361 for new development snapshot. Affects: docs/CHANGES.361 - Updated DCMTK_ABI_VERSION for new development snapshot. Affects: CMake/dcmtkPrepare.cmake - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/dcm2pdf.1 doxygen/manpages/man1/dcm2pnm.1 doxygen/manpages/man1/dcm2xml.1 doxygen/manpages/man1/dcmcjpeg.1 doxygen/manpages/man1/dcmcjpls.1 doxygen/manpages/man1/dcmconv.1 doxygen/manpages/man1/dcmcrle.1 doxygen/manpages/man1/dcmdjpeg.1 doxygen/manpages/man1/dcmdjpls.1 doxygen/manpages/man1/dcmdrle.1 doxygen/manpages/man1/dcmdspfn.1 doxygen/manpages/man1/dcmdump.1 doxygen/manpages/man1/dcmftest.1 doxygen/manpages/man1/dcmgpdir.1 doxygen/manpages/man1/dcmj2pnm.1 doxygen/manpages/man1/dcml2pnm.1 doxygen/manpages/man1/dcmmkcrv.1 doxygen/manpages/man1/dcmmkdir.1 doxygen/manpages/man1/dcmmklut.1 doxygen/manpages/man1/dcmodify.1 doxygen/manpages/man1/dcmp2pgm.1 doxygen/manpages/man1/dcmprscp.1 doxygen/manpages/man1/dcmprscu.1 doxygen/manpages/man1/dcmpschk.1 doxygen/manpages/man1/dcmpsmk.1 doxygen/manpages/man1/dcmpsprt.1 doxygen/manpages/man1/dcmpsrcv.1 doxygen/manpages/man1/dcmpssnd.1 doxygen/manpages/man1/dcmqridx.1 doxygen/manpages/man1/dcmqrscp.1 doxygen/manpages/man1/dcmqrti.1 doxygen/manpages/man1/dcmquant.1 doxygen/manpages/man1/dcmrecv.1 doxygen/manpages/man1/dcmscale.1 doxygen/manpages/man1/dcmsend.1 doxygen/manpages/man1/dcmsign.1 doxygen/manpages/man1/dcod2lum.1 doxygen/manpages/man1/dconvlum.1 doxygen/manpages/man1/drtdump.1 doxygen/manpages/man1/dsr2html.1 doxygen/manpages/man1/dsr2xml.1 doxygen/manpages/man1/dsrdump.1 doxygen/manpages/man1/dump2dcm.1 doxygen/manpages/man1/echoscu.1 doxygen/manpages/man1/findscu.1 doxygen/manpages/man1/getscu.1 doxygen/manpages/man1/img2dcm.1 doxygen/manpages/man1/movescu.1 doxygen/manpages/man1/pdf2dcm.1 doxygen/manpages/man1/storescp.1 doxygen/manpages/man1/storescu.1 doxygen/manpages/man1/termscu.1 doxygen/manpages/man1/wlmscpfs.1 doxygen/manpages/man1/xml2dcm.1 doxygen/manpages/man1/xml2dsr.1 **** Changes from 2015.09.23 (riesmeier) - Added three new DCMTK modules to README: Added the new DCMTK modules dcmfg, dcmiod and dcmseg to the README file. Affects: README **** Changes from 2015.09.18 (riesmeier) - Fixed order of modules in main HTML file: The order of DCMTK modules in the main HTML documentation file was almost alphabetical. Now, the order should be as it always was intended. Affects: doxygen/htmldocs.dox - Fixed various minor issues in module descriptions. Affects: dcmfg/docs/dcmfg.dox dcmiod/docs/dcmiod.dox dcmseg/docs/dcmseg.dox - Updated currently supported compiler versions: Updated compiler versions for Linux and Windows operating system usually supported by the current development version (aka "snapshot"). Affects: INSTALL - Check for recently approved multi-frame images: Updated check for multi-frame images regarding some recently approved multi-frame image IODs (i.e. their associated SOP Class UIDs), which were missing. Also added a comment explaining that it is not always clear what DICOM PS 3.11 (Media Storage Application Profiles) means with "multi-frame Media Image Storage SOP Classes" and similar descriptions. Affects: dcmdata/libsrc/dcddirif.cc - Added support for new UIDs from Supplement 156: Added support for new Storage SOP Class UIDs from Supplement 156 (Planar MPR Volumetric Presentation State). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc - Added support for Supplement 156 to dictionary: Added support for the final text version of Supplement 156 (Planar MPR Volumetric Presentation State) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc - Added support for recently approved CPs: Added support for CP-1441, CP-1454, CP-1458 and CP-1461 to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictbi.cc **** Changes from 2015.09.17 (onken) - Enable private tags in builtin dictionary on CMake: CMake did not allow the use of the private tag option together with the builtin dictionary. Since that combination works fine, this restriction was removed. Affects: CMake/dcmtkPrepare.cmake - Fixed another typo. Affects: CMake/dcmtkPrepare.cmake - Fixed typo and made documentation more consistent. Affects: config/configure.in config/docs/macros.txt - Fixed typo in CMake script that can cause warnings. Affects: CMake/dcmtkPrepare.cmake **** Changes from 2015.09.16 (onken) - Simplified builtin dictionary infrastructure: DCMTK has three mechanisms to populate its global data dictionary, one of them being the builtin dictionary that is compiled into the object code. Now, always dcdictbi.cc is used as source for the builtin dictionary. dcdictzz.cc as well as various make targets are not required any more. mkdictbi.cc and mkdeftag.cc can still be used to re-create dcdictbi.cc and dcdeftag.h respectively (the latter containing tag constants). New make targets updatebuiltindict and updatedeftag compile those tools and create the new source code based on dicom.dic and private.dic. Further details can be found in dcmdata/docs/datadict.txt Removed: dcmdata/libsrc/dcdictbi.nul dcmdata/libsrc/dcdictzz.cc Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/configure.in config/docs/macros.txt config/include/dcmtk/config/osconfig.h.in dcmdata/docs/datadict.txt dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.dep dcmdata/libsrc/Makefile.in dcmdata/libsrc/dcdictbi.cc dcmdata/libsrc/mkdeftag.cc dcmdata/libsrc/mkdictbi.cc dcmpstat/libsrc/Makefile.dep **** Changes from 2015.09.15 (onken) - Renamed dictionary configuration build options: Renamed the configuration option used for enabling or disabling builtin dictionary, external dictionary and automated loading of the external private dictionary private tag. The build configuration options are now called enable/disable instead of with/without since the later is only to be used for configuring support for external packages like ZLIB or OpenSSL. Also fixed some typos. Affects: CMake/DCMTKConfig.cmake.in CMake/DCMTKConfig.cmake26.in CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake CMake/osconfig.h.in config/Makefile.def.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmdata/docs/datadict.txt dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.in dcmdata/libsrc/mkdictbi.cc **** Changes from 2015.09.12 (riesmeier) - Added "YXLON" to the new CREDITS file. Affects: CREDITS **** Changes from 2015.09.11 (riesmeier) - Added CREDITS file: Added CREDITS file that contains a list of individuals, companies and organizations we would like to thank for supporting the development and maintenance of the DCMTK. Of course, this list is not (yet) complete but will be extended over time. Added: CREDITS Affects: CMakeLists.txt Makefile config/rootconf **** Changes from 2015.09.03 (onken) - Use static_cast instead of dynamic_cast: In DCMTK there is a rule not to use dynamic_cast at all even if it is already available in the toolkit via OFdynamic_cast. Thus all calls have been replaced with OFstatic_cast calls instead. Affects: dcmiod/libsrc/iodutil.cc dcmiod/libsrc/modimagepixel.cc dcmiod/libsrc/modmultiframedimension.cc **** Changes from 2015.09.02 (onken) - Replaced tab characters with spaces. Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/libsrc/modbase.cc **** Changes from 2015.09.02 (riesmeier) - Introduced global definitions for certain tags: Introduced global definitions for Item and Sequence Delimitation Item tags where the (internal) VR is already passed to the DcmTag constructor. Using these definitions avoids the time-consuming VR lookup. This improves the performance when parsing DICOM objects with very large SQ elements (i.e. sequences with thousands of items like in many Enhanced Multi-frame IODs). Also renamed the global definitions of "ItemTag" and "InternalUseTag", which now also have the common "DCM_" prefix, and passed (internal) VR to them. Furthermore, introduced definitions for Pixel Item and Pixel Sequence, which makes the source code more readable. Affects: dcmdata/apps/dump2dcm.cc dcmdata/apps/xml2dcm.cc dcmdata/include/dcmtk/dcmdata/dcpixseq.h dcmdata/include/dcmtk/dcmdata/dcpxitem.h dcmdata/include/dcmtk/dcmdata/dctag.h dcmdata/libi2d/i2d.cc dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcmetinf.cc dcmdata/libsrc/dcpixseq.cc dcmdata/libsrc/dcrlecce.cc dcmdata/libsrc/dcsequen.cc dcmjpeg/libsrc/djcodece.cc dcmjpls/libsrc/djcodece.cc **** Changes from 2015.09.01 (riesmeier) - Check logger for debug output of template tree: Check whether the debug logger is enabled (instead of the define "DEBUG") when printing the contents of the template tree to the console. Added: dcmsr/tests/gmon.out Affects: dcmsr/tests/Makefile.dep dcmsr/tests/tsrcmr.cc - Removed version suffix "3" from dictionary entries. Affects: dcmdata/libsrc/dcdict.cc - Added comment that "Big Endian" is retired: Added comment that the "Explicit VR Big Endian" transfer syntax has been retired. This is mainly for reasons of consistency with the other retired transfer syntaxes that are defined in this header file. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h **** Changes from 2015.08.28 (riesmeier) - Fixed "cardinality" for SQ elements in comments: Fixed value of "cardinality" for SQ elements in comments ("1-n" for "one or more items" instead of "1" as it was before). Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h - Fixed various issues in test case: Fixed various issues in test case "dcmnet_dimseDump_nullByte", e.g. use the attribute Affected SOP Instance UID instead of Patient's Name for the UI element in the C-ECHO Request message. Also changed order of parameters in OFCHECK_EQUAL() call. Affects: dcmnet/tests/tdump.cc - Made sure that "dicom.dic" is loaded for tests: Made sure that the data dictionary that is shippped with the DCMTK is loaded before the test cases in the "dcmnet" module are started. This prevents that some tests fail if the VR (and/or the attribute name) of particular tags are unknown. Affects: dcmnet/tests/Makefile.in **** Changes from 2015.08.28 (onken) - Added mising "check-exhaustive" targets: Added missing "check-exhaustive" targets to new modules dcmiod, dcmfg and dcmseg. Affects: dcmfg/Makefile.in dcmiod/Makefile.in dcmiod/tests/Makefile.in dcmseg/Makefile.in - Added more files to be ignored by git: Added "*.*~" since it is used by some editors for temporary files. Affects: .gitignore **** Changes from 2015.08.27 (onken) - Added shared library export maro to IODModule: The shared library export macro was missing for the IODModule class which triggered (at least) warnings in Visual Studo 2010. Affects: dcmiod/include/dcmtk/dcmiod/modbase.h - Updated dictionary build and code documentation. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake config/configure config/configure.in dcmdata/docs/datadict.txt dcmdata/include/dcmtk/dcmdata/dcdict.h **** Changes from 2015.08.27 (riesmeier) - Made sure that tree node annotations are copied: Made sure that tree node annotations are copied/cloned when a copy or clone of a tree node or a (sub)tree is created. This makes sure that the additional textual information (e.g. a user-defined label or the template ID/row number) is also available in the copy/clone. As always: enhanced existing test cases. Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrdoctn.cc dcmsr/tests/tsrcmr.cc - Added support for clearing tree node annotations: Added support for clearing tree node annotations, either individually or for all nodes in a tree. Also enhanced existing test cases in this regard. Affects: dcmsr/include/dcmtk/dcmsr/dsrtnant.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/tests/tsrtree.cc - Added support for Context Group CID 100 and 7021: Added support for Context Group CID 100 (Quantitative Diagnostic Imaging Procedures) and CID 7021 (Measurement Report Document Titles), which will be needed for the upcoming template class of TID 1500 (Measurement Report). Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h dcmsr/libcmr/cid100.cc dcmsr/libcmr/cid7021.cc Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/libcmr/init.cc **** Changes from 2015.08.26 (riesmeier) - Added support for annotating content items: Added support for textual annotations, which can be used to label content items with user-defined information. This might facilitate the navigation within the document tree and is especially useful for document structures based on templates. Therefore, the template classes in the "cmr" (Content Mapping Resource) submodule annotate all content items with a predefined text of the format "TID xxxx - Row nn". Added: dcmsr/include/dcmtk/dcmsr/dsrtnant.h Affects: dcmsr/apps/Makefile.dep dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libcmr/Makefile.dep dcmsr/libcmr/tid1001.cc dcmsr/libcmr/tid1204.cc dcmsr/libcmr/tid1600.cc dcmsr/libsrc/Makefile.dep dcmsr/libsrc/dsrcitem.cc dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc dcmsr/tests/tsrdoctr.cc dcmsr/tests/tsrtree.cc - Avoid separator if time component is empty: Avoid separator between date and time component of a "DateTime" value if the latter is empty. Before, there was a trailing space in the resulting string. Affects: dcmdata/include/dcmtk/dcmdata/dcvrdt.h dcmdata/libsrc/dcvrdt.cc - Extracted general information from template: Extracted general information on template into local macros (#defines). The same approach is already used for the context group classes. Also made sure that the "type" of the template (extensible or non-extensible) is set. Affects: dcmsr/libcmr/tid1001.cc dcmsr/libcmr/tid1204.cc dcmsr/libcmr/tid1600.cc - Slightly changed conversion operator: Slightly changed conversion operator of context group class that returns the currently selected coded entry value. The new version of this operator avoids the creation of an unwanted copy. Also added new tests to check whether the conversion operator actually works. Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h dcmsr/tests/tsrcmr.cc **** Changes from 2015.08.26 (onken) - Build flags for internal and external dictionary: Introduced build flags for controlling whether DCMTK will use an internal, compiled-in and/or an external dictionary. On Windows systems, a built-in dictionary (only) is the default, while on Unix only the external one is enabled per default. This behaviour is identical to the old one. It is possible to enable both options simultanously; then the built-in is loaded first, and the external one is loaded afterwards. More details can be found in dcmdata/docs/datadict.txt Acknowledgement: This work has been supported by the "QIICR" project. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake config/Makefile.def.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmdata/docs/datadict.txt dcmdata/include/dcmtk/dcmdata/dcdict.h dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.in **** Changes from 2015.08.25 (riesmeier) - Added initial version of TID 1600 (Image Library): Added initial version of TID 1600 (Image Library) and included templates TID 1601 to 1607. Also added a quite comprehensive test for this new template. Please note that there are still a few details in the source code that are marked with "tbc" (to be checked) or "tbd" (to be done). Also the class documentation contains corresponding notes and warns about this fact. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h dcmsr/libcmr/tid1600.cc Affects: dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc dcmsr/tests/tsrcodvl.cc - Updated Makefile dependencies. Affects: dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep - Introduced type for list of CID 7445 values: Introduced type for list of device participating roles (CID 7445). Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h dcmsr/libcmr/tid1001.cc - Added initial version of SRT and UCUM codes: Added initial version of SNOMED-RT (Coding Scheme "SRT") and Unified Code for Units of Measure ("UCUM") code definitions. In contrast to the "DCM" codes, which were added only recently to the DCMTK, these two new coding schemes only consist of those codes that are needed for TID 1600 to 1607 (Image Library). Further codes will be added when needed. The code definitions are generated semi-automatically from the machine-readable DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That means that the definitions will be updated from time to time as the standard evolves. However, please be warned that the names of the constants/defines might change in the future (hopefully, there will be official keywords in the standard like they are for the DICOM attribute tags in PS 3.6). Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/codes/srt.h dcmsr/include/dcmtk/dcmsr/codes/ucum.h **** Changes from 2015.08.24 (riesmeier) - Added enhanced versions of CID 10013 and 10033: Added derived classes for CID10013_CTAcquisitionType and CID10033_CTReconstructionAlgorithm, which provide enhanced functionality, e.g. a mapping of Defined Terms to coded entries (from the respective context group). These new classes will be needed for TID 1605 (Image Library Entry Descriptors for CT). Also added new test cases in order to make sure that these classes work correctly (i.e. as expected). Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h dcmsr/libcmr/cid10013e.cc dcmsr/libcmr/cid10033e.cc Affects: dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc - Updated Makefile dependencies. Affects: dcmiod/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep - Fixed inconsistencies regarding the use of OFMap: Fixed various inconsistenties regarding the use of OFMap and OFMake_pair(). Affects: dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid244.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid5000.cc dcmsr/libcmr/cid5001.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc - Added methods to read/write to/from sequence items: Added public methods that allow for reading from and writing to a given sequence item. These methods are needed to support code modifiers. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/libsrc/dsrcodvl.cc - Added new optional parameter "vm" to readSequence: Added new optional parameter "vm" to the readSequence() method, which allows for specifying the expected value multiplicity (i.e. cardinality) of the sequence to be read. The default behavior remains the same (i.e. "vm = 1"). This change will allow for reading code sequences with multiple items, e.g. containing modifiers of a higher level coded entry. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/libsrc/dsrcodvl.cc - Fixed copyright header in module "dcmsr": Fixed copyright header in module "dcmsr": All files that were added after 1 December 2012 and authored by J. Riesmeier now have a different copyright holder. Of course, the license terms are the same (New BSD License), and OFFIS is still the maintainer of the source code. With other words, nothing changes for the user. Affects: COPYRIGHT dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/cmr/define.h dcmsr/include/dcmtk/dcmsr/cmr/init.h dcmsr/include/dcmtk/dcmsr/cmr/logger.h dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h dcmsr/include/dcmtk/dcmsr/codes/dcm.h dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/include/dcmtk/dcmsr/dsrctxgr.h dcmsr/include/dcmtk/dcmsr/dsrimgse.h dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid244.cc dcmsr/libcmr/cid244e.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid29e.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid4031e.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid5000.cc dcmsr/libcmr/cid5001.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc dcmsr/libcmr/init.cc dcmsr/libcmr/logger.cc dcmsr/libcmr/srnumvl.cc dcmsr/libcmr/tid1001.cc dcmsr/libcmr/tid1204.cc dcmsr/libsrc/dsrc3dcc.cc dcmsr/libsrc/dsrctpl.cc dcmsr/libsrc/dsrctxgr.cc dcmsr/libsrc/dsrimgse.cc dcmsr/libsrc/dsrrrdcc.cc dcmsr/libsrc/dsrrtpl.cc dcmsr/libsrc/dsrstpl.cc dcmsr/tests/tsrcmr.cc dcmsr/tests/tsrcodvl.cc dcmsr/tests/tsrdoc.cc dcmsr/tests/tsrdoctr.cc dcmsr/tests/tsrnumvl.cc dcmsr/tests/tsrtpl.cc - Added name prefix to class ContentMappingResource: Added name prefix "CMR_" to class ContentMappingResource in order to be consistent with other classes in this module. Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h dcmsr/libcmr/init.cc dcmsr/tests/tsrcmr.cc **** Changes from 2015.08.23 (onken) - Made copyright header consistent in new modules. Affects: dcmfg/include/dcmtk/dcmfg/fg.h dcmfg/include/dcmtk/dcmfg/fgbase.h dcmfg/include/dcmtk/dcmfg/fgdefine.h dcmfg/include/dcmtk/dcmfg/fgderimg.h dcmfg/include/dcmtk/dcmfg/fgfact.h dcmfg/include/dcmtk/dcmfg/fgfracon.h dcmfg/include/dcmtk/dcmfg/fgframevoilut.h dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h dcmfg/include/dcmtk/dcmfg/fginterface.h dcmfg/include/dcmtk/dcmfg/fgpixmsr.h dcmfg/include/dcmtk/dcmfg/fgplanor.h dcmfg/include/dcmtk/dcmfg/fgplanorvol.h dcmfg/include/dcmtk/dcmfg/fgplanpo.h dcmfg/include/dcmtk/dcmfg/fgplanposvol.h dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h dcmfg/include/dcmtk/dcmfg/fgseg.h dcmfg/include/dcmtk/dcmfg/fgtypes.h dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h dcmfg/include/dcmtk/dcmfg/stack.h dcmfg/include/dcmtk/dcmfg/stackinterface.h dcmfg/libsrc/fg.cc dcmfg/libsrc/fgbase.cc dcmfg/libsrc/fgderimg.cc dcmfg/libsrc/fgfact.cc dcmfg/libsrc/fgfracon.cc dcmfg/libsrc/fgframevoilut.cc dcmfg/libsrc/fgimagedatatype.cc dcmfg/libsrc/fginterface.cc dcmfg/libsrc/fgpixmsr.cc dcmfg/libsrc/fgplanor.cc dcmfg/libsrc/fgplanorvol.cc dcmfg/libsrc/fgplanpo.cc dcmfg/libsrc/fgplanposvol.cc dcmfg/libsrc/fgrealworldvaluemapping.cc dcmfg/libsrc/fgseg.cc dcmfg/libsrc/fgtypes.cc dcmfg/libsrc/fgusimagedescription.cc dcmfg/libsrc/stack.cc dcmfg/libsrc/stackinterface.cc dcmseg/include/dcmtk/dcmseg/segdef.h dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/include/dcmtk/dcmseg/segment.h dcmseg/include/dcmtk/dcmseg/segtypes.h dcmseg/include/dcmtk/dcmseg/segutils.h dcmseg/libsrc/segdoc.cc dcmseg/libsrc/segment.cc dcmseg/libsrc/segtypes.cc dcmseg/libsrc/segutils.cc - Removed unused link libraries. Affects: dcmseg/libsrc/CMakeLists.txt - Fixed compilers errors (mostly STL-specific). Affects: dcmfg/libsrc/fg.cc dcmfg/libsrc/fginterface.cc dcmfg/libsrc/stack.cc dcmfg/libsrc/stackinterface.cc dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/libsrc/iodrules.cc dcmiod/libsrc/modbase.cc ofstd/include/dcmtk/ofstd/oftraits.h **** Changes from 2015.08.23 (riesmeier) - Fixed typo and other minor issues in comments. Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h **** Changes from 2015.08.22 (onken) - Fixed various doxygen formatting issues. Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h dcmfg/include/dcmtk/dcmfg/fgbase.h dcmfg/include/dcmtk/dcmfg/fgderimg.h dcmfg/include/dcmtk/dcmfg/fgfact.h dcmfg/include/dcmtk/dcmfg/fgfracon.h dcmfg/include/dcmtk/dcmfg/fgframevoilut.h dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h dcmfg/include/dcmtk/dcmfg/fginterface.h dcmfg/include/dcmtk/dcmfg/fgpixmsr.h dcmfg/include/dcmtk/dcmfg/fgplanor.h dcmfg/include/dcmtk/dcmfg/fgplanorvol.h dcmfg/include/dcmtk/dcmfg/fgplanpo.h dcmfg/include/dcmtk/dcmfg/fgplanposvol.h dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h dcmfg/include/dcmtk/dcmfg/fgseg.h dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h dcmiod/include/dcmtk/dcmiod/iodcommn.h dcmiod/include/dcmtk/dcmiod/iodmacro.h dcmiod/include/dcmtk/dcmiod/iodrules.h dcmiod/include/dcmtk/dcmiod/iodtypes.h dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/include/dcmtk/dcmiod/modbase.h dcmiod/include/dcmtk/dcmiod/modenhusseries.h dcmiod/include/dcmtk/dcmiod/modgeneralseries.h dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h dcmiod/include/dcmtk/dcmiod/modhelp.h dcmiod/include/dcmtk/dcmiod/modimagepixel.h dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h dcmiod/include/dcmtk/dcmiod/modsopcommon.h dcmiod/libsrc/iodmacro.cc dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/include/dcmtk/dcmseg/segtypes.h dcmseg/libsrc/segdoc.cc - Fixed mostly constness for some compilers: Fixed constness of iterators and parameter in derived method. Affects: dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h dcmfg/libsrc/fgrealworldvaluemapping.cc dcmfg/libsrc/stack.cc dcmfg/libsrc/stackinterface.cc dcmiod/include/dcmtk/dcmiod/iodmacro.h dcmiod/include/dcmtk/dcmiod/modbase.h dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h dcmiod/include/dcmtk/dcmiod/modenhusimage.h dcmiod/libsrc/iodmacro.cc dcmiod/libsrc/modcommoninstanceref.cc dcmiod/libsrc/modenhusimage.cc dcmseg/libsrc/segdoc.cc - Removed unused method. Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/libsrc/segdoc.cc - Fixed possible DICOM VR problems. Affects: dcmiod/include/dcmtk/dcmiod/modimagepixel.h dcmiod/libsrc/modimagepixel.cc dcmiod/libsrc/modmultiframefg.cc - Fixed iterator constness. Affects: dcmiod/include/dcmtk/dcmiod/iodrules.h dcmiod/libsrc/iodrules.cc **** Changes from 2015.08.21 (onken) - Fixed iterator dereference. Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h - Removed more accidentially checked in test files: Removed more dcmseg module test files that have been checked in accidentially. Removed: dcmseg/tests/CMakeLists.txt dcmseg/tests/tests.cc dcmseg/tests/tpack.cc - Removed accidentially checked in test files: Removed dcmseg module test files that have been checked in accidentially. Removed: dcmseg/apps.tar.gz dcmseg/apps/CMakeLists.txt dcmseg/apps/makeseg.cc dcmseg/apps/rwseg.cc - Introduced new modules dcmiod, dcmfg and dcmseg: dcmiod is a module that makes it easy to work with common DICOM IOD modules and IODs being composed of them. When writing modules it is ensured that basic checks are performed regarding the presence of required attributes and their values as well as the validity of values. Classes like DcmIODCommon and DcmIODImage can be used to derive user-defined classes that implement specific DICOM IODs, making it easier to concentrate on the specifics of a particular IOD. The dcmfg module facilitates working with functional group that have been introduced to DICOM in the context of the "Enhanced" family of IOD objects that contain multiple frames that are described via shared and per-frame functional groups. This class offers a generic interface to create, modify, load and store such functional groups. Also, it supports a dozen of functional groups directly by offering classes with related getter and setter methods. Finally, the dcmseg module makes use of dcmiod and dcmfg in order to implement an Enhanced DICOM object, the Segmenation IOD. Since most of the underlying data elements are already provided by dcmiod and dcmfg, dcmseg only consists of a single class and some helpers. Acknowledgement: This work has been supported in part by the "QIICR" project. QIICR is supported by NIH National Cancer Institute, award U24 CA180918. Added: dcmdata/include/dcmtk/dcmdata/dcdatutl.h dcmdata/libsrc/dcdatutl.cc dcmfg/CMakeLists.txt dcmfg/Makefile.in dcmfg/configure dcmfg/data/Makefile.in dcmfg/docs/Makefile.in dcmfg/docs/dcmfg.dox dcmfg/etc/Makefile.in dcmfg/include/CMakeLists.txt dcmfg/include/Makefile.in dcmfg/include/dcmtk/dcmfg/fg.h dcmfg/include/dcmtk/dcmfg/fgbase.h dcmfg/include/dcmtk/dcmfg/fgdefine.h dcmfg/include/dcmtk/dcmfg/fgderimg.h dcmfg/include/dcmtk/dcmfg/fgfact.h dcmfg/include/dcmtk/dcmfg/fgfracon.h dcmfg/include/dcmtk/dcmfg/fgframevoilut.h dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h dcmfg/include/dcmtk/dcmfg/fginterface.h dcmfg/include/dcmtk/dcmfg/fgpixmsr.h dcmfg/include/dcmtk/dcmfg/fgplanor.h dcmfg/include/dcmtk/dcmfg/fgplanorvol.h dcmfg/include/dcmtk/dcmfg/fgplanpo.h dcmfg/include/dcmtk/dcmfg/fgplanposvol.h dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h dcmfg/include/dcmtk/dcmfg/fgseg.h dcmfg/include/dcmtk/dcmfg/fgtypes.h dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h dcmfg/include/dcmtk/dcmfg/stack.h dcmfg/include/dcmtk/dcmfg/stackinterface.h dcmfg/libsrc/CMakeLists.txt dcmfg/libsrc/Makefile.dep dcmfg/libsrc/Makefile.in dcmfg/libsrc/fg.cc dcmfg/libsrc/fgbase.cc dcmfg/libsrc/fgderimg.cc dcmfg/libsrc/fgfact.cc dcmfg/libsrc/fgfracon.cc dcmfg/libsrc/fgframevoilut.cc dcmfg/libsrc/fgimagedatatype.cc dcmfg/libsrc/fginterface.cc dcmfg/libsrc/fgpixmsr.cc dcmfg/libsrc/fgplanor.cc dcmfg/libsrc/fgplanorvol.cc dcmfg/libsrc/fgplanpo.cc dcmfg/libsrc/fgplanposvol.cc dcmfg/libsrc/fgrealworldvaluemapping.cc dcmfg/libsrc/fgseg.cc dcmfg/libsrc/fgtypes.cc dcmfg/libsrc/fgusimagedescription.cc dcmfg/libsrc/stack.cc dcmfg/libsrc/stackinterface.cc dcmfg/tests/Makefile.in dcmiod/CMakeLists.txt dcmiod/Makefile.in dcmiod/configure dcmiod/data/Makefile.in dcmiod/docs/Makefile.in dcmiod/docs/dcmiod.dox dcmiod/etc/Makefile.in dcmiod/include/CMakeLists.txt dcmiod/include/Makefile.in dcmiod/include/dcmtk/dcmiod/iodcommn.h dcmiod/include/dcmtk/dcmiod/ioddef.h dcmiod/include/dcmtk/dcmiod/iodimage.h dcmiod/include/dcmtk/dcmiod/iodmacro.h dcmiod/include/dcmtk/dcmiod/iodrules.h dcmiod/include/dcmtk/dcmiod/iodtypes.h dcmiod/include/dcmtk/dcmiod/iodutil.h dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h dcmiod/include/dcmtk/dcmiod/modbase.h dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h dcmiod/include/dcmtk/dcmiod/modenhequipment.h dcmiod/include/dcmtk/dcmiod/modenhusimage.h dcmiod/include/dcmtk/dcmiod/modenhusseries.h dcmiod/include/dcmtk/dcmiod/modequipment.h dcmiod/include/dcmtk/dcmiod/modfor.h dcmiod/include/dcmtk/dcmiod/modgeneralimage.h dcmiod/include/dcmtk/dcmiod/modgeneralseries.h dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h dcmiod/include/dcmtk/dcmiod/modhelp.h dcmiod/include/dcmtk/dcmiod/modimagepixel.h dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h dcmiod/include/dcmtk/dcmiod/modmultiframefg.h dcmiod/include/dcmtk/dcmiod/modpatient.h dcmiod/include/dcmtk/dcmiod/modpatientstudy.h dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h dcmiod/include/dcmtk/dcmiod/modsopcommon.h dcmiod/include/dcmtk/dcmiod/modsynchronisation.h dcmiod/include/dcmtk/dcmiod/modusfor.h dcmiod/libsrc/CMakeLists.txt dcmiod/libsrc/Makefile.dep dcmiod/libsrc/Makefile.in dcmiod/libsrc/iodcommn.cc dcmiod/libsrc/iodimage.cc dcmiod/libsrc/iodmacro.cc dcmiod/libsrc/iodrules.cc dcmiod/libsrc/iodtypes.cc dcmiod/libsrc/iodutil.cc dcmiod/libsrc/modacquisitioncontext.cc dcmiod/libsrc/modbase.cc dcmiod/libsrc/modcommoninstanceref.cc dcmiod/libsrc/modenhequipment.cc dcmiod/libsrc/modenhusimage.cc dcmiod/libsrc/modenhusseries.cc dcmiod/libsrc/modequipment.cc dcmiod/libsrc/modfor.cc dcmiod/libsrc/modgeneralimage.cc dcmiod/libsrc/modgeneralseries.cc dcmiod/libsrc/modgeneralstudy.cc dcmiod/libsrc/modhelp.cc dcmiod/libsrc/modimagepixel.cc dcmiod/libsrc/modmultiframedimension.cc dcmiod/libsrc/modmultiframefg.cc dcmiod/libsrc/modpatient.cc dcmiod/libsrc/modpatientstudy.cc dcmiod/libsrc/modsegmentationseries.cc dcmiod/libsrc/modsopcommon.cc dcmiod/libsrc/modsynchronization.cc dcmiod/libsrc/modusfor.cc dcmiod/tests/Makefile.in dcmseg/CMakeLists.txt dcmseg/Makefile.in dcmseg/apps.tar.gz dcmseg/apps/CMakeLists.txt dcmseg/apps/makeseg.cc dcmseg/apps/rwseg.cc dcmseg/configure dcmseg/data/Makefile.in dcmseg/docs/Makefile.in dcmseg/docs/dcmseg.dox dcmseg/etc/Makefile.in dcmseg/include/CMakeLists.txt dcmseg/include/Makefile.in dcmseg/include/dcmtk/dcmseg/segdef.h dcmseg/include/dcmtk/dcmseg/segdoc.h dcmseg/include/dcmtk/dcmseg/segment.h dcmseg/include/dcmtk/dcmseg/segtypes.h dcmseg/include/dcmtk/dcmseg/segutils.h dcmseg/libsrc/CMakeLists.txt dcmseg/libsrc/Makefile.dep dcmseg/libsrc/Makefile.in dcmseg/libsrc/segdoc.cc dcmseg/libsrc/segment.cc dcmseg/libsrc/segtypes.cc dcmseg/libsrc/segutils.cc dcmseg/tests/CMakeLists.txt dcmseg/tests/Makefile.in dcmseg/tests/tests.cc dcmseg/tests/tpack.cc oflog/tests/Makefile.dep Removed: dcmdata/include/dcmtk/dcmdata/modhelp.h dcmdata/libsrc/modhelp.cc Affects: CMakeLists.txt Makefile config/modules dcmdata/apps/Makefile.dep dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/include/dcmtk/dcmdata/dcpath.h dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.dep dcmdata/libsrc/Makefile.in dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcpath.cc dcmdata/tests/Makefile.in dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpls/apps/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/libsrc/Makefile.dep dcmnet/libsrc/dstorscu.cc dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmqrdb/apps/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep doxygen/htmldocs.dox ofstd/include/dcmtk/ofstd/oftraits.h ofstd/libsrc/Makefile.dep **** Changes from 2015.08.20 (riesmeier) - Added cleanup() function to context group classes: Added static cleanup() function to all context group classes. There is also a global cleanupAllContextGroups() function that allows for a "clean" program exit, e.g. when using a tool such as "valgrind" to check for memory leaks. Also added a new "test case" that cleans up all context groups at the end. Affects: dcmsr/apps/Makefile.dep dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/cmr/init.h dcmsr/libcmr/Makefile.dep dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid244.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid5000.cc dcmsr/libcmr/cid5001.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc dcmsr/libcmr/init.cc dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc - Added enhanced versions of CID 29, 244 and 4031: Added derived classes for CID29_AcquisitionModality, CID244_Laterality and CID4031_CommonAnatomicRegions, which provide enhanced functionality, e.g. a mapping of Defined Terms or Enumerated Values to coded entries (from the respective context group). In contrast to the base classes, these new classes are written manually. As always: also added new test cases in order to make sure that these classes work correctly (i.e. as expected). Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h dcmsr/libcmr/cid244e.cc dcmsr/libcmr/cid29e.cc dcmsr/libcmr/cid4031e.cc Affects: dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc - Added "Extensible SR" to known document types: Added the Extensible SR IOD / SOP Class, which was introduced only recently with Supplement 186, to the list of known (but not yet supported) document types. Full support for this IOD / SOP Class will follow in a future commit. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc - Made sure that IOD constraint checker is used: Made sure that constraint checker for the Radiopharmaceutical Radiation Dose SR IOD, which was introduced with commit 365951ec, is actually used. In order to make sure that a constraint checker will never be forgotten again for a newly supported SR document type, the "default" case has been replaced in the corresponding switch() statement. Affects: dcmsr/libsrc/Makefile.dep dcmsr/libsrc/dsrtypes.cc - Added support for Context Group CID 244: Added support for Context Group CID 244 (Laterality) that will be needed for the upcoming template class of TID 1602 (Image Library Entry Descriptor). Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/cid244.h dcmsr/libcmr/cid244.cc Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/libcmr/init.cc **** Changes from 2015.08.19 (riesmeier) - Clarified use of invalid coded entries: Added comment on addCodedEntry() of context group base class regarding invalid coded entries. Also added new test cases that demonstrate the behavior of the comparison operator of the coded entry class. Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc dcmsr/tests/tsrcodvl.cc - Added static method setEnhancedEncodingMode(): Added static method that allows for setting the "enhanced encoding mode". This method is protected and can, therefore, only be used by derived classes. Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid5000.cc dcmsr/libcmr/cid5001.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc - Added parameter "pos" to getStringValueFromDataset: Added optional parameter "pos" to getStringValueFromDataset(). This allows for using this method (instead of the underlying "dcmdata" method) throughout the "dcmsr" module. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrsoprf.cc dcmsr/libsrc/dsrstrvl.cc dcmsr/libsrc/dsrtypes.cc - Added specific logger for submodule "dcmsr/cmr". Added: dcmsr/include/dcmtk/dcmsr/cmr/logger.h dcmsr/libcmr/logger.cc Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in - Added new command line options to dsrdump: Added new command line options --indicate-enhanced and --no-enhanced-mode to the tool "dsrdump" in order to allow for using the new print flag introduced with the previous commit (i.e. PF_indicateEnhancedEncodingMode). Affects: dcmsr/apps/dsrdump.cc dcmsr/docs/dsrdump.man - Introduced new flag to customize the print output: Introduced new flag PF_indicateEnhancedEncodingMode that can be used to customize the print() output. This new flag allows for indicating with a "*" that the enhanced encoding mode is used for a code. In doing so, the "printInvalid" parameter has been replaced by a more general numeric "flags" parameter. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrcodtn.cc dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrtypes.cc - Fixed wrong comment. Affects: dcmrt/libsrc/drttypes.cc **** Changes from 2015.08.18 (riesmeier) - Added comment on reserved error codes (for "cmr"). Affects: dcmsr/libsrc/dsrtypes.cc - Fixed typos in comment. Affects: ofstd/libsrc/ofcond.cc - Added new mode for adding nodes to the tree: Added new mode that allows for adding a node (and its subtree) below the current node before its first child node (if any). This new mode might be useful when inserting nodes (or subtrees) into an existing tree structure. For example, this new mode will be used for the upcoming template TID 1600. Also added new test cases and enhanced existing ones to check whether the new "add mode" works as expected. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/tests/tests.cc dcmsr/tests/tsrtree.cc - Added method to look up a context group entry: Added method that can be used to look up a coded entry from a context group. This method, therefore, allows for retrieving the "official" code meaning or for automatically setting the "enhanced encoding mode". Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/dsrctxgr.h dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid29.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc dcmsr/libcmr/cid42.cc dcmsr/libcmr/cid5000.cc dcmsr/libcmr/cid5001.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc dcmsr/libsrc/dsrctxgr.cc - Added new helper method gotoEntryFromNodeList(). Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/libsrc/dsrctpl.cc - Added missing DCMTK_DCMDATA_EXPORT macro: Added missing DCMTK_DCMDATA_EXPORT macro to EC_CODE_CannotConvertToXML. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h - Do not set empty concept name codes: Do not set empty concept names in addContentItem() and addChildContentItem(). Affects: dcmsr/libsrc/dsrdocst.cc - Introduced condition constant EC_NotYetImplemented. Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h dcmsr/libcmr/tid1001.cc ofstd/include/dcmtk/ofstd/ofcond.h ofstd/libsrc/ofcond.cc - Fixed issue reported by Clang 3.5 on OpenBSD: Fixed compiler warning on wrong comparison reported by Clang 3.5 on OpenBSD 5.7: "comparison of array ... not equal to a null pointer is always true [-Wtautological-pointer-compare]". This warning pointed to a real issue. Affects: dcmpstat/libsrc/dviface.cc **** Changes from 2015.08.17 (riesmeier) - Added easier method to set a composite reference: Added method that allows for setting a composite reference from a given DICOM dataset (i.e. using the data element value for SOP Class UID and SOP Instance UID). Before, there was a need to call two separate methods for this purpose. Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/libsrc/dsrcomvl.cc - Added general information on coding scheme "DCM": Added general information on coding scheme "DCM", i.e. additional defines for the name, description and UID that can be used throughout the toolkit. These details are extracted automatically from a machine-readable version of the DICOM standard (PS 3.16-2015c). This is also another step towards supporting further coding schemes. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h - Added support for Context Group CID 29: Added support for Context Group CID 29 (Acquisition Modality) that will be needed for the upcoming template class of TID 1602 (Image Library Entry Descriptors) according to CP-1468 (Add defined CID for modality in image library), which is part of the next voting package (VP) Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/cid29.h dcmsr/libcmr/cid29.cc Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/libcmr/init.cc **** Changes from 2015.08.12 (riesmeier) - Added check for CID 42 to NUM values: Added check for CID 42 (Numeric Value Qualifier) to Numeric Measurement Values, i.e. whether the coded entry used for the optional Numeric Value Qualifier Code Sequence is contained in the corresponding Context Group. Since support for the DICOM Content Mapping Resource has been implemented in an optional extension to the DICOM Structured Reporting module "dcmsr" (namely "libcmr"), a new class has been derived from DSRNumericMeasurementValue for this purpose. This initial implementation can be used as a "template" for similar use cases. Also added new test that makes sure that the internal processing is correct. This test case also shows how to use the new class. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h dcmsr/libcmr/srnumvl.cc Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc - Enhanced handling of empty Measured Value Sequence: Enhanced handling of Numeric Measurement Values being absent (i.e. both Numeric Value and Measurement Unit have an empty value). This is valid according to the DICOM standard and should, therefore, also be supported when calling the isValid() or setValue() methods of the class managing Numeric Measurement Values in an SR document. It is recommend but not required to specifiy the reason for the absence of the Measured Value Sequence (where these values are stored in a DICOM dataset) in the optional Numeric Value Qualifier Code Sequence (which is also supported, of course). Also added new test that makes sure that the internal processing is correct. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/tests/tsrnumvl.cc Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/libsrc/dsrnumvl.cc dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.in dcmsr/tests/tests.cc **** Changes from 2015.08.11 (riesmeier) - Fixed various typos in comments. Affects: dcmdata/libsrc/dcfilefo.cc dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrctxgr.cc **** Changes from 2015.08.10 (riesmeier) - Added support for further Context Groups: Added support for further Context Groups that are needed for the upcoming template class of TID 1600 (Image Library), i.e. CID 11, 4020, 4021, 4031, 10013 and 10033. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h dcmsr/include/dcmtk/dcmsr/cmr/cid11.h dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h dcmsr/libcmr/cid10013.cc dcmsr/libcmr/cid10033.cc dcmsr/libcmr/cid11.cc dcmsr/libcmr/cid4020.cc dcmsr/libcmr/cid4021.cc dcmsr/libcmr/cid4031.cc Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/libcmr/init.cc **** Changes from 2015.08.01 (riesmeier) - Fixed wrong exit code on invalid input file: Fixed wrong exit code (0) in case the input file cannot be read. Thanks to forum user "nikkoara" for the report. Affects: dcmdata/apps/dcm2xml.cc dcmsr/apps/dsr2xml.cc **** Changes from 2015.07.30 (riesmeier) - Removed superfluous OFStringStream_ends statement: Removed superfluous OFStringStream_ends statement in order to avoid a compiler warning of type "expression result unused" reported by Clang 3.0. Affects: dcmnet/libsrc/scpcfg.cc **** Changes from 2015.07.28 (riesmeier) - Fixed wrong documentation of return value: Fixed wrong (or at least imprecise) comment on the return value of one of the setObservationDateTime() methods in DSRByReferenceTreeNode. Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h **** Changes from 2015.07.27 (riesmeier) - Updated copyright date. Affects: COPYRIGHT **** Changes from 2015.07.27 (onken) - Fixed iterator type. Affects: dcmnet/libsrc/dcasccfg.cc **** Changes from 2015.07.24 (schlamelcher) - Fixed building via GCC 4.2 on OpenBSD: Added some configure tests to detect missing functionality on GCC 4.2 resp. OpenBSD (e.g. differences between OpenSSL and LibreSSL). Modified OFoptional to disable default constructor detection if the compiler does not support it and adjusted the unit test accordingly. Modified OFrvalue's unit test to workaround a problem with GCC 4.2's obsolete rvalue to lvalue reference conversion semantics and added a warning to the documentation. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/aclocal.m4 config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmtls/libsrc/tlslayer.cc ofstd/include/dcmtk/ofstd/ofoption.h ofstd/include/dcmtk/ofstd/ofutil.h ofstd/tests/tmem.cc ofstd/tests/toption.cc - Fixed a problem in DcmAttributeFilter's unit test: Most of DcmAttributeFilter's unit test was disabled by an ifdef guard on all compilers except for Visual Studio, which was meant to only disable these checks on Visual Studio 6. Affects: dcmdata/tests/tfilter.cc - Fixed inconsistent defines in CMake's osconfig.h. Affects: CMake/osconfig.h.in **** Changes from 2015.07.24 (onken) - Make sure presentation contexts do not interfer: A bug i fixed where adding a presentation context using transfer syntaxes influenced the transfer syntaxes of other, already existing presentation contexts. Affects: dcmnet/include/dcmtk/dcmnet/assoc.h dcmnet/include/dcmtk/dcmnet/dcasccfg.h dcmnet/include/dcmtk/dcmnet/dccfpcmp.h dcmnet/include/dcmtk/dcmnet/dccfprmp.h dcmnet/include/dcmtk/dcmnet/dccftsmp.h dcmnet/include/dcmtk/dcmnet/scpcfg.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/dcasccff.cc dcmnet/libsrc/dcasccfg.cc dcmnet/libsrc/dccfpcmp.cc dcmnet/libsrc/dccfprmp.cc dcmnet/libsrc/dccftsmp.cc dcmnet/libsrc/scpcfg.cc **** Changes from 2015.07.20 (riesmeier) - Added function that initializes all context groups: Added global function that initializes all supported context groups with a single call. This might be useful when most of the context groups are used within a multi-threaded application. See API documentation for details. Added: dcmsr/include/dcmtk/dcmsr/cmr/init.h dcmsr/libcmr/init.cc Affects: dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in - Added support for CID 42 (Numeric Value Qualifier): Added support for Context Group CID 42 (Numeric Value Qualifier), which is the Defined Context Group (DCID) to be used for the Numeric Value Qualifier Code Sequence, an optional extension of the NUM (numeric measurement) content item. Also fixed minor deviations in the comment text of all other Context Groups. A new test case for CID 42 shows how the conversion operator, which has been introduced with the previous commit, can be used. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/cid42.h dcmsr/libcmr/cid42.cc Affects: dcmsr/apps/Makefile.dep dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/libcmr/cid5000.cc dcmsr/libcmr/cid5001.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrcmr.cc - Added conversion operator to context group class: Added conversion operator that returns the currently selected coded entry value to the context group base class DSRContextGroup. This avoids calling the getSelectedValue() method manually in certain cases. Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h **** Changes from 2015.07.17 (schlamelcher) - Fixed building on FreeBSD with C++11 enabled: Modified DCMTK_TRY_COMPILE to respect C++11 compiler flags if C++11 was enabled. Introduced additional configure tests to check for FreeBSD (and OpenBSD) specific behavior regarding alignment specifiers. Fixed a problem in ofxml.cc where the wrong kind of zero value was used (NULL instead of 0). Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkPrepare.cmake CMake/osconfig.h.in config/aclocal.m4 config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in ofstd/include/dcmtk/ofstd/ofalign.h ofstd/libsrc/ofxml.cc - Fixed building on FreeBSD: Added a configure test to accomodate for some FreeBSD specific behavior. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/arith.cc config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in **** Changes from 2015.07.17 (riesmeier) - Enhanced documentation of createNewSOPInstance(). Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h **** Changes from 2015.07.16 (schlamelcher) - Fixed cross compiling via MinGW and Wine. Affects: CMake/dcmtkUseWine.cmake - Fixed problems with previous commit: Fixed compiling with Visual Studio and MinGW, which was broken by the previous commit. Affects: config/arith.cc ofstd/libsrc/ofmath.cc ofstd/libsrc/ofstd.cc **** Changes from 2015.07.15 (schlamelcher) - Refactored handling of some functions: Added configure tests to detect wether isinf(), isnan() and finite() are declared inside the std namespace or in the global scope. Updated the implementation of OFStandard::isinf() and OFStandard::isnan() respectively. Moved implementation to new file ofmath.cc and shared this implementation for generating arith.h. This fixes problems on OpenBSD and FreeBSD. Added: ofstd/libsrc/ofmath.cc Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/Makefile.in config/arith.cc config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in ofstd/include/dcmtk/ofstd/ofstdinc.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/Makefile.in ofstd/libsrc/ofstd.cc - Updated default compiler flags: Updated compiler flags to fit the requirements of recent versions of OpenBSD. Also took care of some deprecation warnings emitted by newer versions of GCC. Affects: CMake/dcmtkPrepare.cmake config/configure config/configure.in **** Changes from 2015.07.13 (riesmeier) - Renamed ANNOUNCE file (removed version suffix): Removed version suffix (".361") from ANNOUNCE file for reasons of consistency with the CHANGES file in the main directory. Only the files in the "docs" subfolder will keep their version suffix. Added: ANNOUNCE Removed: ANNOUNCE.361 Affects: CMakeLists.txt Makefile config/rootconf **** Changes from 2015.07.09 (onken) - Disable built-in dictionary for CMake Unix builds: On Unix, DCMTK is traditionally built without a built-in dictionary that is compiled into the binaries, using automake. Instead, the dictionary is read during runtime from a well-known file under the installation directory. However, this behaviour was not correctly adapted when porting the existing CMake build toolchain from Windows to Unix so that using CMake under Unix also resulted in a built-in dictionary. This commit makes sure CMake under Unix now shows the same behaviour as the existing automake build. In the near future we will also add a CMake option to toggle between built-in and file-based dictionary. Affects: dcmdata/libsrc/CMakeLists.txt - Fixed installation and added CHANGES file. Added: CHANGES Affects: CMakeLists.txt Makefile config/rootconf **** Changes from 2015.07.08 (riesmeier) - Allow for disabling check on "DICOM file format": Added new mode that allows for disabling the check on the "DICOM file format", i.e. whether the input file contains file meta information (as it is required by part 10 of the standard for all DICOM files). As it is true for all disableXXXCheck() methods, please use this new mode with care. It has been introduced to allow for registering files without meta-header to a DICOMDIR, not to be used on a DICOM storage medium but for local storage (e.g. as an index for all "DICOM files" that reside in a certain directory of the filesystem). Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/libsrc/dcddirif.cc - Consistently use "file-set" and "file format": Consistently use spelling "file-set" and "file format" in comments. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/libsrc/dcddirif.cc - Improved documentation of disableXXXCheck(): Improved documentation of the various disableXXXCheck() methods by using the Doxygen command "@warning" to emphasize that the resulting DICOMDIR file will probably violate the rules for the selected application profile. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h - Enhanced check on empty dataset: Enhanced check on empty dataset by also calling DcmDataset::card(). This is required since the previous check "dataset == NULL" was never true (even for DICOM files with an empty dataset). Affects: dcmdata/libsrc/dcddirif.cc - Fixed issue in OFStandard::combineDirAndFilename(): Fixed issue with "hidden files" in OFStandard::combineDirAndFilename(). On Unix systems, hidden files/directories start with a "." in the file/directory name. These names were treated incorrectly by the abovementioned function, which caused unexpected behavior when calling searchDirectoryRecursively() on a directory that contains hidden files or directories. Also added a new test case for this misbehavior. Thanks to DCMTK forum user "Paul Groot" for the original report. Affects: ofstd/libsrc/ofstd.cc ofstd/tests/tofstd.cc - Added static initialization function (MT-safe): Added static initialization function to context group classes in order to make sure that the internally managed list of standard coded entries is created before it is actually used. This function should be called in case of multi-threaded applications (e.g. before any threads are started). Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/libcmr/cid5000.cc dcmsr/libcmr/cid5001.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc **** Changes from 2015.07.07 (riesmeier) - Fixed issue with wrong quotation marks: Regenerated source files of automatically created Context Group classes in order to fix an issue with wrong quotation marks. Strangely enough, the compiler(s) accepted a constant character string as a OFBool parameter. Affects: dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc **** Changes from 2015.07.06 (eichelberg) - Removed unsupported wwwapps and perl scripts from module dcmwlm: Removed the wwwapps tools and accompanying perl scripts that were developed for the CAR 1996 modality worklist showcase, and largely unused and unsupported. Removed: dcmwlm/docs/CMakeLists.txt dcmwlm/docs/wwwapp.txt dcmwlm/images/offis.gif dcmwlm/perl/changepw.pl dcmwlm/perl/checkvr.ph dcmwlm/perl/isocode.ph dcmwlm/perl/layout.ph dcmwlm/perl/lock.ph dcmwlm/perl/log.ph dcmwlm/perl/main.pl dcmwlm/perl/password.ph dcmwlm/perl/patidel.pl dcmwlm/perl/patiedit.pl dcmwlm/perl/patient.pl dcmwlm/perl/prefs.ph dcmwlm/perl/procdel.pl dcmwlm/perl/procedit.pl dcmwlm/perl/procedur.pl dcmwlm/perl/procstep.pl dcmwlm/perl/prstdel.pl dcmwlm/perl/prstedit.pl dcmwlm/perl/statdel.pl dcmwlm/perl/statedit.pl dcmwlm/perl/station.pl dcmwlm/perl/urldecod.ph dcmwlm/perl/workdel.pl dcmwlm/perl/workedit.pl dcmwlm/perl/worklist.pl dcmwlm/perl/write.ph dcmwlm/wwwapps/CMakeLists.txt dcmwlm/wwwapps/Makefile.dep dcmwlm/wwwapps/Makefile.in dcmwlm/wwwapps/preplock.cc dcmwlm/wwwapps/readoviw.cc dcmwlm/wwwapps/readwlst.cc dcmwlm/wwwapps/writwlst.cc Affects: dcmwlm/CMakeLists.txt dcmwlm/Makefile.in dcmwlm/docs/Makefile.in dcmwlm/docs/dcmwlm.dox **** Changes from 2015.07.05 (riesmeier) - Updated data dictionary for DICOM 2015c edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2015-07-04. This includes the new tags from Supplement 180 as well as those from CP 1321, 1322, 1402, 1411 and 1438. The total number of entries in the DICOM data dictionary is now 3900. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Updated "DCM" codes for DICOM 2015c edition: Updated DICOM Controlled Terminology Definitions (Coding Scheme "DCM") for the official 2015c edition of the DICOM standard. Please note that a few names (IEC codes) changed. Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h **** Changes from 2015.07.03 (riesmeier) - Added first specific Templates and Context Groups: Added first specific Template and Context Group classes, namely CID 5000, 5001, 7445, 7452 and 7453 as well as TID 1001 and 1204. Please note that apart from some special cases (like CID 5000 - Languages and CID 5001 - Countries) most Context Group classes can be generated automatically from a machine-readable DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource) - and this is how it was actually done :-) The above mentioned Context Groups are the first examples only. The new classes are not part of the "dcmsr" library but contained in a new one ("cmr" - Content Mapping resource). This allows one to continue using the underlying "dcmsr" classes without linking the overhead of the growing "cmr" library to an application (if there is no need to do so). The new test cases for some of the Template and Context Group classes show how they can be used. Further sophisticated examples will follow. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/cmr/cid5000.h dcmsr/include/dcmtk/dcmsr/cmr/cid5001.h dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h dcmsr/include/dcmtk/dcmsr/cmr/define.h dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h dcmsr/libcmr/CMakeLists.txt dcmsr/libcmr/Makefile.dep dcmsr/libcmr/Makefile.in dcmsr/libcmr/cid5000.cc dcmsr/libcmr/cid5001.cc dcmsr/libcmr/cid7445.cc dcmsr/libcmr/cid7452.cc dcmsr/libcmr/cid7453.cc dcmsr/libcmr/tid1001.cc dcmsr/libcmr/tid1204.cc dcmsr/tests/tsrcmr.cc Affects: dcmsr/CMakeLists.txt dcmsr/Makefile.in dcmsr/apps/Makefile.dep dcmsr/include/Makefile.in dcmsr/libsrc/Makefile.dep dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.dep dcmsr/tests/Makefile.in dcmsr/tests/tests.cc - Added initial version of DCM code definitions: Added initial version of DICOM Controlled Terminology Definitions (Coding Scheme "DCM", Version "01"). These code definitions use the simple and lightweight DSRBasicCodedEntry class. Also the definitions are no global constants but specified with the compiler directive #define. So, there should no performance overhead (with initialization at programn start). The code definitions are generated automatically from the machine-readable DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That means that the definitions will be updated from time to time as the standard evolves. However, please be warned that the names of the constants/defines might change in the future (hopefully, there will be official keywords in the standard like they are for the DICOM attribute tags in PS 3.6). Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/codes/dcm.h Affects: dcmsr/include/Makefile.in - Added base class for context groups: Added base class for context groups. This is for the initial support only. Specific context groups from the DCMR (DICOM Content Mapping Resource) will follow. The class supports an arbitrary list of coded entries (if the group is extensible); it also supports the selection of a particular entry. Acknowledgement: This work and also the previous commits that are related to the "dcmsr" module have been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h dcmsr/libsrc/dsrctxgr.cc Affects: dcmsr/docs/dcmsr.dox dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrtypes.cc - Added mechanism for remembering node positions: Added mechanism that can be used to remember certain positions in a template. This is especially useful when the order of content items is significant. Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/libsrc/dsrctpl.cc - Removed explicit name of base class from call: Removed explicit name of base class when calling a method (since it is not needed). Affects: dcmsr/libsrc/dsrrtpl.cc dcmsr/libsrc/dsrstpl.cc - Made constructor and destructor "protected": Moved constructor and destructor to "protected" section. Also removed derivation from base class DSRTypes (since this is not needed). Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h **** Changes from 2015.07.02 (riesmeier) - Added initial support for Supplement 180: Added initial support for Supplement 180 (MPEG-4 AVC/H.264 Transfer Syntax), i.e. added definition of three new transfer syntaxes. Support for the new Media Storage Application Profiles that are introduced with this Supplement will follow. Also some of the networking tools still need to be adapted. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/include/dcmtk/dcmdata/dcxfer.h dcmdata/libsrc/dcuid.cc dcmdata/libsrc/dcxfer.cc dcmnet/apps/echoscu.cc dcmnet/apps/storescp.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmnet/libsrc/dimse.cc - Added initial support for Supplement 186: Added initial support for Supplement 186 (Extensible SR Storage SOP Class), i.e. added definition of new Storage SOP Class UID. Full support for this new Structured Reporting SOP Class will follow. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2015.07.02 (schlamelcher) - Updated man pages: The man pages were not updated for the recent snapshot due to a problem with Doxygen version 1.8.8 (that has been fixed in previous commit 3f27b). This commit incorporates the changes since DCMTK-3.6.1_20150217 into the current development version "better late than never". Affects: doxygen/manpages/man1/dcm2pdf.1 doxygen/manpages/man1/dcm2pnm.1 doxygen/manpages/man1/dcm2xml.1 doxygen/manpages/man1/dcmcjpeg.1 doxygen/manpages/man1/dcmcjpls.1 doxygen/manpages/man1/dcmconv.1 doxygen/manpages/man1/dcmcrle.1 doxygen/manpages/man1/dcmdjpeg.1 doxygen/manpages/man1/dcmdjpls.1 doxygen/manpages/man1/dcmdrle.1 doxygen/manpages/man1/dcmdspfn.1 doxygen/manpages/man1/dcmdump.1 doxygen/manpages/man1/dcmftest.1 doxygen/manpages/man1/dcmgpdir.1 doxygen/manpages/man1/dcmj2pnm.1 doxygen/manpages/man1/dcml2pnm.1 doxygen/manpages/man1/dcmmkcrv.1 doxygen/manpages/man1/dcmmkdir.1 doxygen/manpages/man1/dcmmklut.1 doxygen/manpages/man1/dcmodify.1 doxygen/manpages/man1/dcmp2pgm.1 doxygen/manpages/man1/dcmprscp.1 doxygen/manpages/man1/dcmprscu.1 doxygen/manpages/man1/dcmpschk.1 doxygen/manpages/man1/dcmpsmk.1 doxygen/manpages/man1/dcmpsprt.1 doxygen/manpages/man1/dcmpsrcv.1 doxygen/manpages/man1/dcmpssnd.1 doxygen/manpages/man1/dcmqridx.1 doxygen/manpages/man1/dcmqrscp.1 doxygen/manpages/man1/dcmqrti.1 doxygen/manpages/man1/dcmquant.1 doxygen/manpages/man1/dcmrecv.1 doxygen/manpages/man1/dcmscale.1 doxygen/manpages/man1/dcmsend.1 doxygen/manpages/man1/dcmsign.1 doxygen/manpages/man1/dcod2lum.1 doxygen/manpages/man1/dconvlum.1 doxygen/manpages/man1/drtdump.1 doxygen/manpages/man1/dsr2html.1 doxygen/manpages/man1/dsr2xml.1 doxygen/manpages/man1/dsrdump.1 doxygen/manpages/man1/dump2dcm.1 doxygen/manpages/man1/echoscu.1 doxygen/manpages/man1/findscu.1 doxygen/manpages/man1/getscu.1 doxygen/manpages/man1/img2dcm.1 doxygen/manpages/man1/movescu.1 doxygen/manpages/man1/pdf2dcm.1 doxygen/manpages/man1/storescp.1 doxygen/manpages/man1/storescu.1 doxygen/manpages/man1/termscu.1 doxygen/manpages/man1/wlmscpfs.1 doxygen/manpages/man1/xml2dcm.1 doxygen/manpages/man1/xml2dsr.1 - Updated Doxygen configuration files: The Doxygen configuration files were updated to support Doxygen version 1.8.8. Especially adjustments in regard to the changed file extension handling semantics were made. This fixes an error where the documentation for the application binaries was not generated when using Doxygen version 1.8.8. Affects: doxygen/htmldocs.cfg doxygen/manpages.cfg **** Changes from 2015.06.30 (riesmeier) - Check whether a template is extensible: Check more thoroughly whether a template is actually extensible before inserting a subtemplate into it. Return with an error when appropriate. Acknowledgement: This work and also the previous commits that are related to the "dcmsr" module have been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrctpl.cc dcmsr/libsrc/dsrrtpl.cc dcmsr/libsrc/dsrstpl.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/tsrtpl.cc - Added new and enhanced existing swap() function: Added new and enhanced existing fast, non-throwing swap() function in various classes. Also used OFswap (a wrapper around std::swap) where appropriate. Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrcitem.cc dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc - Fixed issue with addNode() in basic tree class: Fixed issue with addNode() method in basic tree class: When adding a new node before or after the current node, and this new node has siblings (i.e. it is actually a subtree without a dedicated root node), the connection to the existing tree was not always correct. Also added test cases for this purpose. Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/tests/tests.cc dcmsr/tests/tsrtree.cc - Made getAndRemoveRootNode() public: Made method getAndRemoveRootNode() public in tree classes. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrdocst.cc - Added new comparison method to DSRCodedEntryValue: Added new comparison method to class DSRCodedEntryValue, which allows for comparing directly with an instance of the DSRBasicCodedEntry class, i.e. without converting it implicitly into an instance of DSRCodedEntryValue. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/libsrc/dsrcodvl.cc - Added new option for print() method: Added new option for print() method that allows for printing the node ID at the beginning of each line. This might be useful for debugging purposes. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrreftn.cc dcmsr/libsrc/dsrtypes.cc - Added missing empty() method to OFMap. Affects: ofstd/include/dcmtk/ofstd/ofmap.h **** Changes from 2015.06.30 (schlamelcher) - Moved CHANGES.361 to /docs: Starting after the latest snapshot (DCMTK-3.6.1_20150629) the CHANGES.361 file is no longer maintained manually. From now on it will resided inside /docs and will only be updated for each snapshot (based on the Git commit messages). Added: docs/CHANGES.361 Removed: CHANGES.361 **** Changes from 2015.06.29 (schlamelcher) - Updated DCMTK_ABI_VERSION for new development snapshot. Affects: CMake/dcmtkPrepare.cmake - Updated Makefile dependencies. Affects: dcmdata/apps/Makefile.dep dcmdata/libsrc/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpls/apps/Makefile.dep dcmnet/apps/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmqrdb/apps/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep ofstd/libsrc/Makefile.dep **** Changes from 2015.06.23 (schlamelcher) - Added additional configuration methods for DCMTLS: Introduced the methods addVerificationFlags() and getNativeHandle() to DCMTLS for fine-tuning the OpenSSL settings and/or implementing missing functionality by directly accessing the underlying OpenSSL context handle. Thanks to Dr. Martin Korp and Peter Klotz for the suggestions and their assistance during implementation. Affects: CMake/CheckFunctionWithHeaderExists.cmake CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/aclocal.m4 config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmtls/include/dcmtk/dcmtls/tlslayer.h dcmtls/libsrc/tlslayer.cc **** Changes from 2015.06.14 (riesmeier) - Fixed bug in time normalization code: Fixed bug in methods setTimeInSeconds() and setTimeInHours() that showed up when the parameter "normalize" is true (which is the default) and the given time value is not within the valid range. Thanks to forum user "sfzhang" for the bug report and suggested fix. Affects: ofstd/libsrc/oftime.cc ofstd/tests/tofdatim.cc **** Changes from 2015.06.10 (riesmeier) - New class for "Basic Coded Entry Attributes": Introduced new class for the "Basic Coded Entry Attributes" (according to the DICOM standard). This class should be used to define code constants since it is a lightweight structure that does not carry any overhead and also does not perform any unnecessary checks. Enhanced documentation of existing code class. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/libsrc/dsrcodvl.cc dcmsr/tests/tests.cc dcmsr/tests/tsrcodvl.cc **** Changes from 2015.06.09 (riesmeier) - Added support for long code values (CP-1031): Added initial support for long code values according to CP-1031. By default, the type of a code value (short, long or URN) is determined automatically, e.g. when setting the value of a DSRCodedEntryValue instance. However, the type can also be specified manually. Please note that for some methods, the position of the optional "check" parameter moved after the new "codeValueType" parameter. Support for the optional Equivalent Code Sequence (0008,0121) is still missing. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/tests/tsrcodvl.cc Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrcodvl.cc dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.dep dcmsr/tests/Makefile.in dcmsr/tests/tests.cc - Do not check invalid UID values for IMAGE node: Disable check of invalid UID values ("0") for IMAGE node in key image note (ki) and simple image report (si) DICOM SR sample document. Affects: dcmsr/tests/mkreport.cc - Fixed source code and/or comment formatting. Affects: dcmdata/libsrc/dcvrda.cc dcmsr/tests/tsrtpl.cc - Introduced new error code "Unknow VR": Introduced new error code for "Unknow VR: Tag not found in data dictionary" in order to avoid getting a generic "Illegal Call" when an old version of the data dictionary is used that does not yet contain the requested attribute tag passed to one of DcmItem's putAndInsertXXX() methods or insertEmptyElement(). Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcitem.cc - Avoid using "check" parameter of SR code class: Do not use the "check" parameter from the constructor of DSRCodedEntryValue (explicitly) but rely on the default value. This is because the order of parameters will change in a subsequent commit. Affects: dcmpstat/libsrc/dviface.cc **** Changes from 2015.05.22 (riesmeier) - Set observation date/time from element: Added helper method thats allows for setting the observation date/time of an SR content item from a given data element. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrreftn.cc - Added helpers for setting a value from element: Added helper methods that allow for setting a string value of an SR content item from a given data element. This works for the following value types: COMPOSITE, DATE, DATETIME, IMAGE, NUM, PNAME, TEXT, TIME, UIDREF, WAVEFORM. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/include/dcmtk/dcmsr/dsrstrvl.h dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrstrvl.cc - Moved various methods to protected section: Moved inherited methods that cannot be used for by-reference relationships and that always return EC_IllegalCall to the protected section of the class. Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/libsrc/dsrreftn.cc - Set observation date/time from dataset: Added helper method thats allows for setting the observation date/time of an SR content item from a dataset (by specifying the tag of the data element). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/libsrc/dsrdoctn.cc **** Changes from 2015.05.21 (riesmeier) - Added helpers for setting a value from dataset: Added helper methods that allow for setting a string value of an SR content item from a dataset, i.e. by specifying the attribute tag of a data element. This works for the following value types (at least for certain aspects): COMPOSITE, DATE, DATETIME, IMAGE, NUM, PNAME, TEXT, TIME, UIDREF, WAVEFORM. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/include/dcmtk/dcmsr/dsrstrvl.h dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrstrvl.cc - Added initial support for SR templates: Added initial support for SR templates by introducing two general classes for root and non-root templates. These general classes can e.g. be used to derive specific classes for particular templates from DICOM Part 16 (DCMR). Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/dsrctpl.h dcmsr/include/dcmtk/dcmsr/dsrrtpl.h dcmsr/include/dcmtk/dcmsr/dsrstpl.h dcmsr/libsrc/dsrctpl.cc dcmsr/libsrc/dsrrtpl.cc dcmsr/libsrc/dsrstpl.cc dcmsr/tests/tsrtpl.cc Affects: dcmsr/apps/Makefile.dep dcmsr/docs/dcmsr.dox dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.dep dcmsr/tests/Makefile.in dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc **** Changes from 2015.05.18 (riesmeier) - Replace the document tree of an SR document: Added method that allows one to replace the document tree of an SR document. Therefore, introduced an assignment operator to the various tree classes. This is another step towards the enhanced support for DICOM SR templates. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoc.cc dcmsr/tests/tsrtree.cc **** Changes from 2015.05.14 (riesmeier) - Added hasTemplateIdentification() method: Added hasTemplateIdentification() helper method to document tree node class. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc - Fixed issue with interpolation algorithm: Fixed integer overflow issue with bilinear interpolation algorithm (image magnification), i.e. if "interpolate" parameter of createScaledImage() is 3. Thanks to Ing-Long Eric Kuo for the report. Affects: dcmimgle/include/dcmtk/dcmimgle/discalet.h **** Changes from 2015.04.30 (riesmeier) - Pass OFList parameter by-reference not by-value. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scpcfg.h dcmnet/libsrc/scp.cc dcmnet/libsrc/scpcfg.cc **** Changes from 2015.04.24 (riesmeier) - Added support for optional Mapping Resource UID: Added support for the optional Mapping Resource UID (0008,0118) to DICOM SR implementation. This attribute has been introduced only recently with CP-1417 (Clarify use and declaration of private mapping resource). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/libsrc/dsrcitem.cc dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrreftn.cc - Ignore empty value for XML element 'charset': Ignore empty value for element 'charset' when reading an SR document from XML file. Report a more appropriate warning than "Character Set '' not supported". Affects: dcmsr/libsrc/dsrdoc.cc **** Changes from 2015.04.23 (eichelberg) - Updated makefile to always use the dicom.dic provided in dcmdata/docs for the dcmdata unit tests, even if an installed dictionary exists elsewhere. Avoids a failure of two tests due to an old dictionary file being used. Affects: dcmdata/tests/Makefile.in **** Changes from 2015.04.22 (eichelberg) - Fixed minor bug in DICOM upper layer FSM that affected the situation where over a just opened TCP connection both sides would send an A-ASSOCIATE-RQ PDU simultaneously (which should never happen anyway). Thanks to Mathieu Malaterre for the report. Affects: dcmnet/libsrc/dulfsm.cc **** Changes from 2015.04.20 (riesmeier) - Updated data dictionary for DICOM 2015b edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2015-04-16. Since the data dictionary was already up-to-date regarding the recently approved Supplements and CPs, there are no changes apart from the "Version" column. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2015.04.17 (riesmeier) - Fixed warning C4800 reported by Visual Studio: Fixed warning message "C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)" reported by Microsoft Visual Studio. Affects: dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrsc3vl.cc dcmsr/libsrc/dsrstrvl.cc ofstd/libsrc/ofstd.cc - Fixed issue with VR checker for PN values: Fixed issue with VR checker reporting empty Person Name (PN) values or values like "Unspecified^^^^=^^^^=^^^^" as an error. Also added further test cases. Affects: dcmdata/libsrc/vrscanl.c dcmdata/libsrc/vrscanl.h dcmdata/libsrc/vrscanl.l dcmdata/tests/tchval.cc **** Changes from 2015.04.08 (riesmeier) - Added method for counting number of child nodes: Added method that counts the number of children of a particular tree node. Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/tests/tests.cc dcmsr/tests/tsrtree.cc - Added regression test for DSRTree::getPosition(): Added regression test for checking that DSRTree::getPosition() still works correctly after adding a new tree node below the current one. Affects: dcmsr/tests/tests.cc dcmsr/tests/tsrtree.cc - Fixed wrong position counter in tree node: Fixed issue with position counter not being incremented correctly when adding a new tree node below the current one. This mainly showed up when checking the position string directly after adding the new node to the tree. Thanks to Timothy Pitt for the report and suggested fix. Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h **** Changes from 2015.04.02 (riesmeier) - Enhanced output to debug logger: Output invalid template and context identifier to debug logger (if enabled). Affects: dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrdoctn.cc - Distinguish b/w invalid content items and values: Distinguish more clearly between invalid content items and invalid values of content items, which is of some interest when dealing with incorrectly encoded SR documents. Introduced new hasValidValue() method to the tree node classes. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h dcmsr/include/dcmtk/dcmsr/dsrcomtn.h dcmsr/include/dcmtk/dcmsr/dsrcontn.h dcmsr/include/dcmtk/dcmsr/dsrdattn.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrdtitn.h dcmsr/include/dcmtk/dcmsr/dsrimgtn.h dcmsr/include/dcmtk/dcmsr/dsrnumtn.h dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h dcmsr/include/dcmtk/dcmsr/dsrscotn.h dcmsr/include/dcmtk/dcmsr/dsrtcotn.h dcmsr/include/dcmtk/dcmsr/dsrtextn.h dcmsr/include/dcmtk/dcmsr/dsrtimtn.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/include/dcmtk/dcmsr/dsruidtn.h dcmsr/include/dcmtk/dcmsr/dsrwavtn.h dcmsr/libsrc/dsrcodtn.cc dcmsr/libsrc/dsrcomtn.cc dcmsr/libsrc/dsrcontn.cc dcmsr/libsrc/dsrdattn.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdtitn.cc dcmsr/libsrc/dsrimgtn.cc dcmsr/libsrc/dsrnumtn.cc dcmsr/libsrc/dsrpnmtn.cc dcmsr/libsrc/dsrreftn.cc dcmsr/libsrc/dsrsc3tn.cc dcmsr/libsrc/dsrscotn.cc dcmsr/libsrc/dsrtcotn.cc dcmsr/libsrc/dsrtextn.cc dcmsr/libsrc/dsrtimtn.cc dcmsr/libsrc/dsrtypes.cc dcmsr/libsrc/dsruidtn.cc dcmsr/libsrc/dsrwavtn.cc **** Changes from 2015.04.01 (riesmeier) - Optionally accept invalid content item values: If a certain read flag is set, further violations of the DICOM standard are accepted when reading an invalid SR document. For example, when the numeric value of a NUM content item violates the maximum length. This might be useful in order to make sure that the other information of the content item is read (like the measurement unit). Thanks to forum user "ichimura.t" for the original report. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrsc3vl.cc dcmsr/libsrc/dsrstrvl.cc dcmsr/libsrc/dsrtypes.cc - Added read flag to all readXXX() methods: Added "flag" parameter used to customize the reading process of all read() and readXML() methods. This will facilitate the handling of incorrectly encoded SR documents in the future (by providing corresponding workarounds). Also fixed optionality of existing "flag" parameters throughout the SR library. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/include/dcmtk/dcmsr/dsrcomtn.h dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrcontn.h dcmsr/include/dcmtk/dcmsr/dsrcsidl.h dcmsr/include/dcmtk/dcmsr/dsrdattn.h dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrdtitn.h dcmsr/include/dcmtk/dcmsr/dsrimgfr.h dcmsr/include/dcmtk/dcmsr/dsrimgse.h dcmsr/include/dcmtk/dcmsr/dsrimgtn.h dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/include/dcmtk/dcmsr/dsrnumtn.h dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h dcmsr/include/dcmtk/dcmsr/dsrrefin.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h dcmsr/include/dcmtk/dcmsr/dsrscogr.h dcmsr/include/dcmtk/dcmsr/dsrscotn.h dcmsr/include/dcmtk/dcmsr/dsrscovl.h dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/include/dcmtk/dcmsr/dsrstrvl.h dcmsr/include/dcmtk/dcmsr/dsrtcodt.h dcmsr/include/dcmtk/dcmsr/dsrtcosp.h dcmsr/include/dcmtk/dcmsr/dsrtcotn.h dcmsr/include/dcmtk/dcmsr/dsrtcoto.h dcmsr/include/dcmtk/dcmsr/dsrtcovl.h dcmsr/include/dcmtk/dcmsr/dsrtextn.h dcmsr/include/dcmtk/dcmsr/dsrtimtn.h dcmsr/include/dcmtk/dcmsr/dsruidtn.h dcmsr/include/dcmtk/dcmsr/dsrwavch.h dcmsr/include/dcmtk/dcmsr/dsrwavtn.h dcmsr/include/dcmtk/dcmsr/dsrwavvl.h dcmsr/libsrc/dsrcodtn.cc dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrcomtn.cc dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrcontn.cc dcmsr/libsrc/dsrcsidl.cc dcmsr/libsrc/dsrdattn.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdtitn.cc dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrimgse.cc dcmsr/libsrc/dsrimgtn.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrnumtn.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrpnmtn.cc dcmsr/libsrc/dsrrefin.cc dcmsr/libsrc/dsrreftn.cc dcmsr/libsrc/dsrsc3gr.cc dcmsr/libsrc/dsrsc3tn.cc dcmsr/libsrc/dsrsc3vl.cc dcmsr/libsrc/dsrscogr.cc dcmsr/libsrc/dsrscotn.cc dcmsr/libsrc/dsrscovl.cc dcmsr/libsrc/dsrsoprf.cc dcmsr/libsrc/dsrstrvl.cc dcmsr/libsrc/dsrtcodt.cc dcmsr/libsrc/dsrtcosp.cc dcmsr/libsrc/dsrtcotn.cc dcmsr/libsrc/dsrtcoto.cc dcmsr/libsrc/dsrtcovl.cc dcmsr/libsrc/dsrtextn.cc dcmsr/libsrc/dsrtimtn.cc dcmsr/libsrc/dsruidtn.cc dcmsr/libsrc/dsrwavch.cc dcmsr/libsrc/dsrwavtn.cc dcmsr/libsrc/dsrwavvl.cc **** Changes from 2015.03.27 (riesmeier) - Added further test cases for VR checker. Affects: dcmdata/tests/tchval.cc - Fixed test after after implementing CP-1425: Since CP-1425 permits the horizontal tab character for DICOM text VRs, the test case "UT-03" needs to be fixed, too. Also added a new test case "UT-04", which checks for the (still invalid) vertical tab character, Affects: dcmdata/tests/tchval.cc - Added support for recently approved CP-1425: The recently approved CP-1425 permits the horizontal tab character (HT) in DICOM's text VRs (LT, ST, UT). Adapted the VR scanner and the character set conversion code (handling of additional control character) accordingly. Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/dcspchrs.cc dcmdata/libsrc/vrscanl.c dcmdata/libsrc/vrscanl.l - Added support for new UIDs from Supplement 173: Added support for new Storage SOP Class UIDs from Supplement 173 (Wide Field Ophthalmic Photography Image Storage SOP Classes). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for Supplement 173 to dictionary: Added support for the final text version of Supplement 173 (Wide Field Ophthalmic Photography Image Storage SOP Classes) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added support for recently approved CPs: Added support for CP-1420, CP-1430 and CP-1434 to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2015.03.26 (riesmeier) - Enhanced use of DSRCodingSchemeIdentificationList: Added new method that facilitates adding coding schemes with frequently used additional information to the list. This avoids calling the various setXXX() methods directly after addItem(). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h dcmsr/libsrc/dsrcsidl.cc **** Changes from 2015.03.18 (schlamelcher) - Modified fallback implementation of OFtuple: OFtuple's fallback implementation now also works on older versions of GCC. It was necessary to implement a workaround for accessing the type of template base classes in derived classes without explicitly stating their template parameters. Affects: ofstd/include/dcmtk/ofstd/oftuple.h ofstd/include/dcmtk/ofstd/variadic/tuple.h ofstd/include/dcmtk/ofstd/variadic/tuplefrd.h ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h - Moved some utility functions inside OFStandard: The functions getUserName() and getHostName() are now implemented inside OFStandard, instead of being reimplemented everywhere they are needed. Affects: dcmdata/libsrc/mkdeftag.cc dcmdata/libsrc/mkdictbi.cc ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc **** Changes from 2015.03.16 (schlamelcher) - Fixed a CMake problem with paths containing spaces. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2015.03.03 (riesmeier) - Output message to logger on wrong pixel data class: Output an error message to the logger in case the internal class used for the Pixel Data element has the wrong type when calling chooseRepresentation(). This is usually caused by a wrong VR for the Pixel Data element (not OB/OW). Thanks to forum user "Shaeto" for the original report. Affects: dcmdata/libsrc/dcdatset.cc **** Changes from 2015.02.27 (riesmeier) - Updated outdated API documentation: Updated outdated documentation of parameter "overrideKeys" in private method findSCU(). Also fixed some other minor documentation issues (e.g. typos). Affects: dcmnet/include/dcmtk/dcmnet/dfindscu.h dcmnet/libsrc/dfindscu.cc **** Changes from 2015.02.19 (riesmeier) - Updated Makefile dependencies again: Rebuilt Makefile dependencies in order to get rid of unwanted libxml headers. Affects: dcmdata/apps/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep **** Changes from 2015.02.17 (schlamelcher) - Updated DCMTK_ABI_VERSION for new development snapshot. Affects: CMake/dcmtkPrepare.cmake - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/* - Updated Autoconf dependencies: Fixed a problem regarding the Autoconf dependency generation and updated the dependencies. Affects: Makefile config/Makefile.in config/rootconf dcmdata/apps/Makefile.dep dcmdata/libsrc/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpeg/libsrc/Makefile.dep dcmjpls/apps/Makefile.dep dcmjpls/libcharls/Makefile.dep dcmjpls/libsrc/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmnet/tests/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmrt/apps/Makefile.dep dcmrt/libsrc/Makefile.dep dcmrt/tests/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/tests/Makefile.dep dcmwlm/wwwapps/Makefile.dep oflog/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep ofstd/tests/Makefile.dep - Revised cleanup of temporary unit test files: Regarded the temporary file testfile.$$$, generated by the exhaustive testcase ofstd_OFFile, in the CMake and Autoconf cleanup configuration. Affects: ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.in **** Changes from 2015.02.16 (schlamelcher) - Modified CMake minimum version as required: Determined the minimum CMake version supportable with minor workarounds and implemented these required workarounds. Adjusted minimum CMake version appropriately. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkMacros.cmake CMake/dcmtkTryCompile.cmake CMake/dcmtkUseAndroidSDK.cmake CMakeLists.txt **** Changes from 2015.02.13 (schlamelcher) - Corrections regarding recent commits: Corrected some typos inside the Android toolchain file and related CMake scripts. Added the Android toolchain file's copyright notice to the COPYRIGHT file. Added workarounds for missing CMake macros and functionality in older CMake versions. Increased minimum required CMake version inside the Android toolchain file, to reflect the actually verified requirements. New CMake minimum version for assisted cross compiling: 2.8.3. Affects: CMake/CTest/CTestCustom.cmake CMake/CTest/dcmtkCTestConfig.cmake.in CMake/GenerateDCMTKConfigure.cmake CMake/android.toolchain.cmake CMake/dcmtkTryRun.cmake CMake/dcmtkUseAndroidSDK.cmake CMake/dcmtkUseWine.cmake COPYRIGHT **** Changes from 2015.02.12 (schlamelcher) - Introduced check-exhaustive targets to Autoconf: Added check-exhaustive and -check-exhaustive targets to the Autoconf scripts, which allow running the unit tests flagged as exhaustive in addition to the fast testcases. Affects: Makefile config/Makefile.in config/rootconf dcmdata/Makefile.in dcmdata/tests/Makefile.in dcmimage/Makefile.in dcmimage/tests/Makefile.in dcmimgle/Makefile.in dcmimgle/tests/Makefile.in dcmjpeg/Makefile.in dcmjpeg/tests/Makefile.in dcmjpls/Makefile.in dcmjpls/tests/Makefile.in dcmnet/Makefile.in dcmnet/tests/Makefile.in dcmpstat/Makefile.in dcmpstat/tests/Makefile.in dcmqrdb/Makefile.in dcmqrdb/tests/Makefile.in dcmrt/Makefile.in dcmrt/tests/Makefile.in dcmsign/Makefile.in dcmsign/tests/Makefile.in dcmsr/Makefile.in dcmsr/tests/Makefile.in dcmtls/Makefile.in dcmtls/tests/Makefile.in dcmwlm/Makefile.in dcmwlm/tests/Makefile.in oflog/Makefile.in oflog/tests/Makefile.in ofstd/Makefile.in ofstd/tests/Makefile.in - Fixed a const correctness problem within DCMTLS: A recent commit regarding trusted client certificates contained a const correctness problem which prevented building under OS X. Affects: dcmtls/libsrc/tlslayer.cc **** Changes from 2015.02.11 (schlamelcher) - Introduced cross compiling support for Android: Worked around some limitations when building for Android, for instance by creating some configure tests that detect the absence of some operating system functionality and enable existing or new fallback implementations in their stead. Added assisted cross compiling support to the CMake scripts, using a specially adjusted version of an Android toolchain configuration file borrowed from the OpenCV project. Also adding some code to (remote-) control the Android device emulator (that is part of the official Android SDK) and integrate it into the CMake build system. This allows the configure- and unit tests to run on the emulated target device. Added: CMake/CTest/CTestCustom.cmake CMake/CTest/dcmtkCTestConfig.cmake.in CMake/CTest/dcmtkCTestMacros.cmake CMake/CTest/dcmtkCTestRunAndroid.cmake.in CMake/android.toolchain.cmake CMake/dcmtkUseAndroidSDK.cmake Affects: CMake/CheckFunctionWithHeaderExists.cmake CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkUseWine.cmake CMake/dcmtkMacros.cmake CMake/dcmtkPrepare.cmake CMake/dcmtkTryCompile.cmake CMake/dcmtkTryRun.cmake CMake/osconfig.h.in CMakeLists.txt config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmdata/libsrc/dcuid.cc oflog/include/dcmtk/oflog/config/defines.h oflog/include/dcmtk/oflog/thread/impl/syncimpl.h ofstd/libsrc/ofstd.cc ofstd/libsrc/oftempf.cc ofstd/libsrc/ofthread.cc ofstd/tests/tthread.cc **** Changes from 2015.02.11 (riesmeier) - Fixed typos in comments and other minor issues. Affects: dcmdata/include/dcmtk/dcmdata/dcvruc.h dcmdata/libi2d/i2d.cc **** Changes from 2015.02.09 (riesmeier) - Updated data dictionary for DICOM 2015a edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2015-02-05. Since the data dictionary was already up-to-date regarding the recently approved Supplements and CPs, there are no changes apart from the "Version" column. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2015.02.06 (riesmeier) - Fixed documentation of default TCP buffer length: With the previous commit (2423e3d), the default TCP send and receive buffer length has been increased from 32K to 64K. This commit now updates the documentation of this default value accordingly. Affects: config/docs/envvars.txt **** Changes from 2015.02.05 (schlamelcher) - Adjusted DCMNET's default socket buffer length: The previous default value of 32K was inappropriate for modern hardware, the new default will be 64K for now. Thanks to Peter Klotz for the report and suggested patch. Affects: dcmnet/libsrc/dul.cc dcmnet/libsrc/dulfsm.cc - Added support for trusted client certificates: It is now possible to configure trusted client certificate authorities within DCMTLS. Thanks to Dr. Martin Korp for the suggested patch. Affects: dcmtls/include/dcmtk/dcmtls/tlslayer.h dcmtls/libsrc/tlslayer.cc **** Changes from 2015.02.03 (riesmeier) - Updated latest tested CMake version: Updated information on latest CMake version that has been tested to "3.1.1". Affects: CMake/dcmtkPrepare.cmake - Fixed another CMake 3.1.x quotation issue: According to the CMake documentation "CMake 3.1 and above no longer implicitly dereference variables or interpret keywords in an if() command argument when it is a 'Quoted Argument' or a 'Bracket Argument'" (see CMP0054 for details). Commit cbfe0d7 only solved the issues for Unix-style systems. Now, CMake 3.1 (and above) should also run without any warnings on Windows systems. Affects: CMake/dcmtkPrepare.cmake **** Changes from 2015.02.02 (riesmeier) - Added missing standard include for assert(): Added standard include that is missing when compiled with HAVE_STD_STRING and HAVE_STL, i.e. without DCMTK's implementations of some C++ standard classes. Thanks to Markus Mertens for the original report. Affects: ofstd/libsrc/ofuuid.cc **** Changes from 2015.01.29 (schlamelcher) - Fixed some problems regarding DCMTK's C++11 support: The GCC Version is now detected employing the same CMake macro as for Clang, this works around the missing version suffix of some GCC versions when using the previously employed '-dumpversion' argument. Fixed evaluating the wrong macro instead of 'DCMTK_USE_CXX11_STL' within OFtuple's and OFalign's implementation. Fixed problems regarding OFalign's C++11 implementation. Modified OFnumeric_limit's unit test to accommodate for some native implementation's behavior to set 'is_modulo' to false when it can't be guaranteed (e.g. for optimization purposes). Affects: CMake/dcmtkPrepare.cmake ofstd/include/dcmtk/ofstd/ofalign.h ofstd/include/dcmtk/ofstd/oftuple.h ofstd/tests/tlimits.cc **** Changes from 2015.01.26 (goldhammer) - Replaced deprecated CMake expressions: The auto-dereference behavior of the if() command was deprecated in CMake 3.1.0. Replaced affected expressions with IF(DEFINED) as appropriate. Thanks to Jean-Christophe Fillion-Robin for the original report and suggested fix. Affects: CMake/CheckFunctionWithHeaderExists.cmake CMake/dcmtkTryCompile.cmake CMake/GenerateDCMTKConfigure.cmake **** Changes from 2015.01.22 (riesmeier) - Removed outdated name suffix from EXS_xxx constant: Removed outdated name suffix "TransferSyntax" from EXS_xxx constant in code example. Affects: dcmjpeg/docs/dcmjpeg.dox **** Changes from 2015.01.20 (riesmeier) - Added Mapping Resource UID from CP-1417: Added DICOM Content Mapping Resource UID introduced with CP-1417. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc - Added support for recently approved CPs: Added support for CP-1031 and CP-1417 to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added support for new value representation "UC": Added support for new value representation "Unlimited Characters" (UC) that has been introduced only recently with CP-1031 (Support long code values). Added: dcmdata/include/dcmtk/dcmdata/dcvruc.h dcmdata/libsrc/dcvruc.cc Affects: dcmdata/apps/Makefile.dep dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dctk.h dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libi2d/Makefile.dep dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.dep dcmdata/libsrc/Makefile.in dcmdata/libsrc/dcchrstr.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcvr.cc dcmdata/libsrc/vrscanl.c dcmdata/libsrc/vrscanl.h dcmdata/libsrc/vrscanl.l dcmdata/tests/Makefile.dep dcmdata/tests/tchval.cc dcmdata/tests/telemlen.cc dcmdata/tests/tests.cc **** Changes from 2015.01.15 (schlamelcher) - Introduced basic support for assisted cross compiling: Currently, assistance for cross compiling is only available when using CMake and creating Windows targets utilizing the MinGW cross compiler. Configure- and unit tests are executed via Wine, therefore Wine is required for the build process and testing. Added: CMake/dcmtkTryRun.cmake CMake/dcmtkUseWine.cmake Affects: CMake/GenerateDCMTKConfigure.cmake CMake/dcmtkMacros.cmake CMake/osconfig.h.in config/arith.cc - Fixed possible arith.h generation problem on MinGW: MinGW's custom SEH handling macros don't seem to work reliably on every MinGW "distribution". Implemented an even dirtier solution not relying on these macros and therefore working. The detection of some floating point functions like 'isinf' gave wrong results for some MinGW "distributions" in the past. This also affected the respective implementation inside OFStandard. Affects: config/arith.cc ofstd/libsrc/ofstd.cc **** Changes from 2014.12.11 (riesmeier) - Changed attribute used for the "FD" test: Changed attribute used for the Floating Point Double (FD) test from Physical Delta X (0018,602C) to Inversion Times (0018,9079) because only the latter allows for storing multiple values (value multiplicity = 1-n). Affects: dcmdata/tests/tvrfd.cc **** Changes from 2014.12.10 (riesmeier) - Added new test case for VR=FD: Added new test case for the VR class DcmFloatingPointDouble in order to make sure that the revised version of DcmElement::changeValue(), which is e.g. used by DcmFloatingPointDouble::putFloat64(), still works as expected. Added: dcmdata/tests/tvrfd.cc Affects: dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.dep dcmdata/tests/Makefile.in dcmdata/tests/tests.cc - Fixed error handling in changeValue(): Fixed error handling in method changeValue(), i.e. return an error code in case the memory could not be allocated by new[] or loadValue() failed. Affects: dcmdata/libsrc/dcelem.cc - Fixed error handling in detachValueField(): Fixed error handling in method detachValueField(), i.e. return an error code in case the memory could not be allocated by new. Affects: dcmdata/libsrc/dcelem.cc - Use "try and catch" block around new[]: Use "try and catch" blocks in order to catch the "bad allocation" exception thrown by the call of "new" when non-throwing new operator is not available. Affects: dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcelem.cc dcmimage/include/dcmtk/dcmimage/dicopxt.h dcmimgle/include/dcmtk/dcmimgle/diinpxt.h dcmimgle/include/dcmtk/dcmimgle/dimopxt.h **** Changes from 2014.12.02 (schlamelcher) - Several fixes regarding OFnumeric_limits: The initialization state of FLT_ROUNDS is now dumped to DCMTK_ROUND_STYLE during configuration, which can then be evaluated in a compile time context. This is necessary to conform closely enough to the C++ standard as required by clang. Mac OS X's special floating point exception control macros are now applied on that platform, instead of the GNU POSIX extensions previously employed there as well. The existence of '_fpclassf' on the Windows platform is now probed regarding the linker as well (previously only the compile time presence was tested). Affects: CMake/GenerateDCMTKConfigure.cmake config/arith.cc ofstd/include/dcmtk/ofstd/oflimits.h **** Changes from 2014.11.28 (riesmeier) - Fixed typo in comment. Affects: dcmimgle/include/dcmtk/dcmimgle/diovlay.h ofstd/include/dcmtk/ofstd/ofcast.h **** Changes from 2014.11.27 (onken) - Documented DCMTK's C++ cast macros. It is noted in particular that OFdynamic_cast should not be used in DCMTK. Affects: ofstd/include/dcmtk/ofstd/ofcast.h **** Changes from 2014.11.25 (schlamelcher) - Introduced OFnumeric_limits: The template OFnumeric_limits provides a standardized way to query various properties of fundamental types (e.g. the largest possible value for type int is OFnumeric_limits::max()). OFnumeric_limits is compatible to C++11's std::numeric_limits. Added: config/arith.cc ofstd/include/dcmtk/ofstd/oflimits.h ofstd/tests/tlimits.cc Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in CMakeLists.txt config/Makefile.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in ofstd/include/dcmtk/ofstd/ofstd.h ofstd/include/dcmtk/ofstd/oftraits.h ofstd/libsrc/ofstd.cc ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.in ofstd/tests/tests.cc **** Changes from 2014.11.24 (riesmeier) - Added support for new UIDs from DICOM 2014c: Added support for new SOP Class UIDs from Supplement 171 (Unified Procedure Step by REpresentational State Transfer Services) and Supplement 172 (Parametric Map Storage). Also updated name of well-known UPS SOP instance. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Updated data dictionary for DICOM 2014c edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2014-11-21. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.11.14 (riesmeier) - Added check for requirements clarified by CP-1401: Added check to read() and write() method and report a warning message if the Completion Flag is not "COMPLETE" for X-Ray Radiation Dose SR objects. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc **** Changes from 2014.11.13 (riesmeier) - Fixed wrong validation of PN, LO and SH values: According to DICOM PS 3.5, the control characters LF, FF and CR are not allowed for LO and SH element values. Also ESC is only allowed for ISO 2022 encoding (escape sequences), but not for the default character set (ASCII). Affects: dcmwlm/libsrc/wlds.cc - Fixed typo in comment. Affects: dcmdata/libsrc/dcchrstr.cc **** Changes from 2014.11.07 (riesmeier) - Removed unneeded header include: The standard header "cassert" is not needed any longer. So do not include it. Affects: ofstd/include/dcmtk/ofstd/ofcond.h **** Changes from 2014.11.06 (riesmeier) - Fixed issue when scaling certain images: The image scaling methods expandPixel() and reducePixel(), which are used for interpolation (c't algorithm), were not working correctly for certain sizes. This commit solves an issue that was originally fixed with commit e9c3550, but now in a more general and probably more robust manner. Thanks to Tilman Vogel for the original report and suggested fix. Affects: dcmimgle/include/dcmtk/dcmimgle/discalet.h **** Changes from 2014.11.01 (riesmeier) - Added "data correction" options to findscu: Added two new options that enable/disable the automatic data correction (e.g. removal of trailing padding) to the findscu command line tool. The default is still to disable the data correction, i.e. the same behavior as before. Thanks to forum user "gerhardh" for the original report. Affects: dcmnet/apps/findscu.cc dcmnet/docs/findscu.man **** Changes from 2014.10.31 (riesmeier) - Updated "dcmrt" classes based on DICOM 2014b: Updated automatically generated IOD and sequence c++ classes for the various RT objects based on the current edition of the DICOM standard (2014b). This time, the official DocBook/XML version has been be used (previously, it was an unofficial version of the DICOM 2007 standard edition). Please note the "known issues" that are documented in the module description. Added: dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h dcmrt/include/dcmtk/dcmrt/seq/drtafs.h dcmrt/include/dcmtk/dcmrt/seq/drtags.h dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h dcmrt/include/dcmtk/dcmrt/seq/drtarics.h dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h dcmrt/include/dcmtk/dcmrt/seq/drtfes.h dcmrt/include/dcmtk/dcmrt/seq/drtgas.h dcmrt/include/dcmtk/dcmrt/seq/drtiais.h dcmrt/include/dcmtk/dcmrt/seq/drtians.h dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h dcmrt/include/dcmtk/dcmrt/seq/drtois.h dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h dcmrt/include/dcmtk/dcmrt/seq/drtscris.h dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h dcmrt/libsrc/drtaadcs.cc dcmrt/libsrc/drtafs.cc dcmrt/libsrc/drtags.cc dcmrt/libsrc/drtajcs.cc dcmrt/libsrc/drtarics.cc dcmrt/libsrc/drtbvcps.cc dcmrt/libsrc/drtcctus.cc dcmrt/libsrc/drtcsas.cc dcmrt/libsrc/drtdimrs.cc dcmrt/libsrc/drtdirs.cc dcmrt/libsrc/drtfes.cc dcmrt/libsrc/drtgas.cc dcmrt/libsrc/drtiais.cc dcmrt/libsrc/drtians.cc dcmrt/libsrc/drtipiqs.cc dcmrt/libsrc/drtiseis.cc dcmrt/libsrc/drtois.cc dcmrt/libsrc/drtpfms.cc dcmrt/libsrc/drtpsics.cc dcmrt/libsrc/drtrbs4.cc dcmrt/libsrc/drtrecs.cc dcmrt/libsrc/drtrppcs.cc dcmrt/libsrc/drtrpphs.cc dcmrt/libsrc/drtrscs.cc dcmrt/libsrc/drtrsers.cc dcmrt/libsrc/drtrsrs.cc dcmrt/libsrc/drtrtrs2.cc dcmrt/libsrc/drtrtrs4.cc dcmrt/libsrc/drtrwvms.cc dcmrt/libsrc/drtscris.cc dcmrt/libsrc/drtsdcs.cc dcmrt/libsrc/drtspccs.cc dcmrt/libsrc/drtwrs.cc dcmrt/libsrc/drtxrs.cc Removed: dcmrt/include/dcmtk/dcmrt/seq/drtrtrs.h dcmrt/include/dcmtk/dcmrt/seq/drtrbass8.h dcmrt/include/dcmtk/dcmrt/seq/drtforrs.h dcmrt/libsrc/drtrtrs.cc dcmrt/libsrc/drtrbass8.cc dcmrt/libsrc/drtforrs.cc Affects: COPYRIGHT dcmrt/apps/Makefile.dep dcmrt/apps/Makefile.in dcmrt/docs/dcmrt.dox dcmrt/include/dcmtk/dcmrt/*.h dcmrt/libsrc/*.cc dcmrt/tests/Makefile.dep dcmrt/tests/Makefile.in **** Changes from 2014.10.24 (riesmeier) - Fixed wrong term "Device Driving Level": Replaced wrong term "Device Driving Level" by "Digital Driving Level" (DDL). Affects: dcmimgle/apps/dcmdspfn.cc dcmimgle/docs/dcmdspfn.man dcmimgle/docs/dconvlum.man dcmimgle/include/dcmtk/dcmimgle/diciefn.h dcmimgle/include/dcmtk/dcmimgle/didispfn.h dcmimgle/include/dcmtk/dcmimgle/digsdfn.h dcmimgle/libsrc/diciefn.cc dcmimgle/libsrc/digsdfn.cc - Attribute (0040,4005) has not been retired: Fixed an issue with Scheduled Procedure Step Start DateTime (0040,4005) being retired accidentally by the 2013 edition of the DICOM standard. The editor of the DICOM standard, David Clunie, confirmed that this was not intended. Affects: dcmdata/data/dicom.dic dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.10.24 (schlamelcher) - Fixed autoconf install regarding ofstd variadic: Added the location ofstd/variadic to the autoconf install configuration. Thanks to Hüseyin Kozan for the suggestion. Affects: ofstd/include/Makefile.in **** Changes from 2014.10.17 (riesmeier) - Added missing documentation for --propose-deflated: Apparently, the command line option --propose-deflated (-xd) was not documented in the man page. Affects: dcmnet/docs/storescu.man **** Changes from 2014.10.15 (schlamelcher) - Reintroduced bugfix-comment in dcmjpeg: The comment was previously removed because of the misleading date notice, it has now been reintroduced without that notice. Affects: dcmjpeg/libijg12/jchuff.c dcmjpeg/libijg12/jdhuff.c dcmjpeg/libijg16/jchuff.c dcmjpeg/libijg16/jdhuff.c dcmjpeg/libijg8/jchuff.c dcmjpeg/libijg8/jdhuff.c **** Changes from 2014.10.14 (riesmeier) - RLE images should not use multiple fragments: Made it clearer that the DICOM standard does not allow for storing the pixel data with multiple fragments per frame when RLE compression is used. Added comment/note and report a warning during encoding. Closes DCMTK Bug #396. Affects: dcmdata/docs/dcmcrle.man dcmdata/include/dcmtk/dcmdata/dcrlecp.h dcmdata/libsrc/dcrlecce.cc **** Changes from 2014.10.09 (schlamelcher) - Several fixes and additions for yesterday's commits: Guarded remaining friend comparison operators of OFoptional via OFenable_if. This should finally fix the faulty overload resolution problem in Visual Studio. Worked around a limitation in MinGW where const objects could not have external linkage. Corrected template-recursion related problem in OFtuple that prevented compiling with Clang. Affects: ofstd/include/dcmtk/ofstd/ofoption.h ofstd/include/dcmtk/ofstd/oftuple.h ofstd/libsrc/ofstd.cc ofstd/tests/toption.cc **** Changes from 2014.10.08 (schlamelcher) - Small fixes for a previous commit about OFtuple: Removed unnecessary additions to the Doxygen configuration file for manpages. Added OFtuple's testcase to the autoconf configuration. Added 'Purpose' statement to OFtuple's header file. Affects: doxygen/manpages.cfg ofstd/include/dcmtk/ofstd/oftuple.h ofstd/tests/Makefile.in - Introduced move emulation for pre C++11 compilers: C++11's move semantics allow more efficient parameter and especially return value passing then before. The implemented emulation allows to use the primary functionality of move semantics in pre C++11 compilers in a way that automatically translates to the appropriate C++11 syntax when C++11 support is enabled via 'DCMTK_USE_CXX11_STL'. The only class utilizing move semantics so far is OFunique_ptr, where move semantics are essential to allow using OFunique_ptr objects as parameters or return values. Affects: ofstd/include/dcmtk/ofstd/ofmem.h ofstd/include/dcmtk/ofstd/ofutil.h ofstd/tests/tmem.cc - Introduced OFtuple implementing generic tuples: OFtuple is a fixed-size collection of heterogeneous values. It can be regarded as a generalization of OFPair. OFtuple is similar to C++11's std::tuple and can be replaced by std::tuple via enabling 'DCMTK_USE_CXX11_STL'. Added: ofstd/include/dcmtk/ofstd/oftuple.h ofstd/include/dcmtk/ofstd/variadic/tuple.h ofstd/include/dcmtk/ofstd/variadic/tuplefrd.h ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h ofstd/tests/ttuple.cc Affects: doxygen/htmldocs.cfg doxygen/manpages.cfg ofstd/include/dcmtk/ofstd/ofmap.h ofstd/include/dcmtk/ofstd/ofutil.h ofstd/libsrc/ofstd.cc ofstd/tests/CMakeLists.txt ofstd/tests/tests.cc - Modified some of OFoptional's comparison operators: All comparison operators with an OFoptional object as left hand side argument are now implemented as member methods instead of friend functions. This is meant to reduce incorrect overload lookup in some Visual Studio compilers. Affects: ofstd/include/dcmtk/ofstd/ofoption.h - Fixed a problem in storescp: Storescp aborts if it cannot create files in its working directory. This behavior is intended, but it should be omitted if the "--ignore" flag was set, which is realized by this commit. Thanks to Peter Klotz for the suggestion. Affects: dcmnet/apps/storescp.cc - Introduced DcmOutputBufferStream::filled() method: This method allows to query the bytes in buffer without flushing it. Thanks to Peter Klotz for the suggestion. Affects: dcmdata/include/dcmtk/dcmdata/dcostrmb.h dcmdata/libsrc/dcostrmb.cc **** Changes from 2014.10.02 (riesmeier) - Fixed typo in method name: Renamed method getConnnectionTimeout() to getConnectionTimeout(). Thanks to Peter Klotz for the report. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scpcfg.h dcmnet/libsrc/scp.cc dcmnet/libsrc/scpcfg.cc dcmnet/libsrc/scppool.cc **** Changes from 2014.09.30 (schlamelcher) - Fixed a bug in dcmdata: Refactoring dcmdata to use unsigned types where possible caused problems for some index comparisons. Solved by using iterators instead of indexed access. Affects: dcmdata/libsrc/dcdict.cc dcmdata/libsrc/dcuid.cc **** Changes from 2014.09.26 (riesmeier) - Use new VR "UR" for Pixel Data Provider URL: Use new VR "UR" (instead of "UT") for the Pixel Data Provider URL (0028,7fe0) element because otherwise two test cases of the dcmdata module fail. This is because the VR of this attribute changed with CP-1324 (see commit 79c499a). Affects: dcmdata/tests/tparser.cc **** Changes from 2014.09.25 (riesmeier) - Enhanced rewriting rules in DcmVR::getValidEVR(): Enhanced rewriting rules in DcmVR::getValidEVR() by mapping post-1993 VRs like "UT" to "UN" instead of "OB" if possible (i.e. if not disabled as well). Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/dcvr.cc - Added functions to enable/disable post-1993 VRs: Added global functions that allow for enabling and disabling the value representations (VRs) that have been introduced after the first edition of the DICOM standard (1993) with a single call. These new functions make it easier to maintain the various command line tools that use the corresponding global flags, e.g. dcmEnableUnlimitedTextVRGeneration. Affects: dcmdata/apps/dcmconv.cc dcmdata/apps/dcmcrle.cc dcmdata/apps/dcmdrle.cc dcmdata/apps/dcmgpdir.cc dcmdata/apps/dump2dcm.cc dcmdata/apps/mdfconen.cc dcmdata/apps/pdf2dcm.cc dcmdata/apps/xml2dcm.cc dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/dcvr.cc dcmimage/apps/dcmquant.cc dcmimage/apps/dcmscale.cc dcmjpeg/apps/dcmcjpeg.cc dcmjpeg/apps/dcmdjpeg.cc dcmjpls/apps/dcmcjpls.cc dcmjpls/apps/dcmdjpls.cc dcmnet/apps/findscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmprscu.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/apps/dcmpssnd.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/apps/dcmqrti.cc dcmsr/apps/xml2dsr.cc dcmwlm/apps/wlcefs.cc **** Changes from 2014.09.24 (riesmeier) - Updated data dictionary for DICOM 2014b edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2014-09-18. Please note that the VR of some existing attributes changed from ST or UT to the new VR "UR", which has been added specifically for Universal Resource Identifiers/Locators (URI/URL). Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added support for new value representation "UR": Added support for new value representation "Universal Resource Identifier or Universal Resource Locator (URI/URL)" (UR) that has been introduced only recently with CP-1324 (Add a new Value Representation for URI/URLs). Added: dcmdata/include/dcmtk/dcmdata/dcvrur.h dcmdata/libsrc/dcvrur.cc Affects: dcmdata/apps/Makefile.dep dcmdata/apps/dcmconv.cc dcmdata/apps/dcmcrle.cc dcmdata/apps/dcmdrle.cc dcmdata/apps/dcmgpdir.cc dcmdata/apps/dump2dcm.cc dcmdata/apps/mdfconen.cc dcmdata/apps/pdf2dcm.cc dcmdata/apps/xml2dcm.cc dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dctk.h dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libi2d/Makefile.dep dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.dep dcmdata/libsrc/Makefile.in dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcvr.cc dcmdata/libsrc/vrscanl.c dcmdata/libsrc/vrscanl.h dcmdata/libsrc/vrscanl.l dcmdata/tests/Makefile.dep dcmdata/tests/tchval.cc dcmdata/tests/telemlen.cc dcmdata/tests/tests.cc dcmimage/apps/dcmquant.cc dcmimage/apps/dcmscale.cc dcmjpeg/apps/dcmcjpeg.cc dcmjpeg/apps/dcmdjpeg.cc dcmjpls/apps/dcmcjpls.cc dcmjpls/apps/dcmdjpls.cc dcmnet/apps/findscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmprscu.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/apps/dcmpssnd.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/apps/dcmqrti.cc dcmsr/apps/xml2dsr.cc dcmwlm/apps/wlcefs.cc - Fixed typos in comments and other minor issues. Affects: dcmdata/include/dcmtk/dcmdata/dcvrlt.h dcmdata/include/dcmtk/dcmdata/dcvrst.h dcmdata/include/dcmtk/dcmdata/dcvrut.h dcmdata/libsrc/dcvrut.cc - Removed misleading comment from checkStringValue(): Removed misleading comment on possibly "multiple values" to be checked from checkStringValue() method. Affects: dcmdata/include/dcmtk/dcmdata/dcvrlt.h dcmdata/include/dcmtk/dcmdata/dcvrst.h dcmdata/include/dcmtk/dcmdata/dcvrut.h **** Changes from 2014.09.19 (riesmeier) - Added support for optional JPEG fill byte: Added support for optional fill byte '0xff' to JPEG decoder. Previously, JPEG-compressed DICOM images containing fill bytes could not be decompressed. Also added output to the logger in case an invalid JPEG marker is found. Affects: dcmjpeg/libsrc/djcodecd.cc **** Changes from 2014.09.18 (onken) - Fixed conversion of color to palette color mode. Affects: dcmimage/libsrc/diquant.cc **** Changes from 2014.09.03 (onken) - Make new compare() method more reliable. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dcvrat.h dcmdata/include/dcmtk/dcmdata/dcvrfd.h dcmdata/include/dcmtk/dcmdata/dcvrfl.h dcmdata/include/dcmtk/dcmdata/dcvrobow.h dcmdata/include/dcmtk/dcmdata/dcvrsl.h dcmdata/include/dcmtk/dcmdata/dcvrss.h dcmdata/include/dcmtk/dcmdata/dcvrul.h dcmdata/include/dcmtk/dcmdata/dcvrus.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcsequen.cc dcmdata/libsrc/dcvrat.cc dcmdata/libsrc/dcvrfd.cc dcmdata/libsrc/dcvrfl.cc dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrsl.cc dcmdata/libsrc/dcvrss.cc dcmdata/libsrc/dcvrul.cc dcmdata/libsrc/dcvrus.cc **** Changes from 2014.09.01 (onken) - Make sure dcmdata tests compile with autoconf. Affects: dcmdata/tests/Makefile.in **** Changes from 2014.08.29 (onken) - New compare() function for dcmdata object values: A new compare() function is added to all VR classes under the DcmElement object hierarchy which compares two objects (of the same type) by value. The function takes into account that elements may have different tags, values and VMs. Added: dcmdata/tests/tvrcomp.cc Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dcvrat.h dcmdata/include/dcmtk/dcmdata/dcvrfd.h dcmdata/include/dcmtk/dcmdata/dcvrfl.h dcmdata/include/dcmtk/dcmdata/dcvrobow.h dcmdata/include/dcmtk/dcmdata/dcvrsl.h dcmdata/include/dcmtk/dcmdata/dcvrss.h dcmdata/include/dcmtk/dcmdata/dcvrul.h dcmdata/include/dcmtk/dcmdata/dcvrus.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcsequen.cc dcmdata/libsrc/dcvrat.cc dcmdata/libsrc/dcvrfd.cc dcmdata/libsrc/dcvrfl.cc dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrsl.cc dcmdata/libsrc/dcvrss.cc dcmdata/libsrc/dcvrul.cc dcmdata/libsrc/dcvrus.cc dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.dep dcmdata/tests/Makefile.in dcmdata/tests/tests.cc **** Changes from 2014.08.26 (schlamelcher) - Fixed a problem with Microsoft Safe CRT in oflog: The oflog module now honors the configure test results instead of using its own definitions. Thanks to Matt McCormick for the report and suggested patch. Affects: oflog/include/dcmtk/oflog/config/win32.h **** Changes from 2014.08.18 (schlamelcher) - Refined definition of numeric types and traits: Introduced OFlonglong and OFulonglong preprocessor definitions that expand to the platform specific long long type or are undefined if no such type is available. Reimplemented fixed width integer types employing these long long types and refined integer traits to use the primitive types instead of the fixed with types in their specializations. Affects: ofstd/include/dcmtk/ofstd/oftypes.h ofstd/include/dcmtk/ofstd/oftraits.h **** Changes from 2014.07.31 (riesmeier) - Added check on valid "IMAGE" SOP Classes: Added check on SOP Classes to be referenced from an IMAGE content item, which includes the Segmentation Storage SOP Class. This kind of check was already performed for Presentation State and Waveform objects. Also compared these lists of supported SOP Classes with the current edition of the DICOM standard. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/include/dcmtk/dcmsr/dsrwavvl.h dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrwavvl.cc - Added dcmIsImageStorageSOPClassUID() function: Added a global function that checks whether a given SOP Class UID is one of the known Image Storage SOP Classes (similar to dcmIsaStorageSOPClassUID()). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc **** Changes from 2014.07.30 (riesmeier) - Insert a subtree into an empty document tree: Added missing support for inserting a subtree into an empty document tree (if this subtree is a valid document tree). Also added new tests for this case. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc **** Changes from 2014.07.29 (riesmeier) - Further enhanced by-reference relationships: Now storing the value type of a referenced node (target content item) in the by-reference tree node class in order to facilitate IOD constraint checking. Added new methods to by-reference tree node class in order to avoid direct access to the member variables (by a friend class), and to allow updating the referenced node. Added missing support for by-reference relationships in DSRDocumentSubTree::checkSubTreeConstraints(). Also added a new test on this. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrreftn.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoc.cc **** Changes from 2014.07.28 (riesmeier) - Enhanced support for by-reference relationships: Enhanced support for by-reference relationships in subtrees extracted from a valid document tree. Also added a new test for this particular case. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc - Added extractSubTree() method to tree classes: Added extractSubTree() method to the tree classes. This allows for extracting a particular subtree from an SR document tree or from another subtree. Also added new tests for the new methods on DSRDocumentSubTree and DSRTree level. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc dcmsr/tests/tsrtree.cc **** Changes from 2014.07.25 (riesmeier) - Added removeSubTree() method to subtree class: Added removeSubTree() method to the document subtree class. This allows for removing (and deleting) a particular subtree from an SR document tree/subtree. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc - Added public method to change SR document type: Added public method that allows for changing the type of an SR document (IOD) without deleting the currently stored document tree, if this is possible. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/tests/tsrdoc.cc Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.dep dcmsr/tests/Makefile.in dcmsr/tests/tests.cc - Fixed wrong term in Doxygen documentation: Instead of "content relationship constraints" the DICOM standard uses the term "relationship content constraints". Affects: dcmsr/include/dcmtk/dcmsr/dsrbascc.h dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h dcmsr/include/dcmtk/dcmsr/dsrchecc.h dcmsr/include/dcmtk/dcmsr/dsrcolcc.h dcmsr/include/dcmtk/dcmsr/dsrcomcc.h dcmsr/include/dcmtk/dcmsr/dsrenhcc.h dcmsr/include/dcmtk/dcmsr/dsrimpcc.h dcmsr/include/dcmtk/dcmsr/dsriodcc.h dcmsr/include/dcmtk/dcmsr/dsrkeycc.h dcmsr/include/dcmtk/dcmsr/dsrmaccc.h dcmsr/include/dcmtk/dcmsr/dsrmamcc.h dcmsr/include/dcmtk/dcmsr/dsrprocc.h dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h dcmsr/include/dcmtk/dcmsr/dsrspecc.h dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h - Slightly enhanced layout of Doxygen documentation. Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrdoc.h - Removed DLL specifier from template classes: Removed DLL import/export specifier from template classes since this does not seem to work with VisualStudio (when compiling with shared libraries enabled). Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h **** Changes from 2014.07.24 (onken) - Fix last commit by including implementation file. Affects: dcmdata/libsrc/dcuid.cc - Reverted false retirement status of some SOP Classes. Three composite instance retrieve SOP Classes have accidentially been added using the "RETIRED_" prefix in their respective constant names. Thanks to Michael Spacek for the report and suggested patch. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h - Specific error if no presentation context proposed. Return specific error if Association requestor does not propose any presentation context (must propose one or more). Affects: dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/cond.cc **** Changes from 2014.07.23 (riesmeier) - Clarified use of template identification: Made it clearer that the template identification using the Content Template Sequence (0040,A504) is only applicable to CONTAINER content items. At the time when the development of the "dcmsr" module started, this restriction was not present in the DICOM standard (see DICOM PS 3.3-2000 for details). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/libsrc/dsrcitem.cc dcmsr/libsrc/dsrdoctn.cc - Fixed two memory leaks in recently added code: Fixed a memory leak in DSRDocumentSubTree::insertSubTree() and another one in the destructor of class DSRContentItem. These leaks were found with valgrind. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrcitem.cc dcmsr/libsrc/dsrdocst.cc **** Changes from 2014.07.22 (riesmeier) - Added checking of IOD-specific constraints: Enhanced new insertSubTree() method by also checking whether the content relationship constraints of the underlying SR IOD are followed, which is needed for the derived class DSRDocumentTree. Also added further tests. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc **** Changes from 2014.07.21 (riesmeier) - Added insertSubTree() method to subtree class: Added insertSubTree() and canInsertSubTree() method to the document subtree class. This allows for adding a particular subtree to an SR document tree or to another subtree. Also added new tests for these methods (as always). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc - Fixed a bug in convertNewlineCharacters(): Fixed an ugly bug in convertNewlineCharacters() that caused dump2dcm to crash. This issue was introduced with commit 093768a, i.e. the previous one. Thanks to Markus Konrad for the report. Affects: dcmdata/apps/dump2dcm.cc **** Changes from 2014.07.18 (riesmeier) - Restructured classes for nodes and trees: Converted basic node and tree classes to C++ templates. This makes the code clearer and avoids many explicit type casts. Also fixed some scope issues. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/Makefile.dep dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrtncsr.cc dcmsr/libsrc/dsrtree.cc dcmsr/tests/tsrtree.cc **** Changes from 2014.07.17 (riesmeier) - Reimplemented various getXXX() methods: Reimplemented various public getXXX() methods in derived tree class, but in the "protected" section. This also avoids some explicit type casts. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrtncsr.cc dcmsr/libsrc/dsrtree.cc - Changed return type of addContentItem(node*): Changed return type of addContentItem() method that expects a pointer to a newly created document tree node. It now returns an OFCondition (like other similar methods) instead of the pointer to the tree node that was passed to it. Also fixed possible memory leaks in case adding the new tree node failed. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc dcmsr/tests/tsrdoctr.cc - Cleaned up handling of "unknown" relationships: Made sure that the "unknown" relationship type is only permitted on top-level in a document subtree. This will be used for certain DICOM SR templates. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/tests/tsrdoctr.cc **** Changes from 2014.07.17 (onken) - Fixed possible memory leak. Thanks to Peter Hille for the report and suggested fix. Affects: dcmnet/libsrc/assoc.cc **** Changes from 2014.07.16 (riesmeier) - Added cloneSubTree() method to tree classes: Added cloneSubTree() method to the tree classes. This allows for copying a particular subtree from an SR document tree or from another subtree. Also added new tests for these methods. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrtree.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc dcmsr/tests/tsrtree.cc - Minor fixes on "const" declaration of pointers. Affects: dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctn.cc **** Changes from 2014.07.15 (riesmeier) - Added gotoFirst() and gotoLast() methods: Added gotoFirst() and gotoLast() methods, which allow for setting the cursor to the first or last node on the same level (i.e. the first or last sibling). These methods will be useful for the upcoming cloneSubTree() methods. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/libsrc/dsrtncsr.cc dcmsr/tests/tsrtree.cc - Added further checking methods to cursor class: Added methods that check whether the current node has a parent, at least one child node, preceding or following siblings. Also added new tests for that. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/libsrc/dsrtncsr.cc dcmsr/tests/tsrtree.cc - Added getPreviousNode() and getChildNode(): Added missing getPreviousNode() and getChildNode() methods, which allow for looking up the previous node or first child node without changing the cursor. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/libsrc/dsrtncsr.cc **** Changes from 2014.07.14 (riesmeier) - Implemented copy constructors for tree classes: Added missing copy constructors and clone() methods to various tree classes. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrdocst.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrtree.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc dcmsr/tests/tsrtree.cc **** Changes from 2014.07.11 (riesmeier) - Introduced new class DSRDocumentSubTree: Introduced new class DSRDocumentSubTree as the base class for the existing class DSRDocumentTree. A subtree represents an extract of a SR document tree. This new class is another step towards the future support of SR Templates. Acknowledgement: This work has been supported in part by the "QIICR" project. Added: dcmsr/include/dcmtk/dcmsr/dsrdocst.h dcmsr/libsrc/dsrdocst.cc Affects: dcmsr/apps/Makefile.dep dcmsr/docs/dcmsr.dox dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrdoctr.cc dcmsr/tests/Makefile.dep dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc - Fixed various Doxygen-related issues: Fixed various Doxygen-related issues, mainly missing class name for some identifiers. Also fixed wrong header include (where appropriate). Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrcodtn.h dcmsr/include/dcmtk/dcmsr/dsrcomtn.h dcmsr/include/dcmtk/dcmsr/dsrcontn.h dcmsr/include/dcmtk/dcmsr/dsrdattn.h dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrdtitn.h dcmsr/include/dcmtk/dcmsr/dsrimgtn.h dcmsr/include/dcmtk/dcmsr/dsrnumtn.h dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h dcmsr/include/dcmtk/dcmsr/dsrscotn.h dcmsr/include/dcmtk/dcmsr/dsrtcotn.h dcmsr/include/dcmtk/dcmsr/dsrtextn.h dcmsr/include/dcmtk/dcmsr/dsrtimtn.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/include/dcmtk/dcmsr/dsruidtn.h dcmsr/include/dcmtk/dcmsr/dsrwavtn.h **** Changes from 2014.07.11 (onken) - Add connection timeout setting to SCU class. Add DCMTK's global connection timeout to SCU API. Though the timeout is still a global settings, this enhances visibility to users. Enhanced documentation comments about other existing timeout settings. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc **** Changes from 2014.07.09 (riesmeier) - Fixed issue with tests run in different order: Fixed issue with tests being run in different order when using the CMake build system. Now, the ID of the next node to be created can be determined in advance. Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrtree.cc dcmsr/tests/tsrdoctr.cc dcmsr/tests/tsrtree.cc - Added two new convenience functions: Added new convenience functions that allow for adding a new node (either on the same level or as a child node) and for specifying the concept name with a single call. Also added a test case for these functions and gotoNamedNode(). Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc - Added method counting the number of nodes: Added method that counts the number of nodes stored in a tree. Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/libsrc/dsrtree.cc dcmsr/tests/tsrtree.cc - Made sure that all top-level nodes are deleted: Made sure that all nodes in the tree are deleted with clear(), even if there is more than one node on the top-level (i.e. no dedicated root). This feature will be needed for handling the upcoming document subtree class properly. Acknowledgement: This work has been supported in part by the "QIICR" project. Affects: dcmsr/libsrc/dsrtree.cc dcmsr/tests/tests.cc dcmsr/tests/tsrtree.cc **** Changes from 2014.07.08 (riesmeier) - Excluded "*.md5" files from installation: Excluded "*.md5" files generated by Doxygen (when "HAVE_DOT" is set to "YES") from installation. This setting is e.g. used by Debian's DCMTK package. Thanks to Mathieu Malaterre for the report and suggested fix. Affects: doxygen/CMakeLists.txt - Removed outdated CMake exclude pattern: Removed outdated "CVS" exclude pattern from CMake install command. After the change from CVS to git there is no need to exclude the subdirectory anymore. Affects: dcmdata/include/CMakeLists.txt dcmimage/include/CMakeLists.txt dcmimgle/include/CMakeLists.txt dcmjpeg/include/CMakeLists.txt dcmjpls/include/CMakeLists.txt dcmnet/include/CMakeLists.txt dcmpstat/include/CMakeLists.txt dcmqrdb/include/CMakeLists.txt dcmrt/include/CMakeLists.txt dcmsign/include/CMakeLists.txt dcmsr/include/CMakeLists.txt dcmtls/include/CMakeLists.txt dcmwlm/data/CMakeLists.txt dcmwlm/include/CMakeLists.txt doxygen/CMakeLists.txt oflog/include/CMakeLists.txt ofstd/include/CMakeLists.txt - Added explaining comment on new copy constructor. Affects: dcmsr/include/dcmtk/dcmsr/dsrreftn.h **** Changes from 2014.07.07 (riesmeier) - Implemented copy constructors and added clone(): Implemented missing copy constructors for tree node classes and added clone() methods to the relevant classes. This is the first step towards a better support of SR templates, e.g. by preparing subtrees in advance that can later be inserted into a document tree. Acknowledgements: Development of this feature has been supported in part by the Quantitative Image Informatics in Cancer Research (QIICR) project through the award U24 CA180918 from the NIH National Cancer Institute. For future commits, this reference will be shortened to the project acronym "QIICR". Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrcodtn.h dcmsr/include/dcmtk/dcmsr/dsrcomtn.h dcmsr/include/dcmtk/dcmsr/dsrcontn.h dcmsr/include/dcmtk/dcmsr/dsrdattn.h dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/include/dcmtk/dcmsr/dsrdtitn.h dcmsr/include/dcmtk/dcmsr/dsrimgtn.h dcmsr/include/dcmtk/dcmsr/dsrnumtn.h dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h dcmsr/include/dcmtk/dcmsr/dsrscotn.h dcmsr/include/dcmtk/dcmsr/dsrtcotn.h dcmsr/include/dcmtk/dcmsr/dsrtextn.h dcmsr/include/dcmtk/dcmsr/dsrtimtn.h dcmsr/include/dcmtk/dcmsr/dsruidtn.h dcmsr/include/dcmtk/dcmsr/dsrwavtn.h dcmsr/libsrc/dsrcitem.cc dcmsr/libsrc/dsrcodtn.cc dcmsr/libsrc/dsrcomtn.cc dcmsr/libsrc/dsrcontn.cc dcmsr/libsrc/dsrdattn.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrdtitn.cc dcmsr/libsrc/dsrimgtn.cc dcmsr/libsrc/dsrnumtn.cc dcmsr/libsrc/dsrpnmtn.cc dcmsr/libsrc/dsrrefin.cc dcmsr/libsrc/dsrreftn.cc dcmsr/libsrc/dsrsc3tn.cc dcmsr/libsrc/dsrscotn.cc dcmsr/libsrc/dsrscovl.cc dcmsr/libsrc/dsrtcotn.cc dcmsr/libsrc/dsrtextn.cc dcmsr/libsrc/dsrtimtn.cc dcmsr/libsrc/dsruidtn.cc dcmsr/libsrc/dsrwavtn.cc dcmsr/tests/tests.cc dcmsr/tests/tsrdoctr.cc - Updated copyright date and other minor changes. Affects: dcmsr/include/dcmtk/dcmsr/dsrbascc.h dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h dcmsr/include/dcmtk/dcmsr/dsrchecc.h dcmsr/include/dcmtk/dcmsr/dsrcolcc.h dcmsr/include/dcmtk/dcmsr/dsrcomcc.h dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrenhcc.h dcmsr/include/dcmtk/dcmsr/dsrcsidl.h dcmsr/include/dcmtk/dcmsr/dsrimgfr.h dcmsr/include/dcmtk/dcmsr/dsrimgse.h dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/include/dcmtk/dcmsr/dsrimpcc.h dcmsr/include/dcmtk/dcmsr/dsriodcc.h dcmsr/include/dcmtk/dcmsr/dsrkeycc.h dcmsr/include/dcmtk/dcmsr/dsrmaccc.h dcmsr/include/dcmtk/dcmsr/dsrmamcc.h dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/include/dcmtk/dcmsr/dsrprocc.h dcmsr/include/dcmtk/dcmsr/dsrrefin.h dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h dcmsr/include/dcmtk/dcmsr/dsrscogr.h dcmsr/include/dcmtk/dcmsr/dsrscovl.h dcmsr/include/dcmtk/dcmsr/dsrspecc.h dcmsr/include/dcmtk/dcmsr/dsrstrvl.h dcmsr/include/dcmtk/dcmsr/dsrtcodt.h dcmsr/include/dcmtk/dcmsr/dsrtcosp.h dcmsr/include/dcmtk/dcmsr/dsrtcoto.h dcmsr/include/dcmtk/dcmsr/dsrtcovl.h dcmsr/include/dcmtk/dcmsr/dsrtlist.h dcmsr/include/dcmtk/dcmsr/dsrtncsr.h dcmsr/include/dcmtk/dcmsr/dsrtree.h dcmsr/include/dcmtk/dcmsr/dsrwavch.h dcmsr/include/dcmtk/dcmsr/dsrwavvl.h dcmsr/include/dcmtk/dcmsr/dsrxmlc.h dcmsr/include/dcmtk/dcmsr/dsrxmld.h dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h - Minor fixes to file's comment header. Affects: dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/apps/dsrdump.cc dcmsr/apps/xml2dsr.cc dcmsr/include/dcmtk/dcmsr/dsdefine.h dcmsr/libsrc/dsrbascc.cc dcmsr/libsrc/dsrc3dcc.cc dcmsr/libsrc/dsrchecc.cc dcmsr/libsrc/dsrcolcc.cc dcmsr/libsrc/dsrcomcc.cc dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrenhcc.cc dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrimgse.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrimpcc.cc dcmsr/libsrc/dsriodcc.cc dcmsr/libsrc/dsrkeycc.cc dcmsr/libsrc/dsrmaccc.cc dcmsr/libsrc/dsrmamcc.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrprocc.cc dcmsr/libsrc/dsrsc3gr.cc dcmsr/libsrc/dsrsc3vl.cc dcmsr/libsrc/dsrscogr.cc dcmsr/libsrc/dsrsoprf.cc dcmsr/libsrc/dsrspecc.cc dcmsr/libsrc/dsrstrvl.cc dcmsr/libsrc/dsrtcodt.cc dcmsr/libsrc/dsrtcosp.cc dcmsr/libsrc/dsrtcoto.cc dcmsr/libsrc/dsrtcovl.cc dcmsr/libsrc/dsrtncsr.cc dcmsr/libsrc/dsrtree.cc dcmsr/libsrc/dsrtypes.cc dcmsr/libsrc/dsrwavch.cc dcmsr/libsrc/dsrwavvl.cc dcmsr/libsrc/dsrxmlc.cc dcmsr/libsrc/dsrxmld.cc dcmsr/libsrc/dsrxrdcc.cc dcmsr/tests/tsrtree.cc **** Changes from 2014.07.07 (schlamelcher) - Fixed a wrong type-alias for OFintegral_constant: The type-alias defined when C++11 support was enabled did not honor the special nature of std::integral_constant which takes a non-type argument as its second template parameter. Affects: ofstd/include/dcmtk/ofstd/oftraits.h - Introduced C++11-like alignment support: Created configure tests that detect the availability of various native alignment specifiers on different platform / compiler combinations. Implemented fallback definitions for OFalignas and OFalignof based on these specifiers and the non-standard macros "OFalign" and "OFalign_typename" which compensate for the reduced functionality available on Microsoft compilers by employing C++ templates. OFalign and OFalign_typename are also available on compilers supplying true alignment support, making them the most platform-independent implementations. Added: ofstd/include/dcmtk/ofstd/ofalign.h Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/aclocal.m4 config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in - Fixed an alignment problem in OFoptional: OFoptional now uses a policy based approach to manage its storage, implemented as OFoptional_traits. This allows to customize memory allocation and state management, as well as the default construction policy. The default implementation now uses OFalign when available, to align the storage appropriately for its content type. If OFalign is not supported, OFoptional falls back to an implementation employing pointers and allocating the memory on the heap. Affects: ofstd/include/dcmtk/ofstd/ofoption.h ofstd/tests/toption.cc - Fixed building 32 bit targets with mingw-w64: Added configure-time tests for some file access functions that aren't available on every MinGW distribution. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in ofstd/include/dcmtk/ofstd/offile.h **** Changes from 2014.07.02 (riesmeier) - Removed year component from version field: Removed the name of the edition of the DICOM standard, i.e. "2014a" for the current edition, from the version field of each DICOM attribute. Since the DICOM standard will now be published/updated more often, the complete data dictionary will be generated automatically several times a year. Having the year component in the version field would change each entry every time and would make it hard (if not impossible) to see what has actually changed. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.07.01 (riesmeier) - Updated data dictionary for DICOM 2014a edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2014-06-30. Since the data dictionary was already up-to-date regarding the recently approved Supplements and CPs, there should be no changes apart from the name of the underlying DICOM standard edition. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.06.30 (riesmeier) - Added support for new Colon CAD SR constraints: Added new "TCOORD selected from" line to the Colon CAD SR constraint checker from Table A.35.10-2 (Relationship Content Constraints for Colon CAD SR IOD) introduced with the recently approved CP-1335. Affects: dcmsr/libsrc/dsrcolcc.cc - Updated comment based on CP-1335: Updated comment on not yet supported Frame of Reference IE / Synchronization Module that is conditional/optional for some SR IODs (based on CP-1335). Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h - Added support for recently approved CPs: Added support for CP-1203, CP-1331, CP-1343 and CP-1347 to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Fixed various typos and minor Doxygen issues. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scpcfg.h **** Changes from 2014.06.23 (riesmeier) - Fixed incomplete #include comment. Affects: dcmnet/libsrc/dimse.cc **** Changes from 2014.06.19 (riesmeier) - Added support for CP-1125 to SR implementation: Added support for CP-1125, which adds the attribute Protocol Name (0018,1030) to both SR Document Series Module and Key Object Document Series Module. Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc - Updated DCMTK's copyright date. Affects: COPYRIGHT **** Changes from 2014.06.18 (schlamelcher) - Clarified an ambiguous configure message. Affects: CMake/dcmtkPrepare.cmake config/docs/cxx11.dox - Removed misleading comment in dcmjpeg. Affects: dcmjpeg/libijg12/jchuff.c dcmjpeg/libijg12/jdhuff.c dcmjpeg/libijg16/jchuff.c dcmjpeg/libijg16/jdhuff.c dcmjpeg/libijg8/jchuff.c dcmjpeg/libijg8/jdhuff.c **** Changes from 2014.06.18 (riesmeier) - Updated reference to DICOM standard edition. Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h - Added missing empty line. Affects: dcmimage/docs/dcmscale.man - Fixed typos and other minor issues. Affects: INSTALL CMake/dcmtkPrepare.cmake CMake/osconfig.h.in config/docs/cxx11.dox config/docs/macros.txt dcmdata/include/dcmtk/dcmdata/dcfilter.h **** Changes from 2014.06.17 (schlamelcher) - Updated manpages. Affects: doxygen/manpages/man1/* - Updated DCMTK_ABI_VERSION for new development snapshot. Affects: CMake/dcmtkPrepare.cmake **** Changes from 2014.06.15 (schlamelcher) - Fixed ofstd_tatof error on older MSVC versions: Older MSVC versions handle underflows incorrectly, therefore the respective test is skipped on these compilers. Affects: ofstd/tests/tatof.cc - Fixed DCMTK-Exports for custom module setups: The variable 'DCMTK_MODULES' is now honored while generating exports, to skip modules the user removed from the build. Affects: CMake/DCMTKConfig.cmake.in CMake/GenerateCMakeExports.cmake - Fixed and suppressed some warnings: Fixed a warning about int / OFBool conversion and suppressed some (silly) MSVC warnings. Affects: CMake/osconfig.h.in ofstd/include/dcmtk/ofstd/ofoption.h - Added 'DCMTK_USE_CXX11_STL' and 'DCMTK_CXX11_FLAGS': These flags control DCMTK's behavior regarding C++11 features. DCMTK_USE_CXX11_STL may be used to switch between DCMTK's own classes and the respective native C++11 implementations. DCMTK will try to set the appropriate CXX_FLAGS to enable C++11 when DCMTK_USE_CXX11_STL is set. DCMTK_CXX11_FLAGS may be used to override which CXX_FLAGS DCMTK sets, for example to use C++14 instead of C++11. Affects: INSTALL CMake/osconfig.h.in config/configure config/configure.in config/docs/config.dox config/docs/cxx11.dox config/docs/macros.txt config/include/dcmtk/config/osconfig.h.in **** Changes from 2014.06.12 (riesmeier) - Removed outdated comment on DICOM 2008 standard. Affects: dcmnet/docs/asconfig.txt - Replaced CMake variable in Doxygen config file: Replaced CMake variable "@CMAKE_CURRENT_SOURCE_DIR@" in Doxygen configuration file by existing substitution variable "@DOXYGEN_INPUT_DIR@". Affects: doxygen/htmldocs.cfg - Avoid full directory path in Doxygen footer: Avoid full directory path in Doxygen footer when HTML generation is initiated from CMake. Affects: doxygen/htmldocs.cfg **** Changes from 2014.06.11 (eichelberg) - Introduced OFStandard::dropPrivileges(): This method centralizes the code for dropping root privileges when running in setuid root mode. Affects: ofstd/include/dcmtk/ofstd/ofcond.h ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofcond.cc ofstd/libsrc/ofstd.cc - Tools now use OFStandard::dropPrivileges(): Modified applications and support classes to call OFStandard::dropPrivileges() instead of setuid(getuid()). Affects: dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/libsrc/scp.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/tests/msgserv.cc dcmqrdb/apps/dcmqrscp.cc dcmwlm/libsrc/wlmactmg.cc **** Changes from 2014.06.11 (riesmeier) - Group condition constants in Doxygen output. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h ofstd/include/dcmtk/ofstd/ofcond.h - Made sure that header file is parsed by Doxygen. Affects: ofstd/include/dcmtk/ofstd/oftypes.h - Renamed Doxygen's layout file again. Added: doxygen/layout.xml Removed: doxygen/Layout.xml Affects: doxygen/htmldocs.cfg - Removed meaningless layout file setting: Removed setting a value for "LAYOUT_FILE" because it is meaningless for man pages and produces only warnings in the "manpages.log" file. Affects: doxygen/Makefile.in doxygen/manpages.cfg - Fixed typo and updated copyright date. Affects: dcmdata/docs/dcm2pdf.man dcmdata/docs/dcm2xml.man dcmdata/docs/dcmconv.man dcmdata/docs/dcmcrle.man dcmdata/docs/dcmdrle.man dcmdata/docs/dcmdump.man dcmdata/docs/dcmftest.man dcmdata/docs/dcmgpdir.man dcmdata/docs/dcmodify.man dcmdata/docs/dump2dcm.man dcmdata/docs/img2dcm.man dcmdata/docs/pdf2dcm.man dcmdata/docs/xml2dcm.man dcmimage/docs/dcm2pnm.man dcmimage/docs/dcmquant.man dcmimage/docs/dcmscale.man dcmimgle/docs/dcmdspfn.man dcmimgle/docs/dcod2lum.man dcmimgle/docs/dconvlum.man dcmjpeg/docs/dcmcjpeg.man dcmjpeg/docs/dcmdjpeg.man dcmjpeg/docs/dcmj2pnm.man dcmjpeg/docs/dcmmkdir.man dcmjpls/docs/dcmcjpls.man dcmjpls/docs/dcmdjpls.man dcmjpls/docs/dcml2pnm.man dcmnet/docs/dcmrecv.man dcmnet/docs/dcmsend.man dcmnet/docs/echoscu.man dcmnet/docs/findscu.man dcmnet/docs/getscu.man dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/docs/storescu.man dcmnet/docs/termscu.man dcmpstat/docs/dcmmkcrv.man dcmpstat/docs/dcmmklut.man dcmpstat/docs/dcmp2pgm.man dcmpstat/docs/dcmprscp.man dcmpstat/docs/dcmprscu.man dcmpstat/docs/dcmpschk.man dcmpstat/docs/dcmpsmk.man dcmpstat/docs/dcmpsprt.man dcmpstat/docs/dcmpsrcv.man dcmpstat/docs/dcmpssnd.man dcmqrdb/docs/dcmqridx.man dcmqrdb/docs/dcmqrscp.man dcmqrdb/docs/dcmqrti.man dcmrt/docs/drtdump.man dcmsign/docs/dcmsign.man dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man dcmsr/docs/dsrdump.man dcmsr/docs/xml2dsr.man dcmwlm/docs/wlmscpfs.man **** Changes from 2014.06.10 (riesmeier) - Added DcmSCP::abortAssociation() method: Added method that allows one to abort an association by sending an A-ABORT request from the SCP, i.e. classes derived from DcmSCP can now abort the association in case of severe errors. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc - Added support for new SR IOD from Supplement 159: Added full support for the new Radiopharmaceutical Radiation Dose SR IOD introduced with Supplement 159. Added: dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h dcmsr/libsrc/dsrrrdcc.cc Affects: dcmsr/apps/Makefile.dep dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man dcmsr/docs/dsrdump.man dcmsr/docs/xml2dsr.man dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrtypes.cc dcmsr/tests/Makefile.dep - Added support for new UID from Supplement 159: Added support for new SOP Class UID from Supplement 159 (Radiopharmaceutical Radiation Dose Reporting). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man dcmqrdb/libsrc/dcmqrdbi.cc - Added support for Supplement 159 to data dictionary: Added support for the final text version of Supplement 159 (Radiopharmaceutical Radiation Dose Reporting) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.06.06 (riesmeier) - Consistently use "presInfo" for variables/parameters: Consistently use "presInfo" as the name of parameter and local variables of type DcmPresentationContextInfo, both in header and source files. Affects: dcmnet/include/dcmtk/dcmnet/dstorscp.h dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/dstorscp.cc dcmnet/libsrc/scp.cc **** Changes from 2014.06.04 (schlamelcher) - Renamed DoxygenLayout.xml to comply with filename conventions. Added: doxygen/Layout.xml Removed: doxygen/DoxygenLayout.xml Affects: doxygen/CMakeLists.txt doxygen/Makefile.in doxygen/htmldocs.cfg doxygen/manpages.cfg - Minor fixes and workarounds for Microsoft's compilers: Microsoft Visual Studio again shows its lack of standard compliance, especially in the hard bug where calling "operator->()" does something different than calling "->". Affects: dcmimage/include/dcmtk/dcmimage/diqthash.h ofstd/include/dcmtk/ofstd/ofoption.h **** Changes from 2014.06.04 (riesmeier) - Fixed issue with text alignment in PatternLayout: Fixed issue with text alignment in oflog's PatternLayout. After switching to log4cplus version 1.1.0 the format specifiers for left and right justified text of a particular width did not work any more. This has been fixed by returning to the implementation of the previous log4cplus version 1.0.x. Also removed trailing spaces and fixed some typos. Affects: oflog/libsrc/patlay.cc - Fixed some Doxygen related issues (and a typo). Affects: dcmnet/include/dcmtk/dcmnet/scppool.h **** Changes from 2014.06.02 (schlamelcher) - Introduced OFoptional, implementing optional types: OFoptional is implemented based on the C++14 proposal for std::optional (N3690) and is similar to Boost.Optional. Added: doxygen/DoxygenLayout.xml ofstd/include/dcmtk/ofstd/ofoption.h ofstd/include/dcmtk/ofstd/ofutil.h ofstd/tests/toption.cc Affects: doxygen/CMakeLists.txt ofstd/include/dcmtk/ofstd/ofdefine.h ofstd/libsrc/ofstd.cc ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.in ofstd/tests/tests.cc **** Changes from 2014.05.28 (riesmeier) - Made sure that the move originator is cleared: Made sure that the members MoveOriginatorAETitle and MoveOriginatorMsgID are reset in the clear() method. Affects: dcmnet/libsrc/dstorscu.cc - Fixed typos in comments. Affects: CMake/DCMTKConfig.cmake26.in dcmnet/include/dcmtk/dcmnet/dstorscp.h dcmnet/include/dcmtk/dcmnet/dstorscu.h **** Changes from 2014.05.27 (schlamelcher) - Modified DcmQuantColorHashTable to perform lazy initialization: To improve performance, DcmQuantColorHashTable now creates the internal items when they are accessed for the first time instead of at its initialization. Thanks to Takeo Satomi for the suggested improvement. Affects: dcmimage/include/dcmtk/dcmimage/diqthash.h dcmimage/libsrc/diqthash.cc **** Changes from 2014.05.09 (riesmeier) - Various minor fixes for development version. Affects: INSTALL VERSION **** Changes from 2014.05.08 (riesmeier) - Fixed typos, added missing documentation, etc. Affects: dcmdata/include/dcmtk/dcmdata/libi2d/i2dbmps.h dcmdata/include/dcmtk/dcmdata/libi2d/i2dimgs.h dcmdata/include/dcmtk/dcmdata/libi2d/i2djpgs.h **** Changes from 2014.05.08 (onken) - Fixed wrong ifdef syntax: Thanks to Andrey Fedorov for the suggested fix. Affects: ofstd/include/dcmtk/ofstd/ofexport.h **** Changes from 2014.05.06 (riesmeier) - Added further error handling options: Added error handling options known from dsrdump and dsr2html to dsr2xml. Please be careful with these new command line options since they disable certain validation checks on the DICOM SR input file and, therefore, might result in non-standard conformant output. Affects: dcmsr/apps/dsr2xml.cc dcmsr/docs/dsr2xml.man - Fixed typos in comments. Affects: dcmnet/apps/echoscu.c dcmnet/apps/movescu.cc **** Changes from 2014.05.02 (riesmeier) - Updated data dictionary for DICOM 2013 edition: Updated data dictionary for the latest edition of the DICOM standard, which has been released on 2014-04-30. Major parts of the "dicom.dic" file have been generated automatically based on the machine-readable DocBook version of Part 6 and 7 of the DICOM standard. In addition, all recently approved final text Supplements and CPs have been added manually. Since the data dictionary was already quite up-to-date, there should be minor changes only. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.05.01 (riesmeier) - Added explicit type casts to avoid warnings: Added explicit type casts to avoid warnings reported by gcc 4.7.2 (Linux) with additional flags or MSVC++ with higher warning level (C4244). Thanks to Rasmus Christian Pedersen for the original report. Affects: dcmnet/apps/dcmrecv.cc dcmnet/apps/dcmsend.cc - Fixed inconsistent parameter type: Fixed inconsistent parameter type for setMaxReceivePDULength() method. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc **** Changes from 2014.04.29 (riesmeier) - Access the (total) number of frames in an image: Added support for accessing the value of Number of Frames (0028,0008), i.e. the number of frames stored in a DICOM file/dataset. Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h dcmimgle/include/dcmtk/dcmimgle/diimage.h **** Changes from 2014.04.28 (schlamelcher) - Minor fixes (whitespace and line ending errors). Affects: ofstd/include/dcmtk/ofstd/ofexbl.h ofstd/include/dcmtk/ofstd/oftraits.h **** Changes from 2014.04.25 (schlamelcher) - Fixed possibly wrong overload resolution in DSRCodedEntryValue: The introduction of the "check" parameter, which was added to the constructor and the "setCode"-method of DSRCodedEntryValue (see changes from 2012.06.11) yielded the possibility of string literals being automatically converted to OFBool and therefore being misinterpreted as the value of "check" instead of "codeMeaning". Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/libsrc/dsrcodvl.cc - Introduced the new explicit boolean type OFExplicitBool: OFExplicitBool can be used to restrict an overloaded function's parameter to "real" OFBool values, e.g. pointers and numeric values can NOT be converted to OFExplicitBool implicitly. Added: ofstd/include/dcmtk/ofstd/ofexbl.h - Added support for some additional C++11 traits: Added aliases / fallback implementations for the C++11 std::conditional, std::is_same, std::is_array, std::is_function, std::remove_reference, std::remove_const, std::remove_volatile, std::remove_cv, std::remove_extent, std::add_pointer and std::decay. Note: Due to the lack of variadic-templates in pre C++11 compilers, the fallback implementation of OFis_function has reduced functionality, currently only detecting functions with up to three arguments! Affects: ofstd/include/dcmtk/ofstd/oftraits.h **** Changes from 2014.04.24 (riesmeier) - Added support for determining the FrameTime: Added support for determining the value of Frame Time (0018,1063), i.e. the nominal time between individual frames, from the DICOM dataset (if present). Affects: dcmimage/apps/dcm2pnm.cc dcmimgle/include/dcmtk/dcmimgle/dcmimage.h dcmimgle/include/dcmtk/dcmimgle/diimage.h dcmimgle/libsrc/diimage.cc - Fixed typo in comments. Affects: dcmimgle/include/dcmtk/dcmimgle/didocu.h - Removed superfluous member initialization: Removed initialization of member variables that are set by setCode() anyway. Affects: dcmsr/libsrc/dsrcodvl.cc **** Changes from 2014.04.23 (riesmeier) - Added support for Supplement 124 to data dictionary: Added support for the final text version of Supplement 124 (Communication of Display Parameters) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added support for new UIDs from Supplement 124: Added support for new SOP Class and Well-known SOP Instance UID from Supplement 124 (Communication of Display Parameters). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc **** Changes from 2014.04.16 (schlamelcher) - Fixed most of the warnings in ofstd and oflog: Compiled with extensive warning options except -Wtraditional and corrected most of the problems. Affects: dcmdata/libsrc/mkdeftag.cc oflog/include/dcmtk/oflog/helpers/strhelp.h oflog/include/dcmtk/oflog/thread/impl/syncwin.h oflog/libsrc/log4judp.cc oflog/libsrc/ntelogap.cc oflog/libsrc/sockbuff.cc oflog/libsrc/striconv.cc oflog/libsrc/syslogap.cc oflog/libsrc/threads.cc oflog/libsrc/timehelp.cc oflog/libsrc/unixsock.cc oflog/libsrc/winsock.cc ofstd/include/dcmtk/ofstd/ofbmanip.h ofstd/include/dcmtk/ofstd/ofexport.h ofstd/include/dcmtk/ofstd/ofmap.h ofstd/include/dcmtk/ofstd/ofmem.h ofstd/include/dcmtk/ofstd/ofthread.h ofstd/libsrc/ofchrenc.cc ofstd/libsrc/ofconfig.cc ofstd/libsrc/ofstring.cc ofstd/libsrc/oftempf.cc ofstd/libsrc/ofthread.cc ofstd/libsrc/ofuuid.cc ofstd/libsrc/ofxml.cc ofstd/tests/tatof.cc ofstd/tests/tftoa.cc ofstd/tests/tlist.cc **** Changes from 2014.04.14 (schlamelcher) - Added documentation for the new macro "DOXYGEN": The macro DOXYGEN is defined when generating the documentation with doxygen and should NEVER be defined when compiling with a C/C++ compiler. See config/docs/macros.txt for details. Affects: config/docs/macros.txt - Added support for some C++11 types, literals and traits: Updated implementation of fixed-width integer types to better conform the C++11 standard. This includes OFintptr_t and OFuintptr_t as integer types capable of holding a pointer-value. Implemented aliases for C++11's nullptr / nullptr_t (OFnullptr / OFnullptr_t) an the respective fallback implementations for older compilers. Introduced new header file "oftraits.h" as pendant to C++11's , currently implementing integral constants, enable_if and is_signed / is_unsigned. See http://en.cppreference.com/w/cpp/header/type_traits for details. Added: ofstd/include/dcmtk/ofstd/oftraits.h Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in doxygen/htmldocs.cfg ofstd/include/dcmtk/ofstd/ofstdinc.h ofstd/include/dcmtk/ofstd/oftypes.h ofstd/libsrc/ofstd.cc **** Changes from 2014.04.14 (riesmeier) - Optionally disable isFilenameValid() check: Added optional parameter to checkDicomFile() and loadAndCheckDicomFile() that allows one to disable the check for a valid DICOM filename (used as the value for ReferencedFileID within the DICOMDIR). This is because the file might be renamed after one of these methods is called. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/libsrc/dcddirif.cc - Simplified creation of temporary DICOMDIR file: Replaced creation of a temporary DICOMDIR file by a simpler approach: Just append ".tmp" to the DICOMDIR filename (in the specified output directory). This also makes sure that on Windows systems directory names with special characters (in UTF-16 encoding) are supported. Affects: dcmdata/include/dcmtk/dcmdata/dcdicdir.h dcmdata/libsrc/dcdicdir.cc **** Changes from 2014.04.13 (riesmeier) - Output to debug logger if memory allocation fails. Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h - Fixed typo in comment. Affects: dcmimgle/include/dcmtk/dcmimgle/dimopx.h - Use non-throwing new and delete operator: Use non-throwing new and delete operator for large memory buffers in order to avoid exceptions. Output to debug logger if memory allocation fails. Affects: dcmimage/include/dcmtk/dcmimage/dicopxt.h dcmimgle/include/dcmtk/dcmimgle/dimopxt.h **** Changes from 2014.04.11 (riesmeier) - Enhanced createDirectory() function: Added support for Windows-specific wide character encoding (UTF-16) to the createDirectory() helper function. The second parameter "rootDir" is still optional, but has no default value any more (due to the fact that OFFilename is not completely specified in the header file; forward declaration only). Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Enhanced removeRootDirFromPathname() function: Added support for Windows-specific wide character encoding (UTF-16) to the removeRootDirFromPathname() helper function. Also added a new test case. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc ofstd/tests/tests.cc ofstd/tests/tofstd.cc - Fixed various typos in comments. Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h **** Changes from 2014.04.09 (riesmeier) - Fixed issue with untyped NULL reported by MSVC++. Affects: ofstd/tests/tofstd.cc **** Changes from 2014.04.08 (riesmeier) - Added test for OFStandard::appendFilenameExtension(). Affects: ofstd/tests/tests.cc ofstd/tests/tofstd.cc - Fixed some issues with wide character support: In combineDirAndFilename(), there was an issue with empty directory names being converted to "." if parameter "allowEmptyDirName" = OFFalse. And in appendFilenameExtension(), support for 8-bit character file extensions was missing, e.g. append ".bak" to a wide or 8-bit character string. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc **** Changes from 2014.04.08 (schlamelcher) - Minor fixes in dcmdata: Fixed warnings in dictionary generator instead of in the generated code. Re-enabled variadic macros for mingw. The option "-Wno-variadic-macros" should be used instead of disabling this feature. Affects: dcmdata/libsrc/dcdictzz.cc dcmdata/libsrc/mkdictbi.cc oflog/include/dcmtk/oflog/logmacro.h **** Changes from 2014.04.07 (riesmeier) - Added support for recently approved CPs: Added support for CP-1282, CP-1285, CP-1325 and CP-1326 to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.04.01 (riesmeier) - Added further header files to Doxygen documentation: Added further header files with global functions, typedefs, enums, macros, etc. to Doxygen generated HTML output. Affects: dcmjpeg/include/dcmtk/dcmjpeg/djutils.h dcmjpls/include/dcmtk/dcmjpls/djlsutil.h dcmrt/include/dcmtk/dcmrt/drttypes.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmwlm/include/dcmtk/dcmwlm/wltypdef.h - Made sure that "Files" section is available: Made sure that "Files" section is available in Doxygen generated HTML output. Also disabled undocumented members in order to hide unwanted macros. Affects: doxygen/htmldocs.cfg - Made sure that header file is parsed by Doxygen: Added Doxygen command that makes sure that the file is actually parsed for global functions, typedefs, enums, macros, etc. These are only the obvious header files, i.e. others are to be extended in the same way. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/include/dcmtk/dcmdata/dctypes.h dcmdata/include/dcmtk/dcmdata/dcuid.h dcmimgle/include/dcmtk/dcmimgle/diutils.h dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scu.h ofstd/include/dcmtk/ofstd/ofcond.h **** Changes from 2014.03.28 (riesmeier) - Updated outdated comments on "log stream". Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h - Added readPatientData() and readStudyData(): Added methods for reading data from Patient Module and General Study Module. This facilitates associating SR documents with an existing patient or study. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc **** Changes from 2014.03.24 (schlamelcher) - Fixed most of the warnings in dcmdata: Compiled with extensive warning options except -Wtraditional and corrected most of the problems. Most of the remaining warnings in dcmdata are caused by files included from ofstd and will be resolved in a different commit. Affects: dcmdata/apps/dcm2xml.cc dcmdata/apps/dcmconv.cc dcmdata/apps/dcmcrle.cc dcmdata/apps/dcmdump.cc dcmdata/apps/dump2dcm.cc dcmdata/apps/img2dcm.cc dcmdata/apps/mdfdsman.cc dcmdata/apps/pdf2dcm.cc dcmdata/apps/xml2dcm.cc dcmdata/include/dcmtk/dcmdata/modhelp.h dcmdata/libi2d/i2dbmps.cc dcmdata/libi2d/i2djpgs.cc dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dccodec.cc dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcdict.cc dcmdata/libsrc/dcdictzz.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dchashdi.cc dcmdata/libsrc/dcistrmz.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc dcmdata/libsrc/dcostrmz.cc dcmdata/libsrc/dcpath.cc dcmdata/libsrc/dcpxitem.cc dcmdata/libsrc/dcrleccd.cc dcmdata/libsrc/dcrlecce.cc dcmdata/libsrc/dcuid.cc dcmdata/libsrc/dcvr.cc dcmdata/libsrc/dcvrat.cc dcmdata/libsrc/dcvrfd.cc dcmdata/libsrc/dcvrfl.cc dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrod.cc dcmdata/libsrc/dcvrof.cc dcmdata/libsrc/dcvrpobw.cc dcmdata/libsrc/dcvrsl.cc dcmdata/libsrc/dcvrss.cc dcmdata/libsrc/dcvrui.cc dcmdata/libsrc/dcvrul.cc dcmdata/libsrc/dcvrus.cc dcmdata/libsrc/dcxfer.cc dcmdata/libsrc/mkdeftag.cc dcmdata/libsrc/modhelp.cc dcmdata/libsrc/vrscanl.c dcmdata/tests/ti2dbmp.cc dcmdata/tests/tpread.cc oflog/include/dcmtk/oflog/logmacro.h **** Changes from 2014.03.21 (schlamelcher) - Marked SCPPool-Test (dcmnet_scp_pool) as exhaustive: The current pool-testcase takes about 6 seconds, which is rather long compared to the other tests. It was therefore flagged as exhaustive test and is not run unless explicitly enabled. Affects: dcmnet/tests/tpool.c - Fixed potential bug in dcmjpeg 12 and 16 bit variants: Applied a fix that was already present in the 8 bit variant to the other variants of the jpeg library. Affects: dcmjpeg/libijg12/jchuff.c dcmjpeg/libijg12/jdhuff.c dcmjpeg/libijg16/jchuff.c dcmjpeg/libijg16/jdhuff.c - Fixed most of the warnings in dcmjpeg: Compiled with extensive warning options except -Wtraditional and corrected most of the problems. Tested with mingw-w64-4.8.1, gcc-4.7.2 (static and shared), Visual Studio 2013 Express, Visual Studio 2012 64 bit and clang-w64-3.5.0. Tested compression / decompression with various different settings for different compilers on appropriate DICOM images ("cabinet" and "car97_cd"). Most of the remaining warnings in dcmjpeg are caused by files included from dcmimage and will be resolved in a different commit. Affects: CMake/osconfig.h.in dcmjpeg/apps/dcmcjpeg.cc dcmjpeg/apps/dcmdjpeg.cc dcmjpeg/include/dcmtk/dcmjpeg/djcodece.h dcmjpeg/include/dcmtk/dcmjpeg/djcparam.h dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h dcmjpeg/libijg12/jcapistd.c dcmjpeg/libijg12/jcarith.c dcmjpeg/libijg12/jccoefct.c dcmjpeg/libijg12/jcdiffct.c dcmjpeg/libijg12/jchuff.c dcmjpeg/libijg12/jclhuff.c dcmjpeg/libijg12/jcmainct.c dcmjpeg/libijg12/jcmaster.c dcmjpeg/libijg12/jcparam.c dcmjpeg/libijg12/jcphuff.c dcmjpeg/libijg12/jcpred.c dcmjpeg/libijg12/jcprepct.c dcmjpeg/libijg12/jcsample.c dcmjpeg/libijg12/jctrans.c dcmjpeg/libijg12/jdapistd.c dcmjpeg/libijg12/jdarith.c dcmjpeg/libijg12/jdcoefct.c dcmjpeg/libijg12/jddiffct.c dcmjpeg/libijg12/jdhuff.c dcmjpeg/libijg12/jdinput.c dcmjpeg/libijg12/jdlhuff.c dcmjpeg/libijg12/jdmainct.c dcmjpeg/libijg12/jdmarker.c dcmjpeg/libijg12/jdmerge.c dcmjpeg/libijg12/jdphuff.c dcmjpeg/libijg12/jdpostct.c dcmjpeg/libijg12/jdpred.c dcmjpeg/libijg12/jdsample.c dcmjpeg/libijg12/jdshuff.c dcmjpeg/libijg12/jmemmgr.c dcmjpeg/libijg12/jquant1.c dcmjpeg/libijg12/jquant2.c dcmjpeg/libijg16/jcapistd.c dcmjpeg/libijg16/jcarith.c dcmjpeg/libijg16/jccoefct.c dcmjpeg/libijg16/jcdiffct.c dcmjpeg/libijg16/jchuff.c dcmjpeg/libijg16/jclhuff.c dcmjpeg/libijg16/jcmainct.c dcmjpeg/libijg16/jcmaster.c dcmjpeg/libijg16/jcparam.c dcmjpeg/libijg16/jcphuff.c dcmjpeg/libijg16/jcpred.c dcmjpeg/libijg16/jcprepct.c dcmjpeg/libijg16/jcsample.c dcmjpeg/libijg16/jctrans.c dcmjpeg/libijg16/jdapistd.c dcmjpeg/libijg16/jdarith.c dcmjpeg/libijg16/jdcoefct.c dcmjpeg/libijg16/jddiffct.c dcmjpeg/libijg16/jdhuff.c dcmjpeg/libijg16/jdinput.c dcmjpeg/libijg16/jdlhuff.c dcmjpeg/libijg16/jdmainct.c dcmjpeg/libijg16/jdmarker.c dcmjpeg/libijg16/jdmerge.c dcmjpeg/libijg16/jdphuff.c dcmjpeg/libijg16/jdpostct.c dcmjpeg/libijg16/jdpred.c dcmjpeg/libijg16/jdsample.c dcmjpeg/libijg16/jdshuff.c dcmjpeg/libijg16/jmemmgr.c dcmjpeg/libijg16/jquant1.c dcmjpeg/libijg16/jquant2.c dcmjpeg/libijg8/jcapistd.c dcmjpeg/libijg8/jcarith.c dcmjpeg/libijg8/jccoefct.c dcmjpeg/libijg8/jcdiffct.c dcmjpeg/libijg8/jchuff.c dcmjpeg/libijg8/jclhuff.c dcmjpeg/libijg8/jcmainct.c dcmjpeg/libijg8/jcmaster.c dcmjpeg/libijg8/jcparam.c dcmjpeg/libijg8/jcphuff.c dcmjpeg/libijg8/jcpred.c dcmjpeg/libijg8/jcprepct.c dcmjpeg/libijg8/jcsample.c dcmjpeg/libijg8/jctrans.c dcmjpeg/libijg8/jdapistd.c dcmjpeg/libijg8/jdarith.c dcmjpeg/libijg8/jdcoefct.c dcmjpeg/libijg8/jddiffct.c dcmjpeg/libijg8/jdhuff.c dcmjpeg/libijg8/jdinput.c dcmjpeg/libijg8/jdlhuff.c dcmjpeg/libijg8/jdmainct.c dcmjpeg/libijg8/jdmarker.c dcmjpeg/libijg8/jdmerge.c dcmjpeg/libijg8/jdphuff.c dcmjpeg/libijg8/jdpostct.c dcmjpeg/libijg8/jdpred.c dcmjpeg/libijg8/jdsample.c dcmjpeg/libijg8/jdshuff.c dcmjpeg/libijg8/jmemmgr.c dcmjpeg/libijg8/jquant1.c dcmjpeg/libijg8/jquant2.c dcmjpeg/libsrc/ddpiimpl.cc dcmjpeg/libsrc/dipijpeg.cc dcmjpeg/libsrc/djcodecd.cc dcmjpeg/libsrc/djcodece.cc dcmjpeg/libsrc/djcparam.cc dcmjpeg/libsrc/djdijg12.cc dcmjpeg/libsrc/djdijg16.cc dcmjpeg/libsrc/djdijg8.cc dcmjpeg/libsrc/djeijg12.cc dcmjpeg/libsrc/djeijg16.cc dcmjpeg/libsrc/djeijg8.cc dcmjpeg/libsrc/djencbas.cc dcmjpeg/libsrc/djencext.cc dcmjpeg/libsrc/djenclol.cc dcmjpeg/libsrc/djencpro.cc dcmjpeg/libsrc/djencsps.cc dcmjpeg/libsrc/djencsv1.cc dcmjpeg/libsrc/djrplol.cc dcmjpeg/libsrc/djrploss.cc dcmjpeg/libsrc/djutils.cc **** Changes from 2014.03.20 (riesmeier) - Fixed small typos in comments. Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h **** Changes from 2014.03.19 (riesmeier) - Removed superfluous quotations marks: Removed superfluous quotations marks from CMake command ADD_DEFINITIONS() since they cause problems with Xcode 5.1 on Mac OS X. Thanks to forum user "oblivion81" for the report and suggested fix. Affects: CMake/dcmtkPrepare.cmake **** Changes from 2014.03.17 (riesmeier) - Fixed issue with automatically generated classes: Fixed issue with the detection of attributes nested in a sequence class (in the automatically generated source code). Sometimes, there were additional attributes associated with a sequence element, which actually belong to the surrounding nesting level or to some other sequence element in the module. Also changed VM for Irradiation Event UID (0008,3010) from "1" to "1-n". Thanks to Grzegorz Chlebus for the original report. Affects: dcmrt/include/dcmtk/dcmrt/*.h dcmrt/libsrc/*.cc **** Changes from 2014.03.15 (riesmeier) - Added support for CP-1090 to the data dictionary: This document changes the VM for Irradiation Event UID (0008,3010) from "1" to "1-n". Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.03.13 (riesmeier) - Pass OFString to DIMSE_createFilestream(): Pass an OFString filename to DIMSE_createFilestream() instead of char* since this function now accepts an OFFilename instance. Affects: dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc - Fixed various typo. Affects: dcmnet/libsrc/dimse.cc - DIMSE_createFilestream() now uses an OFFilename: The low-level network function DIMSE_createFilestream() now uses an OFFilename parameter instead of a char*. This allows for passing a wide character string to this function on Windows. The API remains stable since the OFFilename constructor also accepts a char*. Thanks to Peter Klotz for the suggestion. Affects: dcmnet/include/dcmtk/dcmnet/dimse.h dcmnet/libsrc/dimse.cc - Added check for Shared Functional Groups Sequence: Certain key attributes like Pixel Spacing (0028,0030) can also be nested within a functional group sequence of the Shared Functional Groups Sequence (5200,9229). Therefore, these attributes also have to be checked on this level and not only in the main dataset. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/libsrc/dcddirif.cc - Added missing data elements to BD profiles: Added missing data elements from PS3.11 Table H.3-2 to the various Blu-ray Disc (BD) media storage application profiles. Basically, the requirements for PATIENT, IMAGE and SPECTROSCOPY directory records are identical to those for the DVD profiles. Only the reference in Section M.3.3.1 was missed. Affects: dcmdata/libsrc/dcddirif.cc **** Changes from 2014.03.12 (riesmeier) - Rebuilt Makefile dependencies. Affects: dcmdata/libsrc/Makefile.dep - Fixed various minor issues in new helper class. Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h dcmdata/libsrc/modhelp.cc - Fixed various issues in Doxygen comments. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h **** Changes from 2014.03.12 (onken) - Updated module helpers to latest DICOM 2013 draft. Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h dcmdata/libsrc/modhelp.cc - Fixed comments and error message. Affects: dcmdata/libsrc/modhelp.cc - Added further module helpers and fixed small issues: Added copy helpers for Clinical Trial Study/Series Modules, added missing attribute in General Image Module and made code more consistent. Affects: dcmdata/include/dcmtk/dcmdata/modhelp.h dcmdata/libsrc/modhelp.cc - Switched windows line endings to unix line endings. Affects: dcmdata/libsrc/Makefile.dep - Fixed Makefile.dep for new files from last commit. Affects: dcmdata/libsrc/Makefile.dep - Added helpers to copy common modules between items: Thanks to Andriy Fedorov for the original patch. Added: dcmdata/include/dcmtk/dcmdata/modhelp.h dcmdata/libsrc/modhelp.cc Affects: dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.in **** Changes from 2014.03.07 (onken) - Added DCMTK.cmake and DCMTKTargets.cmake documentation. Affects: INSTALL **** Changes from 2014.03.07 (riesmeier) - Replaced tabs by spaces and fixed indention. Affects: dcmimage/include/dcmtk/dcmimage/diqtcmap.h dcmimage/include/dcmtk/dcmimage/diqtctab.h dcmimage/include/dcmtk/dcmimage/diqtfs.h dcmimage/include/dcmtk/dcmimage/diqthitl.h dcmimage/include/dcmtk/dcmimage/diqthitm.h dcmimage/include/dcmtk/dcmimage/diqtpbox.h dcmimage/include/dcmtk/dcmimage/diqtpix.h dcmimage/include/dcmtk/dcmimage/diqtstab.h dcmimage/include/dcmtk/dcmimage/diybrpxt.h dcmimage/libsrc/diqtctab.cc **** Changes from 2014.03.06 (onken) - Ensure CMake v2.6 still writes DCMTKConfig.cmake: The enhanced DCMTKConfig.cmake that was recently introduced relies on CMake version 2.8.8 or higher and uses the new CONFIGURE_PACKAGE_CONFIG_FILE command. This commit makes sure that older versions as the minimum CMake version 2.6 required by DCMTK produce a DCMTKConfig.cmake that has at least all the information it contained before the switch to CONFIGURE_PACKAGE_CONFIG_FILE. Added: CMake/CMake/DCMTKConfig.cmake26.in Affects: CMakeLists.txt - Capitalized all CMake key words for consistency. Affects: CMake/CheckCMakeCommandExists.cmake CMake/DCMTKConfig.cmake.in CMake/GenerateCMakeExports.cmake CMake/dcmtkPrepare.cmake CMakeLists.txt **** Changes from 2014.03.06 (riesmeier) - Added another addContentItem() method: Added new addContentItem() method that expects a pointer to a newly created document tree node. This provides another approach of creating the document tree of an SR document, and avoids making the detour using getCurrentItem(). Added: dcmsr/tests/tsrdoctr.cc Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h dcmsr/libsrc/dsrdoctr.cc dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.dep dcmsr/tests/Makefile.in dcmsr/tests/tests.cc **** Changes from 2014.03.05 (riesmeier) - Made installation of tag file optional: Made installation of Doxygen tag file optional in order to avoid an error message if it has not been generated, e.g. because "make html" was not called before "make install". Affects: doxygen/CMakeLists.txt **** Changes from 2014.03.05 (onken) - Enhanced DCMTK CMake exports for external projects: The files DCMTKConfig.cmake, DCMTKConfigVersion.cmake and DCMTKTargets.cmake are exported by CMake to the DCMTK build tree as as well as to the DCMTK installation directory. The files can be found and evaluated by other CMake-based projects using CMake's find_package command (in "Config" mode). The files describe DCMTK executables and libraries as well as DCMTK version information, which then can be facilitated in an automatic way by external projects to configure and perform their own build process. Thanks to Jean-Christophe Fillion-Robin for the original patch. Added: CMake/CheckCMakeCommandExists.cmake CMake/GenerateCMakeExports.cmake Affects: CMake/DCMTKConfig.cmake.in CMake/dcmtkAfterModules.cmake CMake/dcmtkMacros.cmake CMake/dcmtkPrepare.cmake CMakeLists.txt **** Changes from 2014.03.04 (schlamelcher) - Fixed building with mingw-w64: Renamed OFStandard::rand_r to OFrand_r to prevent collisions with mingw's rand_r macro. Adjusted file position and offset data-types for mingw-w64. Fixed some warnings caused by inconsistent inline-specifiers in DcmTagKey. Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h dcmimage/libsrc/diqtfs.cc oflog/libsrc/strcloc.cc ofstd/include/dcmtk/ofstd/offile.h ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/offname.cc ofstd/libsrc/ofstd.cc **** Changes from 2014.03.03 (riesmeier) - Fixed wrong tag in CodingSchemeIdentificationSequence: Fixed wrong tag being used in CodingSchemeIdentificationSequence (0008,0110). Instead of Responsible Organization (0010,2299) it should be Coding Scheme Responsible Organization (0008,0116). This inconsistency was introduced back in the year 2003 with CP-324. This commit also changes the name of the corresponding get/set methods in class DSRCodingSchemeIdentificationList. Thanks to David Clunie for pointing this out. Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrcsidl.cc dcmsr/tests/mkreport.cc **** Changes from 2014.03.03 (schlamelcher) - Enabled shutdown functionality of DcmSCPPool: Finished implementation of DcmSCPPool::stopAfterCurrentAssociations(). Some basic tests have been run to ensure this method works as expected. Affects: dcmnet/include/dcmtk/dcmnet/scppool.h dcmnet/libsrc/scppool.cc dcmnet/tests/tpool.cc - Fixed DcmSCPPool test case failing on older systems. Affects: dcmnet/tests/tpool.cc **** Changes from 2014.03.01 (riesmeier) - Fixed some comments. Affects: dcmdata/libsrc/dcxfer.cc **** Changes from 2014.02.28 (schlamelcher) - Correction of inconsistent previous commit. Affects: dcmdata/include/dcmtk/dcmdata/dcdefine.h **** Changes from 2014.02.27 (schlamelcher) - Fixed dll build on windows: Created a workaround for Visual Studio that disables dll storage specifiers when linking directly into the executable. This is needed since the built-in dictionary code is created by the tools mkdeftag and mkdictbi and thus those tools statically link the few required dcmdata source files instead of linking to dcmdata as a whole. Affects: dcmdata/include/dcmtk/dcmdata/dcdefine.h dcmdata/libsrc/CMakeLists.txt **** Changes from 2014.02.25 (riesmeier) - Allow empty file-set ID in DICOMDIR (type 2): Allow file-set ID to be empty in a DICOMDIR since it is type 2. Also fixed spelling ("file-set ID" instead of "file set ID" or "fileset ID") where relevant, i.e. in log output and syntax usage. Affects: dcmdata/apps/dcmgpdir.cc dcmdata/docs/dcmgpdir.man dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/libsrc/dcddirif.cc dcmjpeg/docs/dcmmkdir.man **** Changes from 2014.02.24 (onken) - Fixed shared library build under Unix (configure): dcmimgle and related external libraries have not been linked to dcmrt applications in case shared library option was enabled and a configure/make build was performed under Unix. Affects: dcmrt/apps/Makefile.in dcmrt/tests/Makefile.in **** Changes from 2014.02.24 (riesmeier) - Fixed further issues with wide char support. Affects: ofstd/libsrc/ofstd.cc - Use printError() instead of OFLOG_FATAL(): Use OFConsoleApplication::printError() instead of OFLOG_FATAL() in case of a missing command line parameter. Affects: dcmdata/apps/dcmgpdir.cc - Always use OFFilename() instead of "" as a default: Always use OFFilename instead of "" (empty 8-bit character string) as a default value in order to make sure that wide character support under Windows really works. This is because "" only initializes the char* member variable of OFFilename and not the wchar_t*. Affects: dcmdata/apps/dcmgpdir.cc dcmdata/include/dcmtk/dcmdata/dcddirif.h - Fixed issue with missing terminating NULL byte: Fixed issue with possibly missing NULL byte at the end of wide character strings in getDirNameFromPath() and normalizeDirName(). Affects: ofstd/libsrc/ofstd.cc **** Changes from 2014.02.22 (onken) - Add libjpeg dependency for libtiff and minor changes: It is possible to build libtiff with libjpeg-based JPEG coding support. Thus CMake is told on Unix to add libjpeg includes and libraries so that tiff-based tools will be linked to libjpeg, too. This mirrors the ./configure behaviour under Unix. It is not tested whether libtiff actually was compiled with JPEG enabled. Additionally, the "QUIET" option was added to avoid CMake's FindModule scripts printing messages about external libraries that are already covered by explicit DCMTK messages. Re-ordered code for some external libraries. Thanks to Jean-Christophe Fillion-Robin for the original patch. Affects: CMake/3rdparty.cmake **** Changes from 2014.02.21 (riesmeier) - Added new condition constant and fixed typo: Added new condition constant for DICOMDIR files: EC_InvalidDICOMDIR. Also fixed a typo in the textual description of EC_PrematureSequDelimitationItem. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcerror.cc - Fixed issue when compiled with wide char support: The initialization of an OFFilename instance with NULL is ambiguous when compiled with WIDE_CHAR_FILE_IO_FUNCTIONS or WIDE_CHAR_MAIN_FUNCTION defined. This issue was introduced with commit d084ebf, i.e. the previous one. Affects: dcmdata/libsrc/dcdicdir.cc dcmdata/libsrc/dcdirrec.cc **** Changes from 2014.02.20 (riesmeier) - Added support for wide chars to DICOMDIR code: Added support for the Windows-specific wide character encoding (UTF-16) to the classes and the command line tool that generate a DICOMDIR file. Affects: dcmdata/apps/dcmgpdir.cc dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/include/dcmtk/dcmdata/dcdicdir.h dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcdicdir.cc dcmdata/libsrc/dcdirrec.cc - Avoid passing NULL to OFString, which is deprecated: Avoid passing NULL to OFString in certain cases within normalizeDirName() since this is deprecated (and results in an annoying message in DEBUG mode). Affects: ofstd/libsrc/ofstd.cc - Avoid passing invalid values to rename(): In case wide character support is enabled, there was a chance that a NULL pointer could be passed to one of the two parameters of the rename() function. Affects: ofstd/libsrc/ofstd.cc - Added new command line option --create-backup: Added new command line option --create-backup to explicitly show what the default behavior is. Affects: dcmdata/apps/dcmgpdir.cc dcmdata/docs/dcmgpdir.man dcmjpeg/docs/dcmmkdir.man **** Changes from 2014.02.19 (onken) - Make sure to handle setuid() return code properly: In some tools the return value of setuid() is not checked. In the worst case this could lead to privilege escalation since the process does not give up its root privileges and continue as root. Thanks to Hector Marco for the report. Affects: dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/libsrc/scp.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/tests/msgserv.cc dcmqrdb/apps/dcmqrscp.cc dcmwlm/libsrc/wlmactmg.cc **** Changes from 2014.02.19 (riesmeier) - Fixed typo in comment. Affects: ofstd/libsrc/ofstd.cc - Changed file mode bits back from "0755" to "0644". Affects: ofstd/tests/tests.cc ofstd/tests/tofstd.cc - Added new helper function for copying files: Added new platform-independent and wide character supporting helper function copyFile(). Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Added wide character support to this tool: Added support for the Windows-specific wide character encoding (UTF-16) to this command line tool, i.e. support for filenames with such an encoding. For this purpose, the toolkit has to be compiled with WIDE_CHAR_MAIN_FUNCTION and WIDE_CHAR_FILE_IO_FUNCTIONS being defined. Affects: dcmdata/apps/dcmdump.cc - Added function for appending filename extension: Added wide character supporting helper function appendFilenameExtension(). Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Added new helper function for renaming files: Added new platform-independent and wide character supporting helper function renameFile(). Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Added OFFilename versions to some helper functions: Added OFFilename versions to the helper functions getDirNameFromPath(), getFilenameFromPath(), normalizeDirName(), combineDirAndFilename(), searchDirectoryRecursively() and getFileSize() in order to enhance the support for the Windows-specific wide character encoding (UTF-16). Internally, the same code is used for both the OFString and OFFilename version of the helper functions, which should facilitate finding any bugs. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Fixed typo and added comment. Affects: ofstd/libsrc/offile.cc - Added new test cases for testing helper functions: Added new test cases for testing the helper functions getDirNameFromPath() and getFilenameFromPath(). Affects: ofstd/tests/tests.cc ofstd/tests/tofstd.cc **** Changes from 2014.02.12 (riesmeier) - Consistently use upper case letters for DICOM tags. Affects: dcmdata/data/acrnema.dic dcmdata/data/dicom.dic dcmdata/data/diconde.dic **** Changes from 2014.02.11 (riesmeier) - Fixed wrong VR for some retired command fields: Changed VR from "AT" to "LT" for some retired command fields, i.e. attributes in group "0000". Now, the definitions are consistent with DICOM part 7. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.02.06 (riesmeier) - Fixed issue with wrong check on stream compression: This wrong check had the result that the three uncompressed transfer syntaxes were proposed in "decompression mode" even if the pixel data could not be decompressed, e.g. in case of JPEG compression without a JPEG decoder. Affects: dcmnet/libsrc/dstorscu.cc **** Changes from 2014.02.05 (riesmeier) - Moved ACR/NEMA data dictionary to a separate file: Moved retired ACR/NEMA attributes to a separate dictionary file since they are officially part of the DICOM standard for many years now (see CP-607). Please note that this commit changes the prefix of some tag constants from "DCM_ACR_NEMA_" to "DCM_RETIRED_". Also a few tag constants disappeared (mainly ACR/NEMA group length attributes, which are retired in the DICOM standard anyway). However, since the old, manually compiled definitions are still available in a separate file, the old behavior can be restored by loading "acrnema.dic". Added: dcmdata/data/acrnema.dic Affects: dcmdata/data/CMakeLists.txt dcmdata/data/Makefile.in dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.02.04 (riesmeier) - Fixed typos in comments. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h **** Changes from 2014.02.03 (riesmeier) - Fixed timeout issue in DIMSE_moveUser(): Fixed issue that the timeout parameter was apparently ignored in the DIMSE_moveUser() function when used in non-blocking mode. Thanks to forum user "bibble_235" for the report and Michael Knopke for confirming that the proposed patch really works. Affects: dcmnet/libsrc/dimmove.cc **** Changes from 2014.01.31 (riesmeier) - Added comments on some ACR/NEMA attributes: Added explanatory comments on ACR/NEMA attributes where the DICOM standard uses the placeholder "x" for certain digits of the element number. Affects: dcmdata/data/dicom.dic - Added support for approved but still missing CPs: Added late support for CP-1120 and CP-1121 to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2014.01.29 (riesmeier) - Removed comment on UID_HangingProtocolStorage: Removed comment that the "Hanging Protocol Storage SOP Class" is a special case since this is not true any longer. There are further SOP Classes that do not fit into the typical Patient - Study - Series hierarchy. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h **** Changes from 2014.01.23 (riesmeier) - Added missing module "dcmrt" to include directories. Affects: CMakeLists.txt **** Changes from 2014.01.20 (riesmeier) - Fixed various minor documentation issues. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h - Fixed wrong/missing comment on method parameter: Fixed wrong comment on parameter "writeXfer" for the saveFile() method. In case of EXS_Unknown not the currently selected transfer syntax is used but the original one, i.e. the one in which the dataset was originally read or created. Also added missing comment on parameter "oxfer" to write() methods. Thanks to forum user "Shaeto" for pointing this out. Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h **** Changes from 2014.01.14 (riesmeier) - Added support for new UIDs from Supplement 165: Added support for new SOP Class UIDs from Supplement 165 (Breast Projection X-Ray Image Storage SOP Class). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for Supplement 165 to data dictionary: Added support for final text version of Supplement 165 (Breast Projection X-Ray Image Storage SOP Class) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added support for recently approved CPs: Added support for CP-1287, CP-1294 and CP-1297 to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2013.12.20 (riesmeier) - Fixed comments and documented default values. Affects: dcmnet/include/dcmtk/dcmnet/scu.h - Again, fixed comments to be consistent with code. Affects: dcmnet/tests/tpool.cc - Cleaned up source code in various aspects: Made evaluation of command line parameters and options more consistent with the other command line tools, fixed inconsistencies regarding log output, used appropriate DcmSCU methods when closing an association, etc. Affects: dcmnet/apps/getscu.cc - Removed check on number of command line arguments: Since the tool has at least one mandatory command line parameter, there is no need to check OFCommandLine::getArgCount() explicitly. Affects: dcmnet/apps/dcmrecv.cc dcmnet/apps/dcmsend.cc **** Changes from 2013.12.11 (riesmeier) - Replaced deprecated DcmSCU::closeAssociation(): Replaced call to DcmSCU::closeAssociation(DCMSCU_RELEASE_ASSOCIATION) by DcmSCU::releaseAssociation() since the former is deprecated. Affects: dcmnet/tests/tpool.cc - Fixed typos, comments and coding style. Affects: dcmnet/tests/tpool.cc **** Changes from 2013.12.10 (riesmeier) - Second try to fix the issue with "ofstd_markup_6": The error in test "ofstd_markup_6" still occurred on various systems. Thanks to Mathieu Malaterre for pointing this out. Affects: ofstd/tests/tmarkup.cc **** Changes from 2013.12.10 (onken) - Fixed some inconsistencies in documentation. Affects: INSTALL **** Changes from 2013.12.05 (onken) - Fixed typo. Affects: dcmtls/include/dcmtk/dcmtls/tlslayer.h - Documentation for CMAKE_BUILD_TYPE default value. Thanks to Mathieu Malaterre for pointing to the fact that having no default value in some situations is important and Jean-Christophe Fillion-Robin for giving a solution. Affects: CMake/dcmtkPrepare.cmake INSTALL **** Changes from 2013.11.29 (riesmeier) - Completed support for XML element: Completed support for the XML element used by the Native DICOM Model format. Now, also data elements with a VR of OD and OF can be encoded as base64. Closes DCMTK Feature #549. Affects: dcmdata/docs/dcm2xml.man dcmdata/libsrc/Makefile.dep dcmdata/libsrc/dcvrod.cc dcmdata/libsrc/dcvrof.cc **** Changes from 2013.11.28 (riesmeier) - Do not check valueLoaded() for Native DICOM Model: Do not check whether a value has actually been loaded when writing an element value to XML output in the Native DICOM Model. This is because this concept is only known to the DCMTK-specific output format. Affects: dcmdata/libsrc/dcelem.cc - Fixed output of AT values in Native DICOM Model: Fixed wrong output format for Attribute Tag (AT) values in the Native DICOM Model. Supplement 166 (QIDO-RS) clarifies that the format is "GGGGEEEE", and not "(gggg,eeee)" as it was before (which is DCMTK's default string output format for AT values). Closes DCMTK Bug #551. Affects: dcmdata/include/dcmtk/dcmdata/dcvrat.h dcmdata/libsrc/dcvrat.cc - Fixed various typos in man pages. Thanks to Mathieu Malaterre for the original report. Affects: dcmdata/docs/dcm2pdf.man dcmdata/docs/dcm2xml.man dcmdata/docs/dcmconv.man dcmdata/docs/dcmcrle.man dcmdata/docs/dcmdrle.man dcmdata/docs/dcmdump.man dcmdata/docs/dcmftest.man dcmdata/docs/dcmgpdir.man dcmdata/docs/dcmodify.man dcmdata/docs/dump2dcm.man dcmdata/docs/img2dcm.man dcmdata/docs/pdf2dcm.man dcmdata/docs/xml2dcm.man dcmimage/docs/dcm2pnm.man dcmimage/docs/dcmquant.man dcmimage/docs/dcmscale.man dcmimgle/docs/dcmdspfn.man dcmimgle/docs/dcod2lum.man dcmimgle/docs/dconvlum.man dcmjpeg/docs/dcmcjpeg.man dcmjpeg/docs/dcmdjpeg.man dcmjpeg/docs/dcmj2pnm.man dcmjpeg/docs/dcmmkdir.man dcmjpls/docs/dcmcjpls.man dcmjpls/docs/dcmdjpls.man dcmjpls/docs/dcml2pnm.man dcmnet/docs/dcmrecv.man dcmnet/docs/dcmsend.man dcmnet/docs/echoscu.man dcmnet/docs/findscu.man dcmnet/docs/getscu.man dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/docs/storescu.man dcmnet/docs/termscu.man dcmpstat/docs/dcmmkcrv.man dcmpstat/docs/dcmmklut.man dcmpstat/docs/dcmp2pgm.man dcmpstat/docs/dcmprscp.man dcmpstat/docs/dcmprscu.man dcmpstat/docs/dcmpschk.man dcmpstat/docs/dcmpsmk.man dcmpstat/docs/dcmpsprt.man dcmpstat/docs/dcmpsrcv.man dcmpstat/docs/dcmpssnd.man dcmqrdb/docs/dcmqridx.man dcmqrdb/docs/dcmqrscp.man dcmqrdb/docs/dcmqrti.man dcmrt/docs/drtdump.man dcmsign/docs/dcmsign.man dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man dcmsr/docs/dsrdump.man dcmsr/docs/xml2dsr.man dcmwlm/docs/wlmscpfs.man **** Changes from 2013.11.26 (riesmeier) - Fixed issue with test "ofstd_markup_6" (Win32): Fixed issue with test "ofstd_markup_6" not running successfully on Windows systems (due to an incorrect length of the input string value). Thanks to forum user "ghleclerc" for the report. Affects: ofstd/tests/tmarkup.cc - Fixed minor Doxygen-related issue in documentation: Doxygen requires three slashes "///" for documenting entities, e.g. members of an enumeration type. One slash was missing for CS_UTF8 in E_CharacterSet. Also fixed various typos in comments. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h **** Changes from 2013.11.25 (riesmeier) - Fixed name of PN component in Native DICOM Model: Fixed name of first PersonName (PN) component in Native DICOM Model. According to Supplement 166 (QIDO-RS) the XML element name is "Alphabetic" (and not "SingleByte" as it was before). Affects: dcmdata/libsrc/dcvrpn.cc **** Changes from 2013.11.21 (riesmeier) - Fixed minor Doxygen-related issue in documentation: Doxygen, the tool that is used for generating the HTML documentation from source code, requires that a "." is escaped under certain conditions, e.g. if this character does not define the end of a sentence as used for short class descriptions. Affects: ofstd/include/dcmtk/ofstd/offile.h **** Changes from 2013.11.19 (riesmeier) - Added new option for disabling the VR checker: Added new command line option that allows for disabling the VR checker by setting the recently introduced global "dcmdata" flag accordingly. Affects: dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/apps/dsrdump.cc dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man dcmsr/docs/dsrdump.man - Added global flag for disabling the VR checker: Added global flag that allows for disabling the VR checker used by the various checkStringValue() methods. Since this checker is currently limited to ASCII and Latin-1, and the detection of the character set might fail for incorrectly encoded DICOM datasets, this check can be disabled globally. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcvrpn.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcvrda.cc dcmdata/libsrc/dcvrdt.cc dcmdata/libsrc/dcvrpn.cc dcmdata/libsrc/dcvrtm.cc **** Changes from 2013.11.18 (riesmeier) - Removed redundant and outdated Word document: Removed redundant and outdated Word document "wwwapp.doc", which used to contain the same information as "wwwapp.txt". Closes DCMTK Feature #556. Removed: dcmwlm/docs/wwwapp.doc - Added missing break statements to switch cases: Added missing break statements to switch cases, which previously resulted in a wrong return value of the CheckMatchingKey() method. Thanks to Peter Klotz for the bug report and patch. Affects: dcmwlm/libsrc/wlds.cc **** Changes from 2013.11.17 (schlachter) - Don't set the defines for thread local storage support incorrectly: If DCMTK_LOG4CPLUS_HAVE_TLS_SUPPORT is defined, the code uses it to mark variables as thread-local and expects the compiler to implement this. Otherwise, calls into the thread library are used. So defining it to an empty value makes oflog thread-unsafe. Thanks to Peter Klotz for the report and a test case. Affects: oflog/include/dcmtk/oflog/config/defines.h **** Changes from 2013.11.15 (riesmeier) - Avoid CMake warning on non-installable files. Affects: dcmdata/libsrc/CMakeLists.txt - Fixed build issue with shared libraries (Win32): Fixed link errors on Windows systems when building with BUILD_SHARED_LIB set to "ON". This caused the executables "mkdictbi" and "mkdeftag" to fail. Thanks to forum user "lars_matthaeus" for the original report. Affects: dcmdata/libsrc/CMakeLists.txt - Removed trailing white spaces from man pages files. Affects: doxygen/manpages/man1/* **** Changes from 2013.11.14 (thiel) - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/* **** Changes from 2013.11.13 (onken) - Avoid second OpenSSL initialization in constructor: OpenSSL's one-time initialization is performed in the TLS layer constructor. In multi-threaded environments this leads to multiple initialization calls if more than one association is used at the same time. Thus a parameter was added in order to disable the initialization code if desired. Thanks to Peter Klotz for the report and suggested patch. Affects: dcmtls/include/dcmtk/dcmtls/tlslayer.h dcmtls/libsrc/tlslayer.cc **** Changes from 2013.11.13 (riesmeier) - Fixed issue with color icon images: According to the DICOM standard, color icon images should always be written with a value of "PALETTE COLOR" for Photometric Interpretation. Before this fix, also other color models like "RGB" were created for the optional icon image of an IMAGE content item. Closes DCMTK Bug #577. Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/libsrc/Makefile.dep dcmsr/libsrc/dsrimgvl.cc - Added comment on wrong color model for icon images: Added comment on relevant API methods that for color images, the photometric interpretation "RGB" is used, which is not allowed according to the DICOM standard (see PS 3.3 Section F.7). This will be fixed in the future by using "PALETTE COLOR" instead. Noted as DCMTK Bug #577. Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/libsrc/dsrimgvl.cc - Fixed doubled output of XML start tag for VR=OD. Affects: dcmdata/libsrc/dcvrod.cc **** Changes from 2013.11.12 (onken) - Fixed doubled tag output in XML output of VR OF: Fixed doubled tag output in XML output of VR OF. Thanks to Peter Klotz for the report and suggested patch. Affects: dcmdata/libsrc/dcvrof.cc **** Changes from 2013.11.11 (onken) - Make sure CMAKE_BUILD_TYPE has a default value: CMAKE_CONFIGURATION_TYPES is set for generators that support multiple configuration types (and have per-configuration subdirectories like Debug and Release). It is empty for other generators and for those generators the build type is controlled at CMake time by CMAKE_BUILD_TYPE. Patch ensures that CMAKE-BUILD-TYPE has "Release" as a default value. Thanks to Kent Williams and Jean-Christophe Fillion-Robin for the patch. Affects: CMake/dcmtkPrepare.cmake - Described movescu storage SCP timeout problem: In case movescu acts as a storage SCP, it hangs forever if storage client never closes the underlying association. Affects: dcmnet/docs/movescu.man - Fixed comments. Affects: dcmwlm/libsrc/wlfsim.cc **** Changes from 2013.11.07 (riesmeier) - Fixed bug that could cause a crash: Fixed bug that could cause a crash when processing an image with an empty value for Image Type. This could cause a NULL pointer to be dereferenced. Thanks to Tiago D'Agostini for the report. Affects: dcmimage/apps/dcmscale.cc **** Changes from 2013.11.04 (riesmeier) - Added Corneal Topography Map Storage SOP Class: Added Corneal Topography Map Storage SOP Class (introduced only recently with Supplement 168) to the list of accepted SOP classes, since there still was one entry left. Affects: dcmnet/etc/storescp.cfg **** Changes from 2013.10.31 (onken) - Corrected misleading transfer syntax error message: When sending C-ECHO failed because no valid transfer syntax for the Verification SOP Class could be found, then a misleading error message was triggered complaining about missing Verification SOP Class support for Little Endian Implicit. Now the message does only tell that no valid presentation context for C-ECHO could be found. Thanks to Mathieu Malaterre for the original report. Affects: dcmnet/libsrc/scu.cc - Support explicit item length denoting too many bytes: Added flag that allows to ignore explicit item lengths that denote more bytes than the contained elements actually contribute. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcitem.cc dcmdata/tests/tests.cc dcmdata/tests/tparser.cc **** Changes from 2013.10.30 (riesmeier) - Fixed small issue reported by CMake 2.8.12: A trailing "/" had to be removed in order to keep CMake 2.8.12 quiet. Affects: CMake/3rdparty.cmake - Updated CMake version: Updated information on latest CMake version that has been tested to "2.8.12". Affects: CMake/dcmtkPrepare.cmake **** Changes from 2013.10.29 (riesmeier) - Added support for Referenced Segment Number: Added support for the optional list of referenced segment numbers to IMAGE content items. Partially closes DCMTK Feature #149. Added: dcmsr/include/dcmtk/dcmsr/dsrimgse.h dcmsr/libsrc/dsrimgse.cc Affects: dcmsr/apps/Makefile.dep dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrimgfr.h dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/tests/Makefile.dep - Check return value of write() methods: Check return value when writing data from one of the three lists, i.e. SamplePositionList, TimeOffsetList or DateTimeList. Affects: dcmsr/libsrc/dsrtcovl.cc - Slightly enhanced comments. Affects: dcmsr/include/dcmtk/dcmsr/dsrtcovl.h dcmsr/include/dcmtk/dcmsr/dsrwavvl.h dcmsr/libsrc/dsrwavch.cc - Moved checkCurrentValue() to "protected" section: Moved method checkCurrentValue() to the "protected" section of the class in order to be consistent with other similar classes. Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h **** Changes from 2013.10.28 (riesmeier) - Added comment on getFrameList() method: Added clarifying note on the getFrameList() method (based on the DICOM standard text, Table C.18.4-1 in PS 3.3-2011). Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h - Added support for Real World Value Mapping objects: Added support for referencing objects of the Real World Value Mapping Storage SOP class from IMAGE content items. Partially closes DCMTK Feature #149. Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrimgtn.h dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/libsrc/dsrcomtn.cc dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrimgtn.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrwavtn.cc **** Changes from 2013.10.25 (riesmeier) - Fixed small typos in comments. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h dcmsr/include/dcmtk/dcmsr/dsrscovl.h dcmsr/include/dcmtk/dcmsr/dsrstrvl.h dcmsr/include/dcmtk/dcmsr/dsrtcovl.h dcmsr/include/dcmtk/dcmsr/dsrwavvl.h - Added comments on missing features: Added comments that the conditional/optional attributes Referenced Segment Number (0062,000B) and Referenced Real World Value Mapping Instance Sequence (0008,114B) are not yet supported by this class. Such still-missing features are marked with "tbd" (to be done) throughout the "dcmsr" module. Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/libsrc/dsrimgvl.cc - Use helper method for deleting data elements: Use the helper method DcmItem::findAndDeleteElement() for deleting certain data elements in all items of a particular sequence. Affects: dcmsr/libsrc/dsrtypes.cc - Iterate more efficiently over sequence items: Changed the way sequence items are iterated. Now, the nextInContainer() method of the DcmSequenceOfItems class is used instead of getItem(). This approach is much more efficient when a sequence contains a huge number of items, because of the current implementation of the getItem() method. Affects: dcmsr/libsrc/dsrcsidl.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrrefin.cc dcmsr/libsrc/dsrsoprf.cc dcmsr/libsrc/dsrtypes.cc **** Changes from 2013.10.24 (riesmeier) - Adapted test cases for markup conversion: Added a new test case and adapted an existing one for the new behavior of the "convert to markup" functions with regards to embedded NULL bytes, Affects: ofstd/tests/tests.cc ofstd/tests/tmarkup.cc - Never output NULL bytes to markup string/stream: Made sure that a NULL byte is never output to HTML/XHTML/XML mnenonic string or stream. Only if non-ASCII characters are converted to their numeric value (&#nnn;), they will be "visible". Affects: ofstd/libsrc/ofstd.cc **** Changes from 2013.10.23 (riesmeier) - Added support for new UID from Supplement 168: Added support for new SOP Class UID from Supplement 168 (Corneal Topography Map Storage SOP Class). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for Supplement 168 to data dictionary: Added support for final text version of Supplement 168 (Corneal Topography Map Storage SOP Class) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added support for CP-1268 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2013.10.21 (riesmeier) - Removed redundant API comment. Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h - Fixed outdated comment on 1st PN component group: Fixed outdated comment on first component group of a Person Name (PN) value. According to CP-964, the first component group defines an alphabetic (and not a single-byte) representation of the person name. Affects: dcmdata/include/dcmtk/dcmdata/dcvrpn.h - Do not output group length in Native DICOM Model: Do not output group length elements (gggg,0000) in Native DICOM Model format (as per PS 3.19 section A.1.1, introduced with Supplement 166). Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2013.10.17 (riesmeier) - Fixed wrong content type of XML element in DTD: According to the W3C XML specification, "CDATA" is not allowed in the content model for elements. So, for the "pixel-item" element it has been replaced by "#PCDATA" (which is allowed). Thanks to forum user "wrenashe" for the report. Affects: dcmdata/data/dcm2xml.dtd **** Changes from 2013.10.14 (riesmeier) - Fixed source code formatting and various comments. Affects: dcmdata/libsrc/dcmetinf.cc - Fixed timeout issue in handleAssociation(): Fixed issue with timeout parameter not being passed to DIMSE_receiveCommand() in DcmSCP::handleAssociation() method. This prevented the non-blocking mode from working correctly. Thanks to forum user "wrenashe" for the report and suggested fix. Affects: dcmnet/libsrc/scp.cc **** Changes from 2013.10.12 (riesmeier) - Updated URL of DCMTK's home page. Affects: doxygen/footer.html - Removed outdated custom CSS file. Affects: doxygen/htmldocs.cfg Removed: doxygen/htmldocs.css - Updated Doxygen configuration files: Updated Doxygen configuration files to a more recent version (1.8.1.2). Affects: doxygen/htmldocs.cfg doxygen/manpages.cfg - Minor changes to comments. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc **** Changes from 2013.10.11 (riesmeier) - Minor fixes in comments. Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h - Fixed memory leak in log4cplus code: Fixed small memory leak (4 bytes) in log4cplus code, which was reported by valgrind as "still reachable" after program exit. Also see http://sourceforge.net/p/log4cplus/bugs/278/ Affects: oflog/libsrc/globinit.cc **** Changes from 2013.10.11 (onken) - Replaced tabs with spaces. Affects: dcmwlm/libsrc/wlds.cc - Worklist SCP support for Responsible Person/Role: Added support for attributes Responsible Person and Responsible Person Role as Matching and Return Keys to worklist server. Affects: dcmwlm/docs/wlmscpfs.man dcmwlm/include/dcmtk/dcmwlm/wltypdef.h dcmwlm/libsrc/wlds.cc dcmwlm/libsrc/wlfsim.cc **** Changes from 2013.10.10 (riesmeier) - Updated comment on current character set issue. Affects: dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrpnmtn.cc dcmsr/libsrc/dsrtextn.cc - Use helper function findAndGetSequence(): Use helper function DcmItem::findAndGetSequence() instead of the low-level search() method, which requires a DcmStack instance. Affects: dcmsr/libsrc/dsrdoctn.cc - Report warning on unsupported character sets: Report a warning message on SpecificCharacterSet values that are not (yet) supported by the VR checker in the dcmdata module (i.e. all but ASCII and ISO Latin-1). Affects: dcmsr/libsrc/dsrdoc.cc - Enhanced implementation of checkCode() method: Made sure that the checkCode() method does not reject valid code values that use extended characters that are not yet supported by dcmdata's VR checker (i.e. all but ASCII and ISO Latin-1). Partially closes DCMTK Bug #547. Affects: dcmsr/libsrc/dsrcodvl.cc - Avoid unnecessary copies of sequence elements: By referencing the sequence elements instead of copying, it is also possible to access the SpecificCharacterSet element of the surrounding dataset/item, which is needed for the VR checker. Partially closes DCMTK Bug #547. Affects: dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrcsidl.cc dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrsoprf.cc - Added new variant of checkElementValue(): This new variant gets a pointer to a DICOM element (and not a reference). In addition, the getAndCheckXXXFromDataset() methods now make sure that no element copy is created _before_ the element is checked. This is because otherwise there would be no access to the SpecificCharacterSet element of the surrounding dataset/item, which is needed for the VR checker. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc - Added 'charset' parameter to checkStringValue(): Added optional character set parameter to static function checkStringValue() in order to make sure that only ASCII and Latin-1 strings are checked for their conformance with the VR definition (this is a current limitation of the underlying VR checker). Also the checkValue() method now uses the value of the SpecificCharacterSet element of the surrounding dataset/item. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcvrlo.h dcmdata/include/dcmtk/dcmdata/dcvrlt.h dcmdata/include/dcmtk/dcmdata/dcvrpn.h dcmdata/include/dcmtk/dcmdata/dcvrsh.h dcmdata/include/dcmtk/dcmdata/dcvrst.h dcmdata/include/dcmtk/dcmdata/dcvrut.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcvrlo.cc dcmdata/libsrc/dcvrlt.cc dcmdata/libsrc/dcvrpn.cc dcmdata/libsrc/dcvrsh.cc dcmdata/libsrc/dcvrst.cc dcmdata/libsrc/dcvrut.cc - Added method to determine SpecificCharacterSet: Added method to class DcmCharString that allows for determining the value of the SpecificCharacterSet element of the surrounding dataset/item. Closes DCMTK Feature #555. Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/Makefile.dep dcmdata/libsrc/dcchrstr.cc - Fixed various typos in comments. Affects: dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcitem.cc **** Changes from 2013.10.09 (riesmeier) - Fixed various typos. Affects: dcmnet/include/dcmtk/dcmnet/scpcfg.h dcmnet/include/dcmtk/dcmnet/scpthrd.h **** Changes from 2013.10.08 (riesmeier) - Fixed typos. Affects: ofstd/include/dcmtk/ofstd/ofuuid.h ofstd/libsrc/ofuuid.cc - Updated automake script to version 1.14: Updated script that creates filesystem directories to the most recent version of automake, even though only minor changes were made. Affects: config/mkinstalldirs - Also updated autoconf support files: After updating the configure script to autoconf 2.69, now also the support files that are shipped with the autoconf package have been updated. Affects: config/config.guess config/config.sub config/install-sh **** Changes from 2013.10.07 (riesmeier) - Added definition of DCMTK_PACKAGE_URL: Added definition of DCMTK_PACKAGE_URL in order to be consistent with the GNU autoconf (aka configure) system. However, this setting is currently unused and, therefore, uncommented/disabled. Affects: CMake/dcmtkPrepare.cmake **** Changes from 2013.10.04 (riesmeier) - Updated to autoconf 2.69. Affects: config/configure config/confmod - Updated our email address for bug reports. Affects: CMake/dcmtkPrepare.cmake README config/configure.in dcmwlm/docs/wwwapp.txt doxygen/htmldocs.dox **** Changes from 2013.10.02 (riesmeier) - Made use of new global flags for VR generation: The new global flags for enabling/disabling the support of OF and OD as a valid VR are now used for the "post-1993 VR" command line options. Affects: dcmdata/apps/dcmconv.cc dcmdata/apps/dcmcrle.cc dcmdata/apps/dcmdrle.cc dcmdata/apps/dcmgpdir.cc dcmdata/apps/dump2dcm.cc dcmdata/apps/mdfconen.cc dcmdata/apps/pdf2dcm.cc dcmdata/apps/xml2dcm.cc dcmimage/apps/dcmquant.cc dcmimage/apps/dcmscale.cc dcmjpeg/apps/dcmcjpeg.cc dcmjpeg/apps/dcmdjpeg.cc dcmjpls/apps/dcmcjpls.cc dcmjpls/apps/dcmdjpls.cc dcmnet/apps/findscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmprscu.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/apps/dcmpssnd.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/apps/dcmqrti.cc dcmsr/apps/xml2dsr.cc dcmwlm/apps/wlcefs.cc - Added two new global flags for VR generation: Added global flags for enabling/disabling the support of OF and OD as a valid VR. When disabling the support for these post-1993 VRs, OB is used instead. Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/dcvr.c **** Changes from 2013.10.01 (riesmeier) - Added trace log message on VR replacement: Output message to trace logger when a post-1993 value representation like UT or UN is replaced by OB because support for these "new" VRs is disabled. Affects: dcmdata/libsrc/dcvr.cc - Fixed various coding style issues. Affects: dcmdata/libsrc/dcvr.cc - Removed superfluous footnote symbol "(*)". Affects: dcmwlm/docs/wlmscpfs.man **** Changes from 2013.09.28 (riesmeier) - Output currently processed line of input file: Output the number of the currently processed text line of the input file to the trace logger. This might be useful for debugging purposes. Affects: dcmdata/apps/dump2dcm.cc - Output a warning message if the VR is unknown: Output a warning message if the VR of a Tag in the dump file is unknown. This could happen if the VR is neither specified in the dump file nor it can be determined from the data dictionary. In such cases, the VR "UN" us used. Affects: dcmdata/apps/dump2dcm.cc **** Changes from 2013.09.27 (riesmeier) - Fixed typo copied from Supplement 163: Fixed typo copied from the cover page of the Supplement 163 document. Affects: dcmdata/docs/dcm2xml.man **** Changes from 2013.09.26 (riesmeier) - Clarified use of writeXML() flags: Made more clear which writeXML() flags can be used for which output format. Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h - Added support for XML element: Added preliminary support for the XML element, which has been introduced to the Native DICOM Model with Supplement 163 (Store Over the Web by Representational State Transfer Services). Currently, data elements with a VR of OB, OW and UN can be encoded as base64, i.e. OD and OF are still missing. Partially closes DCMTK Feature #549. Affects: dcmdata/apps/dcm2xml.cc dcmdata/docs/dcm2xml.man dcmdata/libsrc/dcpixseq.cc dcmdata/libsrc/dcvrobow.cc **** Changes from 2013.09.25 (riesmeier) - Fixed typos. Affects: dcmdata/apps/img2dcm.cc - Added missing references to closed DCMTK features. Affects: CHANGES.361 **** Changes from 2013.09.24 (onken) - Create DcmFileFormat from DcmDataset w/o copying: Added possibility to create DcmFileFormat from existing dataset and let DcmFileFormat take ownership for that dataset instead of always performing a deep copy. Closes DCMTK Feature #544. Affects: dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/libsrc/dcfilefo.cc - Do not copy DcmDataset during C-GET receive: C-GET functionality does not copy the dataset any more in the standard storage handler. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc **** Changes from 2013.09.23 (riesmeier) - Added new option for printing invalid codes: Added new command line option that allows for printing also invalid codes. Affects: dcmsr/apps/dsrdump.cc dcmsr/docs/dsrdump.man - Added new print flag for showing invalid codes: Added new print flag value that allows for showing also invalid codes. This is especially useful for debugging purposes. Closes DCMTK Feature #548. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrcodtn.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrtypes.cc - Slightly changed output of print() method: Invalid codes are now printed if the "printInvalid" parameter is true. By default, the text "invalid code" is printed in such cases. Before this modification, invalid codes were never printed and the behavior of the "printInvalid" parameter was different. Closes DCMTK Feature #548. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/libsrc/dsrcodvl.cc **** Changes from 2013.09.20 (riesmeier) - Fixed issue with CP-246 files and private tags: According to CP-246, elements with VR=UN and undefined length should be interpreted as a sequence with implicit VR. This fix makes sure that the code also works with private tags. It also corrects a wrong log message. Thanks to Mathieu Malaterre for the original report. Affects: dcmdata/libsrc/dcitem.cc - Minor fixes, e.g. added Doxygen markup. Affects: dcmqrdb/docs/dcmqrdb.man **** Changes from 2013.09.20 (onken) - Warning to re-create index.dat after 20130705: The format of dcmqrdb's binary index.dat file changed on 20130705 due to a bug fix in the corresponding code. An index.dat file created before that date will not work with dcmqrdb code compiled after that date but must be re-created. Affects: dcmqrdb/docs/dcmqrdb.man **** Changes from 2013.09.11 (riesmeier) - Fixed wrong Doxygen reference to a method: Fixed wrong reference in API documentation to the loadAllDataIntoMemory() method (was loadAllDataElements() before). Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/include/dcmtk/dcmdata/dcmetinf.h **** Changes from 2013.09.04 (riesmeier) - Added support for generating a Doxygen tag file: Added preliminary support for generating a Doxygen tag file. This file can be used to link the generated HTML documentation from external projects. Closes DCMTK feature #455. Affects: CMake/dcmtkPrepare.cmake doxygen/CMakeLists.txt doxygen/Makefile.in doxygen/htmldocs.cfg **** Changes from 2013.08.30 (riesmeier) - Updated copyright dates (where appropriate). Affects: COPYRIGHT - Added new storage mode options: Added two new command line options specifying the storage mode to be used: --normal and --bit-preserving. Affects: dcmnet/apps/dcmrecv.cc dcmnet/docs/dcmrecv.man - Added new dataset storage mode: Added new storage mode that allows for receiving a dataset directly to file, i.e. the data is written exactly as received. This is what the storescp calls "bit preserving mode". Affects: dcmnet/include/dcmtk/dcmnet/dstorscp.h dcmnet/libsrc/dstorscp.cc - Receive C-STORE request dataset directly to file: Added method that allows for receiving a C-STORE request dataset directly to file. Using this new method, large SOP instances can be received with less memory requirements and the datasets can be stored as received (i.e. without any conversions). Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/Makefile.dep dcmnet/libsrc/scp.cc - Fixed various typos in comments. Affects: dcmnet/include/dcmtk/dcmnet/scu.h **** Changes from 2013.08.29 (riesmeier) - Introduced dataset storage mode: Added new option that allows for ignoring the received dataset, i.e. the DICOM dataset received with a C-STORE request message is not stored to file. Affects: dcmnet/apps/dcmrecv.cc dcmnet/docs/dcmrecv.man dcmnet/include/dcmtk/dcmnet/dstorscp.h dcmnet/libsrc/dstorscp.cc **** Changes from 2013.08.27 (riesmeier) - Restructured implementation of handleSTORERequest(): Completely restructured the implementation of handleSTORERequest(), which now consists of calling 3 separate methods successively: receiveSTORERequest(), checkSTORERequest() and sendSTOREResponse(). This could be the prototype for all other network messages currently supported by this class. Also regrouped the various network message methods. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/dstorscp.cc dcmnet/libsrc/scp.cc - Fixed various typos in comments. Affects: dcmnet/include/dcmtk/dcmnet/scu.h - Fixed wrong log message in handleMOVERequest(). Affects: dcmnet/libsrc/scp.cc - Removed "&" from constant integer parameters: Removed "&" specifier from constant integer parameters since passing such input values by-reference does not make any sense. Also fixed some layout and formatting issues. Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h dcmtls/libsrc/tlsscu.cc **** Changes from 2013.08.26 (riesmeier) - Removed class name from derived method calls: Removed explicit class name when calling a derived method (as long as the method name is unambiguous, i.e. the compiler does not complain). Affects: dcmnet/libsrc/dstorscp.cc - Do not copy received dataset in memory: Made sure that the DICOM dataset received via a C-STORE request is not copied in memory (i.e. to a DcmFileFormat structure) in order to store it as a DICOM file (i.e. with file meta information header). Affects: dcmnet/include/dcmtk/dcmnet/dstorscp.h dcmnet/libsrc/dstorscp.cc - Fixed various inconsistencies in comments. Affects: dcmnet/include/dcmtk/dcmnet/scp.h - Pass existing dataset to handleSTORERequest(): Enhanced handleSTORERequest() by allowing an existing dataset to be passed to this method. This avoids copying a received dataset to a fileformat structure in order to store the dataset as a DICOM file. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc - Fixed various typos in comments. Affects: dcmnet/apps/storescp.cc **** Changes from 2013.08.23 (riesmeier) - Added meta header to stored DICOM files: Made sure that the file meta information header is written to all created DICOM files. Previously only the DICOM dataset was written to file. Affects: dcmnet/libsrc/dstorscp.cc **** Changes from 2013.08.23 (onken) - Always write meta header when receiving files. Removed Winsock comment. Affects: dcmnet/libsrc/scu.cc - Added missing CHANGES entry. Affects: CHANGES.361 **** Changes from 2013.08.20 (riesmeier) - Added support for Supplement 163 to data dictionary: Added support for final text version of Supplement 163 (Store Over the Web by RESTful Services, STOW-RS) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2013.08.20 (onken) - Make sure oflog also compiles if threads are disabled. Affects: oflog/libsrc/socketap.cc **** Changes from 2013.08.14 (riesmeier) - Deprecated closeAssociation() method: Added comment that closeAssociation() is deprecated and will probably be made "protected" in the future. Instead of that, the methods releaseAssociation() and abortAssociation() from the base class DcmSCU should be used. Affects: dcmtls/include/dcmtk/dcmtls/tlsscu.h - Fixed various typos. Affects: dcmtls/libsrc/tlsscu.cc **** Changes from 2013.08.13 (riesmeier) - Updated CMake version: Updated information on latest CMake version that has been tested to "2.8.11". Affects: CMake/dcmtkPrepare.cmake **** Changes from 2013.08.12 (riesmeier) - Function createDirectory() also works on Windows: Implemented and tested the new function createDirectory() on Windows systems. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Updated man pages. Affects: dcmdata/docs/dcmodify.man doxygen/manpages/man1/* - Rebuilt Makefile dependencies. Affects: dcmnet/tests/Makefile.dep - Added comments to unused exit codes. Affects: dcmnet/apps/dcmsend.cc - Added new command line tool "dcmrecv": This tool is a Simple Storage Service Class Provider, which is based on the recently introduced network class DcmStorageSCP. Added: dcmnet/apps/dcmrecv.cc dcmnet/docs/dcmrecv.man doxygen/manpages/man1/dcmrecv.1 Affects: dcmnet/apps/CMakeLists.txt dcmnet/apps/Makefile.dep dcmnet/apps/Makefile.in dcmnet/docs/dcmnet.dox dcmnet/docs/dcmsend.man - Added new class DcmStorageSCP: Added an easy-to-use interface class for a Storage Service Class Provider (SCP), which stores the received datasets as DICOM files. Added: dcmnet/include/dcmtk/dcmnet/dstorscp.h dcmnet/libsrc/dstorscp.cc Affects: dcmnet/docs/dcmnet.dox dcmnet/libsrc/CMakeLists.txt dcmnet/libsrc/Makefile.dep dcmnet/libsrc/Makefile.in ofstd/include/dcmtk/ofstd/ofcond.h ofstd/libsrc/ofcond.cc - Fixed some minor Doxygen issues. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h - Added global helper function createDirectory(): Added a global helper function to OFStandard that allows for creating file directories in a portable way. This also includes the creation of arbitrary sub-directories, i.e. this function works "recursively". Please note that createDirectory() has not yet been implemented for the Windows platform. Affects: ofstd/include/dcmtk/ofstd/ofcond.h ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofcond.cc ofstd/libsrc/ofstd.cc **** Changes from 2013.08.09 (riesmeier) - Removed trailing spaces. Affects: ofstd/libsrc/offname.cc - Added progress notification to DcmSCP: Added support for progress notifications while sending and receiving DICOM datasets. This is the same approach as already implemented in DcmSCU. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scpcfg.h dcmnet/libsrc/scp.cc dcmnet/libsrc/scpcfg.cc - Removed unused fields from sendACTIONResponse(): Removed optional "Action Type ID" and unused "Dataset" from N-ACTION Response. Please note that this changes the signature of sendACTIONResponse(). Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc - Fixed issues with optional message fields: Fixed issues with optional message fields "Affected SOP Class UID" and "Affected SOP Instance UID", which were not always enabled correctly. Affects: dcmnet/libsrc/scp.cc - Modified log output in loadAssociationCfgFile(): Slightly modified the log output in loadAssociationCfgFile(), e.g. by showing the name of the configuration file on the debug logger. Also check the input filename for an empty string and return an error code in such a case. Affects: dcmnet/libsrc/scpcfg.cc **** Changes from 2013.08.08 (riesmeier) - Reimplemented sendSTOREResponse() method: Please note that the signature of sendSTOREResponse() changed with this commit. There are now two variants of this method: one that is quite easy to use and the other that allows for specifying more details. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.c - Use optional fields in sendSTOREResponse(): Made sure that the optional fields "Affected SOP Class UID" and "Affected SOP Instance UID" in sendSTOREResponse() are really used. Also fixed some typos. Affects: dcmnet/libsrc/scu.cc - Fixed various typos. Affects: dcmnet/include/dcmtk/dcmnet/scp.h - Added new condition constants: Added two new conditions constants for general directory-related errors: EC_DirectoryDoesNotExist and EC_DirectoryNotWritable. Affects: ofstd/include/dcmtk/ofstd/ofcond.h ofstd/libsrc/ofcond.cc **** Changes from 2013.08.07 (riesmeier) - Enable WITH_THREADS for thread-related classes. Affects: doxygen/htmldocs.cfg - Fixed various typos and other Doxygen issues. Affects: dcmnet/docs/cptscp.doxygen dcmnet/include/dcmtk/dcmnet/scppool.h dcmnet/libsrc/scppool.cc - Added releaseAssociation() and abortAssociation(): Added two new methods releaseAssociation() and abortAssociation() that should be used instead of closeAssociation(). The latter is now deprecated and will probably be made "protected" in the future. Closes DCMTK feature #531. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/dstorscu.cc dcmnet/libsrc/scu.cc - Fixed various typos. Affects: dcmnet/libsrc/scp.cc dcmnet/libsrc/scppool.cc **** Changes from 2013.08.06 (riesmeier) - Removed trailing space characters: Removed trailing space characters and fixed other minor issues. Affects: dcmnet/include/dcmtk/dcmnet/dcasccff.h dcmnet/include/dcmtk/dcmnet/dcasccfg.h dcmnet/libsrc/dcasccff.cc dcmnet/libsrc/dcasccfg.cc - Fixed further documentation issues. Affects: dcmnet/include/dcmtk/dcmnet/scppool.h **** Changes from 2013.08.05 (riesmeier) - Really call shouldStopAfterCurrentSOPInstance(): Although the method shouldStopAfterCurrentSOPInstance() has been introduced with commit 65f2966, it was never called during sendSOPInstances(), so the sending process could not be stopped (as described in the documentation). Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/libsrc/dstorscu.cc - Fixed various oddities and inconsistencies: Fixed various oddities and inconsistencies regarding the documentation style (e.g. undocumented parameters) and the source code formatting. Affects: dcmnet/include/dcmtk/dcmnet/scppool.h - Replaced tabulator by space characters. Affects: dcmnet/include/dcmtk/dcmnet/scppool.h - Fixed various oddities and inconsistencies: Fixed various oddities and inconsistencies regarding the C-MOVE originator information, e.g. the get and set methods. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/dstorscu.cc dcmnet/libsrc/scu.cc - Added comment on inappropriate use of EC_IllegalCall. Affects: dcmnet/libsrc/scpthrd.cc - Updated version number of snapshot compilers: Updated the version number of the Linux and Windows compilers the DCMTK snapshot has been tested with. Affects: INSTALL **** Changes from 2013.08.01 (riesmeier) - Fixed wrong VR for private AGFA IMPAX tag. The VR given for "date_time_verified" (0031,xx01) in the "AGFA IMPAX 6.5.x Solution" conformance statement is apparently wrong. It should be "UL" instead of "CS" since it seems to specify a UNIX timestamp (32 bit). Affects: dcmdata/data/private.dic dcmdata/libsrc/dcdictzz.cc - Added private tags for AGFA IMPAX 6.5.x Solution. Added two private tag definitions from the "AGFA IMPAX 6.5.x Solution" conformance statement. Affects: dcmdata/data/private.dic dcmdata/libsrc/dcdictzz.cc - Added support for new VR "Other Double String" (OD): Added support for new value representation "Other Double String" (OD) that has been introduced only recently with CP-1261 (Other Double 64 Bit Floating Point Value Representation). Closes DCMTK feature #526. Added: dcmdata/include/dcmtk/dcmdata/dcvrod.h dcmdata/libsrc/dcvrod.cc Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.dep dcmdata/libsrc/Makefile.in dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcvr.cc dcmdata/tests/telemlen.cc dcmdata/tests/tests.cc **** Changes from 2013.07.26 (onken) - Fixed possible doubled destruction of association. Affects: dcmnet/libsrc/scp.cc **** Changes from 2013.07.25 (riesmeier) - Replaced "OFString::length() > 0" by "!OFString::empty()". Affects: dcmdata/apps/dcm2xml.cc dcmdata/apps/mdfdsman.cc dcmdata/libsrc/dcvrtm.cc dcmjpeg/libsrc/djcodece.cc dcmjpeg/libsrc/djutils.cc dcmnet/apps/echoscu.cc dcmnet/apps/findscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/libsrc/dccfuidh.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmprscu.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/apps/dcmpssnd.cc dcmpstat/libsrc/dcmpstat.cc dcmpstat/libsrc/dviface.cc dcmpstat/libsrc/dvpscf.cc dcmwlm/libsrc/wlds.cc dcmwlm/libsrc/wldsfs.cc dcmwlm/libsrc/wlfsim.cc ofstd/libsrc/ofconapp.cc - Replaced "OFString::length() != 0" by "!OFString::empty()". Affects: dcmdata/apps/mdfdsman.cc dcmdata/libi2d/i2d.cc - Replaced "OFString::length() == 0" by "OFString::empty()". Affects: dcmdata/apps/img2dcm.cc dcmdata/apps/pdf2dcm.cc dcmdata/libi2d/i2d.cc dcmdata/libi2d/i2dbmps.cc dcmdata/libi2d/i2djpgs.cc dcmnet/apps/storescu.cc dcmpstat/libsrc/dviface.cc dcmpstat/libsrc/dvpsri.cc dcmpstat/libsrc/dvpsvw.cc dcmwlm/libsrc/wlds.cc dcmwlm/libsrc/wldsfs.cc dcmwlm/libsrc/wlfsim.cc **** Changes from 2013.07.23 (onken) - Fixed issues where JPEG marker map was not cleared if more than one JPEG was converted using the same plugin instance. Affects: dcmdata/libi2d/i2djpgs.cc **** Changes from 2013.07.12 (riesmeier) - Fixed issue with misplaced log output, which caused the use of an uninitialized variable ("req"). Thanks to Mathieu Malaterre for the valgrind report and to Uli Schlachter for his expert opinion. Affects: dcmnet/apps/movescu.cc **** Changes from 2013.07.05 (onken) - Fixed too small buffer for UID in Q/R server. Thanks to Mathieu Malaterre for the report and fix. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h **** Changes from 2013.06.27 (onken) - Fixed typo (coersion -> coercion) in DIMSE status constant. Thanks to Peter Klotz for the report and suggested fix. Affects: dcmnet/include/dcmtk/dcmnet/dimse.h dcmnet/libsrc/dimdump.cc dcmnet/libsrc/diutil.cc dcmnet/libsrc/dstorscu.cc **** Changes from 2013.06.26 (riesmeier) - Fixed bug in getTimeZoneFromString() method. Added new test for this case. Thanks to Tamas Nemeth for the report and suggested fix. Affects: dcmdata/libsrc/dcvrtm.cc dcmdata/tests/tvrdatim.cc **** Changes from 2013.06.24 (riesmeier) - Minor fixes to comments on VOI-related methods. Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h - Added support for new SOP Class UIDs from Supplement 157 (Multi-Frame Converted Legacy Images). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for final text version of Supplement 157 (Multi-Frame Converted Legacy Images) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Slightly enhanced documentation of completion flag methods (in accordance with the recently approved CP-1219). Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h - Added support for CP-1248, CP-1258 and CP-1269 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2013.06.11 (riesmeier) - Various fixes to comments. Also removed trailing white spaces. Affects: ofstd/include/dcmtk/ofstd/ofmem.h ofstd/tests/tmem.cc *** Changes from 2013.06.10 (onken) - Make sure SCU and SCP request/response data structures are initially zeroed. Affects: dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc - Added missing CHANGES entry for last 2 commits. Affects: CHANGES.361 *** Changes from 2013.06.10 (schlamelcher) - Make use of unique pointer (free memory if C-MOVE/C-FIND is canceled). Affects: dcmnet/libsrc/scu.cc - Introduced OFunique_ptr as a fallback if std::unique_ptr is not available. Affects: ofstd/include/ofmem.h ofstd/tests/tmem.cc **** Changes from 2013.06.04 (onken) - Add "Discard illegal character" support to dcmconv and classes like DcmItem. Affects: dcmdata/apps/dcmconv.cc dcmdata/docs/dcmconv.man dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc - Added option to discard illegal characters when converting between DICOM character sets. Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/dcspchrs.cc dcmdata/tests/tspchrs.cc **** Changes from 2013.06.04 (riesmeier) - Fixed minor inconsistencies introduced with last commit (9fd4776). Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/dcspchrs.cc tests/tspchrs.cc - Output absolute minimum and maximum value of intermediate pixel data to trace logger in order to better understand the result (output data) when rendering an image without VOI transformation. Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h **** Changes from 2013.06.03 (riesmeier) - Added missing support for the new print options (short name, long name or UID value) to the output of presentation state references of IMAGE content items. Thanks to Mathieu Malaterre for the report on this issue. Affects: dcmsr/libsrc/dsrimgvl.cc **** Changes from 2013.05.31 (riesmeier) - Fixed issue with unnecessary call to clearNodeCursorStack(). This undesirable stack cleanup prevented gotoNextNamedNode() from working correctly. Thanks to forum user "Tim" for the original report demonstrating this issue. Affects: dcmsr/libsrc/dsrdoctr.cc **** Changes from 2013.05.30 (riesmeier) - Fixed some tag key constants of recently retired attributes (CP-1249). Affects: dcmrt/libsrc/drtforrs.cc - Added support for CP-1246 and CP-1249 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2013.05.27 (onken) - Make sure memcpy does not copy to NULL destination. Thanks to Francesco Gigante for the report. Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2013.05.15 (riesmeier) - Made more clear that support for shared libraries is still not that mature. Affects: INSTALL **** Changes from 2013.04.25 (riesmeier) - Fixed bug in checkSOPClassUID() that caused all currently defined Waveform SOP classes to be rejected. This bug was introduced with commit a0fe345b. Affects: dcmsr/libsrc/dsrwavvl.cc - Added command line options using the new print flags specifying how the SOP class of referenced DICOM objects is printed. Also did some restructuring. Thanks to Mathieu Malaterre for the suggestion. Affects: dcmsr/apps/dsrdump.cc dcmsr/docs/dsrdump.man - Added new options for specifying how the SOP class of referenced DICOM objects is printed (short name, long name or UID value). Thanks to Mathieu Malaterre for the suggestion. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrtypes.cc dcmsr/libsrc/dsrwavvl.cc **** Changes from 2013.04.23 (riesmeier) - Added some debug output to read() method, e.g. whether the automatic transfer syntax detection is enabled and actually used. Affects: dcmdata/libsrc/dcdatset.cc - Added some debug output to lookForXfer() method, e.g. whether the meta-header is present at all and whether it contains the TransferSyntaxUID element. Affects: dcmdata/libsrc/dcfilefo.cc **** Changes from 2013.04.19 (riesmeier) - Added missing sub-directory "oflog/thread" to "make install" target. Thanks to Markus Mertens for the report. Affects: oflog/include/Makefile.in **** Changes from 2013.04.08 (riesmeier) - Fixed issue with last pixel value being undefined in odd-length pixel data (occurred in partial access mode with PixelData VR=OW and BitsAllocated=8). Thanks to Peter Klotz for the original report. Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h **** Changes from 2013.04.08 (schlamelcher) - Some workarounds for VC6 compiler peculiarity. Affects: dcmdata/tests/tfilter.cc dcmnet/include/dcmtk/dcmnet/scppool.h **** Changes from 2013.04.05 (riesmeier) - Use non-throwing new and delete operator for large memory buffers (e.g. pixel data) in order to avoid exceptions. Thanks to Peter Klotz for the original report. Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h - Fixed two possible memory leaks found by static code analysis (cppcheck). Thanks to Peter Klotz for the report and patch. Affects: dcmnet/libsrc/assoc.cc - Added comment to a local variable that is currently unused (but might be used in the future). Thanks to Peter Klotz for pointing this out. Affects: dcmnet/libsrc/dimse.cc **** Changes from 2013.03.28 (schlachter) - Silence some more compiler warnings about implicit casts. Affects: dcmdata/tests/dctmacro.h oflog/libsrc/timehelp.cc **** Changes from 2013.03.25 (schlachter) - Fixed crash if less than four transfer syntaxes are enabled. This fixes debian bug #703716. Affects: dcmqrdb/libsrc/dcmqrsrv.cc - Worked around compiler warnings on 32bit systems for too large shifts. Affects: dcmjpls/libcharls/util.h - Fixed compiler warnings in ConvertIntegerToString with unsigned integers. Affects: oflog/include/dcmtk/oflog/helpers/strhelp.h - Fixed bug in OFString::copy() and improved unit tests. Thanks to forum user "oxymoron" for the report. Affects: ofstd/libsrc/ofstring.cc ofstd/tests/tests.cc ofstd/tests/tstring.cc **** Changes from 2013.03.22 (riesmeier) - Minor fixes in comments. Also made some input parameters "const". Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc **** Changes from 2013.03.21 (riesmeier) - Minor fixes in comments, e.g. typos. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h **** Changes from 2013.03.19 (schlachter) - Don't include intrin.h on Visual Studio 2005 because of build errors. Affects: oflog/include/dcmtk/oflog/config/win32.h - Use DcmTagKey's output operator where possible. Affects: dcmdata/libsrc/dcdicdir.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcobject.cc **** Changes from 2013.03.11 (schlachter) - Fixed various issues found via cppcheck. Thanks to Per Inge Mathisen for the report and suggested fix. Affects: dcmdata/libsrc/mkdictbi.cc dcmnet/libsrc/assoc.cc dcmpstat/apps/dcmmkcrv.cc dcmqrdb/libsrc/dcmqrdbi.cc dcmsign/libsrc/dcsignat.cc oflog/libsrc/striconv.cc - Update rootconf for changes which were done directly to generated files. Affects: config/rootconf - Use ".NOTPARALLEL:" to make parallel builds (e.g. -j4) possible. Thanks to Tilman Vogel for the patch. Affects: Makefile - Removed unused local variable which shadowed a variable with the same name. Affects: dcmnet/libsrc/scp.cc - Fixed wrong definition of Value Representation Person Name (PN): Allow empty component groups while still not allowing completely empty PN elements. Thanks to forum user "Hua Cong Danh" for the report. Affects: dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dcvr*.h dcmdata/libsrc/dcvrpn.cc dcmdata/libsrc/vrscanl.c dcmdata/libsrc/vrscanl.h dcmdata/libsrc/vrscanl.l dcmdata/tests/Makefile.dep dcmdata/tests/tchval.cc **** Changes from 2013.03.08 (riesmeier) - Fixed various issues in syntax usage output (e.g. inconsistent program name). Affects: dcmwlm/wwwapps/writwlst.cc **** Changes from 2013.02.15 (onken) - Added optional status detail when sending C-MOVE response. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc - Make DcmStorageSCU make use of new MoveOriginator feature. Affects: dcmnet/libsrc/dstorscu.cc - Added (optional) originating C-MOVE AE title and message ID to C-STORE message. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/dstorscu.cc dcmnet/libsrc/scu.cc **** Changes from 2013.02.13 (riesmeier) - Added full support for the new Comprehensive 3D SR IOD introduced with Supplement 162. Thanks to forum user "vlad" for the original patch. Added: dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h dcmsr/libsrc/dsrc3dcc.cc Affects: dcmsr/apps/Makefile.dep dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrtypes.cc - Added missing assignment of member variable in setValue() method. Thanks to forum user "vlad" for the report and fix. Affects: dcmsr/libsrc/dsrsc3vl.cc **** Changes from 2013.02.12 (riesmeier) - Added new SOP Class UID from Supplement 162 (Comprehensive 3D SR Storage SOP Class) to networking library/tools and to DICOMDIR generation code. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcuid.cc dcmnet/docs/getscu.man dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man dcmqrdb/libsrc/dcmqrdbi.cc - Added support for new directory record type "SURFACE SCAN" from Supplement 154 (Optical Surface Scanner Storage SOP Class). Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcdirrec.cc **** Changes from 2013.02.11 (riesmeier) - Added support for new SOP Class UIDs from Supplement 154 (Optical Surface Scanner Storage SOP Class). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/getscu.man dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for final text version of Supplement 154 (Optical Surface Scanner Storage SOP Class) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added support for new attribute Zero Velocity Pixel Value (0018,9810) introduced with CP-1236 to checkAndUpdateVR() method. Affects: dcmdata/libsrc/dcitem.cc - Added support for CP-1236 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2013.01.24 (onken) - Added checking for incoming C-CANCEL message to DcmSCP. Cleaned up formatting. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/dimcancl.cc dcmnet/libsrc/scp.cc **** Changes from 2013.01.24 (riesmeier) - Fixed wrong calculation of returned number of bytes in createAWTBitmap(). Thanks to Fu Peng for the report and suggested fix. Affects: dcmimgle/libsrc/dimoimg.cc **** Changes from 2013.01.22 (schlachter) - Added missing include for OFendl. Thanks to Markus Mertens for the report. Affects: oflog/libsrc/striconv.cc - Fixed compilation when HAVE_STL is defined and std::map is used. Thanks to Markus Mertens for the report. Affects: dcmnet/libsrc/dccfenmp.cc dcmnet/libsrc/dccfpcmp.cc dcmnet/libsrc/dccfprmp.cc dcmnet/libsrc/dccfrsmp.cc dcmnet/libsrc/dccftsmp.cc **** Changes from 2013.01.15 (schlachter) - Removed comment begin from within comment. Affects: dcmdata/libsrc/dcelem.cc - Documented new features in log4cplus 1.1.0. Affects: CHANGES.361 oflog/etc/logger.cfg - Some cleanup and MSC6-related fixes for dcmnet. Affects: dcmnet/apps/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmnet/tests/CMakeLists.txt dcmnet/tests/Makefile.in dcmnet/tests/tpool.cc - Added private undefined functions to class DcmThreadSCP. Affects: dcmnet/include/dcmtk/dcmnet/scpthrd.h - Rebuilt Makefile dependencies. Affects: dcmdata/apps/Makefile.dep dcmdata/libi2d/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpeg/libsrc/Makefile.dep dcmjpls/apps/Makefile.dep dcmjpls/libsrc/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmnet/tests/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmrt/apps/Makefile.dep dcmrt/libsrc/Makefile.dep dcmrt/tests/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/tests/Makefile.dep dcmwlm/wwwapps/Makefile.dep ofstd/libsrc/Makefile.dep oflog/libsrc/Makefile.dep - Update oflog to log4cplus 1.1.0. New features include an asynchronous appender, log4j- and syslog-compatible UDP appenders, a C interface and lock files to synchronize between two processes writing to the same log file. Added: oflog/include/dcmtk/oflog/asyncap.h oflog/include/dcmtk/oflog/clfsap.h oflog/include/dcmtk/oflog/clogger.h oflog/include/dcmtk/oflog/config/macosx.h oflog/include/dcmtk/oflog/config/windowsh.h oflog/include/dcmtk/oflog/helpers/fileinfo.h oflog/include/dcmtk/oflog/helpers/lockfile.h oflog/include/dcmtk/oflog/helpers/queue.h oflog/include/dcmtk/oflog/helpers/snprintf.h oflog/include/dcmtk/oflog/internal/cygwin32.h oflog/include/dcmtk/oflog/internal/env.h oflog/include/dcmtk/oflog/internal/internal.h oflog/include/dcmtk/oflog/internal/socket.h oflog/include/dcmtk/oflog/log4judp.h oflog/include/dcmtk/oflog/mdc.h oflog/include/dcmtk/oflog/tchar.h oflog/include/dcmtk/oflog/thread/impl/syncimpl.h oflog/include/dcmtk/oflog/thread/impl/syncpmsm.h oflog/include/dcmtk/oflog/thread/impl/syncpthr.h oflog/include/dcmtk/oflog/thread/impl/syncwin.h oflog/include/dcmtk/oflog/thread/impl/thredimp.h oflog/include/dcmtk/oflog/thread/impl/tls.h oflog/include/dcmtk/oflog/thread/syncprim.h oflog/include/dcmtk/oflog/thread/syncpub.h oflog/include/dcmtk/oflog/thread/threads.h oflog/include/dcmtk/oflog/tracelog.h oflog/include/dcmtk/oflog/version.h oflog/libsrc/asyncap.cc oflog/libsrc/clfsap.cc oflog/libsrc/clogger.cc oflog/libsrc/cygwin32.cc oflog/libsrc/env.cc oflog/libsrc/fileinfo.cc oflog/libsrc/lloguser.cc oflog/libsrc/lockfile.cc oflog/libsrc/log4judp.cc oflog/libsrc/logmacro.cc oflog/libsrc/mdc.cc oflog/libsrc/queue.cc oflog/libsrc/snprintf.cc oflog/libsrc/strccloc.cc oflog/libsrc/strcloc.cc oflog/libsrc/striconv.cc oflog/libsrc/tls.cc oflog/libsrc/version.cc Removed: oflog/include/dcmtk/oflog/config/CMakeLists.txt oflog/include/dcmtk/oflog/helpers/CMakeLists.txt oflog/include/dcmtk/oflog/helpers/syncppth.h oflog/include/dcmtk/oflog/helpers/syncprims.h oflog/include/dcmtk/oflog/helpers/threads.h oflog/include/dcmtk/oflog/spi/CMakeLists.txt Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/aclocal.m4 config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmdata/include/dcmtk/dcmdata/dcdicdir.h dcmnet/Makefile.in dcmqrdb/libsrc/dcmqrcnf.cc oflog/include/dcmtk/oflog/* oflog/libsrc/CMakeLists.txt oflog/libsrc/Makefile.in oflog/libsrc/*.cc ofstd/include/dcmtk/ofstd/ofmap.h ofstd/include/dcmtk/ofstd/ofstring.h ofstd/include/dcmtk/ofstd/ofvector.h ofstd/libsrc/ofstring.cc **** Changes from 2013.01.11 (onken) - Make sure osconfig.h is included before WITH_THREADS is evaluated. Affects: dcmnet/include/dcmtk/dcmnet/scppool.h **** Changes from 2013.01.10 (onken) - Resized buffer for hostname lookup due to possible bug in glibc on Linux systems. Thanks to Peter Klotz for the report and patch. Affects: ofstd/libsrc/ofstd.cc - Make sure that missing value on last element triggers error during parsing. Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2013.01.09 (onken) - Initial checkin of SCP pool, threaded SCP and related test. Added DcmSCP functionality to respond to C-FIND, C-MOVE and C-STORE. Added DcmSCP function to disable host lookup. Refactored DcmSCP configuration to reside in extra class. DcmSCP now permits checking of calling and called AE title in derviced classes. Derived DcmSCP classes can now check whether connecting host is granted access. Added: dcmnet/docs/cptscp.dox dcmnet/include/dcmtk/dcmnet/scpcfg.h dcmnet/include/dcmtk/dcmnet/scppool.h dcmnet/include/dcmtk/dcmnet/scpthrd.h dcmnet/libsrc/scpcfg.cc dcmnet/libsrc/scppool.cc dcmnet/libsrc/scpthrd.cc dcmnet/tests/tpool.cc Affects: dcmnet/apps/CMakeLists.txt dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/CMakeLists.txt dcmnet/libsrc/Makefile.dep dcmnet/libsrc/Makefile.in dcmnet/libsrc/cond.cc dcmnet/libsrc/dccfprmp.cc dcmnet/libsrc/scp.cc dcmnet/tests/CMakeLists.txt dcmnet/tests/Makefile.in dcmnet/tests/tests.cc ofstd/tests/tests.cc - Updated Makefile.dep files, triggered by latest changes in libcharls. Affects: dcmjpls/libcharls/Makefile.dep ofstd/libsrc/Makefile.dep - Minor documentation fixes. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scpcfg.h **** Changes from 2013.01.08 (schlachter) - Added missing include for size_t. Affects: dcmjpls/libcharls/util.h - Removed use of long long. Affects: dcmjpls/libcharls/config.h dcmjpls/libcharls/header.cc dcmjpls/libcharls/util.h - Disabled broken wide character support on MSC6. Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h ofstd/include/dcmtk/ofstd/ofconapp.h ofstd/libsrc/ofcmdln.cc ofstd/libsrc/ofconapp.cc - Don't redefine _LARGEFILE_SOURCE if it is already defined. Thanks to Hans Johnson for the hint and proposed patch. Affects: CMake/osconfig.h.in - Only call tolower() with unsigned char argument. Affects: dcmnet/libsrc/dstorscu.cc - Removed unnecessary incomplete initialisation. Affects: ofstd/libsrc/ofstd.cc **** Changes from 2013.01.04 (onken) - Made DcmAssociationConfiguration and underlying classes copy-constructable. Replaced all occurrences of DcmSimpleMap with OFMap. Affects: dcmnet/apps/Makefile.dep dcmnet/include/dcmtk/dcmnet/dcasccfg.h dcmnet/include/dcmtk/dcmnet/dccfenmp.h dcmnet/include/dcmtk/dcmnet/dccfpcmp.h dcmnet/include/dcmtk/dcmnet/dccfprmp.h dcmnet/include/dcmtk/dcmnet/dccfrsmp.h dcmnet/include/dcmtk/dcmnet/dccftsmp.h dcmnet/include/dcmtk/dcmnet/dcmsmap.h dcmnet/libsrc/dcasccfg.cc dcmnet/libsrc/dccfenmp.cc dcmnet/libsrc/dccfpcmp.cc dcmnet/libsrc/dccfprmp.cc dcmnet/libsrc/dccfrsmp.cc dcmnet/libsrc/dccftsmp.cc dcmnet/libsrc/Makefile.dep dcmtls/libsrc/Makefile.dep - Added dependencies for latest tmem test. Affects: ofstd/tests/Makefile.dep - Added possibility to stop storage SCU after sending the current file. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/libsrc/dstorscu.cc **** Changes from 2013.01.04 (schlamelcher) - Fixed OFshared_ptr for VC6. Affects: ofstd/include/dcmtk/ofstd/ofmem.h **** Changes from 2012.12.21 (onken) - Fixed intel compiler issue on Mac OS X. Thanks to Hans Johnson for the hint and proposed patch. Affects: ofstd/libsrc/ofstd.cc **** Changes from 2012.12.11 (schlachter) - Fixed test failure on 64 bit systems. Affects: dcmdata/tests/tparser.cc **** Changes from 2012.12.12 (schlamelcher) - Fixed error in OFshared_ptr when using Visual Studio 2008. Affects: ofstd/include/dcmtk/ofstd/ofmem.h **** Changes from 2012.12.11 (schlachter) - Clear some member variables in destructors. Thanks to forum user "chaircrusher" for the report. Affects: ofstd/libsrc/oflist.cc ofstd/libsrc/ofthread.cc - Added an OFGlobal for using a different length field size when the VR in an dataset with explicit VR does not match the expected VR from the data dictionary and both VRs have different sizes of their length field. Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc dcmdata/tests/tests.cc dcmdata/tests/tparser.cc - Fixed compilation when libwrap support is disabled. Thanks to forum user "chaircrusher" for the report. Affects: dcmnet/libsrc/dwrap.c **** Changes from 2012.12.05 (riesmeier) - Added hint that option --use-xml-namespace is required in order to validate the XML output of dsr2xml against the given XML Schema. Affects: dcmsr/docs/dsr2xml.man dcmsr/docs/xml2dsr.man **** Changes from 2012.12.04 (schlachter) - Added C wrapper for hosts_access() to work around ancient libwrap. Thanks to forum user "chaircrusher" for the report. Added: dcmnet/libsrc/dwrap.c Affects: dcmnet/libsrc/CMakeLists.txt dcmnet/libsrc/Makefile.in dcmnet/libsrc/dul.cc - Use delete[] instead of delete where necessary. Thanks to forum user "yueran" for the report. Affects: dcmwlm/libsrc/wlfsim.cc - Fixed various memory leaks. Thanks to forum user "yueran" for the report. Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h dcmwlm/libsrc/wlfsim.cc **** Changes from 2012.11.27 (schlachter) - Update CharLS to version 1.0. Affects: dcmjpls/include/dcmtk/dcmjpls/djlsutil.h dcmjpls/libcharls/*.h dcmjpls/libcharls/*.cc - Added defines for new CMake checks to osconfig.h.in Affects: CMake/osconfig.h.in **** Changes from 2012.11.22 (schlamelcher) - Introduced OFshared_ptr implementing a subset of c++11's std::shared_ptr. Added: ofstd/include/dcmtk/ofstd/ofmem.h ofstd/tests/tmem.cc Affects: CMake/GenerateDCMTKConfigure.cmake config/aclocal.m4 config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.in ofstd/tests/tests.cc **** Changes from 2012.11.22 (riesmeier) - Added support for CP-1234 (Chinese character sets GBK and GB2312). Affects: dcmdata/libsrc/dcspchrs.cc - Added note to the documentation of the class DcmSpecificCharacterSet that only a single value is allowed for the destination character set (i.e. no code extensions). Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h - Added support for the final text version of Supplement 158 (Retirement of General Purpose Worklist and Procedure Step) to the data dictionary and list of UIDs, i.e. added the prefix "RETIRED_" to some names. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcdictzz.cc dcmdata/libsrc/dcuid.cc - Added support for CP-1200 and CP-1216 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2012.11.21 (schlamelcher) - Added #define WIN32_LEAN_AND_MEAN to some files to speedup compilation. Affects: ofstd/include/dcmtk/ofstd/ofgrp.h ofstd/include/dcmtk/ofstd/ofnetdb.h ofstd/include/dcmtk/ofstd/ofpwd.h **** Changes from 2012.11.20 (riesmeier) - Added new option that allows for reading OW data from file with big endian byte ordering. Might also be used for generating (incorrect) test images. Affects: dcmdata/apps/dump2dcm.cc dcmdata/docs/dump2dcm.man **** Changes from 2012.11.20 (schlachter) - Ported the "man2text" target to CMake. Added: doxygen/man2text.sh Affects: doxygen/CMakeLists.txt doxygen/Makefile.in - Added support for detecting libwrap. Added: CMake/FindWrap.cmake Affects: CMake/3rdparty.cmake CMake/dcmtkPrepare.cmake CMake/osconfig.h.in dcmnet/libsrc/CMakeLists.txt - Added support for detecting libsndfile on non-Windows platforms. Added: CMake/FindSndfile.cmake Affects: CMake/3rdparty.cmake - Let "make clean" remove doxygen output again. Affects: doxygen/CMakeLists.txt **** Changes from 2012.11.13 (schlachter) - Regenerate the VR scanner with a newer flex version. Affects: dcmdata/libsrc/vrscanl.c dcmdata/libsrc/vrscanl.h - Ported the generated source commands from Makefile to CMake. Affects: dcmdata/libsrc/CMakeLists.txt - Added an output file option to internal tools. Affects: dcmdata/libsrc/Makefile.in dcmdata/libsrc/mkdeftag.cc dcmdata/libsrc/mkdictbi.cc - Added checks for large file support to CMake. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in - Remove unneeded library information from the build system. Affects: dcmdata/apps/CMakeLists.txt dcmdata/tests/CMakeLists.txt dcmimage/apps/CMakeLists.txt dcmimgle/apps/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpls/apps/CMakeLists.txt dcmnet/apps/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmnet/tests/CMakeLists.txt dcmpstat/apps/CMakeLists.txt dcmqrdb/apps/CMakeLists.txt dcmrt/apps/CMakeLists.txt dcmrt/tests/CMakeLists.txt dcmsign/apps/CMakeLists.txt dcmsr/apps/CMakeLists.txt dcmsr/tests/CMakeLists.txt dcmwlm/apps/CMakeLists.txt dcmwlm/wwwapps/CMakeLists.txt ofstd/tests/CMakeLists.txt - Remove the test runner on "make clean". Affects: dcmnet/tests/Makefile.in - Fix detecting of iconv() arguments when LIBICONV_DIR is set. Thanks to Richard Flay for the patch. Affects: CMake/3rdparty.cmake ofstd/libsrc/ofchrenc.cc - Use absolute paths to libraries on windows. Thanks to Richard Flay for the patch. Affects: CMake/3rdparty.cmake **** Changes from 2012.11.06 (schlachter) - Automatically detect if the second argument to iconv() is const. Affects: CMake/3rdparty.cmake CMake/osconfig.h.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in ofstd/libsrc/ofchrenc.cc - Correctly detect the processor type on 64 bit windows. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2012.11.05 (riesmeier) - Added extra '\' to all occurrences of '\n' needed within Doxygen comments. Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h **** Changes from 2012.11.05 (schlachter) - Fixed some places where isalpha() & Co are called with char argument. Affects: dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcdirrec.cc dcmnet/libsrc/diutil.cc dcmnet/libsrc/dstorscu.cc - Don't delete needed directories during "make clean" with CMake. Affects: doxygen/CMakeLists.txt **** Changes from 2012.11.02 (riesmeier) - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/* - Fixed bug in image scaling algorithm reducePixel(). Comparing two double values for equality is usually a bad idea. Better check whether the difference falls below a certain threshold (e.g. 0.00001). Thanks to Takeo Satomi for the original report. Affects: dcmimgle/include/dcmtk/dcmimgle/discalet.h - Made more clear what getOutputData() and other output methods return in case of monochrome and color images, i.e. enhanced the existing API documentation. Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h - Updated information on latest CMake version that has been tested to "2.8.10". Affects: CMake/dcmtkPrepare.cmake **** Changes from 2012.11.01 (riesmeier) - Fixed memory leak in createWindowsDIB() for 8-bit grayscale images. Thanks to Hans Kluijtmans for the report. Affects: dcmimgle/libsrc/dimoimg.cc **** Changes from 2012.10.31 (schlachter) - Fix some inconsistent macro names and improve the documentation. Affects: CMake/dcmtkPrepare.cmake CMake/osconfig.h.in config/Makefile.def.in config/docs/macros.txt ofstd/include/dcmtk/ofstd/ofexport.h - Fix building with DCMTK_SINGLE_SHARED_LIBRARY. Affects: CMake/dcmtkMacros.cmake CMake/dcmtkPrepare.cmake ofstd/include/dcmtk/ofstd/ofexport.h **** Changes from 2012.10.30 (riesmeier) - Added further options to DCMTK's CMake configuration file for external projects (DCMTK_SHARED_LIBRARIES and DCMTK_SINGLE_SHARED_LIBRARY). Affects: CMake/DCMTKConfig.cmake.in - Explicitly set DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS to OFF on Unix systems. Affects: CMake/dcmtkPrepare.cmake **** Changes from 2012.10.26 (schlachter) - Improved error message for missing configure scripts. Affects: configure **** Changes from 2012.10.25 (riesmeier) - Replaced general CMake variable "CMAKE_CURRENT_BINARY_DIR" by the more specific "DCMTK_BINARY_DIR" in an INSTALL() command. Affects: CMakeLists.txt - Added missing ' in a comment. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h **** Changes from 2012.10.24 (riesmeier) - Fixed typo in comment. Affects: dcmrt/include/dcmtk/dcmrt/drttypes.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h **** Changes from 2012.10.22 (riesmeier) - Added support for new optional Return Key Attributes: StudyDate, StudyTime and IssuerOfPatientID. The latter is required for the IHE Eye Care Workflow. Affects: dcmwlm/docs/wlmscpfs.man dcmwlm/include/dcmtk/dcmwlm/wlds.h dcmwlm/libsrc/wlds.cc **** Changes from 2012.10.22 (schlachter) - Rebuilt Makefile dependencies (and removed unwanted libiconv dependencies). Affects: ofstd/libsrc/Makefile.dep - Minor improvements and fixes to the medium-level API. Affects: dcmrt/include/dcmtk/dcmrt/drmimage.h dcmrt/libsrc/drmdose.cc dcmrt/libsrc/drmimage.cc dcmrt/libsrc/drmstrct.cc - Rebuilt Makefile dependencies. Affects: dcmdata/apps/Makefile.dep dcmdata/libi2d/Makefile.dep dcmdata/tests/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpeg/libsrc/Makefile.dep dcmjpls/apps/Makefile.dep dcmjpls/libsrc/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/tests/Makefile.dep dcmwlm/wwwapps/Makefile.dep oflog/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep - Add a missing DCMTK_OFSTD_EXPORT annotation. Affects: ofstd/include/dcmtk/ofstd/ofnetdb.h **** Changes from 2012.10.11 (schlachter) - Fix linking of DLLs when BUILD_APPS is disabled. Affects: CMake/dcmtkMacros.cmake - Improve example for accessing a dose image. Affects: dcmrt/docs/dcmrt.dox **** Changes from 2012.10.10 (riesmeier) - Renamed test program to comply with DCMTK's naming conventions. Added: dcmrt/tests/tsearch.cc Removed: dcmrt/tests/rtsearch.cc Affects: dcmrt/tests/CMakeLists.txt dcmrt/tests/Makefile.dep dcmrt/tests/Makefile.in dcmrt/tests/tests.cc **** Changes from 2012.10.09 (riesmeier) - Renamed all drtstruct.* files to drtstrct.* to stay within 8.3 characters. Added: dcmrt/include/dcmtk/dcmrt/drtstrct.h dcmrt/libsrc/drtstrct.cc Removed: dcmrt/include/dcmtk/dcmrt/drtstruct.h dcmrt/libsrc/drtstruct.cc Affects: dcmrt/apps/drtdump.cc dcmrt/apps/Makefile.dep dcmrt/include/dcmtk/dcmrt/drmstrct.h dcmrt/libsrc/CMakeLists.txt dcmrt/libsrc/Makefile.dep dcmrt/libsrc/Makefile.in dcmrt/tests/Makefile.dep dcmrt/tests/drttest.cc **** Changes from 2012.10.09 (schlachter) - Properly initialized member variables in constructor. Thanks to Dr. Michael Heber for the report. Affects: dcmjpls/libcharls/header.cc - Added some helper functions for speeding up common tasks. Added: dcmrt/include/dcmtk/dcmrt/drmdose.h dcmrt/include/dcmtk/dcmrt/drmimage.h dcmrt/include/dcmtk/dcmrt/drmplan.h dcmrt/include/dcmtk/dcmrt/drmsrch.h dcmrt/include/dcmtk/dcmrt/drmstrct.h dcmrt/libsrc/drmdose.cc dcmrt/libsrc/drmimage.cc dcmrt/libsrc/drmplan.cc dcmrt/libsrc/drmstrct.cc dcmrt/tests/rtsearch.cc dcmrt/tests/tests.cc Affects: dcmrt/apps/Makefile.dep dcmrt/docs/dcmrt.dox dcmrt/libsrc/CMakeLists.txt dcmrt/libsrc/Makefile.dep dcmrt/libsrc/Makefile.in dcmrt/tests/CMakeLists.txt dcmrt/tests/Makefile.dep dcmrt/tests/Makefile.in - Forcefully disable BUILD_APPS when BUILD_SINGLE_SHARED_LIBRARY is enabled. Affects: CMake/dcmtkMacros.cmake CMake/dcmtkPrepare.cmake **** Changes from 2012.10.08 (riesmeier) - Added new CMake option BUILD_APPS that allows for disabling the compilation and installation of the various command line applications. Affects: CMake/dcmtkMacros.cmake CMake/dcmtkPrepare.cmake INSTALL - Updated information on latest CMake version that has been tested to "2.8.9". Affects: CMake/dcmtkPrepare.cmake **** Changes from 2012.10.04 (riesmeier) - Added support for Windows-specific wide character encoding (UTF-16) to the pathExists(), dirExists(), isReadable() and isWriteable() methods. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc **** Changes from 2012.10.02 (schlachter) - Add a missing DCMTK_DCMDATA_EXPORT annotation. Affects: dcmdata/include/dcmtk/dcmdata/dcfilter.h - Only strip the installed binaries if a strip utility is available. Thanks to Paolo Marcheschi for the report. Affects: config/Makefile.def.in config/configure config/configure.in config/templates/Makefile.src dcmdata/apps/Makefile.in dcmimage/apps/Makefile.in dcmimgle/apps/Makefile.in dcmjpeg/apps/Makefile.in dcmjpls/apps/Makefile.in dcmnet/apps/Makefile.in dcmpstat/apps/Makefile.in dcmqrdb/apps/Makefile.in dcmrt/apps/Makefile.in dcmsign/apps/Makefile.in dcmsr/apps/Makefile.in dcmwlm/apps/Makefile.in dcmwlm/wwwapps/Makefile.in - Move the INSTALL()-call into DCMTK_ADD_LIBRARY(). Affects: CMake/dcmtkMacros.cmake dcmdata/libi2d/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmimgle/libsrc/CMakeLists.txt dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmpstat/libsrc/CMakeLists.txt dcmqrdb/libsrc/CMakeLists.txt dcmrt/libsrc/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt dcmwlm/libsrc/CMakeLists.txt oflog/libsrc/CMakeLists.txt ofstd/libsrc/CMakeLists.txt - Turn DCMTK_SETUP_EXECUTABLE into a wrapper around ADD_EXECUTABLE(). Affects: CMake/dcmtkMacros.cmake dcmdata/apps/CMakeLists.txt dcmdata/tests/CMakeLists.txt dcmimage/apps/CMakeLists.txt dcmimgle/apps/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpls/apps/CMakeLists.txt dcmnet/apps/CMakeLists.txt dcmnet/tests/CMakeLists.txt dcmpstat/apps/CMakeLists.txt dcmqrdb/apps/CMakeLists.txt dcmrt/apps/CMakeLists.txt dcmrt/tests/CMakeLists.txt dcmsign/apps/CMakeLists.txt dcmsr/apps/CMakeLists.txt dcmsr/tests/CMakeLists.txt dcmwlm/apps/CMakeLists.txt dcmwlm/wwwapps/CMakeLists.txt ofstd/tests/CMakeLists.txt - Move the INSTALL()-call into DCMTK_ADD_EXECUTABLE(). Affects: CMake/dcmtkMacros.cmake dcmdata/apps/CMakeLists.txt dcmimage/apps/CMakeLists.txt dcmimgle/apps/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpls/apps/CMakeLists.txt dcmnet/apps/CMakeLists.txt dcmpstat/apps/CMakeLists.txt dcmqrdb/apps/CMakeLists.txt dcmrt/apps/CMakeLists.txt dcmsign/apps/CMakeLists.txt dcmsr/apps/CMakeLists.txt dcmwlm/apps/CMakeLists.txt dcmwlm/wwwapps/CMakeLists.txt - Make it possible to build the whole toolkit as a single shared library. Added: CMake/dcmtkAfterModules.cmake CMake/dcmtkPrepare.cmake Removed: CMake/DCMTK.cmake Affects: CMake/dcmtkMacros.cmake CMakeLists.txt INSTALL dcmdata/apps/CMakeLists.txt dcmdata/libi2d/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmdata/tests/CMakeLists.txt dcmimage/apps/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmimgle/apps/CMakeLists.txt dcmimgle/libsrc/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/apps/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/apps/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmnet/tests/CMakeLists.txt dcmpstat/apps/CMakeLists.txt dcmpstat/libsrc/CMakeLists.txt dcmqrdb/apps/CMakeLists.txt dcmqrdb/libsrc/CMakeLists.txt dcmrt/apps/CMakeLists.txt dcmrt/libsrc/CMakeLists.txt dcmrt/tests/CMakeLists.txt dcmsign/apps/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/apps/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmsr/tests/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt dcmwlm/apps/CMakeLists.txt dcmwlm/libsrc/CMakeLists.txt dcmwlm/wwwapps/CMakeLists.txt oflog/libsrc/CMakeLists.txt ofstd/libsrc/CMakeLists.txt ofstd/tests/CMakeLists.txt - Fixed a scope issue with MSC6. Affects: ofstd/libsrc/ofstd.cc **** Changes from 2012.10.01 (schlachter) - Print a warning when reading an UN element as a sequence. Affects: dcmdata/libsrc/dcitem.cc - Turn DCMTK_SETUP_LIBRARY into a wrapper around ADD_LIBRARY(). Affects: CMake/dcmtkMacros.cmake dcmdata/libi2d/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmimgle/libsrc/CMakeLists.txt dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmpstat/libsrc/CMakeLists.txt dcmqrdb/libsrc/CMakeLists.txt dcmrt/libsrc/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt dcmwlm/libsrc/CMakeLists.txt oflog/libsrc/CMakeLists.txt ofstd/libsrc/CMakeLists.txt **** Changes from 2012.09.28 (schlachter) - Add a CMake cache variable for the list of modules that are built. Affects: CMakeLists.txt - Fixed bug where writing a sequences with VR UN failed. Thanks to Peter Klotz for the report. Affects: dcmdata/include/dcmtk/dcmdata/dcpixel.h dcmdata/libsrc/dcpixel.cc dcmdata/tests/dctmacro.h dcmdata/tests/tests.cc dcmdata/tests/tparser.cc - Added a "help" target to the main Makefile. Affects: Makefile config/rootconf **** Changes from 2012.09.28 (riesmeier) - Fixed copy-and-paste bug in checkPixelExtension(). Thanks to Gareth Sylvester-Bradley for the report. Affects: dcmimgle/libsrc/diimage.cc - Fixed typos and text formatting. Affects: dcmdata/tests/tfilter.cc ofstd/include/dcmtk/ofstd/ofgrp.h ofstd/include/dcmtk/ofstd/ofnetdb.h ofstd/include/dcmtk/ofstd/ofpwd.h - Rebuilt Makefile dependencies (and removed unwanted libxml dependencies). Affects: dcmdata/apps/Makefile.dep - Fixed numerous typos and added missing "dcmtk/config/osconfig.h" include. Affects: dcmdata/include/dcmtk/dcmdata/dcfilter.h dcmdata/libsrc/dcfilter.cc dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep **** Changes from 2012.09.27 (schlamelcher) - Introduced initial dataset filter that filters based on attribute values. Added: dcmdata/include/dcmtk/dcmdata/dcfilter.h dcmdata/libsrc/dcfilter.cc dcmdata/tests/tfilter.cc Affects: dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.in dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.in dcmdata/tests/tests.cc ofstd/include/dcmtk/ofstd/ofalgo.h **** Changes from 2012.09.21 (schlachter) - Added conflict checks between --fork/--inetd and --{rename,exec}-on-eostudy. Thanks to forum user "dimitri" for the report. Affects: dcmnet/apps/storescp.cc dcmnet/docs/storescp.man **** Changes from 2012.09.21 (riesmeier) - Removed unneeded output of start time to the logger. Each line that is output to the logger has a timestamp if the logger is configured appropriately. Affects: dcmpstat/apps/Makefile.dep dcmpstat/apps/dcmpsrcv.cc dcmqrdb/libsrc/Makefile.dep dcmqrdb/libsrc/dcmqrptb.cc - Made virtual notification methods protected because they should never be called from outside of this class. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Fixed various typos in comments. Also slightly changed formatting and added newlines where appropriate. Thanks to Dimitri Papadopoulos for the report. Affects: ofstd/include/dcmtk/ofstd/ofnetdb.h **** Changes from 2012.09.20 (riesmeier) - Always use SI units for output, i.e. "min" for minute instead of "m". Affects: ofstd/libsrc/oftimer.cc **** Changes from 2012.09.19 (schlachter) - Fixed handling of strings with embedded NULL bytes. Thanks to Heyo Spekker for reporting this issue. Added: dcmnet/tests/CMakeLists.txt dcmnet/tests/Makefile.dep dcmnet/tests/tdump.cc dcmnet/tests/tests.cc Affects: dcmnet/CMakeLists.txt dcmnet/libsrc/dimdump.cc dcmnet/tests/Makefile.in ofstd/include/dcmtk/ofstd/oftest.h **** Changes from 2012.09.19 (riesmeier) - Added check for consistent UID values in DICOM dataset and transfer list. Differences are usually a result of inconsistent values in meta-header and dataset, so reporting a warning message might be a good idea. Affects: dcmnet/libsrc/dstorscu.cc **** Changes from 2012.09.17 (schlachter) - Fixed a brown-paper-bag typo. Affects: CMake/DCMTK.cmake - Fixed minor compiler warnings. Affects: ofstd/libsrc/ofstd.cc **** Changes from 2012.09.14 (riesmeier) - Added notification method that is called while sending SOP instances. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/libsrc/dstorscu.cc - Fixed minor issue in comment. Affects: dcmjpeg/include/dcmtk/dcmjpeg/djutils.h **** Changes from 2012.09.13 (riesmeier) - Fixed small typo in log message. Affects: dcmnet/apps/dcmsend.cc **** Changes from 2012.09.11 (riesmeier) - Fixed wrong VR for DICONDE attribute Sensor Name (0014,3022). Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Reverted attribute names for tags (0022,1044) and (0022,1135) after feedback from DICOM WG-6 or rather the editor of the DICOM standard David Clunie. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2012.09.11 (onken) - Adapted comments to coding style and re-newed copyright header. Affects: dcmdata/include/dcmdata/dcddirif.h **** Changes from 2012.09.10 (onken) - Made static helper function accessible from outside. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/libsrc/dcddirif.cc **** Changes from 2012.09.10 (riesmeier) - Reverted tag definition for Row/ColumnPositionInTotalImagePixelMatrix after rechecking with DICOM WG-6 and comparing with Supplement 145 (WSI). Also changed attribute names for tags (0022,1044) and (0022,1135) in order to be consistent with part 6 of the DICOM 2011 standard. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Replaced remaining tabs by spaces and fixed indention. Affects: dcmnet/libsrc/dimcmd.cc - Fixed some minor inconsistencies between the data dictionary and part 6 of the DICOM standard. This mainly affects the spelling of the attribute names. Also added some tags that were missing because they are not used in part 3. Thanks to Mathieu Malaterre for the report. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc dcmnet/libsrc/dimcmd.cc - Fixed wrong attribute tags for Row/ColumnPositionInTotalImagePixelMatrix. Thanks to Mathieu Malaterre for the report. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2012.09.07 (riesmeier) - Changed value of DCMTK_PACKAGE_DATE from "CVS" to "DEV". Affects: CMake/DCMTK.cmake config/configure config/configure.in - Fixed some tag key constants of recently retired attributes (CP-1138). Affects: dcmrt/libsrc/drtrbs8.cc - Added support for CP-1137, CP-1138 and CP-1204 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2012.09.06 (onken) - Fixed build for Visual Studio, broken by re-entrant patch. Minor changes to avoid Visual Studio compiler warnings. Affects: dcmqrdb/apps/dcmqrscp.cc ofstd/include/dcmtk/ofstd/ofgrph.h ofstd/include/dcmtk/ofstd/ofnetdb.h ofstd/include/dcmtk/ofstd/ofpwd.h ofstd/libsrc/ofstd.cc - Added files that were missing in re-entrant patch commit. Added: ofstd/include/dcmtk/ofstd/ofgrph.h ofstd/include/dcmtk/ofstd/ofpwd.h ofstd/include/dcmtk/ofstd/ofnetdb.h **** Changes from 2012.09.06 (schlamelcher) - Changed non-reentrant functions to re-entrant counterparts where possible. Added: ofstd/include/dcmtk/ofstd/ofgrp.h ofstd/include/dcmtk/ofstd/ofpwd.h ofstd/include/dcmtk/ofstd/ofnetdb.h Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmdata/libsrc/mkdeftag.cc dcmdata/libsrc/mkdictbi.cc dcmnet/libsrc/dcompat.cc dcmnet/libsrc/dul.cc dcmnet/libsrc/dulfsm.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/libsrc/dvpsmsg.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/libsrc/dcmqrptb.cc ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/ofstd.cc ofstd/libsrc/ofxml.cc **** Changes from 2012.09.06 (riesmeier) - Replaced outdated use of ofConsole by COUT. Affects: dcmdata/apps/dcm2pdf.cc dcmdata/apps/pdf2dcm.cc - Added further classes that might be of interest. Affects: dcmdata/docs/dcmdata.dox - Removed outdated comment on the use or non-use of ofConsole. Affects: dcmdata/libsrc/dcvr.cc - Removed useless forward declaration of class OFConsole. Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h dcmwlm/include/dcmtk/dcmwlm/wlmactmg.h - Replaced 8-bit characters (ISO 8859-1) with their octal representation. Thanks to Hans J. Johnson for pointing this out. Affects: dcmdata/tests/tchval.cc dcmdata/tests/tvrpn.cc dcmsr/tests/mkreport.cc - Replaced non-ASCII character by its ASCII equivalent. Thanks to Hans J. Johnson for pointing this out. Affects: docs/ANNOUNCE.352 docs/CHANGES.352 - Fixed wrong parameter name in documentation of fdopen() and removed non-ASCII character. Affects: ofstd/include/dcmtk/ofstd/offile.h - Adapted indentation and added comments to make more clear that the for loop has an empty body. Thanks to Hans J. Johnson for pointing this out. Affects: dcmdata/apps/dump2dcm.cc dcmqrdb/libsrc/dcmqrdbi.cc - Removed warning about extraneous parentheses (clang compiler). Thanks to Hans J. Johnson for the report and fix. Affects: dcmdata/libi2d/i2djpgs.cc dcmjpls/libcharls/scan.h - Fixed wrong size value in memset() call, which caused only the first bytes of the memory area to be initialized. Thanks to Hans J. Johnson for the report and fix. Affects: dcmnet/libsrc/dulfsm.cc - Fixed minor linguistic error. Thanks to Dimitri Papadopoulos for the patch. Affects: dcmimgle/libsrc/diimage.cc **** Changes from 2012.09.03 (riesmeier) - Fixed minor spelling errors. Thanks to Dimitri Papadopoulos for the patch. Affects: dcmdata/apps/dcmconv.cc dcmdata/data/SC.dump dcmdata/data/VLP.dump dcmdata/docs/img2dcm.man dcmdata/include/dcmtk/dcmdata/dcpath.h dcmdata/libsrc/dcdicdir.cc dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcpxitem.cc dcmimage/include/dcmtk/dcmimage/dicoopx.h dcmimage/include/dcmtk/dcmimage/dicoopxt.h dcmimgle/docs/dcmdspfn.man dcmimgle/docs/dcod2lum.man dcmimgle/include/dcmtk/dcmimgle/dcmimage.h dcmimgle/include/dcmtk/dcmimgle/dimoimg.h dcmjpeg/apps/dcmcjpeg.cc dcmjpeg/docs/dcmcjpeg.man dcmjpls/libcharls/jpegls.cc dcmnet/docs/findscu.man dcmnet/docs/storescp.man dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/dccfenmp.cc dcmpstat/apps/dcmpsrcv.cc dcmqrdb/apps/dcmqrti.cc dcmqrdb/docs/dcmqrscp.man dcmqrdb/docs/dcmqrti.man dcmqrdb/libsrc/dcmqrdbi.cc dcmqrdb/libsrc/dcmqrtis.cc ofstd/include/dcmtk/ofstd/ofthread.h **** Changes from 2012.08.31 (riesmeier) - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/* **** Changes from 2012.08.28 (riesmeier) - Made settings for libsndfile more consistent with other external libraries. Affects: CMake/3rdparty.cmake **** Changes from 2012.08.27 (riesmeier) - Added new helper method putAndInsertTagKey() for elements with a VR of "AT". Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcitem.cc **** Changes from 2012.08.24 (schlachter) - Improved logging levels in module dcmpstat. Affects: dcmpstat/libsrc/dcmpstat.cc dcmpstat/libsrc/dviface.cc dcmpstat/libsrc/dvpsab.cc dcmpstat/libsrc/dvpsal.cc dcmpstat/libsrc/dvpscf.cc dcmpstat/libsrc/dvpsda.cc dcmpstat/libsrc/dvpsfs.cc dcmpstat/libsrc/dvpsga.cc dcmpstat/libsrc/dvpsgl.cc dcmpstat/libsrc/dvpsgr.cc dcmpstat/libsrc/dvpsib.cc dcmpstat/libsrc/dvpsov.cc dcmpstat/libsrc/dvpspl.cc dcmpstat/libsrc/dvpspl2.cc dcmpstat/libsrc/dvpspll.cc dcmpstat/libsrc/dvpspr.cc dcmpstat/libsrc/dvpsprt.cc dcmpstat/libsrc/dvpsri.cc dcmpstat/libsrc/dvpsril.cc dcmpstat/libsrc/dvpsrs.cc dcmpstat/libsrc/dvpsrsl.cc dcmpstat/libsrc/dvpssp.cc dcmpstat/libsrc/dvpsspl.cc dcmpstat/libsrc/dvpssv.cc dcmpstat/libsrc/dvpstat.cc dcmpstat/libsrc/dvpstx.cc **** Changes from 2012.08.23 (schlachter) - Add BUILD_FOR_SHARED_LIBS flag to the CMake build system. With this flag the built static libraries can be linked into a single shared library. The DCMTK symbols get exported from this library and can be used outside of it. Affects: CMake/DCMTK.cmake CMake/dcmtkMacros.cmake CMake/osconfig.h.in ofstd/include/dcmtk/ofstd/ofexport.h **** Changes from 2012.08.22 (riesmeier) - Temporarily disabled support for Windows-specific wide character encoding on MinGW/MSYS systems in order to compile on such environments. However, this only applies to the OFCommandLine and OFConsoleApplication classes. Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h ofstd/include/dcmtk/ofstd/ofconapp.h ofstd/libsrc/ofcmdln.cc ofstd/libsrc/ofconapp.cc - Made sure that SET_TARGET_PROPERTIES() is not called for MinGW/MSYS systems. Affects: CMake/dcmtkMacros.cmake - Added missing libiconv include directory (if option enabled). Thanks to Richard Flay for the report. Affects: ofstd/CMakeLists.txt **** Changes from 2012.08.20 (riesmeier) - Fixed compilation issue with gcc 3.3 (initialization of non-const reference). Thanks to forum user "spasmous" for the report. Affects: dcmdata/tests/telemlen.cc **** Changes from 2012.08.16 (riesmeier) - Added clarifying note that DICONDE tags are now official part of DICOM. Affects: dcmdata/data/dicom.dic dcmdata/data/diconde.dic **** Changes from 2012.08.15 (onken) - Fixed issue reading meta header due to wrong use of read transfer syntax. Thanks to forum user "nmoraes" for the bug report. Affects: dcmdata/include/dcmtk/dcmdata/dcmetinf.h dcmdata/libsrc/dcfilefo.cc **** Changes from 2012.08.15 (riesmeier) - Added initial regression tests for class DSRTree and DSRTreeNodeCursor. Added: dcmsr/tests/tests.cc dcmsr/tests/tsrtree.cc Affects: dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.dep dcmsr/tests/Makefile.in - Fixed issue with addNode(), especially when using the AM_beforeCurrent mode. Thanks to forum user "zaq" for the report and suggested fix. Affects: dcmsr/libsrc/dsrtree.cc **** Changes from 2012.08.02 (onken) - Explained why Modality LUT is not used for rendering of XA and XRF images. Affects: dcmimgle/libsrc/dimomod.cc **** Changes from 2012.07.27 (schlamelcher) - Fixed VC6 protected scope vs nested classes issue in dcmsr. Affects: dcmsr/include/dcmtk/dcmsr/dsrsoprf.h **** Changes from 2012.07.26 (riesmeier) - Added definition for US-ASCII (7-bit) Windows code page. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc **** Changes from 2012.07.25 (riesmeier) - Fixed confusing log message when processing a softcopy presentation state. Thanks to forum user "HackerNeo" for the original report. Affects: dcmimgle/libsrc/dimomod.cc **** Changes from 2012.07.23 (riesmeier) - Added output stream operator for class OFFilename. Affects: ofstd/include/dcmtk/ofstd/offile.h ofstd/libsrc/offile.cc - Moved implementation of class OFFilename to a separate source file. Added: ofstd/libsrc/offile.cc Affects: ofstd/include/dcmtk/ofstd/offile.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/Makefile.dep ofstd/libsrc/Makefile.in ofstd/tests/Makefile.dep **** Changes from 2012.07.23 (schlachter) - Finished conversion to new macros for common tasks on libraries/executables. Affects: dcmdata/libi2d/CMakeLists.txt dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt **** Changes from 2012.07.20 (riesmeier) - Added support for Windows-specific wide character encoding (UTF-16) to the fileExists() method. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc **** Changes from 2012.07.19 (onken) - Added error code for private module dcmenc. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h **** Changes from 2012.07.17 (riesmeier) - Added further options to DCMTK's CMake configuration file for ext. projects (DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS and DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS). Affects: CMake/DCMTKConfig.cmake.in - Added new section with additional options (DCMTK_WIDE_CHAR_MAIN_FUNCTION). Affects: CMake/DCMTKConfig.cmake.in - Removed superfluous quotation marks in SET() value. Affects: CMake/DCMTKConfig.cmake.in - Fixed incorrect term in comment (replaced "library" by "object file"). Affects: CMake/DCMTK.cmake **** Changes from 2012.07.16 (riesmeier) - Added support for Windows-specific wide character encoding (UTF-16) to the command line interface. Currently, none of the command line tools actually supports this particular representation of Unicode, though. Affects: CMake/DCMTK.cmake CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/docs/macros.txt dcmdata/include/dcmtk/dcmdata/cmdlnarg.h dcmdata/libsrc/cmdlnarg.cc ofstd/include/dcmtk/ofstd/ofcmdln.h ofstd/include/dcmtk/ofstd/ofconapp.h ofstd/include/dcmtk/ofstd/offile.h ofstd/libsrc/ofcmdln.cc ofstd/libsrc/ofconapp.cc **** Changes from 2012.07.16 (schlachter) - Removed outdated CVS/RCS keywords. Affects: (almost everything) - Fixed a pre-processor check for HAVE_WINDOWS_H. Affects: ofstd/libsrc/ofconapp.cc **** Changes from 2012.07.13 (schlamelcher) - Fixed mingw-w64 compilation issues. Affects: CMake/DCMTK.cmake CMake/dcmtkMacros.cmake dcmnet/libsrc/dul.cc ofstd/include/dcmtk/ofstd/offile.h ofstd/libsrc/ofxml.cc **** Changes from 2012.07.13 (riesmeier) - Removed file extensions and quotation marks from Windows standard library and object files. Affects: CMake/DCMTK.cmake **** Changes from 2012.07.12 (riesmeier) - Made convertToWideCharString()'s input parameter "fromString" const. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc - Fixed wrong output format of pixel sequence elements for the DICOM Native Model (according to PS 3.19). Thanks to Mathieu Malaterre for the report. Affects: dcmdata/include/dcmtk/dcmdata/dcpixseq.h dcmdata/libsrc/dcpixseq.cc **** Changes from 2012.07.11 (riesmeier) - Fixed wrong attribute name of BulkData element: According to the XML Schema in PS 3.19, the name for the UUID reference is "uuid" and not "UUID". Thanks to Mathieu Malaterre for the report. Affects: dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrof.cc - Made sure that hexadecimal numbers of attribute tags are always printed in uppercase for the Native Model (as required by the XML Schema in PS 3.19). Thanks to Mathieu Malaterre for the report. Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2012.07.10 (riesmeier) - Removed old comment on public DCMTK modules (in contrast to private ones). Affects: CMakeLists.txt - Check HAVE_WINDOWS_H instead of _WIN32 when using Windows-specific functions. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc - Added explicit typecast in order to avoid warnings reported by gcc 4.4.5 with additional options. Affects: dcmdata/libsrc/dcswap.cc **** Changes from 2012.07.09 (schlachter) - Added macros for common tasks on all libraries/executables. Added: CMake/dcmtkMacros.cmake Removed: CMake/dcmtkAddTests.cmake Affects: CMake/DCMTK.cmake config/changext dcmdata/apps/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmimage/apps/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmimgle/apps/CMakeLists.txt dcmimgle/libsrc/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/apps/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/apps/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmpstat/apps/CMakeLists.txt dcmpstat/libsrc/CMakeLists.txt dcmqrdb/apps/CMakeLists.txt dcmqrdb/libsrc/CMakeLists.txt dcmrt/apps/CMakeLists.txt dcmrt/libsrc/CMakeLists.txt dcmsign/apps/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/apps/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt dcmwlm/apps/CMakeLists.txt dcmwlm/libsrc/CMakeLists.txt oflog/libsrc/CMakeLists.txt ofstd/libsrc/CMakeLists.txt - Removed obsolete list of private modules. Affects: CMakeLists.txt **** Changes from 2012.07.09 (riesmeier) - Replaced remaining tabs by spaces. Affects: dcmdata/libsrc/dcswap.cc - Check HAVE_WINDOWS_H instead of _WIN32 for printing code page identifiers. Affects: ofstd/libsrc/ofconapp.cc - Replaced Windows-specific wildcard expansion for filenames by "setargv.obj". Affects: CMake/DCMTK.cmake dcmdata/apps/CMakeLists.txt dcmdata/apps/dcm2pdf.cc dcmdata/apps/dcm2xml.cc dcmdata/apps/dcmconv.cc dcmdata/apps/dcmcrle.cc dcmdata/apps/dcmdrle.cc dcmdata/apps/dcmdump.cc dcmdata/apps/dcmftest.cc dcmdata/apps/dcmgpdir.cc dcmdata/apps/dump2dcm.cc dcmdata/apps/img2dcm.cc dcmdata/apps/mdfconen.cc dcmdata/apps/pdf2dcm.cc dcmdata/apps/xml2dcm.cc dcmimage/apps/CMakeLists.txt dcmimgle/apps/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpeg/apps/dcmcjpeg.cc dcmjpeg/apps/dcmdjpeg.cc dcmjpls/apps/CMakeLists.txt dcmjpls/apps/dcmcjpls.cc dcmjpls/apps/dcmdjpls.cc dcmnet/apps/CMakeLists.txt dcmnet/apps/dcmsend.cc dcmnet/apps/echoscu.cc dcmnet/apps/findscu.cc dcmnet/apps/getscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmpstat/apps/CMakeLists.txt dcmpstat/apps/dcmmkcrv.cc dcmpstat/apps/dcmmklut.cc dcmpstat/apps/dcmp2pgm.cc dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmprscu.cc dcmpstat/apps/dcmpschk.cc dcmpstat/apps/dcmpsmk.cc dcmpstat/apps/dcmpsprt.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/apps/dcmpssnd.cc dcmpstat/tests/msgserv.cc dcmqrdb/apps/CMakeLists.txt dcmqrdb/apps/dcmqridx.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/apps/dcmqrti.cc dcmrt/apps/CMakeLists.txt dcmrt/apps/drtdump.cc dcmsign/apps/CMakeLists.txt dcmsign/apps/dcmsign.cc dcmsr/apps/CMakeLists.txt dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/apps/dsrdump.cc dcmsr/apps/xml2dsr.cc dcmwlm/apps/CMakeLists.txt dcmwlm/apps/wlcefs.cc ofstd/include/dcmtk/ofstd/ofcmdln.h ofstd/include/dcmtk/ofstd/ofconapp.h ofstd/include/dcmtk/ofstd/oftest.h **** Changes from 2012.07.05 (riesmeier) - Output the current OEM/ANSI code page identifiers on Windows systems. Affects: ofstd/include/dcmtk/ofstd/ofconapp.h ofstd/libsrc/ofconapp.cc - Made sure that library "sndfile" is disabled if path is not set. Affects: CMake/3rdparty.cmake - Removed double blank line at the end of the file. Affects: CMake/DCMTK.cmake **** Changes from 2012.07.04 (riesmeier) - Extended support for Windows-specific conversion to and from wide character encoding (UTF-16) by adding an optional "code page identifier" parameter. Also renamed the conversion functions (removed the "UTF8" from the names). Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc ofstd/tests/tchrenc.cc ofstd/tests/tests.cc **** Changes from 2012.07.03 (riesmeier) - Make sure that "??" is never used for an unknown VR in the XML output. Thanks to Mathieu Malaterre for the report. Affects: dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcsequen.cc **** Changes from 2012.07.02 (schlachter) - Rebuilt Makefile dependencies. Affects: dcmdata/apps/Makefile.dep dcmdata/libi2d/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpeg/libijg12/Makefile.dep dcmjpeg/libijg16/Makefile.dep dcmjpeg/libijg8/Makefile.dep dcmjpeg/libsrc/Makefile.dep dcmjpls/apps/Makefile.dep dcmjpls/libcharls/Makefile.dep dcmjpls/libsrc/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmrt/apps/Makefile.dep dcmrt/libsrc/Makefile.dep dcmrt/tests/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/tests/Makefile.dep dcmwlm/wwwapps/Makefile.dep oflog/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep ofstd/tests/Makefile.dep - Move configure checks to their own file. Added: CMake/DCMTK.cmake Affects: CMake/GenerateDCMTKConfigure.cmake CMakeLists.txt - Use the current source dir in CMakeLists.txt instead of the top-level one. Affects: CMakeLists.txt **** Changes from 2012.07.02 (riesmeier) - Enhanced output of warning message in case the private creator is missing. Fixed some typecast warnings reported by gcc 4.4.5 with additional options. Affects: dcmdata/libsrc/dcelem.cc - Fixed wrong logger output of File Meta Information Version (0002,0001). Affects: dcmdata/libsrc/dcfilefo.cc - Fixed wrong error message for conflict check of option --write-binary-data. Thanks to Mathieu Malaterre for the report. Affects: dcmdata/apps/dcm2xml.cc **** Changes from 2012.06.29 (riesmeier) - Added some more simple tests for the integrated XML parser. Affects: ofstd/tests/txml.cc **** Changes from 2012.06.28 (riesmeier) - Added comment that DCMTK does not compile when UNICODE or _UNICODE is defined on a Windows system (VisualStudio compiler). Affects: INSTALL - Fixed various warning messages reported by VisualStudio 2008 and gcc 4.4.5. Affects: dcmpstat/libsrc/dviface.cc **** Changes from 2012.06.27 (riesmeier) - Added new method isNested(), which checks whether an element/item is nested in a sequence of items (SQ) element or a top-level/stand-alone element/item. Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/include/dcmtk/dcmdata/dcpxitem.h dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc dcmdata/libsrc/dcpxitem.cc - Fixed wrong name of #include guard (was OFITER_H instead of OFALGO_H). Affects: ofstd/include/dcmtk/ofstd/ofalgo.h **** Changes from 2012.06.20 (riesmeier) - Slightly changed the rules for partial access to pixel data to reduce memory consumption (see comment on the CIF_UsePartialAccessToPixelData flag). Thanks to Peter Klotz for the original patch. Affects: dcmimgle/include/dcmtk/dcmimgle/diinpxt.h dcmimgle/include/dcmtk/dcmimgle/diutils.h dcmimage/apps/dcm2pnm.cc **** Changes from 2012.06.19 (riesmeier) - Replaced use of OFListIterator by OFListConstIterator for variable declaration in order to compile when HAVE_STL or HAVE_STL_LIST is defined. Affects: ofstd/include/dcmtk/ofstd/oftest.h **** Changes from 2012.06.15 (riesmeier) - Added support for writing the current CMake configuration to file in order to be used by external projects. Currently, only very basic configuration settings like version information and some build options are stored. Thanks to Marco Nolden for the suggestion. Added: CMake/DCMTKConfig.cmake.in Affects: CMakeLists.txt **** Changes from 2012.06.13 (riesmeier) - Added proper definition of "soname" for better shared library support. Thanks to Mario Ceresa for the original idea and to Mathieu Malaterre for the reminder. Affects: CMakeLists.txt dcmdata/libi2d/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmimgle/libsrc/CMakeLists.txt dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmpstat/libsrc/CMakeLists.txt dcmqrdb/libsrc/CMakeLists.txt dcmrt/libsrc/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt dcmwlm/libsrc/CMakeLists.txt oflog/libsrc/CMakeLists.txt ofstd/libsrc/CMakeLists.txt **** Changes from 2012.06.12 (riesmeier) - Converted deprecated CMake command SUBDIRS() into ADD_DIRECTORY() calls. Thanks to Hans J. Johnson for pointing this out. Affects: config/CMakeLists.txt dcmdata/CMakeLists.txt dcmimage/CMakeLists.txt dcmimgle/CMakeLists.txt dcmjpeg/CMakeLists.txt dcmjpls/CMakeLists.txt dcmnet/CMakeLists.txt dcmpstat/CMakeLists.txt dcmqrdb/CMakeLists.txt dcmrt/CMakeLists.txt dcmsign/CMakeLists.txt dcmsr/CMakeLists.txt dcmtls/CMakeLists.txt dcmwlm/CMakeLists.txt oflog/CMakeLists.txt ofstd/CMakeLists.txt **** Changes from 2012.06.11 (riesmeier) - Added optional "check" parameter to "set" methods and enhanced documentation. Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrcontn.h dcmsr/include/dcmtk/dcmsr/dsrcsidl.h dcmsr/include/dcmtk/dcmsr/dsrdattn.h dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrdtitn.h dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h dcmsr/include/dcmtk/dcmsr/dsrrefin.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h dcmsr/include/dcmtk/dcmsr/dsrscovl.h dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/include/dcmtk/dcmsr/dsrstrvl.h dcmsr/include/dcmtk/dcmsr/dsrtcodt.h dcmsr/include/dcmtk/dcmsr/dsrtcovl.h dcmsr/include/dcmtk/dcmsr/dsrtextn.h dcmsr/include/dcmtk/dcmsr/dsrtimtn.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/include/dcmtk/dcmsr/dsruidtn.h dcmsr/include/dcmtk/dcmsr/dsrwavvl.h dcmsr/libsrc/dsrcitem.cc dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrcomtn.cc dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrcontn.cc dcmsr/libsrc/dsrcsidl.cc dcmsr/libsrc/dsrdattn.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrdtitn.cc dcmsr/libsrc/dsrimgtn.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrpnmtn.cc dcmsr/libsrc/dsrrefin.cc dcmsr/libsrc/dsrreftn.cc dcmsr/libsrc/dsrsc3vl.cc dcmsr/libsrc/dsrscovl.cc dcmsr/libsrc/dsrsoprf.cc dcmsr/libsrc/dsrstrvl.cc dcmsr/libsrc/dsrtcodt.cc dcmsr/libsrc/dsrtcovl.cc dcmsr/libsrc/dsrtextn.cc dcmsr/libsrc/dsrtimtn.cc dcmsr/libsrc/dsrtypes.cc dcmsr/libsrc/dsruidtn.cc dcmsr/libsrc/dsrwavvl.cc **** Changes from 2012.06.04 (riesmeier) - Moved module for "DICOM in Radiation Therapy" (DCMRT) to the public DCMTK. Please note that this module is not yet complete, because the so-called medium-level API is still missing. Currently, it consists of classes that are generated automatically based on the 2007 edition of the DICOM standard. See "dcmrt/CHANGES" file for details on changes before this merge happened. Added: doxygen/manpages/man1/drtdump.1 Affects: CMakeLists.txt COPYRIGHT Makefile README config/modules doxygen/htmldocs.cfg doxygen/htmldocs.dox - Removed double entry on dcmqrdb module (second one added with last commit). Affects: doxygen/htmldocs.dox **** Changes from 2012.06.04 (schlachter) - Added an 'exhaustive' test mode for running slow tests. Affects: ofstd/include/dcmtk/ofstd/oftest.h ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.in ofstd/tests/tests.cc ofstd/tests/toffile.cc **** Changes from 2012.05.30 (riesmeier) - Added support for Waveform Storage SOP Classes introduced after 2003 edition of the DICOM standard, i.e. General Audio, Arterial Pulse and Respiratory. Affects: dcmsr/include/dcmtk/dcmsr/dsrwavvl.h dcmsr/libsrc/dsrwavvl.cc **** Changes from 2012.05.29 (riesmeier) - Slightly modified code for using methods from class DcmSequenceOfItems. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/libsrc/dsrcsidl.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrrefin.cc dcmsr/libsrc/dsrsoprf.cc dcmsr/libsrc/dsrtypes.cc - Added explicit type casts or changed type declaration in order to avoid warnings reported by gcc 4.4.5 (Linux) with additional flags. Affects: dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrreftn.cc **** Changes from 2012.05.25 (riesmeier) - Added support for optional Retrieve Location UID (0040,E011) to the class DSRSOPInstanceReferenceList since it is required for IHE XDS-I (see CP-958). Thanks to forum user "xcoder" for pointing this out. Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/libsrc/dsrsoprf.cc - Added note on current limitations of the XML Schema "dsr2xml.xsd". Affects: dcmsr/docs/dsr2xml.man dcmsr/docs/xml2dsr.man **** Changes from 2012.05.24 (riesmeier) - Added Windows-specific support for converting between wide character encoding (UTF-16) and UTF-8. No external library is required for this, e.g. libiconv. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc ofstd/tests/tchrenc.cc ofstd/tests/tests.cc **** Changes from 2012.05.23 (riesmeier) - Simplified code of assignment operator since OFList::operator=() now exists. Affects: dcmsr/libsrc/dsrtncsr.cc **** Changes from 2012.05.15 (riesmeier) - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/* - Added missing word "directory" to libsndfile warning message. Affects: CMake/3rdparty.cmake **** Changes from 2012.05.14 (onken) - Enhanced handling of error codes for C-GET (added explicit support for missing code Ax702 and enhanced recognition of customized 0xCxxx codes.) Affects: dcmtk/dcmnet/scu.cc **** Changes from 2012.05.14 (schlachter) - Fixed error reporting for all objects created through a factory. Thanks to Heyo Spekker for reporting this issue. Affects: oflog/libsrc/factory.cc **** Changes from 2012.05.10 (riesmeier) - Added explicit type casts to avoid warnings reported by gcc 4.4.5 (Linux) with additional flags. Affects: ofstd/libsrc/ofcmdln.cc ofstd/libsrc/oftime.cc ofstd/tests/tchrenc.cc **** Changes from 2012.05.08 (riesmeier) - Output a warning message if value of "maxBytesPerStudy" exceeds upper limit. Thanks to Michal Spacek for the suggested patch. Affects: dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2012.05.07 (riesmeier) - Added suppport for accessing the parent of a DICOM object/element, i.e. the surrounding structure in the DICOM dataset, in which it is contained. This also includes access to both the parent and the root item. Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/include/dcmtk/dcmdata/dcpxitem.h dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc dcmdata/libsrc/dcpixseq.cc dcmdata/libsrc/dcpxitem.cc dcmdata/libsrc/dcsequen.cc **** Changes from 2012.05.07 (schlachter) - Fixed a bug in the earlier bug fix where a 32bit int may be shifted by 32. Affects: dcmjpls/libcharls/encodstr.h - Added a test for the new functions for accessing parent objects and items. Added: dcmdata/tests/dctmacro.h dcmdata/tests/tparent.cc Affects: dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.in dcmdata/tests/tests.cc dcmdata/tests/tparser.cc - Fixed a bug in the output buffer flushing which caused a failed assertion. Thanks to forum user "wollet88" for the original report. Affects: dcmjpls/libcharls/encodstr.h **** Changes from 2012.05.04 (onken) - Cleaned up includes. Thanks to Michal Spacek for the hint. Fixed plugin functionality to receive list of supported SOP classes. Affects: dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2d.h dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2doutpl.h dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2dplnsc.h dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2dplsc.h dcmtk/dcmdata/include/dcmtk/dcmdata/libi2d/i2dplvlp.h dcmtk/dcmdata/libi2d/i2dplnsc.cc dcmtk/dcmdata/libi2d/i2dplsc.cc dcmtk/dcmdata/libi2d/i2dplvlp.cc **** Changes from 2012.04.25 (riesmeier) - Now, also error log messages are disabled by default. Affects: ofstd/include/dcmtk/ofstd/oftest.h - Made sure that NDEBUG is always defined in release mode when overwriting the compiler flags for Visual Studio on Windows systems, which is the default. Thanks to forum user "wollet88" for the original report. Affects: CMakeLists.txt **** Changes from 2012.04.19 (riesmeier) - Updated information on latest CMake version that has been tested to "2.8.8". Affects: CMakeLists.txt **** Changes from 2012.04.18 (riesmeier) - Fixed wrong reference to ".txt" files with further documentation. Thanks to Dimitri Papadopoulos for pointing this out. Affects: dcmnet/docs/testing.txt **** Changes from 2012.04.17 (riesmeier) - Made it clearer that --search prints the textual dump of the specified tag (consisting of tag, VR, value, etc.) and not only the element's value. Affects: dcmdata/apps/dcmdump.cc dcmdata/docs/dcmdump.man **** Changes from 2012.04.16 (schlachter) - Fixed several assignment operators in STL replacement classes. Affects: ofstd/include/dcmtk/ofstd/ofmap.h ofstd/include/dcmtk/ofstd/ofstack.h ofstd/include/dcmtk/ofstd/ofvector.h **** Changes from 2012.04.13 (riesmeier) - Avoid crash on Windows systems when prepareCmdLineArgs() is called multiple times. Thanks to Hanno Hugenberg for the report and suggested fix. Affects: dcmdata/libsrc/cmdlnarg.cc - Made sure that VisualStudio does not complain about the redefinition of O_BINARY (moved existing code a few lines down). Affects: dcmdata/libsrc/dcdicdir.cc **** Changes from 2012.04.12 (riesmeier) - Added support for CP-1188 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added support for CP-1182 (Add SOP Classes to CT/MR Media Profiles). Affects: dcmdata/libsrc/dcddirif.cc - Added support for CP-1123 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2012.04.11 (schlachter) - Use OFVector instead of OFOrderedSet for the file list. Affects: dcmwlm/include/dcmtk/dcmwlm/wlfsim.h dcmwlm/libsrc/wlfsim.cc - Fix a narrowing conversion error with gcc 4.7.0. Yay for C++11. Affects: dcmdata/tests/tparser.cc - Minor change to make gcc 4.7.0 happy. Affects: ofstd/include/dcmtk/ofstd/ofuoset.h **** Changes from 2012.03.27 (schlachter) - Use O_BINARY again when writing dicom dirs. Affects: dcmdata/libsrc/dcdicdir.cc **** Changes from 2012.03.21 (riesmeier) - Never create temporary DICOMDIR file in "temp" directory in order to avoid possible EXDEV I/O error (Invalid cross-device link). Affects: dcmdata/libsrc/dcdicdir.cc **** Changes from 2012.03.12 (riesmeier) - Slightly adapted code in order to avoid unneeded calls to OFString::c_str(). Affects: dcmdata/libsrc/dcddirif.cc - Made sure that the member variable "nonSignificantChars" is also copied in the copy constructor and the assignment operator. Affects: dcmdata/libsrc/dcbytstr.cc - Added new command line options for parsing incorrectly encoded datasets where the sequence and/or item delimitation items are mixed up. Affects: dcmdata/apps/dcmconv.cc dcmdata/apps/dcmdump.cc dcmdata/docs/dcmconv.man dcmdata/docs/dcmdump.man - Added new parser flag that allows for reading corrupted datasets where the sequence and/or item delimitation items are incorrect (e.g. mixed up). Thanks to Carmen Avram for the report and test data. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc dcmdata/libsrc/dcsequen.cc dcmdata/tests/tests.cc dcmdata/tests/tparser.cc - Updated gcc version number based on the main development system (Linux). Affects: INSTALL - Output debug message in case access to a storage area is not permitted. Affects: dcmqrdb/libsrc/dcmqrsrv.cc **** Changes from 2012.03.06 (riesmeier) - Fixed Doxygen documentation issues: Appended "\" in case "." does not mark the end of a sentence. Also made documentation on DICOMDIR use clearer. Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h - Fixed Doxygen documentation issue in subsection title. Affects: dcmpstat/docs/dcmpsprt.man **** Changes from 2012.02.28 (riesmeier) - Fixed compilation issue on MinGW/MSYS systems (modified #ifdef statement). Thanks to forum user "martinrame" for the report. Affects: ofstd/libsrc/ofchrenc.cc **** Changes from 2012.02.24 (riesmeier) - Updated copyright date. Affects: COPYRIGHT **** Changes from 2012.02.23 (riesmeier) - Fixed Doxygen documentation issue: Appended "\" in case "." does not mark the end of a sentence. Affects: ofstd/include/dcmtk/ofstd/ofcond.h **** Changes from 2012.02.22 (riesmeier) - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/* **** Changes from 2012.02.21 (riesmeier) - Removed misplaced export macro (forward declaration of a class). Affects: oflog/include/dcmtk/oflog/socketap.h - Fixed wrong comment on the time complexity of the swap() function. Affects: ofstd/include/dcmtk/ofstd/ofstring.h - Added fast, non-throwing swap function to OFFilename class. Thanks to Niels Dekker for providing the patch. Affects: ofstd/include/dcmtk/ofstd/offile.h - Added support for progress notifications while sending and receiving DICOM datasets. Thanks to Michal Spacek for the original patch. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc **** Changes from 2012.02.20 (riesmeier) - Replaced tab by space character. Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h - Minor changes of source code formatting, documentation and the like. Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrsc3gr.cc dcmsr/libsrc/dsrscogr.cc dcmsr/libsrc/dsrscotn.cc dcmsr/libsrc/dsrtcoto.cc dcmsr/libsrc/dsrwavch.cc - Fixed typo in comment. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/assoc.cc dcmqrdb/libsrc/dcmqrptb.cc - Rebuilt Makefile dependencies. Affects: dcmdata/apps/Makefile.dep dcmdata/libi2d/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpeg/libijg12/Makefile.dep dcmjpeg/libijg16/Makefile.dep dcmjpeg/libijg8/Makefile.dep dcmjpeg/libsrc/Makefile.dep dcmjpls/apps/Makefile.dep dcmjpls/libcharls/Makefile.dep dcmjpls/libsrc/Makefile.dep dcmnet/apps/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/tests/Makefile.dep dcmwlm/wwwapps/Makefile.dep oflog/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep ofstd/tests/Makefile.dep - Added initial support for wide character strings (UTF-16) used for filenames by the Windows operating system. Thanks to Niels Dekker and Jeroen Eggermont for the suggestion. Affects: CMakeLists.txt CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/docs/macros.txt dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/include/dcmtk/dcmdata/dcistrmf.h dcmdata/include/dcmtk/dcmdata/dcmetinf.h dcmdata/include/dcmtk/dcmdata/dcostrmf.h dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcistrmf.cc dcmdata/libsrc/dcmetinf.cc dcmdata/libsrc/dcostrmf.cc ofstd/include/dcmtk/ofstd/offile.h ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Output dataset dump with PF_convertToOctalNumbers flag in case of error. This makes some unusual control characters more visible in the output. Affects: dcmsr/libsrc/dsrdoctn.cc **** Changes from 2012.02.17 (riesmeier) - Added missing "stdlib" include, required for free() on some Linux systems. Thanks to Markus Mertens for the report. Affects: ofstd/include/dcmtk/ofstd/ofcond.h **** Changes from 2012.02.15 (riesmeier) - Improved performance of findParam() when used with long list of parameters. Now, the previous parameter position is used for searching (if possible). Affects: ofstd/include/dcmtk/ofstd/ofcmdln.h ofstd/libsrc/ofcmdln.cc **** Changes from 2012.02.15 (schlachter) - Removed dependency on static initialization order from OFCondition. All static condition objects are now created via makeOFConditionConst() in a way that doesn't need a constructor to run. This should only break code which defines its own condition objects, all other changes are backwards compatible. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcerror.cc dcmjpeg/include/dcmtk/dcmjpeg/djutils.h dcmjpeg/libsrc/djutils.cc dcmjpls/include/dcmtk/dcmjpls/djlsutil.h dcmjpls/libsrc/djerror.h dcmjpls/libsrc/djutils.cc dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/libsrc/cond.cc dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h dcmqrdb/libsrc/dcmqropt.cc dcmrt/include/dcmtk/dcmrt/drttypes.h dcmrt/libsrc/drttypes.cc dcmsign/include/dcmtk/dcmsign/sitypes.h dcmsign/libsrc/sitypes.cc dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc dcmwlm/include/dcmtk/dcmwlm/wltypdef.h ofstd/include/dcmtk/ofstd/ofcond.h ofstd/libsrc/ofcond.cc - Don't use C++ comments in file included from C. Affects: ofstd/include/dcmtk/ofstd/ofexport.h - Removed OFCONDITION_STRICT_MODE since DCMTK didn't compile in this mode. Affects: config/docs/macros.txt dcmdata/include/dcmtk/dcmdata/dcerror.h dcmnet/include/dcmtk/dcmnet/cond.h ofstd/include/dcmtk/ofstd/ofcond.h **** Changes from 2012.02.14 (riesmeier) - Added support for Observation UID (0040,A171) to content items (CP-1147). Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/libsrc/dsrcitem.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrreftn.cc **** Changes from 2012.02.10 (onken) - Removed duplicate log message when closing an association. Affects: dcmnet/apps/getscu.cc **** Changes from 2012.02.10 (riesmeier) - Introduced a new timeout of 60 seconds for the send() function in order to make sure that the association is terminated if the sender looses the connection to the receiver. This can be disabled by DISABLE_SEND_TIMEOUT. Thanks to forum user "Matterhorn" for the original report. Affects: config/docs/macros.txt dcmnet/libsrc/dcmtrans.cc - Moved setting of timeout for recv() function to the DcmTransportConnection constructor. The previous commit was not really solving the problem. Affects: dcmnet/libsrc/dcmtrans.cc dcmnet/libsrc/dul.cc dcmnet/libsrc/Makefile.dep - Moved setting of timeout for the recv() function to initializeNetworkTCP(), i.e. now it applies to both incoming and outgoing connections. Affects: dcmnet/libsrc/dul.cc - Fixed issue with tagExistsWithValue() and compressed PixelData (7fe0,0010). Thanks to forum user "angad" for the original report. Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcitem.cc **** Changes from 2012.02.08 (schlachter) - Link libraries against their external dependencies. Affects: dcmdata/libsrc/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt ofstd/libsrc/CMakeLists.txt **** Changes from 2012.02.07 (riesmeier) - Added comment about conflicting definition of (0040,A170) in Supplement 23 (frozen draft from 1997) and DICOM standard. This might result in parsing errors when reading/processing old trial implementation draft SR documents. Affects: dcmdata/data/dicom.dic **** Changes from 2012.02.03 (riesmeier) - Added missing package include statement for "FindPackageHandleStandardArgs". Thanks to Julien Finet for the report and fix. Affects: CMake/FindICONV.cmake **** Changes from 2012.02.01 (schlachter) - Don't call MSVC++ with -fvisibility=hidden. Affects: CMakeLists.txt - Build the ijg libraries as shared libraries if BUILD_SHARED_LIBS is ON. Affects: dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg12/jmorecfg12.h dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg16/jmorecfg16.h dcmjpeg/libijg8/CMakeLists.txt dcmjpeg/libijg8/jmorecfg8.h - Moved some definitions to a file that can be included from C. Added: ofstd/include/dcmtk/ofstd/ofexport.h Affects: ofstd/include/dcmtk/ofstd/ofdefine.h - Build charls as a shared library if BUILD_SHARED_LIBS is ON. Affects: dcmjpls/libcharls/CMakeLists.txt dcmjpls/libcharls/intrface.h - Corrected CMake's test for strerror_r()'s return value. Thanks to forum user "chaircrusher" for the report. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2012.01.30 (riesmeier) - Added explicit type cast to avoid warning reporting on Mac OS X with Clang. Thanks to forum user "chaircrusher" for the report and suggested patch. Affects: dcmdata/libsrc/dcvrobow.cc - Fixed issue reported on Mac OS X with Clang: Only define the macro MAX() if not yet defined somewhere else. Thanks to forum user "chaircrusher" for the report. Affects: dcmwlm/wwwapps/writwlst.cc - Fixed issue with wrong initialization of member variable "waitMillis". Thanks to forum user "chaircrusher" for the report. Affects: oflog/libsrc/config.cc **** Changes from 2012.01.27 (elgazzar) - Added a module number for the dcmkosel module Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h **** Changes from 2012.01.26 (riesmeier) - Removed outdated comment on the main class and revised some other comments. Affects: dcmdata/include/dcmtk/dcmdata/dcspchrs.h - Converted (static) class variable to member variable in order to avoid crash on Windows systems (OFCondition instances cannot be used in global objects). Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/libsrc/dsrcitem.cc - Fixed wrong return status when reading an IMAGE content item without icon. Affects: dcmsr/libsrc/dsrimgvl.cc **** Changes from 2012.01.24 (riesmeier) - Fixed wrong line break in XML output, which caused problems with the xml2dcm conversion. Thanks to forum user "henry" for the report. Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2012.01.18 (schlachter) - Don't use P_tmpdir because in MSC6 this define breaks OFTempFile. Affects: ofstd/libsrc/oftempf.cc - Made it clearer that CMake also works on non-windows systems. Affects: INSTALL - Fixed OFPair to compile again on MSC6. Affects: ofstd/include/dcmtk/ofstd/ofmap.h - Correctly disable warning 4251 with MSC6. Affects: CMakeLists.txt CMake/osconfig.h.in - Added support for building with hidden visibility. Affects: CMakeLists.txt CMake/osconfig.h.in oflog/include/dcmtk/oflog/config.h oflog/include/dcmtk/oflog/config/win32.h ofstd/include/dcmtk/ofstd/ofdefine.h ofstd/include/dcmtk/ofstd/ofxml.h **** Changes from 2012.01.12 (riesmeier) - Added note that the dataset passed to the write method is not cleared. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrdoctr.h **** Changes from 2012.01.10 (riesmeier) - Fixed inconsistent transfer syntax names in given example (added spaces). Thanks to Detlev Hohmeier for the report. Affects: dcmdata/docs/dcm2xml.man dcmdata/docs/xml2dcm.man **** Changes from 2012.01.06 (riesmeier) - Make sure to link LIBTIFF and LIBPNG to programs that use the dcmsr library in order to avoid linker errors when compiling with shared libraries. Affects: dcmsr/apps/CMakeLists.txt dcmsr/apps/Makefile.in dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.in dcmpstat/apps/CMakeLists.txt dcmpstat/apps/Makefile.in dcmpstat/tests/Makefile.in **** Changes from 2012.01.06 (schlachter) - Replace ${STATIC_ON_WINDOWS} with STATIC. Affects: CMakeLists.txt dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt - Reintroduce library components which were lost in the DLL commits. Affects: dcmdata/libi2d/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmimgle/libsrc/CMakeLists.txt dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmpstat/libsrc/CMakeLists.txt dcmqrdb/libsrc/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt dcmwlm/libsrc/CMakeLists.txt oflog/libsrc/CMakeLists.txt ofstd/libsrc/CMakeLists.txt - Make it possible to build dcmpstat as a DLL. Thanks to Thomas Sondergaard for making this possible. Added: dcmpstat/include/dcmtk/dcmpstat/dpdefine.h Affects: dcmpstat/include/dcmtk/dcmpstat/*.h dcmpstat/libsrc/CMakeLists.txt - Make it possible to build dcmsr as a DLL. Thanks to Thomas Sondergaard for making this possible. Added: dcmsr/include/dcmtk/dcmsr/dsdefine.h Affects: dcmsr/include/dcmtk/dcmsr/*.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/dsrimgfr.cc dcmsr/libsrc/dsrtcodt.cc dcmsr/libsrc/dsrtcosp.cc dcmsr/libsrc/dsrtcoto.cc **** Changes from 2012.01.05 (riesmeier) - Fixed issue with output of strings with embedded NULL bytes to the logger. Thanks to Michal Spacek for the original report. Affects: ofstd/include/dcmtk/ofstd/ofstream.h - Fixed issue with old stringstream classes (reported by VisualStudio 2005). Affects: ofstd/include/dcmtk/ofstd/ofstream.h - Added explicit type casts to keep VisualStudio 2005 quiet. Affects: ofstd/libsrc/ofuuid.cc **** Changes from 2012.01.04 (riesmeier) - Updated information on latest CMake version that has been tested to "2.8.7". Affects: CMakeLists.txt **** Changes from 2012.01.03 (riesmeier) - Fixed bug in putString() method when a UID name is mapped to a UID number. Thanks to Michal Spacek for the report and suggested fix. Affects: dcmdata/libsrc/dcvrui.cc - Also link "dcmimage" library, which is now required by the "dcmsr" library. Affects: dcmpstat/apps/CMakeLists.txt dcmpstat/apps/Makefile.in - Added support for icon image to IMAGE content item (introduced with CP-217). Affects: dcmsr/CMakeLists.txt dcmsr/apps/CMakeLists.txt dcmsr/apps/Makefile.dep dcmsr/apps/Makefile.in dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrtypes.cc dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.dep dcmsr/tests/Makefile.in **** Changes from 2011.12.22 (riesmeier) - Fixed issue with user-defined modality LUT transformation in combination with the processNextFrames() method. Thanks to forum user "jacobscolin" for the original report. Affects: dcmimgle/include/dcmtk/dcmimgle/dimopx.h dcmimgle/libsrc/dimoimg.cc dcmimgle/libsrc/dimopx.cc **** Changes from 2011.12.16 (eichelberg) - Minor changes for MSVC6 compatibility Affects: dcmnet/apps/getscu.cc dcmwlm/wwwapps/readoviw.cc dcmwlm/wwwapps/readwlst.cc **** Changes from 2011.12.16 (riesmeier) - Added support for optional attribute Fiducial UID (0070,031A) to SCOORD and SCOORD3D content items. Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h dcmsr/include/dcmtk/dcmsr/dsrscovl.h dcmsr/libsrc/dsrsc3vl.cc dcmsr/libsrc/dsrscovl.cc - Added support for 16 bits per sample to PNG image export. Thanks to forum user "AlexanderLysenko" for the original idea. Affects: dcmimage/apps/dcm2pnm.cc dcmimage/docs/dcm2pnm.man dcmimage/include/dcmtk/dcmimage/dipipng.h dcmimage/libsrc/dipipng.cc dcmjpeg/docs/dcmj2pnm.man dcmjpls/docs/dcml2pnm.man **** Changes from 2011.12.15 (riesmeier) - Fixed typo in comments. Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/libsrc/dsrcodvl.cc dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrstrvl.cc dcmsr/libsrc/dsrwavvl.cc - Fixed issue in XML Schema: The concept name is optional/conditional for SCOORD, SCOORD3D and TCOORD content items. Affects: dcmsr/data/dsr2xml.xsd - Added support for optional series-related attributes (Series Date and Series Time). Also improved handling of other study/series-related attributes. Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc - Added support for additional representations of a numeric value according to CP-1064 (Float VR in numeric SR content items). Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrnumvl.cc dcmsr/libsrc/dsrtypes.cc **** Changes from 2011.12.14 (riesmeier) - Added initial support for the "Enhanced Encoding Mode", which comprises some optional attributes that further describe a code value. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/libsrc/dsrcodvl.cc - Fixed wrong definition of value representation Date Time (DT): All trailing components can be omitted, i.e. the shortest DT value consists of "YYYY". Affects: dcmdata/libsrc/vrscanl.c dcmdata/libsrc/vrscanl.h dcmdata/libsrc/vrscanl.l dcmdata/tests/tchval.cc - Report a warning if the value of Template Identifier (0040,DB00) does not follow the rules for DICOM template identifiers. Affects: dcmsr/libsrc/dsrdoctn.cc **** Changes from 2011.12.14 (schlachter) - Make it possible to build dcmqrdb as a DLL. Thanks to Thomas Sondergaard for making this possible. Added: dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbf.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbg.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbm.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbs.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbs.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrptb.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrtis.h dcmqrdb/libsrc/CMakeLists.txt - Make it possible to precisely build dcmsign and dcmwlm as DLLs. Thanks to Thomas Sondergaard for doing the hard work. Added: dcmsign/include/dcmtk/dcmsign/sidefine.h dcmwlm/include/dcmtk/dcmwlm/wldefine.h Affects: dcmsign/include/dcmtk/dcmsign/* dcmsign/libsrc/CMakeLists.txt dcmsign/libsrc/dcsignat.cc dcmwlm/include/dcmtk/dcmwlm/wlds.h dcmwlm/include/dcmtk/dcmwlm/wldsfs.h dcmwlm/include/dcmtk/dcmwlm/wlfsim.h dcmwlm/include/dcmtk/dcmwlm/wlmactmg.h dcmwlm/include/dcmtk/dcmwlm/wltypdef.h dcmwlm/libsrc/CMakeLists.txt - Make it possible to perfectly build dcmnet and dcmtls as DLLs. Thanks to Thomas Sondergaard for making this possible. Added: dcmnet/include/dcmtk/dcmnet/dndefine.h dcmtls/include/dcmtk/dcmtls/tlsdefin.h Affects: dcmnet/include/dcmtk/dcmnet/* dcmnet/libsrc/CMakeLists.txt dcmtls/include/dcmtk/dcmtls/tlslayer.h dcmtls/include/dcmtk/dcmtls/tlsscu.h dcmtls/include/dcmtk/dcmtls/tlstrans.h dcmtls/libsrc/CMakeLists.txt dcmtls/libsrc/tlslayer.cc - Add some changes which were missing in the previous commit. Affects: dcmjpls/include/dcmtk/dcmjpls/djcodecd.h dcmjpls/include/dcmtk/dcmjpls/djcodece.h dcmjpls/include/dcmtk/dcmjpls/djlsutil.h dcmjpls/include/dcmtk/dcmjpls/djrparam.h - Make it possible to rightly build dcmjpls as a DLL. Thanks to Thomas Sondergaard for making this possible. Added: dcmjpls/include/dcmtk/dcmjpls/dldefine.h Affects: dcmjpls/include/dcmtk/dcmjpls/djcodecd.h dcmjpls/include/dcmtk/dcmjpls/djcodece.h dcmjpls/include/dcmtk/dcmjpls/djcparam.h dcmjpls/include/dcmtk/dcmjpls/djdecode.h dcmjpls/include/dcmtk/dcmjpls/djencode.h dcmjpls/include/dcmtk/dcmjpls/djlsutil.h dcmjpls/include/dcmtk/dcmjpls/djrparam.h dcmjpls/libcharls/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt - Make it possible to decently build dcmjpeg as a DLL. Thanks to Thomas Sondergaard for making this possible. Added: dcmjpeg/include/dcmtk/dcmjpeg/djdefine.h Affects: dcmjpeg/include/dcmtk/dcmjpeg/* dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt - Make it possible to nicely build dcmimage as a DLL. Thanks to Thomas Sondergaard for making this possible. Added: dcmimage/include/dcmtk/dcmimage/dicdefin.h Affects: dcmimage/include/dcmtk/dcmimage/diargimg.h dcmimage/include/dcmtk/dcmimage/dicmyimg.h dcmimage/include/dcmtk/dcmimage/dicoimg.h dcmimage/include/dcmtk/dcmimage/dicoopx.h dcmimage/include/dcmtk/dcmimage/dicopx.h dcmimage/include/dcmtk/dcmimage/dihsvimg.h dcmimage/include/dcmtk/dcmimage/dilogger.h dcmimage/include/dcmtk/dcmimage/dipalimg.h dcmimage/include/dcmtk/dcmimage/dipipng.h dcmimage/include/dcmtk/dcmimage/dipitiff.h dcmimage/include/dcmtk/dcmimage/diqtctab.h dcmimage/include/dcmtk/dcmimage/diqtfs.h dcmimage/include/dcmtk/dcmimage/diqthash.h dcmimage/include/dcmtk/dcmimage/diqthitl.h dcmimage/include/dcmtk/dcmimage/diqthitm.h dcmimage/include/dcmtk/dcmimage/diqtid.h dcmimage/include/dcmtk/dcmimage/diqtpbox.h dcmimage/include/dcmtk/dcmimage/diqtpix.h dcmimage/include/dcmtk/dcmimage/diqtstab.h dcmimage/include/dcmtk/dcmimage/diqttype.h dcmimage/include/dcmtk/dcmimage/diquant.h dcmimage/include/dcmtk/dcmimage/diregist.h dcmimage/include/dcmtk/dcmimage/dirgbimg.h dcmimage/include/dcmtk/dcmimage/diybrimg.h dcmimage/include/dcmtk/dcmimage/diyf2img.h dcmimage/include/dcmtk/dcmimage/diyp2img.h dcmimage/libsrc/CMakeLists.txt - Make it possible to properly build dcmimgle as a DLL. Thanks to Thomas Sondergaard for making this possible. Added: dcmimgle/include/dcmtk/dcmimgle/didefine.h Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h dcmimgle/include/dcmtk/dcmimgle/dibaslut.h dcmimgle/include/dcmtk/dcmimgle/diciefn.h dcmimgle/include/dcmtk/dcmimgle/dicielut.h dcmimgle/include/dcmtk/dcmimgle/didislut.h dcmimgle/include/dcmtk/dcmimgle/didispfn.h dcmimgle/include/dcmtk/dcmimgle/didocu.h dcmimgle/include/dcmtk/dcmimgle/digsdfn.h dcmimgle/include/dcmtk/dcmimgle/digsdlut.h dcmimgle/include/dcmtk/dcmimgle/diimage.h dcmimgle/include/dcmtk/dcmimgle/diinpx.h dcmimgle/include/dcmtk/dcmimgle/diluptab.h dcmimgle/include/dcmtk/dcmimgle/dimo1img.h dcmimgle/include/dcmtk/dcmimgle/dimo2img.h dcmimgle/include/dcmtk/dcmimgle/dimoimg.h dcmimgle/include/dcmtk/dcmimgle/dimomod.h dcmimgle/include/dcmtk/dcmimgle/dimoopx.h dcmimgle/include/dcmtk/dcmimgle/dimopx.h dcmimgle/include/dcmtk/dcmimgle/diobjcou.h dcmimgle/include/dcmtk/dcmimgle/diovdat.h dcmimgle/include/dcmtk/dcmimgle/diovlay.h dcmimgle/include/dcmtk/dcmimgle/diovlimg.h dcmimgle/include/dcmtk/dcmimgle/diovpln.h dcmimgle/include/dcmtk/dcmimgle/dipixel.h dcmimgle/include/dcmtk/dcmimgle/diplugin.h dcmimgle/include/dcmtk/dcmimgle/diregbas.h dcmimgle/include/dcmtk/dcmimgle/diutils.h dcmimgle/libsrc/CMakeLists.txt - Make it possible to accurately build dcmdata and libi2d as DLLs. Thanks to Thomas Sondergaard for his work. Added: dcmdata/include/dcmtk/dcmdata/dcdefine.h dcmdata/include/dcmtk/dcmdata/libi2d/i2define.h Affects: dcmdata/include/dcmtk/dcmdata/* dcmdata/include/dcmtk/dcmdata/libi2d/* dcmdata/libi2d/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt - Make it possible to successfully build oflog as a DLL. Thanks to Thomas Sondergaard for his work. Affects: oflog/include/dcmtk/oflog/oflog.h oflog/include/dcmtk/oflog/config/win32.h oflog/libsrc/CMakeLists.txt - Make it possible to correctly build ofstd as a DLL. Thanks to Thomas Sondergaard for his work. Affects: CMake/osconfig.h.in CMakeLists.txt ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/include/dcmtk/ofstd/ofcmdln.h ofstd/include/dcmtk/ofstd/ofconapp.h ofstd/include/dcmtk/ofstd/ofcond.h ofstd/include/dcmtk/ofstd/ofconfig.h ofstd/include/dcmtk/ofstd/ofconsol.h ofstd/include/dcmtk/ofstd/ofcrc32.h ofstd/include/dcmtk/ofstd/ofdate.h ofstd/include/dcmtk/ofstd/ofdatime.h ofstd/include/dcmtk/ofstd/ofdefine.h ofstd/include/dcmtk/ofstd/offname.h ofstd/include/dcmtk/ofstd/oflist.h ofstd/include/dcmtk/ofstd/ofstack.h ofstd/include/dcmtk/ofstd/ofstd.h ofstd/include/dcmtk/ofstd/ofstring.h ofstd/include/dcmtk/ofstd/oftempf.h ofstd/include/dcmtk/ofstd/ofthread.h ofstd/include/dcmtk/ofstd/oftime.h ofstd/include/dcmtk/ofstd/oftimer.h ofstd/include/dcmtk/ofstd/ofuuid.h ofstd/include/dcmtk/ofstd/ofxml.h ofstd/libsrc/CMakeLists.txt - Always build static libraries on windows (for now). Affects: CMakeLists.txt dcmdata/libi2d/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmimgle/libsrc/CMakeLists.txt dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmpstat/libsrc/CMakeLists.txt dcmqrdb/libsrc/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt dcmwlm/libsrc/CMakeLists.txt oflog/libsrc/CMakeLists.txt ofstd/libsrc/CMakeLists.txt **** Changes from 2011.12.12 (riesmeier) - Added missing header file for memcmp(), needed by gcc 4.4.3 on Linux. Thanks to Markus Mertens for the original issue report. Affects: ofstd/tests/Makefile.dep ofstd/tests/tuuid.cc **** Changes from 2011.12.09 (riesmeier) - Removed numerous explicit typecasts because they are not needed any longer. Affects: dcmsr/libsrc/dsrcsidl.cc - Fixed various comments (Doxygen documentation). Affects: dcmsr/include/dcmtk/dcmsr/dsrcsidl.h - Changed "module name" when checking an element value (now using the default). Affects: dcmsr/libsrc/dsrcodvl.cc - Rebuilt Makefile dependencies. Affects: dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep - Added support for optional Purpose of Reference Code Sequence (0040,A170) to class DSRSOPInstanceReferenceList. Affects: dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrsoprf.cc - Use "defaultValue" parameter of dcmFindNameOfUID() where appropriate. Affects: dcmsr/libsrc/dsrcomvl.cc dcmsr/libsrc/dsrwavvl.cc - Added support for the Referenced Instance Sequence (0008,114A) introduced with CP-670 (Reference rendering of SR), which allows for referencing an equivalent CDA document or a rendering as an Encapsulated PDF document. Added: dcmsr/include/dcmtk/dcmsr/dsrrefin.h dcmsr/libsrc/dsrrefin.cc Affects: dcmsr/apps/Makefile.dep dcmsr/data/dsr2xml.xsd dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/CMakeLists.txt dcmsr/libsrc/Makefile.dep dcmsr/libsrc/Makefile.in dcmsr/libsrc/dsrdoc.cc dcmsr/tests/Makefile.dep - Fixed wrong checkConflict() call for option --add-schema-reference. Affects: dcmsr/apps/dsr2xml.cc - Output a warning message to the logger in case an offset cannot be resolved. Slightly modified the output of the DcmDicomDir::print() method. Affects: dcmdata/libsrc/dcdicdir.cc **** Changes from 2011.12.08 (riesmeier) - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/* **** Changes from 2011.12.07 (schlachter) - Updated the man page of dcm2xml. Affects: dcmdata/docs/dcm2xml.man - Use an UUID instead of an UID for the BulkData XML output. Affects: dcmdata/libsrc/Makefile.dep dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrof.cc - Could someone please hand me a brown paper bag? Affects: ofstd/include/dcmtk/ofstd/ofuuid.h ofstd/libsrc/ofuuid.cc ofstd/tests/tuuid.cc - Added a new class for generating Universally Unique Identifiers. Added: ofstd/include/dcmtk/ofstd/ofuuid.h ofstd/libsrc/ofuuid.cc ofstd/tests/tuuid.cc Affects: ofstd/libsrc/CMakeLists.txt ofstd/libsrc/Makefile.dep ofstd/libsrc/Makefile.in ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.dep ofstd/tests/Makefile.in ofstd/tests/tests.cc **** Changes from 2011.12.07 (riesmeier) - Various minor fixes to API documentation and other comments. Affects: ofstd/include/dcmtk/ofstd/ofuuid.h - Added explicit type cast to keep VisualStudio 2008 from moaning. Other fixes. Affects: ofstd/libsrc/ofuuid.cc - Changed order of attributes for XML element "DicomAttribute" in order to be consistent with the XML Schema given in the DICOM standard. Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2011.12.06 (elgazzar) - Added const declaration to a parameter of findSOPInstance(). Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2011.12.06 (riesmeier) - Updated outdated comment after the module's logger has been changed from a global function with a static variable to a global variable. Affects: dcmimage/libsrc/dilogger.cc dcmimgle/libsrc/diutils.cc dcmsr/libsrc/dsrtypes.cc - Enhanced handling and logging of some missing mandatory data elements. Affects: dcmimgle/libsrc/diimage.cc dcmimgle/libsrc/dimomod.cc **** Changes from 2011.12.05 (riesmeier) - Added workaround that treats the non-standard VR "OX" as "OW" when reading a DICOM dataset, since it seems to be used by some products out there. Thanks to Brad Jascob for pointing this out. Affects: dcmdata/libsrc/dcitem.cc - Fixed a bug in DUL_RejectAssociationRQ() which always set the "Source" field of the ASSOCIATE-RJ PDU to 0x01 (DICOM UL service-user). Thanks to Thomas Puckett for the report. Affects: dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/libsrc/dul.cc **** Changes from 2011.12.02 (riesmeier) - Made sure that the BulkData XML element is not written for empty values. Affects: dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrof.cc - Various fixes after first commit of the Native DICOM Model format support. Affects: dcmdata/apps/dcm2xml.cc dcmdata/docs/dcm2xml.man dcmdata/include/dcmtk/dcmdata/dctypes.h dcmdata/include/dcmtk/dcmdata/dcvrpn.h dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcmetinf.cc dcmdata/libsrc/dcsequen.cc dcmdata/libsrc/dcvrds.cc dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrpn.cc dcmdata/tests/tests.cc dcmdata/tests/tvrpn.cc - Added dedicated writeXML() method for OF elements because the VM is always 1. Affects: dcmdata/include/dcmtk/dcmdata/dcvrof.h dcmdata/libsrc/Makefile.dep dcmdata/libsrc/dcvrof.cc **** Changes from 2011.12.01 (onken) - Added support for Application Hosting's Native DICOM Model xml format to dcm2xml. Added: dcmdata/tests/tvrpn.cc Affects: dcmdata/apps/dcm2xml.cc dcmdata/docs/dcm2xml.man dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/include/dcmtk/dcmdata/dctypes.h dcmdata/include/dcmtk/dcmdata/dcvrpn.h dcmdata/libsrc/Makefile.dep dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcmetinf.cc dcmdata/libsrc/dcsequen.cc dcmdata/libsrc/dctypes.cc dcmdata/libsrc/dcvrds.cc dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrpn.cc dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.dep dcmdata/tests/Makefile.in dcmdata/tests/tests.cc **** Changes from 2011.11.30 (elgazzar) - Added functions front() and back() to return const reference. Affects: ofstd/include/dcmtk/ofstd/oflist.h **** Changes from 2011.11.30 (schlachter) - Correctly clean up if libiconv was found but iconv.h wasn't. Affects: CMake/FindICONV.cmake - Fix for CMake 2.6 which doesn't support the ADD_TEST syntax used. Affects: CMakeLists.txt CMake/dcmtkAddTests.cmake - Don't overwrite the compiler flags if BUILD_SHARED_LIBS is set. Affects: CMakeLists.txt **** Changes from 2011.11.30 (riesmeier) - Added missing support for value type SCOORD3D (Spatial Coordinates 3D). Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h dcmsr/libsrc/dsrcitem.cc - Output date and time values in general header of print() method in a more readable way by using separators for the date and time components. Affects: dcmsr/libsrc/dsrdoc.c - Output optional observation date/time of each content item in print() method. Affects: dcmsr/libsrc/dsrdoctr.cc - Made setISOFormattedeTime() more robust with regard to input values. Fixed an issue with determining the local time zone (introduced with last commit). Affects: ofstd/libsrc/oftime.cc **** Changes from 2011.11.29 (riesmeier) - Enhanced some existing test cases and added two new OFDateTime tests. Affects: ofstd/tests/tofdatim.cc - Made setISOFormattedDateTime() more robust with regard to input values. Affects: ofstd/libsrc/ofdatime.cc - Added support for optional time zone to XML read/write methods of DT values. Thanks to forum user "dclunie" for the original report. Affects: dcmsr/data/dsr2xml.xsd dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdtitn.cc - Added support for optional "timeZoneSeparator" parameter to some get methods. Also removed some "hacks" that were needed for the old Sun CC 2.0.1 compiler. Affects: dcmdata/include/dcmtk/dcmdata/dcvrdt.h dcmdata/libsrc/dcvrdt.cc - Added new tests and also separated tests for OFDate, OFTime and OFDateTime. Affects: ofstd/tests/tests.cc ofstd/tests/tofdatim.cc - Added support for the optional time zone to setISOFormattedDateTime(). Also removed some "hacks" that were needed for the old Sun CC 2.0.1 compiler. Affects: ofstd/include/dcmtk/ofstd/ofdatime.h ofstd/libsrc/ofdatime.cc - Added support for the optional time zone to setISOFormattedTime(). Also made sure that all time zones in the range of -12 to +14 are regarded as valid. Affects: ofstd/include/dcmtk/ofstd/oftime.h ofstd/libsrc/oftime.cc - Added optional "check" parameter to some further methods (not only "set"). Also removed some "hacks" that were needed for the old Sun CC 2.0.1 compiler. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/libsrc/dsrdoc.cc **** Changes from 2011.11.28 (riesmeier) - Fixed issue with libxml version 2.7.3 (and above): The maximum length of XML element values was limited to 10 MB. This limit is now explicitly disabled. Affects: dcmdata/apps/xml2dcm.cc dcmdata/docs/xml2dcm.man - Added new option/mode that allows for sending all DICOM files referenced from a DICOMDIR without accessing the files for association negotiation. Thanks to forum user "Geof" for the initial idea. Affects: dcmnet/apps/dcmsend.cc dcmnet/docs/dcmsend.man dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/libsrc/dstorscu.cc - Reserve expected size of resulting string in order to reduce number of memory allocations in helper functions. Affects: dcmdata/libsrc/dcddirif.cc - Added general condition constant for invalid filenames. Affects: ofstd/include/dcmtk/ofstd/ofcond.h ofstd/libsrc/ofcond.cc **** Changes from 2011.11.25 (riesmeier) - Added note that the XML input file can also be compressed with ZIP if libxml has been compiled with ZLIB support (see --version output). Affects: dcmdata/apps/xml2dcm.cc dcmdata/docs/xml2dcm.man dcmsr/apps/xml2dsr.cc dcmsr/docs/xml2dsr.man - Added clarifying note on the maximum length of XML element values (introduced with libxml 2.7.3). Affects: dcmdata/docs/xml2dcm.man dcmsr/docs/xml2dsr.man - Output --version information whether LIBICONV support is included in LIBXML. Affects: dcmdata/apps/xml2dcm.cc dcmsr/apps/xml2dsr.cc **** Changes from 2011.11.24 (riesmeier) - Handle an empty element/input value as a special case in the "convert to ISO format" methods, i.e. the resulting string is cleared and no error reported. Affects: dcmdata/include/dcmtk/dcmdata/dcvrda.h dcmdata/include/dcmtk/dcmdata/dcvrdt.h dcmdata/include/dcmtk/dcmdata/dcvrtm.h dcmdata/libsrc/dcvrda.cc dcmdata/libsrc/dcvrdt.cc dcmdata/libsrc/dcvrtm.cc - Made get/set methods consistent with upcoming DCMRT module, i.e. all methods now return a status code, the get methods provide a "pos" and the set methods a "check" parameter. Please note that this is an incompatible API change! Affects: dcmpstat/libsrc/dviface.cc dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/include/dcmtk/dcmsr/dsrdoc.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrtypes.cc - Made all public methods "virtual" in order to better support derived classes. Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h - Minor fixes to also compile with VisualStudio 2008 on Windows systems. Affects: ofstd/include/dcmtk/ofstd/ofxml.h - Added first version of a simple non-validating XML parser written by Frank Vanden Berghen. This parser is intended to be used for configuration files and the like. Therefore, it is integrated into the DCMTK (unlike libxml2). Added: ofstd/include/dcmtk/ofstd/ofxml.h ofstd/libsrc/ofxml.cc ofstd/tests/tests.cc ofstd/tests/txml.cc Affects: COPYRIGHT ofstd/libsrc/CMakeLists.txt ofstd/libsrc/Makefile.dep ofstd/libsrc/Makefile.in ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.dep ofstd/tests/Makefile.in - Moved implementation of putOFStringArray() from DcmByteString to DcmElement. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcelem.cc **** Changes from 2011.11.23 (schlachter) - Change ADD_TEST() call so that we get the full path to the test driver. Affects: CMake/dcmtkAddTests.cmake - Remove a Latin-1 encoded umlaut from the source. Affects: dcmdata/include/dcmtk/dcmdata/dcdirrec.h **** Changes from 2011.11.21 (riesmeier) - Moved log message on transfer syntax from DcmItem to DcmDataset/DcmMetaInfo. Affects: dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcmetinf.cc - Output message to debug logger when value of --charset-assume is not needed. Affects: dcmdata/apps/dcm2xml.cc - Improved log messages on transfer syntaxes and file meta information. Affects: dcmdata/libsrc/dcddirif.cc **** Changes from 2011.11.17 (riesmeier) - Fixed warning on declaration of local variable shadowing a previous local. Affects: dcmdata/apps/dcm2xml.cc - Minor fixes to keep XCode 4.2 on Mac OS X Lion (clang compiler) quiet. Thanks to Daniele Giunchi for the suggested patch. Affects: dcmimage/include/dcmtk/dcmimage/diargpxt.h dcmimage/include/dcmtk/dcmimage/dicmypxt.h dcmimage/include/dcmtk/dcmimage/dicocpt.h dcmimage/include/dcmtk/dcmimage/dicoflt.h dcmimage/include/dcmtk/dcmimage/dicorot.h dcmimage/include/dcmtk/dcmimage/dicosct.h dcmimage/include/dcmtk/dcmimage/dihsvpxt.h dcmimage/include/dcmtk/dcmimage/dipalpxt.h dcmimage/include/dcmtk/dcmimage/dirgbpxt.h dcmimage/include/dcmtk/dcmimage/diybrpxt.h dcmimage/include/dcmtk/dcmimage/diyf2pxt.h dcmimage/include/dcmtk/dcmimage/diyp2pxt.h dcmimgle/include/dcmtk/dcmimgle/diflipt.h dcmimgle/include/dcmtk/dcmimgle/dimoflt.h dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h dcmimgle/include/dcmtk/dcmimgle/dimorot.h dcmimgle/include/dcmtk/dcmimgle/dimosct.h dcmimgle/include/dcmtk/dcmimgle/dirotat.h dcmimgle/include/dcmtk/dcmimgle/discalet.h ofstd/include/dcmtk/ofstd/ofoset.h ofstd/libsrc/ofchrenc.cc - Slightly modified code in order to avoid the use of the OFCondition default constructor. Affects: dcmdata/libsrc/dcdicdir.cc dcmdata/libsrc/dcpath.cc - Define WIN32_LEAN_AND_MEAN in order to avoid unneeded header file inclusions caused by "windows.h". Affects: ofstd/libsrc/oftimer.cc ofstd/libsrc/ofcmdln.cc - Made sure that the new OFTempFile class also compiles on Windows. Affects: ofstd/libsrc/oftempf.cc - Made sure that the OFCondition member variable gets initialized in the constructor. Thanks to Markus Mertens for the original issue report. Affects: ofstd/libsrc/oftempf.cc **** Changes from 2011.11.16 (schlachter) - Corrected my broken Makefile.dep change. Affects: ofstd/libsrc/Makefile.dep - Added a new class for managing temporary files. Added: ofstd/include/dcmtk/ofstd/oftempf.h ofstd/libsrc/oftempf.cc Affects: dcmdata/apps/Makefile.dep dcmdata/include/dcmtk/dcmdata/dcdicdir.h dcmdata/libsrc/Makefile.dep dcmdata/libsrc/dcdicdir.cc dcmdata/tests/Makefile.dep dcmdata/tests/tparser.cc ofstd/include/dcmtk/ofstd/ofcond.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/Makefile.dep ofstd/libsrc/Makefile.in ofstd/libsrc/ofcond.cc - Fixed and improved CMake's libiconv and libcharset detection. Added: CMake/FindCharset.cmake Affects: CMake/3rdparty.cmake CMake/FindICONV.cmake CMake/dcmtkTryCompile.cmake **** Changes from 2011.11.15 (riesmeier) - Added check that specified input directory really exists. Also made sure that directories are ignored as parameters if option --recurse is not set. Affects: dcmdata/apps/dcmgpdir.cc - Moved command line option --output-file to the "output options" section. Affects: dcmdata/apps/dcmgpdir.cc dcmdata/docs/dcmgpdir.man dcmjpeg/docs/dcmmkdir.man - Added support for the following standard headers: locale, map, memory, vector Affects: ofstd/include/dcmtk/ofstd/ofstdinc.h ofstd/libsrc/ofconapp.cc - Output information to debug logger when skipping application segments (APPn). Also added explicit type cast to integer variables when output to the logger. Affects: dcmdata/libi2d/i2djpgs.cc - Added regression tests for class DcmUniqueIdentifier. Added: dcmdata/tests/tvrui.cc Affects: dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.in dcmdata/tests/tests.cc **** Changes from 2011.11.14 (riesmeier) - Slightly improved API documentation on containsExtendedCharacters() and isAffectedBySpecificCharacterSet(). Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcsequen.h - Fixed typo in comment. Also fixed wrong application name. Thanks to Michal Spacek for the report and fix. Affects: dcmqrdb/etc/dcmqrscp.cfg **** Changes from 2011.11.11 (riesmeier) - Updated information on latest CMake version that has been tested to "2.8.6". Affects: CMakeLists.txt - Added support for retrieving Rescale Slope/Intercept from the Shared Functional Groups Sequence (as used in many Enhanced Image IODs). Affects: dcmimgle/libsrc/dimomod.cc - Changed optional DcmObject* parameter into DcmItem* and added this optional parameter to some further getValue() methods. Affects: dcmimgle/include/dcmtk/dcmimgle/didocu.h dcmimgle/include/dcmtk/dcmimgle/diluptab.h dcmimgle/libsrc/didocu.cc dcmimgle/libsrc/diluptab.cc **** Changes from 2011.11.10 (riesmeier) - Fixed missing path separator issues in CMake configuration file. Thanks to Michal Spacek for the original report. Affects: CMake/GenerateDCMTKConfigure.cmake - Fixed a couple of typos in comments and made some parameters "const". Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc **** Changes from 2011.11.09 (riesmeier) - Changed the way option --charset-assume works. Now, the DICOM defined term for the character set has to be used (old values are still supported). This makes sure that this option can be used together with --convert-to-utf8. Affects: dcmdata/apps/dcm2xml.cc dcmdata/docs/dcm2xml.man dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man - Avoid wrong error message / status code that a conversion descriptor cannot be closed when libiconv is not available. Affects: ofstd/libsrc/ofchrenc.cc - Renamed the new option "--convert-to-latin-1" to "--convert-to-latin1". Affects: dcmdata/apps/dcmconv.cc dcmdata/docs/dcmconv.man - Made sure that "ISO_IR 6" is never written as the defined term for ASCII. Affects: dcmsr/libsrc/dsrtypes.cc **** Changes from 2011.11.09 (schlachter) - Added a destructor to DcmQueryRetrieveConfig. Thanks to forum user "st80rules" for reporting these memleaks. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h dcmqrdb/libsrc/dcmqrcnf.cc - Changed the default for external libraries to be enabled if found. Affects: CMakeLists.txt - Made sure the recent changes work correctly with CMake GUIs. Affects: CMake/3rdparty.cmake - Fixed warnings from -Weffc++ and OFPair. Affects: ofstd/include/dcmtk/ofstd/ofmap.h - Added support for detecting iconv on non-Windows platforms. Added: CMake/FindICONV.cmake Affects: CMakeLists.txt CMake/3rdparty.cmake dcmdata/apps/CMakeLists.txt **** Changes from 2011.11.08 (riesmeier) - Added support for converting files, datasets and element values to any DICOM character set that does not require code extension techniques (if compiled with and supported by libiconv), not only to UTF-8 as before. Affects: dcmdata/apps/dcmconv.cc dcmdata/docs/dcmconv.man dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/Makefile.dep dcmdata/libsrc/dcchrstr.cc dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc dcmdata/libsrc/dcsequen.cc dcmdata/libsrc/dcspchrs.cc dcmdata/tests/tests.cc dcmdata/tests/tspchrs.cc **** Changes from 2011.11.07 (riesmeier) - Fixed problematical typo in a comment ("get" -> "set"). Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h **** Changes from 2011.11.03 (riesmeier) - Output the current locale's character encoding together with the host type. This info is shown when calling a command line tool with option --version. Affects: ofstd/include/dcmtk/ofstd/ofconapp.h ofstd/libsrc/ofconapp.cc dcmdata/libsrc/Makefile.in - Added support for CP-1147, which reintroduces ObservationUID (0040,A171). Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2011.11.02 (riesmeier) - Added two new tests for checking the correct handling of delimiters. Affects: dcmdata/tests/tspchrs.cc - Fixed minor issue with wrong/insufficient log output in case of delimiters. Affects: dcmdata/libsrc/dcspchrs.cc - Added new command line option for converting a DICOM file/dataset to UTF-8. Also fixed some small inconsistencies regarding the character set handling. Affects: dcmdata/apps/Makefile.dep dcmdata/apps/dcm2xml.cc dcmdata/apps/dcmconv.cc dcmdata/apps/dcmdump.cc dcmdata/docs/dcm2xml.man dcmdata/docs/dcmdump.man dcmsr/apps/Makefile.dep dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/apps/dsrdump.cc dcmsr/docs/dsr2html.man dcmsr/docs/dsr2xml.man dcmsr/docs/dsrdump.man - Fixed issue with UI values not being properly normalized in getOFString(). Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcvrui.h dcmdata/libsrc/Makefile.dep dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcvrui.cc - Fixed minor inconsistencies regarding documentation and formatting. Affects: dcmdata/apps/dcmconv.cc - Rebuilt Makefile dependencies. Affects: dcmdata/tests/Makefile.dep - Added missing notes section on "Scanning Directories". Affects: dcmjpeg/docs/dcmmkdir.man - Added note on "directory to be scanned" to the "dcmfile-in" parameter. Affects: dcmdata/apps/dcmgpdir.cc dcmdata/docs/dcmgpdir.man - Slightly revised notes section on "Scanning Directories". Affects: dcmdata/docs/dcmdump.man dcmdata/docs/dcmgpdir.man dcmnet/docs/dcmsend.man dcmnet/docs/storescu.man - Slightly restructured command line options and introduced new subsections. Affects: dcmdata/apps/dcmdump.cc dcmdata/docs/dcmdump.man **** Changes from 2011.11.01 (onken) - Added section regarding directory scanning, especially to make clear how to work with the accompanying file pattern option. Affects: dcmdata/docs/dcmdump.man dcmdata/docs/dcmgpdir.man dcmnet/docs/dcmsend.man dcmnet/docs/storescu.man **** Changes from 2011.11.01 (schlachter) - Fixed CMake's output while running compile tests. Affects: CMake/dcmtkTryCompile.cmake - Fixed the test for pthread_t being a pointer type. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2011.11.01 (riesmeier) - Added support for code extensions (escape sequences) according to ISO 2022 to the character set conversion code. Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/Makefile.dep dcmdata/libsrc/dcchrstr.cc dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcspchrs.cc dcmdata/libsrc/dcvrlo.cc dcmdata/libsrc/dcvrpn.cc dcmdata/libsrc/dcvrsh.cc dcmdata/tests/tests.cc dcmdata/tests/tspchrs.cc - Fixed source code formatting and typo in a comment. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/libsrc/dcbytstr.cc - Fixed typo in a comment. Affects: ofstd/tests/tmap.cc - Fixed wrong comment on return value of method convertToOctalString(). Affects: ofstd/include/dcmtk/ofstd/ofstd.h **** Changes from 2011.10.28 (riesmeier) - Restructured code of OFCharacterEncoding in order to allow particular classes to access more low-level functions, e.g. for opening multiple conversion descriptors at the same time. This will be needed for ISO 2022 support. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/include/dcmtk/ofstd/ofcond.h ofstd/libsrc/ofchrenc.cc ofstd/libsrc/ofcond.cc - Added OFCharacterEncoding to the list of "further classes of interest". Affects: ofstd/docs/ofstd.dox - Minor stylistic changes regarding parameter declaration and documentation. Affects: dcmdata/include/dcmtk/dcmdata/dcpath.h dcmdata/libsrc/dcpath.cc **** Changes from 2011.10.27 (riesmeier) - Made sure that the character set conversion code (incl. checking the option) is only compiled when the WITH_LIBICONV macro is defined. Affects: dcmdata/apps/dcmconv.cc - Added libiconv to all "apps" that depend on dcmdata to avoid linker errors. Affects: dcmdata/apps/CMakeLists.txt dcmdata/apps/Makefile.in dcmdata/tests/Makefile.in dcmimage/apps/CMakeLists.txt dcmimage/apps/Makefile.in dcmimgle/apps/CMakeLists.txt dcmimgle/apps/Makefile.in dcmjpeg/apps/CMakeLists.txt dcmjpeg/apps/Makefile.in dcmjpls/apps/CMakeLists.txt dcmjpls/apps/Makefile.in dcmnet/apps/CMakeLists.txt dcmnet/apps/Makefile.in dcmpstat/apps/CMakeLists.txt dcmpstat/apps/Makefile.in dcmpstat/tests/Makefile.in dcmqrdb/apps/CMakeLists.txt dcmqrdb/apps/Makefile.in dcmsign/apps/CMakeLists.txt dcmsign/apps/Makefile.in dcmsr/apps/CMakeLists.txt dcmsr/apps/Makefile.in dcmsr/tests/CMakeLists.txt dcmsr/tests/Makefile.in dcmwlm/apps/CMakeLists.txt dcmwlm/apps/Makefile.in dcmwlm/tests/Makefile.in dcmwlm/wwwapps/CMakeLists.txt dcmwlm/wwwapps/Makefile.in ofstd/tests/CMakeLists.txt - Removed superfluous tab character from definition of compiler call. Affects: config/Makefile.def.in **** Changes from 2011.10.27 (schlachter) - Use existing code for extracting directory name from a path. Affects: dcmdata/libsrc/dcdicdir.cc - Added new macro for trying to compile C++ source code. Added: CMake/dcmtkTryCompile.cmake Removed: CMake/dcmtkTestBoolType.cc CMake/dcmtkTestCharPStrerror.cc CMake/dcmtkTestNameTooLong.cc CMake/dcmtkTestPThreadType.cc CMake/dcmtkTestSelectIntP.cc CMake/dcmtkTestSocketIntP.cc CMake/dcmtkTestStdIosNocreate.cc CMake/dcmtkTestTypename.cc CMake/dcmtkTestVariableLengthArrays.cc Affects: CMake/GenerateDCMTKConfigure.cmake - Dropped some unused prototypes for mktemp() and mkstemp(). Affects: dcmnet/apps/storescp.cc - Added rpaths to configure which can be disabled via --disable-rpath. Affects: config/aclocal.m4 config/configure - Fixed some compiler warnings when libiconv was not found. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc - Ported recent change to configure into the correct file. Affects: config/rootconf **** Changes from 2011.10.26 (riesmeier) - Added new command line option for converting a DICOM file/dataset to UTF-8. Affects: dcmdata/apps/Makefile.dep dcmdata/apps/dcmconv.cc dcmdata/docs/dcmconv.man - Added method that allows for converting a dataset or element value to UTF-8. Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/include/dcmtk/dcmdata/dcfilefo.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/libsrc/dcchrstr.cc dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc dcmdata/libsrc/dcsequen.cc - Added helper class for converting between different DICOM character sets. This initial version only supports the conversion to UTF-8 (Unicode) and only from DICOM characters sets without code extension techniques (i.e. ISO 2022). Added: dcmdata/include/dcmtk/dcmdata/dcspchrs.h dcmdata/libsrc/dcspchrs.cc dcmdata/tests/tspchrs.cc Affects: dcmdata/apps/CMakeLists.txt dcmdata/apps/Makefile.in dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.dep dcmdata/libsrc/Makefile.in dcmdata/libsrc/dcerror.cc dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.dep dcmdata/tests/Makefile.in dcmdata/tests/tests.cc **** Changes from 2011.10.25 (riesmeier) - Be prepared that older versions of locale_charset() might return NULL. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc - Added new convert method that accepts a C string and its length as input. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc ofstd/tests/tchrenc.cc **** Changes from 2011.10.24 (riesmeier) - Added static method counting the characters in a given UTF-8 string. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc ofstd/tests/tchrenc.cc ofstd/tests/tests.cc - Changed name of status code constant for "illegal character encoding". Affects: ofstd/include/dcmtk/ofstd/ofcond.h ofstd/libsrc/ofchrenc.cc ofstd/libsrc/ofcond.cc - Made sure that iconvctl() is really supported by the libiconv toolkit. Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc ofstd/tests/tchrenc.cc - Removed outdated comment that the "implementation of sigmoid transformation is still missing". Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h **** Changes from 2011.10.23 (riesmeier) - Removed reference to libiconv header file "localcharset.h". Affects: ofstd/libsrc/Makefile.dep **** Changes from 2011.10.21 (riesmeier) - Added class for managing and converting between different character encodings based on the libiconv toolkit. Added: ofstd/include/dcmtk/ofstd/ofchrenc.h ofstd/libsrc/ofchrenc.cc ofstd/tests/tchrenc.cc Affects: CMakeLists.txt INSTALL CMake/3rdparty.cmake CMake/osconfig.h.in config/Makefile.def.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in doxygen/htmldocs.cfg ofstd/include/dcmtk/ofstd/ofcond.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/Makefile.dep ofstd/libsrc/Makefile.in ofstd/libsrc/ofcond.cc ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.dep ofstd/tests/Makefile.in ofstd/tests/tests.cc - Fixed some log messages. Affects: dcmdata/apps/dcm2xml.cc dcmsr/apps/dsr2html.cc dcmsr/apps/dsr2xml.cc dcmsr/apps/xml2dsr.cc - Minor fix to keep VisualStudio from moaning. Affects: dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcvrds.cc **** Changes from 2011.10.21 (schlachter) - Improved the handling of some configure options. Affects: config/aclocal.m4 config/configure config/configure.in - Don't define a static version of isatty() since it seems to be not needed. Affects: dcmdata/libsrc/vrscanl.c dcmdata/libsrc/vrscanl.h dcmdata/libsrc/vrscanl.l **** Changes from 2011.10.20 (schlachter) - Disable option checking in individual module's configure scripts. Affects: config/confmod config/confmod.in - Abort if a module's configure script fails. Affects: configure **** Changes from 2011.10.19 (riesmeier) - Fixed unexpected behavior of getOFString() method when called for an empty element value. Thanks to forum user "aprogrammer" for the original report. Affects: dcmdata/libsrc/dcbytstr.cc - Fixed some typos and other minor issues regarding the comments. Affects: ofstd/include/dcmtk/ofstd/ofaptr.h dcmnet/include/dcmtk/dcmnet/dstorscu.h **** Changes from 2011.10.18 (riesmeier) - Removed global helper functions that were replaced in a previously commit. Removed: dcmdata/include/dcmtk/dcmdata/dcvm.h dcmdata/libsrc/dcvm.cc Affects: dcmdata/apps/Makefile.dep dcmdata/include/dcmtk/dcmdata/dctk.h dcmdata/include/dcmtk/dcmdata/dcvr.h dcmdata/libsrc/CMakeLists.txt dcmdata/libsrc/Makefile.dep dcmdata/libsrc/Makefile.in dcmdata/tests/Makefile.dep dcmimage/apps/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpls/apps/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmsign/apps/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmtls/libsrc/Makefile.dep - Rebuilt Makefile dependencies. Affects: dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/wwwapps/Makefile.dep - Added test program for various "string value" methods. Added: dcmdata/tests/tstrval.cc Affects: dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.in dcmdata/tests/tests.cc - Added support for embedded NULL bytes in string element values. Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcchrstr.h dcmdata/include/dcmtk/dcmdata/dcelem.h dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/include/dcmtk/dcmdata/dcvrat.h dcmdata/include/dcmtk/dcmdata/dcvrfd.h dcmdata/include/dcmtk/dcmdata/dcvrfl.h dcmdata/include/dcmtk/dcmdata/dcvrobow.h dcmdata/include/dcmtk/dcmdata/dcvrsl.h dcmdata/include/dcmtk/dcmdata/dcvrss.h dcmdata/include/dcmtk/dcmdata/dcvrui.h dcmdata/include/dcmtk/dcmdata/dcvrul.h dcmdata/include/dcmtk/dcmdata/dcvrus.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dcchrstr.cc dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcvrat.cc dcmdata/libsrc/dcvrds.cc dcmdata/libsrc/dcvrfd.cc dcmdata/libsrc/dcvrfl.cc dcmdata/libsrc/dcvrobow.cc dcmdata/libsrc/dcvrsl.cc dcmdata/libsrc/dcvrss.cc dcmdata/libsrc/dcvrui.cc dcmdata/libsrc/dcvrul.cc dcmdata/libsrc/dcvrus.cc dcmdata/tests/tvrds.cc - Removed redundant variable declaration that shadowed a previous local (reported by gcc with additional warning flags). Affects: dcmnet/apps/movescu.cc **** Changes from 2011.10.17 (riesmeier) - Made sure that non-ASCII characters are quoted appropriately if the Specific Character Set is not supported. Affects: dcmdata/apps/dcm2xml.cc - Added writeXML() flag that allows for converting all non-ASCII characters. Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h dcmdata/libsrc/dcelem.cc dcmdata/libsrc/dctypes.cc dcmdata/libsrc/dcvrds.cc **** Changes from 2011.10.14 (schlachter) - Fixed a minor memory leak in the base64 test. Affects: ofstd/tests/tbase64.cc - Fixed a memory leak due to unjoined threads. Affects: ofstd/tests/tthread.cc **** Changes from 2011.10.14 (riesmeier) - Replaced the "o umlaut" encoded in ISO 8859-1 with its octal representation. Affects: ofstd/tests/tmarkup.cc - Do not delete "htmldocs.tmp" and "manpages.tmp" during "make clean" since these files are only (re)generated during configure. Affects: doxygen/CMakeLists.txt **** Changes from 2011.10.13 (riesmeier) - Use putOFStringArray() instead of putString() where appropriate. Affects: dcmdata/apps/xml2dcm.cc dcmdata/libsrc/dcvrda.cc dcmdata/libsrc/dcvrdt.cc dcmdata/libsrc/dcvrpn.cc dcmdata/libsrc/dcvrtm.cc - Commented out 2nd test since the required "dcmdata" method is not yet there. Affects: dcmdata/tests/tvrds.cc - Enhanced documentation in case more than one input file is given. Affects: dcmpstat/docs/dcmpsmk.man - Added tests for class DcmDecimalString, especially for getFloat64Vector(). Added: dcmdata/tests/tvrds.cc Affects: dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.dep dcmdata/tests/Makefile.in dcmdata/tests/tests.cc **** Changes from 2011.10.12 (riesmeier) - Use CMake variable DOXYGEN_DATA_DIR in order to reference the CSS file. Affects: doxygen/htmldocs.cfg - Added new command line option that quotes non-ASCII and control chars as octal numbers. Affects: dcmdata/apps/dcmdump.cc dcmdata/docs/dcmdump.man - Added new print() flag that allows for converting non-ASCII and control characters to their octal representation ('\ooo'). Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h dcmdata/libsrc/dcbytstr.cc dcmdata/libsrc/dctypes.cc - Added methods for converting non-ASCII and control characters to their octal representation, i.e. to '\ooo' where 'ooo' are the three octal digits. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Added tests for convertToMarkupString() method. Added: ofstd/tests/tmarkup.cc Affects: ofstd/tests/CMakeLists.txt ofstd/tests/Makefile.dep ofstd/tests/Makefile.in ofstd/tests/tests.cc - Added support for strings containing NULL bytes to "convert to markup" methods. Also added optional parameter for specifying the maximum length. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc **** Changes from 2011.10.11 (riesmeier) - Made methods card() and cardSub() const. Affects: dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcsequen.cc - Added content of "doxygen.css" to the modified style sheet since the standard CSS is not copied to the output directory if replaced by a user-defined CSS. Affects: doxygen/htmldocs.css - Added extra newline in order to make sure that the "\if ... \endif" blocks still work correctly with the new Doxygen version. Affects: doxygen/htmldocs.dox - Sort classes by fully-qualified names, including namespaces. Affects: doxygen/htmldocs.cfg - Updated Doxygen configuration files for latest release version 1.7.5.1. As a result, the output in HTML format also changed at little. Added: doxygen/htmldocs.css Affects: doxygen/htmldocs.cfg doxygen/manpages.cfg **** Changes from 2011.10.11 (schlachter) - Move OFFileNameCreator::myrand_r to class OFStandard. Affects: dcmimage/libsrc/diqtfs.cc ofstd/include/dcmtk/ofstd/offname.h ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/offname.cc ofstd/libsrc/ofstd.cc - Made sure that makeFilename() influences the caller's seed. Affects: ofstd/include/dcmtk/ofstd/offname.h ofstd/libsrc/offname.cc - Renamed myrand_r(int*) a to rand_r(int&). Affects: dcmimage/libsrc/Makefile.dep dcmimage/libsrc/diqtfs.cc ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/Makefile.dep ofstd/libsrc/offname.cc ofstd/libsrc/ofstd.cc - Switched to autoconf 2.68. Affects: config/aclocal.m4 config/autoall config/configure config/configure.in config/confmod config/include/dcmtk/config/osconfig.h.in **** Changes from 2011.10.10 (schlachter) - Replaced the old OFM_imagectn with OFM_dcmqrdb and OFM_dcmqrdbx. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmqrdb/libsrc/dcmqrdbi.cc - Slightly improved the error condition names and definition. Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrdbi.cc dcmqrdb/libsrc/dcmqropt.cc - Moved SCU-specific error condition to the correct place. Affects: dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/cond.cc dcmnet/libsrc/scu.cc - Discard all console output in inetd mode. Affects: dcmnet/apps/storescp.cc dcmnet/docs/storescp.man **** Changes from 2011.10.10 (riesmeier) - Added output stream operator in order to use different time units depending on the value range, i.e. "ms", "s", "m" and "h". Affects: ofstd/include/dcmtk/ofstd/oftimer.h ofstd/libsrc/oftimer.cc - Moved implementation from header to source file in order to avoid unwanted header file inclusion. Added: ofstd/libsrc/oftimer.cc Affects: ofstd/include/dcmtk/ofstd/oftimer.h ofstd/libsrc/CMakeLists.txt ofstd/libsrc/Makefile.dep ofstd/libsrc/Makefile.in - Added missing DIMSE-N status code "Attribute Value out of Range" (0116h) used for Print Management. Thanks to forum user "Yves Neumann" for the report. Affects: dcmnet/include/dcmtk/dcmnet/dimse.h dcmnet/libsrc/dimdump.cc dcmnet/libsrc/diutil.cc - Fixed some other small inconsistencies regarding the DIMSE status codes. Affects: dcmnet/include/dcmtk/dcmnet/dimse.h dcmnet/libsrc/dimdump.cc dcmnet/libsrc/diutil.cc **** Changes from 2011.10.07 (elgazzar) - Fixed source code bug in the sendActionResponse() function. Affects: dcmnet/libsrc/scp.cc **** Changes from 2011.10.07 (riesmeier) - Added explaining sentence to the NOTES section that specifying multiple query files results in sending multiple C-GET request to the SCP. Affects: dcmnet/docs/getscu.man - Added explaining sentence to the NOTES section that specifying multiple query files results in sending multiple C-FIND request to the SCP. Affects: dcmnet/docs/findscu.man - Added explaining sentence to the NOTES section that specifying multiple query files results in sending multiple C-MOVE request to the SCP. Affects: dcmnet/docs/movescu.man - Fixed typo in comments introduced with a recent commit. Affects: CMake/osconfig.h.in **** Changes from 2011.10.06 (riesmeier) - On non-Windows systems, make sure that the pre-defined man pages (shipped with this package) are installed if not re-generated by Doxygen. Affects: doxygen/CMakeLists.txt - Now also SOP instances from DICOM datasets can be added to the transfer list. This allows for sending datasets created or received in memory. Affects: dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/libsrc/cond.cc dcmnet/libsrc/dstorscu.cc - Removed unused local variable. Affects: dcmnet/libsrc/scp.cc - Added new method compactElements() for compacting all elements which exceed a given length and which can be loaded from file when needed again. Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcitem.cc - Output some useful information to the DEBUG logger when compacting a value. Affects: dcmdata/libsrc/dcelem.cc - Replaced remaining tabs by spaces. Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h **** Changes from 2011.10.05 (elgazzar) - Added a function to respond to N-Action request. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc **** Changes from 2011.10.05 (riesmeier) - Enhanced code that checks for valid and supported Storage SOP Classes. Affects: dcmnet/libsrc/dstorscu.cc - Make sure to link LIBTIFF and LIBPNG to the new "dcmsend" command line tool in order to avoid linker errors when using DCMTK with shared libraries. Affects: dcmnet/apps/CMakeLists.txt dcmnet/apps/Makefile.in - Added new command line tool "dcmsend", which is a Simple Storage Service Class User based on the recently introduced network class DcmStorageSCU. Added: dcmnet/apps/dcmsend.cc dcmnet/docs/dcmsend.man doxygen/manpages/man1/dcmsend.1 Affects: dcmnet/apps/CMakeLists.txt dcmnet/apps/Makefile.dep dcmnet/apps/Makefile.in dcmnet/docs/dcmnet.dox - Added easy-to-use interface class for a Storage Service Class User (SCU). Added: dcmnet/include/dcmtk/dcmnet/dstorscu.h dcmnet/libsrc/dstorscu.cc Affects: dcmnet/docs/dcmnet.dox dcmnet/libsrc/CMakeLists.txt dcmnet/libsrc/Makefile.dep dcmnet/libsrc/Makefile.in **** Changes from 2011.10.04 (riesmeier) - Added method that allows for updating the original transfer syntax (e.g. after pixel data with a particular representation has been added). Affects: dcmdata/libsrc/dcdatset.cc dcmdata/include/dcmtk/dcmdata/dcdatset.h - Added support for storing the current transfer syntax of the dataset (in addition to the original one). The transfer syntax is also used for the print() and writeXML() methods. The default is explicit VR local endian. Affects: dcmdata/libsrc/dcdatset.cc dcmdata/include/dcmtk/dcmdata/dcdatset.h - Avoid double output of particular error messages to the logger. Affects: dcmnet/apps/findscu.cc dcmnet/libsrc/dfindscu.cc - Added flag that allows for specifying whether to convert a dataset to be transferred to the network transfer syntax. Also removed unused parameters "rspCommandSet" and "rspStatusDetail" from method sendSTORERequest(). Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc **** Changes from 2011.10.03 (schlachter) - Reverted some accidentally committed changes. Affects: dcmjpeg/libijg12/jdhuff.c dcmjpeg/libijg12/jdmarker.c **** Changes from 2011.09.30 (riesmeier) - Fixed wrong or misleading comment on the member variable "Xfer". Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h **** Changes from 2011.09.30 (schlachter) - Removed a recursion in moveRecordToTree() which could cause stack overflows. Thanks to forum user "flang" for the report and the original patch. Affects: dcmdata/libsrc/dcdicdir.cc - Replaced an ugly "else while" construct with a clearer version. Affects: dcmdata/libsrc/dcdicdir.cc - Added a proper check for gethostbyname_r(). Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in config/configure config/configure.in config/include/dcmtk/config/osconfig.h.in dcmdata/libsrc/dcuid.cc oflog/include/dcmtk/oflog/config/defines.h - Made CHECK_FUNCTIONWITHHEADER_EXISTS generate an unique message. Affects: CMake/CheckFunctionWithHeaderExists.cmake - Corrected accidentally broken log output. Affects: dcmjpeg/libijg12/jdhuff.c dcmjpeg/libijg12/jdhuff12.h dcmjpeg/libijg12/jdmarker.c dcmjpeg/libijg12/jerror12.h dcmjpeg/libijg12/jmemsys12.h dcmjpeg/libijg16/jdhuff16.h dcmjpeg/libijg16/jerror16.h dcmjpeg/libijg16/jmemsys16.h dcmjpeg/libijg8/jdhuff8.h dcmjpeg/libijg8/jerror8.h dcmjpeg/libijg8/jmemsys8.h - Improved log output and moved to DEBUG log level. Affects: dcmjpls/libsrc/djcodecd.cc dcmjpls/libsrc/djcodece.cc **** Changes from 2011.09.29 (riesmeier) - Fixed memory leak in sendSTORERequest(), a DICOM dataset was not deleted. Affects: dcmnet/libsrc/scu.cc - Enhanced loadFile() method by making sure that the file preamble is present. Affects: dcmdata/include/dcmtk/dcmdata/dcmetinf.h dcmdata/libsrc/dcmetinf.cc - Introduced new network-related error codes, e.g. in case that none of the proposed presentation contexts were accepted by the association acceptor. Affects: dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/libsrc/cond.cc dcmnet/libsrc/dfindscu.cc dcmnet/libsrc/scu.cc - Added check whether the presentation context specified by the caller of the method was really accepted before sending a C-STORE request. Affects: dcmnet/libsrc/scu.cc - Enhanced implementation of the function that retrieves the abstract syntax and transfer syntax of a particular presentation context (using the ID). Affects: dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc - Further cleanup of the log output (verbose vs. debug mode). Affects: dcmnet/apps/movescu.cc - Output message ID of request and DIMSE status of response messages to the INFO logger (if DEBUG level is not enabled). All tools and classes in the "dcmnet" module now use (more or less) the same output in verbose mode. Affects: dcmnet/apps/echoscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/libsrc/dfindscu.cc dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc **** Changes from 2011.09.28 (riesmeier) - Added general support for transfer syntax conversions to sendSTORERequest(). Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Simplified code for reporting the conversion of transfer syntaxes to logger. Affects: dcmnet/apps/storescu.cc - Return a more appropriate error code in case the dataset to be sent is invalid. This also required to introduce a return value for getDatasetInfo(). Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Introduced new isLossy() and isLossless() methods in order to check whether a transfer syntax uses a lossy or lossless compression (if any at all). Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h dcmdata/libsrc/dcxfer.cc - Output the DIMSE status in verbose mode (if debug mode is not enabled). Affects: dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc - Completed implementation of function DU_cgetStatusString(). Affects: dcmnet/libsrc/diutil.cc - Added function that converts the status of a C-ECHO response to a string. Affects: dcmnet/apps/echoscu.cc dcmnet/include/dcmtk/dcmnet/diutil.h dcmnet/libsrc/diutil.cc - Added method that allows for clearing the list of presentation contexts. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Introduced a couple of new network-related error codes (aka OFCondition). Affects: dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/libsrc/cond.cc dcmnet/libsrc/scu.cc **** Changes from 2011.09.26 (riesmeier) - Added definitions for enabling full support for the ON_THE_FLY_COMPRESSION feature by uncommenting a single line in the (C)make file. Affects: dcmnet/apps/CMakeLists.txt dcmnet/apps/Makefile.in - Removed superfluous include directories (to IJG headers). Affects: dcmjpeg/apps/CMakeLists.txt - Added support for JPEG-LS to the experimental ON_THE_FLY_COMPRESSION feature. Affects: dcmnet/apps/storescu.cc - Changed order of DCMTK modules in order to allow network applications to depend on the image compression libraries. Of course, this is only a modification of the default configuration. The user can still change the order or disable particular modules (see INSTALL file for details). Affects: CMakeLists.txt Makefile config/modules - Moved --verbose-pc option to the end of the "general options" section. Affects: dcmnet/apps/getscu.cc dcmnet/apps/storescu.cc dcmnet/docs/getscu.man **** Changes from 2011.09.23 (riesmeier) - Removed needless deletion of the "statusDetail" variable. Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.09.22 (riesmeier) - Fixed incorrect comment on return code of some sendXXXRequest() methods. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scu.h - Removed "dcmtls" headers, which were used/needed in a previous version. Affects: dcmnet/include/dcmtk/dcmnet/scp.h - Updated man pages for new development snapshot. Added: doxygen/manpages/man1/getscu.1 Affects: doxygen/manpages/man1/* - Fixed MinGW defines by explicitly specifying the value. Affects: config/configure.in - Output status detail information (if any) to the DEBUG logger and not to the WARN or INFO logger. This is now consistent for all DCMTK network tools. Affects: dcmnet/apps/echoscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/libsrc/dfindscu.cc - Output DIMSE status of the response message to the INFO logger (if DEBUG mode if not enabled). Thanks to forum user "kron24" for the original report. Affects: dcmnet/apps/storescu.cc - Added note that the three FIND SOP classes are also proposed, even though they are not used (a relict of the RSNA'93 demonstration). Affects: dcmnet/docs/movescu.man **** Changes from 2011.09.21 (riesmeier) - Moved two options from the "general" section to more appropriate subsections. Introduced new --backup option to indicate what the default behavior is and modified some backup-related log messages. Affects: dcmdata/apps/mdfconen.cc dcmdata/docs/dcmodify.man - Added missing man page for the new C-GET SCU command line tool. Added: dcmnet/docs/getscu.man Affects: dcmnet/docs/dcmnet.dox - Added explicit typecast in order to correctly output the presentation context ID to the logger. Affects: dcmnet/libsrc/dfindscu.cc dcmnet/apps/movescu.cc - Removed TCP wrapper support (libwrap) which is not really useful for an SCU. Affects: dcmnet/apps/getscu.cc - Removed option --disable-host-lookup which is not really useful for an SCU. Affects: dcmnet/apps/getscu.cc - Removed version check for "Darwin" in order to always support the most recent Mac OS X version. Thanks to forum user "coach4ae" for the original report. Affects: config/configure config/configure.in - Fixed minor issue regarding the --key option. Affects: dcmnet/docs/movescu.man **** Changes from 2011.09.20 (schlachter) - Fixed a badly choosen timeout when accepting a new association. Thanks to Kornelius Sohn for the report and the suggested fix. Affects: dcmnet/libsrc/dul.cc - Correctly signal timeouts while accepting an association. Thanks to Kornelius Sohn for the report. Affects: dcmnet/libsrc/dulfsm.cc **** Changes from 2011.09.19 (riesmeier) - Made output of C-FIND responses to logger more consistent with movescu. Affects: dcmnet/libsrc/dfindscu.cc - Output more details on incoming sub-associations (e.g. presentation contexts). Also fixed some other inconsistencies regarding the logging. Affects: dcmnet/apps/movescu.cc - Added further helper classes to the module's documentation page. Affects: ofstd/docs/ofstd.dox **** Changes from 2011.09.16 (riesmeier) - Fixed some typos and other small inconsistencies. Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.09.09 (riesmeier) - Output more details in case of bad command to the ERROR and DEBUG logger. Affects: dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc - Output error message on bad command type to ERROR instead of INFO logger. Affects: dcmpstat/libsrc/dvpsprt.cc - Replaced local list of supported storage SOP classes by the global variable dcmLongSCUStorageSOPClassUIDs, which is maintained at a central location. Affects: dcmnet/apps/getscu.cc - Aligned list of documented SOP classes with the actual implementation. Affects: dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmqrdb/docs/dcmqrscp.man - Fixed outdated notes on the --port option and some other minor issues. Affects: dcmnet/docs/movescu.man **** Changes from 2011.09.08 (elgazzar) - Added a module number for the dcmstscp module for the error codes. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h **** Changes from 2011.09.08 (riesmeier) - Added support for new SOP Class UID from Supplement 152 (Ophthalmic Thickness Map Storage SOP Class). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/docs/storescu.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for final text version of Supplement 152 (Ophthalmic Thickness Map Storage SOP Class) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Fixed log message in checkMetaHeaderValue() for reasons of consistency. Affects: dcmdata/libsrc/dcfilefo.cc **** Changes from 2011.09.07 (riesmeier) - Made more clear that option --key also supports path expressions. Affects: dcmnet/apps/getscu.cc **** Changes from 2011.09.06 (elgazzar) - Added a function to handle N-ACTION request. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc - Also added a function to send N-EVENT-REPORT request on the current association. Intended to be used for a storage commitment server. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc - Also added a function to find a presentation context given a presentation context ID. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc - Fixed wrong logger name which caused compiler error. Affects: dcmnet/libsrc/scu.cc - Added a function to send N-EVENT-REPORT request and receive a response. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc **** Changes from 2011.09.06 (riesmeier) - Added support for final text version of CP-1064 (Float VR in numeric SR content items) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Also remove elements of group 0x0006 from sequence items (see CP-1129). Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/libsrc/dcdatset.cc - Fixed typo in CMake warning message (copy-and-paste bug). Thanks to Per Inge Mathisen for the report and suggested fix. Affects: CMake/3rdparty.cmake **** Changes from 2011.08.30 (schlachter) - Fix compilation on Solaris and possibly other systems. Affects: dcmnet/libsrc/dulfsm.cc **** Changes from 2011.08.26 (riesmeier) - Added new helper methods putAndInsertFloat32/64Array(). Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h dcmdata/libsrc/dcitem.cc - Fixed issue with possibly wrong status return value in putAndInsertFloat32(). Affects: dcmdata/libsrc/dcitem.cc - Replaced remaining tabs by spaces. Affects: dcmdata/include/dcmtk/dcmdata/dcvrfd.h dcmdata/include/dcmtk/dcmdata/dcvrfl.h **** Changes from 2011.08.25 (riesmeier) - Further cleanup of minor inconsistencies regarding documentation, parameter names, log output and handling of status details information. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Changed data structure for Q/R responses from OFVector to OFList. Also fixed some possible memory leaks and made the FIND/MOVE/GET code more consistent. Affects: dcmnet/apps/getscu.cc dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Added "verbose-pc" mode that shows the presentation contexts in verbose mode. Affects: dcmnet/apps/getscu.cc - Fixed minor issues in the documentation, parameter and method names. Output retrieve responses to main dcmnet logger instead of response logger. Affects: dcmnet/libsrc/scu.cc - Fixed minor issues in the API documentation, parameter and method names. Affects: dcmnet/include/dcmtk/dcmnet/scu.h **** Changes from 2011.08.25 (onken) - Added getscu to configure/make build system. Affects: dcmnet/apps/Makefile.dep dcmnet/apps/Makefile.in - Added C-GET functionality to DcmSCU class and accompanying getscu commandline application. Added: dcmnet/apps/getscu.cc Affects: dcmnet/apps/CMakeLists.txt dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Fixed typo and adapted copyright. Affects: dcmdata/docs/dcmodify.man - Added dcmodify option that permits creation of files from scratch. Affects: dcmdata/apps/mdfconen.cc dcmdata/apps/mdfconen.h dcmdata/apps/mdfdsman.cc dcmdata/apps/mdfdsman.h dcmdata/docs/dcmodify.man **** Changes from 2011.08.24 (riesmeier) - Uncommented name of unused method parameter that caused a compiler warning. Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.08.23 (riesmeier) - Added optional parameter for the private creator to the DcmTag constructor in order to better support private tag definitions. Affects: dcmdata/include/dcmtk/dcmdata/dctag.h dcmdata/libsrc/dctag.cc - Fixed another inconsistent test name. Affects: dcmdata/tests/tests.cc dcmdata/tests/tparser.cc - Minor stylistic corrections. Affects: INSTALL **** Changes from 2011.08.22 (riesmeier) - Fixed misleading documentation for hasValidGroup() method. Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h **** Changes from 2011.08.22 (schlachter) - Enhanced the "make check" target. Affects: Makefile config/Makefile.in config/rootconf dcmdata/Makefile.in dcmdata/tests/Makefile.in dcmimage/Makefile.in dcmimage/tests/Makefile.in dcmimgle/Makefile.in dcmimgle/tests/Makefile.in dcmjpeg/Makefile.in dcmjpeg/tests/Makefile.in dcmjpls/Makefile.in dcmjpls/tests/Makefile.in dcmnet/Makefile.in dcmnet/tests/Makefile.in dcmpstat/Makefile.in dcmpstat/tests/Makefile.in dcmqrdb/Makefile.in dcmqrdb/tests/Makefile.in dcmsign/Makefile.in dcmsign/tests/Makefile.in dcmsr/Makefile.in dcmsr/tests/Makefile.in dcmtls/Makefile.in dcmtls/tests/Makefile.in dcmwlm/Makefile.in dcmwlm/tests/Makefile.in oflog/Makefile.in oflog/tests/Makefile.in ofstd/Makefile.in ofstd/tests/Makefile.in - Fixed atof test with MSC6. Affects: ofstd/tests/tatof.cc **** Changes from 2011.08.19 (schlachter) - Added a function for sleeping with a millisecond timeout. Affects: ofstd/include/dcmtk/ofstd/ofstd.h ofstd/libsrc/ofstd.cc - Speed up the thread test by polling more often for events. Affects: ofstd/tests/tthread.cc - Fixed compilation with MSC6. Affects: dcmdata/tests/telemlen.cc dcmjpeg/libsrc/djdijg12.cc dcmjpeg/libsrc/djdijg16.cc dcmjpeg/libsrc/djdijg8.cc - Turned on make's silent mode for "make check". Affects: Makefile config/rootconf **** Changes from 2011.08.19 (riesmeier) - Moved "TLS options" section closer to the related "network options" section. Affects: dcmnet/apps/storescp.cc dcmnet/docs/storescp.man - Added support for specifying the directory where the response messages are stored. Also output the name of the created file to the logger. Affects: dcmnet/apps/findscu.cc dcmnet/docs/findscu.man dcmnet/include/dcmtk/dcmnet/dfindscu.h dcmnet/libsrc/dfindscu.cc - Added new command line options in order to enable the output of C-FIND response messages to the new dcmnet response logger (on INFO level). Affects: dcmnet/apps/findscu.cc dcmnet/docs/findscu.man - Output C-FIND response messages to a separate logger (on INFO level). Affects: dcmnet/include/dcmtk/dcmnet/diutil.h dcmnet/libsrc/dfindscu.cc dcmnet/libsrc/diutil.cc oflog/etc/logger.cfg - Passed log4cplus's internal log level OFF_LOG_LEVEL to OFLogger and added new method for setting the log level directly. Affects: oflog/include/dcmtk/oflog/oflog.h **** Changes from 2011.08.18 (riesmeier) - Replaced the private creator part of the hash function by an equivalent but probably more efficient implementation. Affects: dcmdata/libsrc/dchashdi.cc - Fixed API documentation (required after last commit). Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h - Fixed some settings regarding CygWin. Affects: CMake/osconfig.h.in - Made sure that #define statements always have a value and #undef has none. Affects: CMake/osconfig.h.in config/include/dcmtk/config/osconfig.h.in - Added "wwwapps" sub-directory to CMake project files. Added: dcmwlm/wwwapps/CMakeLists.txt Affects: dcmwlm/CMakeLists.txt - Replaced function max() by macro MAX() in order to compile with VisualStudio. Affects: dcmwlm/wwwapps/writwlst.cc **** Changes from 2011.08.17 (schlachter) - Added a small test for the data dictionary. Added: dcmdata/tests/tdict.cc Affects: dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.in dcmdata/tests/tests.cc - Fixed a crash when iterating over an empty dictionary. Affects: dcmdata/libsrc/dchashdi.cc - Improved hashing function for tags (less code, handles private creator). Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h dcmdata/libsrc/dchashdi.cc - Removed some accidentally committed test code. Affects: dcmdata/tests/tdict.cc **** Changes from 2011.08.16 (riesmeier) - Replaced define HAVE_CONFIG_H by a more appropriate INETD_AVAILABLE. Affects: dcmnet/apps/storescp.cc dcmnet/docs/storescp.man - Added missing CMake tests for system header files. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in - Added missing CMake tests for system functions. Affects: CMake/GenerateDCMTKConfigure.cmake CMake/osconfig.h.in - Replaced system-dependent checks by the defines for localtime_r and gmtime_r. Affects: ofstd/libsrc/ofdate.cc ofstd/libsrc/oftime.cc - Fixed wrong use of #if statement. Affects: ofstd/libsrc/oftime.cc **** Changes from 2011.08.11 (riesmeier) - Added new Storage SOP Classes from DICOM 2011, which are originally defined in DICOS and DICONDE standard, respectively. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg - Updated data dictionary for DICOM 2011 standard. This includes definitions from DICOS (Digital Imaging and Communications in Security) standard. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added missing header file to compile when PRINT_REPLACED_DICTIONARY_ENTRIES is defined. Affects: dcmdata/libsrc/dchashdi.cc **** Changes from 2011.08.10 (riesmeier) - Removed any references to the old "cfunix.h" file. Thanks to Markus Mertens for the original report. Affects: config/Makefile.in dcmdata/docs/datadict.txt **** Changes from 2011.08.10 (schlachter) - Improved robustness of the DCMTK_ADD_TESTS CMake macro. Affects: CMake/dcmtkAddTests.cmake - Increase minimum CMake version to 2.6. Affects: CMakeLists.txt INSTALL **** Changes from 2011.08.09 (riesmeier) - Introduced installation components for the CMake build system (in a similar way as for GNU autoconf), which could be useful for package maintainers. Added: dcmdata/include/CMakeLists.txt dcmimage/include/CMakeLists.txt dcmimgle/include/CMakeLists.txt dcmjpeg/include/CMakeLists.txt dcmjpls/include/CMakeLists.txt dcmnet/include/CMakeLists.txt dcmpstat/include/CMakeLists.txt dcmqrdb/include/CMakeLists.txt dcmsign/include/CMakeLists.txt dcmsr/include/CMakeLists.txt dcmtls/include/CMakeLists.txt dcmwlm/include/CMakeLists.txt oflog/include/CMakeLists.txt ofstd/include/CMakeLists.txt Removed: dcmdata/include/dcmtk/dcmdata/CMakeLists.txt dcmdata/include/dcmtk/dcmdata/libi2d/CMakeLists.txt dcmimage/include/dcmtk/dcmimage/CMakeLists.txt dcmimgle/include/dcmtk/dcmimgle/CMakeLists.txt dcmjpeg/include/dcmtk/dcmjpeg/CMakeLists.txt dcmjpls/include/dcmtk/dcmjpls/CMakeLists.txt dcmnet/include/dcmtk/dcmnet/CMakeLists.txt dcmpstat/include/dcmtk/dcmpstat/CMakeLists.txt dcmqrdb/include/dcmtk/dcmqrdb/CMakeLists.txt dcmsign/include/dcmtk/dcmsign/CMakeLists.txt dcmsr/include/dcmtk/dcmsr/CMakeLists.txt dcmtls/include/dcmtk/dcmtls/CMakeLists.txt dcmwlm/include/dcmtk/dcmwlm/CMakeLists.txt oflog/include/dcmtk/oflog/CMakeLists.txt ofstd/include/dcmtk/ofstd/CMakeLists.txt Affects: CMakeLists.txt config/docs/CMakeLists.txt dcmdata/CMakeLists.txt dcmdata/apps/CMakeLists.txt dcmdata/data/CMakeLists.txt dcmdata/docs/CMakeLists.txt dcmdata/libi2d/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmimage/CMakeLists.txt dcmimage/apps/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmimgle/CMakeLists.txt dcmimgle/apps/CMakeLists.txt dcmimgle/data/CMakeLists.txt dcmimgle/libsrc/CMakeLists.txt dcmjpeg/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/CMakeLists.txt dcmjpls/apps/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/CMakeLists.txt dcmnet/apps/CMakeLists.txt dcmnet/docs/CMakeLists.txt dcmnet/etc/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmpstat/CMakeLists.txt dcmpstat/apps/CMakeLists.txt dcmpstat/data/CMakeLists.txt dcmpstat/etc/CMakeLists.txt dcmpstat/libsrc/CMakeLists.txt dcmqrdb/CMakeLists.txt dcmqrdb/apps/CMakeLists.txt dcmqrdb/docs/CMakeLists.txt dcmqrdb/etc/CMakeLists.txt dcmqrdb/libsrc/CMakeLists.txt dcmsign/CMakeLists.txt dcmsign/apps/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/CMakeLists.txt dcmsr/apps/CMakeLists.txt dcmsr/data/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmtls/CMakeLists.txt dcmtls/docs/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt dcmwlm/CMakeLists.txt dcmwlm/apps/CMakeLists.txt dcmwlm/data/CMakeLists.txt dcmwlm/docs/CMakeLists.txt dcmwlm/libsrc/CMakeLists.txt doxygen/CMakeLists.txt oflog/CMakeLists.txt oflog/etc/CMakeLists.txt oflog/libsrc/CMakeLists.txt ofstd/CMakeLists.txt ofstd/libsrc/CMakeLists.txt - Fixed wrong pattern in INSTALL statement. Affects: dcmdata/include/CMakeLists.txt dcmimgle/include/CMakeLists.txt - Moved "osconfig.h" file generated by CMake to "config" sub-directory. Affects: CMakeLists.txt INSTALL **** Changes from 2011.08.08 (riesmeier) - Added label to CMake tests (CTest), which is identical to the module name. Affects: CMake/dcmtkAddTests.cmake - Added test cases for new parser flag "dcmPreferVRFromDataDictionary". Affects: dcmdata/tests/tests.cc dcmdata/tests/tparser.cc - Added new parser flag that allows for ignoring the element's VR read from the dataset and for preferring the VR defined in the data dictionary. Affects: dcmdata/apps/dcmconv.cc dcmdata/apps/dcmdump.cc dcmdata/docs/dcmconv.man dcmdata/docs/dcmdump.man dcmdata/include/dcmtk/dcmdata/dcobject.h dcmdata/libsrc/dcitem.cc dcmdata/libsrc/dcobject.cc - Fixed various minor issues related to the Doxygen documentation. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h **** Changes from 2011.08.08 (onken) - Added further doxygen documentation. Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h - Made assignment operator private and added public copy constructor. Fixed doxygen documentation. Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h - Added dumb assignment operator in order to keep VS compilers quiet. Thanks to Yves Neumann for the hint and suggested patch. Affects: dcmnet/include/dcmtk/dcmnet/dcuserid.h **** Changes from 2011.08.05 (riesmeier) - Renamed test logger in order to reflect the current name of the program. Affects: dcmdata/tests/tpath.cc - Fixed output of test program in debug mode. Affects: dcmdata/tests/tpath.cc **** Changes from 2011.08.05 (onken) - Added function to find out whether current process was "forked" under windows as a child. - Added functions to switch between blocking and non-blocking TCP/IP connection mode. Also permits giving a timeout for non-blocking mode (default is 1000 seconds as it was hardcoded before). - DcmSCP now listens in TCP/IP blocking mode per default! This is since it is expected that most users like to have the server running endlessly. - Renamed member and functions for DIMSE blocking mode in order to be clearly distinguishable from TCP/IP blocking mode. - Moved message about disabled dcmdata autocorrection to listen() function in order to (have the possibility to) suppress it in the child processes. - Added some debug output and documentation. Affects: dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/libsrc/scp.cc **** Changes from 2011.08.03 (riesmeier) - Added macro that allows for disabling the port permission check in SCPs. Thanks to forum user "Per" for pointing to this issue. Affects: config/docs/macros.txt dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/include/dcmtk/dcmnet/cond.h dcmnet/libsrc/cond.cc dcmnet/libsrc/scp.cc dcmpstat/apps/dcmpsrcv.cc dcmpstat/tests/msgserv.cc dcmqrdb/apps/dcmqrscp.cc dcmwlm/libsrc/wlmactmg.cc - Added blocking mode and timeout parameter to request association functions. Thanks to Peter Klotz for the original patch. Affects: dcmnet/include/dcmtk/dcmnet/assoc.h dcmnet/include/dcmtk/dcmnet/dul.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/dul.cc - Include "io.h" required for mktemp() on Windows with VisualStudio. Affects: dcmdata/libsrc/dcdicdir.cc - Added "io.h" to the list of headers used for testing function prototypes. Required in order to avoid a compiler warning on Windows with VisualStudio. Affects: CMake/GenerateDCMTKConfigure.cmake - Updated information on latest version of CMake that has been tested (2.8.5). Affects: CMakeLists.txt **** Changes from 2011.08.02 (schlachter) - Speed up the code for writing DICOMDIRs. Affects: dcmdata/libsrc/dcdicdir.cc - Don't load files twice when constructing a DICOMDIR. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcdirrec.cc - Speed up the code for reading DICOMDIRs, too. Affects: dcmdata/include/dcmtk/dcmdata/dcdicdir.h dcmdata/libsrc/dcdicdir.cc **** Changes from 2011.08.02 (riesmeier) - Added more general support for softcopy presentation states (not only GSPS). Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrimgvl.cc dcmsr/libsrc/dsrtypes.cc - Fixed typos and/or minor formatting issues. Affects: dcmsr/include/dcmtk/dcmsr/dsrcodtn.h dcmsr/include/dcmtk/dcmsr/dsrcodvl.h dcmsr/include/dcmtk/dcmsr/dsrcomtn.h dcmsr/include/dcmtk/dcmsr/dsrcomvl.h dcmsr/include/dcmtk/dcmsr/dsrcontn.h dcmsr/include/dcmtk/dcmsr/dsrcsidl.h dcmsr/include/dcmtk/dcmsr/dsrdattn.h dcmsr/include/dcmtk/dcmsr/dsrdoctn.h dcmsr/include/dcmtk/dcmsr/dsrdtitn.h dcmsr/include/dcmtk/dcmsr/dsrimgfr.h dcmsr/include/dcmtk/dcmsr/dsrimgtn.h dcmsr/include/dcmtk/dcmsr/dsrimgvl.h dcmsr/include/dcmtk/dcmsr/dsrnumtn.h dcmsr/include/dcmtk/dcmsr/dsrnumvl.h dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h dcmsr/include/dcmtk/dcmsr/dsrreftn.h dcmsr/include/dcmtk/dcmsr/dsrscogr.h dcmsr/include/dcmtk/dcmsr/dsrscotn.h dcmsr/include/dcmtk/dcmsr/dsrsoprf.h dcmsr/include/dcmtk/dcmsr/dsrstrvl.h dcmsr/include/dcmtk/dcmsr/dsrtcodt.h dcmsr/include/dcmtk/dcmsr/dsrtcosp.h dcmsr/include/dcmtk/dcmsr/dsrtcotn.h dcmsr/include/dcmtk/dcmsr/dsrtcoto.h dcmsr/include/dcmtk/dcmsr/dsrtcovl.h dcmsr/include/dcmtk/dcmsr/dsrtextn.h dcmsr/include/dcmtk/dcmsr/dsrtimtn.h dcmsr/include/dcmtk/dcmsr/dsrtlist.h dcmsr/include/dcmtk/dcmsr/dsruidtn.h dcmsr/include/dcmtk/dcmsr/dsrwavch.h dcmsr/include/dcmtk/dcmsr/dsrwavtn.h dcmsr/include/dcmtk/dcmsr/dsrwavvl.h **** Changes from 2011.08.01 (onken) - Added CMake option for enforcing -fPIC flag when compiling on 64 bit unix platforms, needed for linking from dynamic libraries to statically linked DCMTK libraries. Affects: CMakeLists.txt - Fixed CVS log at end of file. Affects: dcmdata/tests/tparser.cc - Added deletion of temporary files in case tests fail. Affects: dcmdata/tests/tparser.cc - Changed random file name generation to avoid warning about mktemp on linux systems. Affects: dcmdata/tests/tparser.cc **** Changes from 2011.07.26 (onken) - Fixed regular expression in Mac OS X Lion adaption. Affects: config/configure config/configure.in - Fixed compilation with configure/make on Mac OS X Lion (10.7). Thanks to Eric A. Borisch for the suggested patch. Affects: config/configure config/configure.in **** Changes from 2011.07.14 (riesmeier) - Slightly enhanced performance of DICOMDIR code, e.g. by a more appropriate use of the underlying DcmList class. Affects: dcmdata/include/dcmtk/dcmdata/dcdicdir.h dcmdata/libsrc/dcdicdir.cc - Fixed wrong method name in log message. Affects: dcmdata/libsrc/dcdirrec.cc **** Changes from 2011.07.12 (riesmeier) - Made sure that elements from group 0x0000 are also removed from a data set. Affects: dcmdata/libsrc/dcdatset.cc - Added new optional flag that allows for removing invalid elements from a command set. Affects: dcmdata/include/dcmtk/dcmdata/dcdatset.h dcmdata/libsrc/dcdatset.cc - Output information on removed invalid data elements to debug logger. Affects: dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcmetinf.cc **** Changes from 2011.07.07 (riesmeier) - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/* - Added missing extern "C" declaration for mktemp(), e.g. required for MSVC++. Affects: dcmdata/tests/tparser.cc **** Changes from 2011.07.06 (riesmeier) - Added missing test file "tparser" introduced with the last commit. Affects: dcmdata/tests/CMakeLists.txt **** Changes from 2011.07.06 (schlachter) - Rename include guards to match yesterday's rename. Affects: config/configure.in config/include/dcmtk/config/osconfig.h.in - Improved OFMap's and OFPair's standard conformance. Affects: ofstd/include/dcmtk/ofstd/ofmap.h - Removed some outdated notes, references and files. Removed: config/Makefile.x.in config/mvldflags Affects: config/docs/config.txt config/docs/modules.txt - Fixed various compiler warnings. Affects: dcmdata/apps/pdf2dcm.cc dcmdata/libi2d/Makefile.in dcmdata/libsrc/dcddirif.cc dcmnet/include/dcmtk/dcmnet/assoc.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc dcmpstat/apps/dcmmklut.cc dcmpstat/apps/dcmp2pgm.cc dcmpstat/apps/dcmpschk.cc dcmpstat/apps/dcmpsprt.cc dcmqrdb/libsrc/dcmqrtis.cc dcmwlm/libsrc/wlds.cc dcmwlm/libsrc/wlmactmg.cc dcmwlm/tests/wltest.cc dcmwlm/wwwapps/readoviw.cc dcmwlm/wwwapps/readwlst.cc - Added tests for some bugs which we recently fixed. Added: dcmdata/tests/tparser.cc Affects: dcmdata/tests/Makefile.in dcmdata/tests/tests.cc - Fixed some inconsistencies in test names. Affects: dcmdata/tests/tests.cc dcmdata/tests/tpath.cc ofstd/tests/tbase64.cc ofstd/tests/tests.cc ofstd/tests/tofstd.cc - Updated the template files. Affects: config/templates/Makefile.lib config/templates/Makefile.mod config/templates/Makefile.src - Changed the default log level for tests to "ERROR". Affects: oflog/include/dcmtk/oflog/oflog.h oflog/libsrc/oflog.cc ofstd/include/dcmtk/ofstd/oftest.h **** Changes from 2011.07.05 (riesmeier) - Updated documentation in order to reflect the removal / renaming of "cfunix.h.in". Slightly revised the wording and formatting of the text. Affects: config/docs/config.txt config/docs/modules.txt **** Changes from 2011.07.05 (schlachter) - Merge osconfig.h and cfunix.h.in into osconfig.h.in. Added: config/include/dcmtk/config/osconfig.h.in Removed: config/include/dcmtk/config/cfunix.h.in config/include/dcmtk/config/osconfig.h Affects: config/configure config/configure.in dcmdata/apps/Makefile.dep dcmdata/libi2d/Makefile.dep dcmdata/libsrc/Makefile.dep dcmdata/tests/Makefile.dep dcmimage/apps/Makefile.dep dcmimage/libsrc/Makefile.dep dcmimgle/apps/Makefile.dep dcmimgle/libsrc/Makefile.dep dcmjpeg/apps/Makefile.dep dcmjpeg/libijg12/Makefile.dep dcmjpeg/libijg16/Makefile.dep dcmjpeg/libijg8/Makefile.dep dcmjpeg/libsrc/Makefile.dep dcmjpls/apps/Makefile.dep dcmjpls/libcharls/Makefile.dep dcmjpls/libsrc/Makefile.dep dcmnet/apps/Makefile.dep dcmnet/libsrc/Makefile.dep dcmpstat/apps/Makefile.dep dcmpstat/libsrc/Makefile.dep dcmpstat/tests/Makefile.dep dcmqrdb/apps/Makefile.dep dcmqrdb/libsrc/Makefile.dep dcmsign/apps/Makefile.dep dcmsign/libsrc/Makefile.dep dcmsr/apps/Makefile.dep dcmsr/libsrc/Makefile.dep dcmsr/tests/Makefile.dep dcmtls/libsrc/Makefile.dep dcmwlm/apps/Makefile.dep dcmwlm/libsrc/Makefile.dep dcmwlm/tests/Makefile.dep dcmwlm/wwwapps/Makefile.dep oflog/libsrc/Makefile.dep ofstd/libsrc/Makefile.dep ofstd/tests/Makefile.dep **** Changes from 2011.06.30 (riesmeier) - Fixed minor issue that is reported when compiled with "gcc -Weffc++". Affects: dcmjpls/libsrc/djcparam.cc **** Changes from 2011.06.29 (riesmeier) - Minor changes to new section "RUNNING THE TESTSUITE". Affects: INSTALL - Fixed various issues that are reported when compiled with "gcc -Weffc++". Affects: dcmimage/include/dcmtk/dcmimage/diqtpix.h dcmnet/libsrc/scu.cc ofstd/include/dcmtk/ofstd/oftest.h **** Changes from 2011.06.29 (onken) - Enhanced documentation of DcmItem::clear(). Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h **** Changes from 2011.06.27 (riesmeier) - Closed two memory leaks. Thanks to forum user "angad" for the report. Affects: dcmwlm/libsrc/wlfsim.cc - Fixed mismatched delete vs. delete[] statements reported by valgrind. Affects: dcmwlm/libsrc/wlmactmg.cc **** Changes from 2011.06.21 (riesmeier) - Separated JPEG and JPEG 2000 variants of General Purpose DVD and USB/Flash Memory application profiles. Affects: dcmdata/apps/dcmgpdir.cc dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/libsrc/dcddirif.cc dcmjpeg/docs/dcmmkdir.man - Added two new multi-frame composite IODs from Supplement 151 to application profile DVD Interchange with MPEG2 Main Profile @ Main Level. Affects: dcmdata/libsrc/dcddirif.cc - Added support for Blu-ray Disc Media Application Profiles (Supplement 153). Affects: dcmdata/apps/dcmgpdir.cc dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/libsrc/dcddirif.cc dcmjpeg/docs/dcmmkdir.man **** Changes from 2011.06.21 (schlachter) - Renamed all log4cplus macros to avoid conflicts with external log4cplus. Again, thanks to forum user "ymartelli" for the report. Affects: oflog/docs/oflog.dox oflog/include/dcmtk/oflog/appender.h oflog/include/dcmtk/oflog/config.h oflog/include/dcmtk/oflog/configrt.h oflog/include/dcmtk/oflog/consap.h oflog/include/dcmtk/oflog/fileap.h oflog/include/dcmtk/oflog/fstreams.h oflog/include/dcmtk/oflog/hierarchy.h oflog/include/dcmtk/oflog/hierlock.h oflog/include/dcmtk/oflog/layout.h oflog/include/dcmtk/oflog/logger.h oflog/include/dcmtk/oflog/loglevel.h oflog/include/dcmtk/oflog/logmacro.h oflog/include/dcmtk/oflog/ndc.h oflog/include/dcmtk/oflog/ntelogap.h oflog/include/dcmtk/oflog/nullap.h oflog/include/dcmtk/oflog/oflog.h oflog/include/dcmtk/oflog/socketap.h oflog/include/dcmtk/oflog/streams.h oflog/include/dcmtk/oflog/syslogap.h oflog/include/dcmtk/oflog/tstring.h oflog/include/dcmtk/oflog/winconap.h oflog/include/dcmtk/oflog/windebap.h oflog/include/dcmtk/oflog/config/defines.h oflog/include/dcmtk/oflog/config/macosx.h oflog/include/dcmtk/oflog/config/win32.h oflog/include/dcmtk/oflog/helpers/apndimpl.h oflog/include/dcmtk/oflog/helpers/lloguser.h oflog/include/dcmtk/oflog/helpers/loglog.h oflog/include/dcmtk/oflog/helpers/pointer.h oflog/include/dcmtk/oflog/helpers/property.h oflog/include/dcmtk/oflog/helpers/sleep.h oflog/include/dcmtk/oflog/helpers/sockbuff.h oflog/include/dcmtk/oflog/helpers/socket.h oflog/include/dcmtk/oflog/helpers/strhelp.h oflog/include/dcmtk/oflog/helpers/syncppth.h oflog/include/dcmtk/oflog/helpers/syncprims.h oflog/include/dcmtk/oflog/helpers/syncpwin.h oflog/include/dcmtk/oflog/helpers/threadcf.h oflog/include/dcmtk/oflog/helpers/threads.h oflog/include/dcmtk/oflog/helpers/timehelp.h oflog/include/dcmtk/oflog/spi/apndatch.h oflog/include/dcmtk/oflog/spi/factory.h oflog/include/dcmtk/oflog/spi/filter.h oflog/include/dcmtk/oflog/spi/logevent.h oflog/include/dcmtk/oflog/spi/logfact.h oflog/include/dcmtk/oflog/spi/logimpl.h oflog/include/dcmtk/oflog/spi/objreg.h oflog/include/dcmtk/oflog/spi/rootlog.h oflog/libsrc/apndimpl.cc oflog/libsrc/appender.cc oflog/libsrc/config.cc oflog/libsrc/consap.cc oflog/libsrc/factory.cc oflog/libsrc/fileap.cc oflog/libsrc/filter.cc oflog/libsrc/globinit.cc oflog/libsrc/hierarchy.cc oflog/libsrc/hierlock.cc oflog/libsrc/layout.cc oflog/libsrc/logevent.cc oflog/libsrc/logger.cc oflog/libsrc/logimpl.cc oflog/libsrc/loglevel.cc oflog/libsrc/loglog.cc oflog/libsrc/ndc.cc oflog/libsrc/ntelogap.cc oflog/libsrc/objreg.cc oflog/libsrc/patlay.cc oflog/libsrc/pointer.cc oflog/libsrc/property.cc oflog/libsrc/rootlog.cc oflog/libsrc/sockbuff.cc oflog/libsrc/socketap.cc oflog/libsrc/strhelp.cc oflog/libsrc/syncprims.cc oflog/libsrc/syslogap.cc oflog/libsrc/threads.cc oflog/libsrc/timehelp.cc oflog/libsrc/unixsock.cc oflog/libsrc/winconap.cc oflog/libsrc/winsock.cc - Backport r1439 from log4cplus to fix endless loop in PatternParser. Thanks to forum user "kosborn" for (accidentally) finding the problem. Affects: oflog/libsrc/patlay.cc - Fix linking errors when compiling on windows. Affects: oflog/libsrc/winsock.cc - Use OFBool for a variable which is already used as a boolean. Affects: dcmimage/apps/dcm2pnm.cc **** Changes from 2011.06.21 (onken) - Fixed small documentation issue. Affects: dcmnet/include/dcmtk/dcmnet/scp.h **** Changes from 2011.06.20 (onken) - Fixed documentation of notifyDIMSEError() and sendSTOREResponse(). Affects: dcmnet/include/dcmtk/dcmnet/scp.h **** Changes from 2011.06.20 (riesmeier) - Added two new SOP Class UIDs from Supplement 151 (Intravascular OCT Image Storage SOP Class). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/docs/storescu.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man **** Changes from 2011.06.17 (riesmeier) - Added support for final text version of Supplement 151 (Intravascular OCT Image Storage SOP Class) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2011.06.15 (riesmeier) - Used new DcmTagKey::getBaseTag() where appropriate to simplify the code. Affects: dcmdata/libsrc/dcitem.cc - Made sure that only standard tags (even) are detected as repeating groups. Affects: dcmdata/libsrc/dctagkey.cc - Fixed insufficient comparison of repeating group tags OverlayData and CurveData. Thanks to forum user "budric" for pointing this out. Affects: dcmdata/libsrc/dcitem.cc - Added method that returns the base tag, i.e. in case of a repeating group tag always the base group number 0x5000 (curve) or 0x6000 (overlay) is used. Affects: dcmdata/include/dcmtk/dcmdata/dctagkey.h dcmdata/libsrc/dctagkey.cc - Added suffix "UL" to integer constant in order to avoid a compiler warning. Affects: dcmdata/libi2d/i2dbmps.cc - Updated copyright date. Affects: dcmsr/include/dcmtk/dcmsr/dsrimpcc.h dcmsr/libsrc/dsrimpcc.cc **** Changes from 2011.06.15 (schlachter) - Made sure thread 2 can't run before thread 1 in the semaphore test. Affects: ofstd/tests/tthread.cc - Moved log4cplus into namespace dcmtk::log4cplus. Thanks to forum user "ymartelli" for the report. Affects: dcmpstat/apps/dcmprscp.cc dcmpstat/apps/dcmprscu.cc dcmpstat/libsrc/dviface.cc oflog/include/dcmtk/oflog/appender.h oflog/include/dcmtk/oflog/configrt.h oflog/include/dcmtk/oflog/consap.h oflog/include/dcmtk/oflog/fileap.h oflog/include/dcmtk/oflog/fstreams.h oflog/include/dcmtk/oflog/hierarchy.h oflog/include/dcmtk/oflog/hierlock.h oflog/include/dcmtk/oflog/layout.h oflog/include/dcmtk/oflog/logger.h oflog/include/dcmtk/oflog/loglevel.h oflog/include/dcmtk/oflog/logmacro.h oflog/include/dcmtk/oflog/ndc.h oflog/include/dcmtk/oflog/ntelogap.h oflog/include/dcmtk/oflog/nullap.h oflog/include/dcmtk/oflog/oflog.h oflog/include/dcmtk/oflog/socketap.h oflog/include/dcmtk/oflog/streams.h oflog/include/dcmtk/oflog/syslogap.h oflog/include/dcmtk/oflog/tstring.h oflog/include/dcmtk/oflog/winconap.h oflog/include/dcmtk/oflog/windebap.h oflog/include/dcmtk/oflog/helpers/apndimpl.h oflog/include/dcmtk/oflog/helpers/lloguser.h oflog/include/dcmtk/oflog/helpers/loglog.h oflog/include/dcmtk/oflog/helpers/pointer.h oflog/include/dcmtk/oflog/helpers/property.h oflog/include/dcmtk/oflog/helpers/sleep.h oflog/include/dcmtk/oflog/helpers/sockbuff.h oflog/include/dcmtk/oflog/helpers/socket.h oflog/include/dcmtk/oflog/helpers/strhelp.h oflog/include/dcmtk/oflog/helpers/syncppth.h oflog/include/dcmtk/oflog/helpers/syncprims.h oflog/include/dcmtk/oflog/helpers/syncpwin.h oflog/include/dcmtk/oflog/helpers/threadcf.h oflog/include/dcmtk/oflog/helpers/threads.h oflog/include/dcmtk/oflog/helpers/timehelp.h oflog/include/dcmtk/oflog/spi/apndatch.h oflog/include/dcmtk/oflog/spi/factory.h oflog/include/dcmtk/oflog/spi/filter.h oflog/include/dcmtk/oflog/spi/logevent.h oflog/include/dcmtk/oflog/spi/logfact.h oflog/include/dcmtk/oflog/spi/logimpl.h oflog/include/dcmtk/oflog/spi/objreg.h oflog/include/dcmtk/oflog/spi/rootlog.h oflog/libsrc/apndimpl.cc oflog/libsrc/appender.cc oflog/libsrc/config.cc oflog/libsrc/consap.cc oflog/libsrc/factory.cc oflog/libsrc/fileap.cc oflog/libsrc/filter.cc oflog/libsrc/globinit.cc oflog/libsrc/hierarchy.cc oflog/libsrc/hierlock.cc oflog/libsrc/layout.cc oflog/libsrc/lloguser.cc oflog/libsrc/logevent.cc oflog/libsrc/logger.cc oflog/libsrc/logimpl.cc oflog/libsrc/loglevel.cc oflog/libsrc/loglog.cc oflog/libsrc/ndc.cc oflog/libsrc/ntelogap.cc oflog/libsrc/nullap.cc oflog/libsrc/objreg.cc oflog/libsrc/oflog.cc oflog/libsrc/patlay.cc oflog/libsrc/pointer.cc oflog/libsrc/property.cc oflog/libsrc/rootlog.cc oflog/libsrc/sleep.cc oflog/libsrc/sockbuff.cc oflog/libsrc/socket.cc oflog/libsrc/socketap.cc oflog/libsrc/strhelp.cc oflog/libsrc/syncprims.cc oflog/libsrc/syslogap.cc oflog/libsrc/threads.cc oflog/libsrc/timehelp.cc oflog/libsrc/unixsock.cc oflog/libsrc/winconap.cc oflog/libsrc/windebap.cc oflog/libsrc/winsock.cc **** Changes from 2011.06.14 (schlachter) - Fix needed libraries and link directories for the tests. Thanks to forum user "Paul Groot" for the report. Affects: dcmdata/tests/CMakeLists.txt ofstd/tests/CMakeLists.txt **** Changes from 2011.06.08 (schlachter) - Corrected some file purpose descriptions. Affects: dcmdata/tests/telemlen.cc ofstd/include/dcmtk/ofstd/oftest.h - Added a paragraph about the test suite. Affects: INSTALL **** Changes from 2011.06.07 (schlachter) - Added test cases for DcmElement::calcElementLength(). Added: dcmdata/tests/telemlen.cc Affects: dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.in dcmdata/tests/tests.cc - Again fixed a case where calcElementLength() used a wrong header length. Thanks to Peter Klotz for the report. Affects: dcmdata/libsrc/dcelem.cc - Enhance the documentation for DcmVR::getValidEVR(). Thanks to Peter Klotz for the hint. Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h - Don't leave behind temporary files after the test. Affects: dcmdata/tests/tpread.cc - Stop using the log levels INFO, WARN, ERROR and FATAL in tests. Affects: dcmdata/tests/ti2dbmp.cc dcmdata/tests/tpath.cc dcmdata/tests/tpread.cc - Make it possible to run tests with CMake in a sane way. Added: CMake/dcmtkAddTests.cmake Affects: CMakeLists.txt dcmdata/tests/CMakeLists.txt ofstd/tests/CMakeLists.txt - Add CMake/dcmtkAddTests.cmake to config/changext. Affects: config/changext **** Changes from 2011.06.01 (onken) - Removed unused status variable from C-ECHO code. Thanks to Per Inge Mathisen Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.05.31 (schlachter) - Fix a memcpy that wrote past its target on 64 bit systems. Thanks to Christian Wetzel for the report. Affects: dcmnet/libsrc/dulfsm.cc **** Changes from 2011.05.30 (onken) - Added dump of query/move keys in debug mode when sending C-FIND or C-MOVE. Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.05.30 (riesmeier) - Fixed wrong indentation. Affects: dcmnet/etc/storescp.cfg - Replaced Modality value "OT" by "DOC" which is more appropriate (see CP-749). Thanks to forum user "maleike" for the original report. Affects: dcmdata/apps/pdf2dcm.cc - Removed unused variables and fixed other compiler warnings. Thanks to Per Inge Mathisen for the report and suggested fix. Affects: dcmnet/apps/storescp.cc dcmqrdb/libsrc/dcmqrdbi.cc dcmsr/libsrc/dsrtypes.cc **** Changes from 2011.05.27 (riesmeier) - Fixed typos and source code formatting. Affects: dcmnet/apps/findscu.cc dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc dcmwlm/libsrc/wlds.cc dcmwlm/libsrc/wlmactmg.cc **** Changes from 2011.05.26 (onken) - Fixed build of ofstd tests with CMake. Affects: ofstd/tests/CMakeLists.txt **** Changes from 2011.05.25 (schlachter) - Imported oftest and converted existing tests to oftest. Added: dcmdata/tests/tchval.cc dcmdata/tests/tests.cc dcmdata/tests/ti2dbmp.cc dcmdata/tests/tpath.cc dcmdata/tests/tpread.cc ofstd/include/dcmtk/ofstd/oftest.h ofstd/tests/CMakeLists.txt ofstd/tests/tatof.cc ofstd/tests/tbase64.cc ofstd/tests/tests.cc ofstd/tests/tftoa.cc ofstd/tests/tstack.cc ofstd/tests/tthread.cc Removed: dcmdata/tests/i2dbmp.cc dcmdata/tests/tstchval.cc dcmdata/tests/tstpath.cc dcmdata/tests/tstpread.cc ofstd/tests/tlist.exp ofstd/tests/tstatof.cc ofstd/tests/tstftoa.cc ofstd/tests/tstlist.cc ofstd/tests/tstring.exp ofstd/tests/tstring.inp ofstd/tests/tststack.cc ofstd/tests/tststack.exp ofstd/tests/tstthred.cc Affects: COPYRIGHT Makefile config/Makefile.in config/rootconf dcmdata/Makefile.in dcmdata/tests/CMakeLists.txt dcmdata/tests/Makefile.dep dcmdata/tests/Makefile.in dcmdata/tests/tvrdatim.cc dcmimage/Makefile.in dcmimgle/Makefile.in dcmjpeg/Makefile.in dcmjpls/Makefile.in dcmnet/Makefile.in dcmpstat/Makefile.in dcmqrdb/Makefile.in dcmsign/Makefile.in dcmsr/Makefile.in dcmtls/Makefile.in dcmwlm/Makefile.in oflog/Makefile.in oflog/tests/Makefile.in ofstd/CMakeLists.txt ofstd/Makefile.in ofstd/docs/ofstd.dox ofstd/tests/Makefile.dep ofstd/tests/Makefile.in ofstd/tests/tlist.cc ofstd/tests/tmap.cc ofstd/tests/tofdatim.cc ofstd/tests/toffile.cc ofstd/tests/tofstd.cc ofstd/tests/tstring.cc ofstd/tests/tvec.cc **** Changes from 2011.05.25 (elgazzar) - Renamed a function name to find any presentation context ID. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Added a function to look for a presentation context ID that best matches the abstract syntax UID and the transfer syntax UID. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc **** Changes from 2011.05.25 (onken) - Added missing default initializiation of role flag in presentation context constructor. Affects: dcmnet/include/dcmtk/dcmnet/scu.h - Removed superfluous #define DUL_KEYS. Affects: dcmnet/include/dcmtk/dcmnet/dul.h **** Changes from 2011.05.24 (elgazzar) - Added role selection negotiation. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc **** Changes from 2011.05.24 (schlachter) - Moved LIBDIRS in front of LDFLAGS to link against the freshly build libs. Thanks to Eric A. Borisch for reporting this. Affects: config/templates/Makefile.src dcmdata/apps/Makefile.in dcmdata/libsrc/Makefile.in dcmdata/tests/Makefile.in dcmimage/apps/Makefile.in dcmimgle/apps/Makefile.in dcmjpeg/apps/Makefile.in dcmjpls/apps/Makefile.in dcmnet/apps/Makefile.in dcmpstat/apps/Makefile.in dcmpstat/jni/Makefile.in dcmpstat/tests/Makefile.in dcmqrdb/apps/Makefile.in dcmsign/apps/Makefile.in dcmsr/apps/Makefile.in dcmsr/tests/Makefile.in dcmwlm/apps/Makefile.in dcmwlm/tests/Makefile.in dcmwlm/wwwapps/Makefile.in ofstd/tests/Makefile.in **** Changes from 2011.05.23 (elgazzar) - Added a function to search for SOP instance in INDEX.dat file Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2011.05.19 (onken) - Fixed some documentation. Affects: dcmnet/include/dcmtk/dcmnet/scu.h - Fixed some documentation. Added some extra checks for NULL when handling MOVE and FIND responses. Simplified destructores for FIND and MOVEResponses. Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.05.19 (riesmeier) - Updated man pages for new development snapshot. Affects: doxygen/manpages/man1/* **** Changes from 2011.05.19 (onken) - Simplified C string copy by using OFStandard::strlcpy and removed debugging code introduced with last commit. Affects: dcmnet/libsrc/scu.cc - Removed unused variable that caused compiler warning. Fixed typo. Affects: dcmnet/libsrc/scu.cc - Fixed message ID field in C-CANCEL request (should be the one of last request). In case of error status codes in C-MOVE responses, the default behaviour is now to not wait for further responses. Fixed log output level to better fit the messages while receiveing C-MOVE responses. Minor code and comment cleanups. Affects: dcmnet/libsrc/scu.cc - Renamed function parameter in sendMOVEREquest to better reflect the standard. Affects: dcmnet/include/dcmtk/dcmnet/scu.h - Fixed wrong usage of strlcpy in new C-CANCEL function. Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.05.17 (onken) - Completed doxygen documentation of DcmSCU class. Fixed some minor formatting issues. Fixed CVS log at end of the file. Affects: dcmnet/include/dcmtk/dcmnet/scu.h - Implemented C-CANCEL message. Fixed some minor formatting issues. Changed C-ECHO implementation to rely on sendDIMSEMesage as the other DIMSE functions do. Changed some public function arguments to const to be more correct. Fixed CVS log at the end of the file. Affects: dcmnet/libsrc/scu.cc - Re-formatted CHANGES log entry from 2011-04-28. Affects: CHANGES.361 **** Changes from 2011.05.13 (riesmeier) - Output log messages if value of SOPClassUID or SOPInstanceUID in file meta information header and dataset is different. Affects: dcmdata/libsrc/dcfilefo.cc **** Changes from 2011.05.11 (schlachter) - Improved handling of files which ended before the end of a sequence. Affects: dcmdata/include/dcmtk/dcmdata/dcerror.h dcmdata/libsrc/dcerror.cc dcmdata/libsrc/dcsequen.cc - Fixed a bug where the VR scanner wrote output to stdout. Affects: dcmdata/libsrc/vrscanl.c dcmdata/libsrc/vrscanl.h dcmdata/libsrc/vrscanl.l **** Changes from 2011.05.11 (eichelberg) - Removed undisplayable character from comment line, which caused a C8419 warning on Visual C++. Thanks to Wang Qiang for the report. Affects: CMake/osconfig.h.in **** Changes from 2011.05.10 (schlachter) - Add an assignment operator to OFList. Affects: ofstd/include/dcmtk/ofstd/oflist.h ofstd/tests/tstlist.cc ofstd/tests/tstlist.exp **** Changes from 2011.05.09 (schlachter) - Worked around compiler error during template instantiation on AIX with xlC. Thanks to Michael Kraemer from GSI for reporting and testing this. Affects: dcmjpls/libcharls/lltraits.h **** Changes from 2011.05.04 (schlachter) - Fixed some memory leaks in seldomly-used code paths. Thanks to Per Inge Mathisen for finding these and providing a patch. Affects: dcmdata/libsrc/dcdirrec.cc dcmjpeg/libsrc/djdijg12.cc dcmjpeg/libsrc/djdijg16.cc dcmjpeg/libsrc/djdijg8.cc dcmnet/libsrc/dulconst.cc dcmnet/libsrc/dulfsm.cc dcmqrdb/libsrc/dcmqrdbi.cc **** Changes from 2011.05.03 (schlachter) - Fixed the source code indentation. Affects: dcmnet/libsrc/dulconst.cc - Remove a pointless return value from some function. This helps in static code analysis to ensure memory is never lost. Thanks to Per Inge Mathisen for the idea and the patch. Affects: dcmnet/include/dcmtk/dcmnet/diutil.h dcmnet/include/dcmtk/dcmnet/lst.h dcmnet/libsrc/assoc.cc dcmnet/libsrc/diutil.cc dcmnet/libsrc/dul.cc dcmnet/libsrc/dulconst.cc dcmnet/libsrc/dulfsm.cc dcmnet/libsrc/dulparse.cc dcmnet/libsrc/dulpres.cc dcmnet/libsrc/lst.cc dcmwlm/libsrc/wlfsim.cc - Fixed an uninitialized buffer use with truncated DICOM files. Thanks to Peter Klotz for the report and patch. Affects: dcmdata/libsrc/dcitem.cc **** Changes from 2011.05.02 (riesmeier) - Fixed syntax error (missing closing bracket) if HAVE_GETHOSTID is undefined. Thanks to Per Inge Mathisen for the original report. Affects: dcmdata/libsrc/dcuid.cc **** Changes from 2011.04.29 (riesmeier) - Added new SOP Class and Instance UIDs from final text version of Supplement 74 (Utilization of Worklist in Radiotherapy Treatment Delivery). Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcuid.cc dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg dcmqrdb/docs/dcmqrscp.man - Added support for new directory record type PLAN from Supplement 74. Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h dcmdata/include/dcmtk/dcmdata/dcdirrec.h dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcdirrec.cc **** Changes from 2011.04.29 (schlachter) - Fixed a off-by-one bug spotted by dcmdata/tests/tstpread. Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2011.04.28 (onken) - Added C-MOVE code for retrieving DICOM objects. So far only retrieving on a separate connection is supported. Thanks to Fred Stegemann for the initial patch. Added function for cleaning up internal memory from destructor. This function also fixes a memory leak in case users call initNetwork more than one time. Added error code returned by functions if SCU is already connected. Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Re-sorted header list to make scu.h come first (after osconfig.h). Protected public networking functions for creating an association from being called twice. Enhanced protection of DIMSE messaging functions from being called without being connected. Introduced status detail into C-FIND responses (and C-MOVE responses). Was not accessible to the caller before. Minor code cleanups. Affects: dcmnet/libsrc/scu.cc - Added some extra documentation. Affects dcmnet/include/dcmtk/dcmnet/scu.h **** Changes from 2011.04.28 (riesmeier) - Added support for final text version of Supplement 74 (Utilization of Worklist in Radiotherapy Treatment Delivery) to the data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2011.04.27 (riesmeier) - Added more checks on the type of DICOM object passed to the constructor. Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h dcmimgle/include/dcmtk/dcmimgle/didocu.h dcmimgle/libsrc/didocu.cc - Added more log messages in order to get details on invalid DICOM objects. Affects: dcmimgle/libsrc/didocu.cc **** Changes from 2011.04.26 (riesmeier) - Output a warning message in case the pixel data on the main dataset level is uncompressed but the transfer syntax is encapsulated (i.e. compressed). Affects: dcmimgle/libsrc/didocu.cc - Fixed minor issue with wrong log output. Also moved some less interesting log messages from "debug" to "trace" level. Affects: dcmdata/libsrc/dcdicdir.cc **** Changes from 2011.04.19 (riesmeier) - Added new options for generating output filenames for multi-frame images (either use a 0-based counter or the absolute frame number). Affects: dcmimage/apps/dcm2pnm.cc dcmimage/docs/dcm2pnm.man dcmjpeg/docs/dcmj2pnm.man dcmjpls/docs/dcml2pnm.man - Added CP 1036, 1037, 1044 and 1078 also to the CP section comment header. Affects: dcmdata/data/dicom.dic - Made sure that a negative number is not accepted when expecting an unsigned integer (sscanf() resulted in the two's complement without this new check). Affects: ofstd/libsrc/ofcmdln.cc **** Changes from 2011.04.18 (schlachter) - Use global variables for the logger objects. This removes the thread-unsafe static local variables which were used before. Affects: dcmdata/include/dcmtk/dcmdata/dctypes.h dcmdata/include/dcmtk/dcmdata/libi2d/i2doutpl.h dcmdata/libi2d/i2d.cc dcmdata/libi2d/i2djpgs.cc dcmdata/libsrc/dcdict.cc dcmdata/libsrc/dctypes.cc dcmimage/include/dcmtk/dcmimage/dilogger.h dcmimage/libsrc/dilogger.cc dcmimgle/include/dcmtk/dcmimgle/diutils.h dcmimgle/libsrc/diutils.cc dcmjpeg/include/dcmtk/dcmjpeg/djutils.h dcmjpeg/libsrc/dipijpeg.cc dcmjpeg/libsrc/djdijg12.cc dcmjpeg/libsrc/djdijg16.cc dcmjpeg/libsrc/djdijg8.cc dcmjpeg/libsrc/djeijg12.cc dcmjpeg/libsrc/djeijg16.cc dcmjpeg/libsrc/djeijg8.cc dcmjpeg/libsrc/djutils.cc dcmjpls/include/dcmtk/dcmjpls/djlsutil.h dcmjpls/libsrc/djutils.cc dcmnet/include/dcmtk/dcmnet/diutil.h dcmnet/libsrc/dfindscu.cc dcmnet/libsrc/diutil.cc dcmnet/libsrc/dulparse.cc dcmnet/libsrc/scp.cc dcmnet/libsrc/scu.cc dcmpstat/include/dcmtk/dcmpstat/dvpsdef.h dcmpstat/libsrc/dcmpstat.cc dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h dcmqrdb/libsrc/dcmqrcnf.cc dcmqrdb/libsrc/dcmqrtis.cc dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrtypes.cc dcmtls/include/dcmtk/dcmtls/tlslayer.h dcmtls/libsrc/tlslayer.cc dcmwlm/include/dcmtk/dcmwlm/wlds.h dcmwlm/libsrc/wlds.cc dcmwlm/libsrc/wlfsim.cc dcmwlm/libsrc/wlmactmg.cc **** Changes from 2011.04.12 (schlachter) - Delay loading of the data dictionary until its first use. Affects: dcmdata/include/dcmtk/dcmdata/dcdict.h dcmdata/libsrc/dcdict.cc **** Changes from 2011.04.06 (riesmeier) - Added support for final text version of Supplement 96 (Unified Worklist and Procedure Step) to data dictionary; added new SOP Class and Instance UIDs. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/libsrc/dcdictzz.cc dcmdata/libsrc/dcuid.cc - Added support for CP 1076, which adds a new "PNAME has properties" row to the relationship content constraints table. Affects: dcmsr/libsrc/dsrbascc.cc dcmsr/libsrc/dsrcomcc.cc dcmsr/libsrc/dsrenhcc.cc dcmsr/libsrc/dsrxrdcc.cc **** Changes from 2011.04.05 (riesmeier) - Output DIMSE status code in hexadecimal format to the logger. Removed unused code (local half-implemented function). Added more comments. Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.04.04 (riesmeier) - Output presentation context ID of incoming C-ECHO request to debug logger. Affects: dcmnet/apps/movescu.cc - Slightly modified text on --prepend option (depends on --search option). Affects: dcmdata/apps/dcmdump.cc dcmdata/docs/dcmdump.man **** Changes from 2011.04.01 (schlachter) - Improved handling of odd-length OW values in DcmElement::getPartialValue. Thanks to forum user "xcoder" for the original report and sample file. Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2011.04.01 (riesmeier) - Output message ID of C-ECHO request to the info logger (see C-STORE request). Affects: dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc **** Changes from 2011.03.25 (riesmeier) - Added prefix "DCMTK_" to various installation sub-directory CMake variables. Affects: CMake/GenerateDCMTKConfigure.cmake **** Changes from 2011.03.24 (riesmeier) - Added support for deflated transfer syntax (zlib compression) on incoming associations. Also fixed some inconsistencies when preferring transfer syntaxes with explicit VR. Affects: dcmwlm/apps/Makefile.dep dcmwlm/apps/wlcefs.cc dcmwlm/docs/wlmscpfs.man dcmwlm/libsrc/wlmactmg.cc - Added support for deflated transfer syntax (zlib compression) on outgoing associations. Affects: dcmnet/apps/findscu.cc dcmnet/apps/Makefile.dep dcmnet/docs/findscu.man dcmnet/libsrc/dfindscu.cc - Added support for deflated transfer syntax (zlib compression) on outgoing associations. Also fixed some inconsistencies regarding the transfer syntax for incoming associations, e.g. checking of command line option conflicts. Affects: dcmnet/apps/movescu.cc dcmnet/docs/movescu.man **** Changes from 2011.03.23 (riesmeier) - Added support for a library postfix when using debug builds (CMake only). Thanks to forum user "jacobf" for the suggestion. Affects: CMakeLists.txt - Made various installation sub-directories configurable by the CMake user. Affects: CMakeLists.txt - Added prefix "DCMTK_" to various installation sub-directory CMake variables. Affects: CMakeLists.txt config/docs/CMakeLists.txt dcmdata/apps/CMakeLists.txt dcmdata/data/CMakeLists.txt dcmdata/docs/CMakeLists.txt dcmdata/include/dcmtk/dcmdata/CMakeLists.txt dcmdata/include/dcmtk/dcmdata/libi2d/CMakeLists.txt dcmdata/libi2d/CMakeLists.txt dcmdata/libsrc/CMakeLists.txt dcmdata/tests/CMakeLists.txt dcmimage/apps/CMakeLists.txt dcmimage/include/dcmtk/dcmimage/CMakeLists.txt dcmimage/libsrc/CMakeLists.txt dcmimgle/apps/CMakeLists.txt dcmimgle/data/CMakeLists.txt dcmimgle/include/dcmtk/dcmimgle/CMakeLists.txt dcmimgle/libsrc/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpeg/include/dcmtk/dcmjpeg/CMakeLists.txt dcmjpeg/libijg12/CMakeLists.txt dcmjpeg/libijg16/CMakeLists.txt dcmjpeg/libijg8/CMakeLists.txt dcmjpeg/libsrc/CMakeLists.txt dcmjpls/apps/CMakeLists.txt dcmjpls/include/dcmtk/dcmjpls/CMakeLists.txt dcmjpls/libcharls/CMakeLists.txt dcmjpls/libsrc/CMakeLists.txt dcmnet/apps/CMakeLists.txt dcmnet/docs/CMakeLists.txt dcmnet/etc/CMakeLists.txt dcmnet/include/dcmtk/dcmnet/CMakeLists.txt dcmnet/libsrc/CMakeLists.txt dcmpstat/apps/CMakeLists.txt dcmpstat/data/CMakeLists.txt dcmpstat/etc/CMakeLists.txt dcmpstat/include/dcmtk/dcmpstat/CMakeLists.txt dcmpstat/libsrc/CMakeLists.txt dcmqrdb/apps/CMakeLists.txt dcmqrdb/docs/CMakeLists.txt dcmqrdb/etc/CMakeLists.txt dcmqrdb/include/dcmtk/dcmqrdb/CMakeLists.txt dcmqrdb/libsrc/CMakeLists.txt dcmsign/apps/CMakeLists.txt dcmsign/include/dcmtk/dcmsign/CMakeLists.txt dcmsign/libsrc/CMakeLists.txt dcmsr/apps/CMakeLists.txt dcmsr/data/CMakeLists.txt dcmsr/include/dcmtk/dcmsr/CMakeLists.txt dcmsr/libsrc/CMakeLists.txt dcmtls/docs/CMakeLists.txt dcmtls/include/dcmtk/dcmtls/CMakeLists.txt dcmtls/libsrc/CMakeLists.txt dcmwlm/apps/CMakeLists.txt dcmwlm/data/CMakeLists.txt dcmwlm/docs/CMakeLists.txt dcmwlm/include/dcmtk/dcmwlm/CMakeLists.txt dcmwlm/libsrc/CMakeLists.txt doxygen/CMakeLists.txt oflog/etc/CMakeLists.txt oflog/include/dcmtk/oflog/CMakeLists.txt oflog/include/dcmtk/oflog/config/CMakeLists.txt oflog/include/dcmtk/oflog/helpers/CMakeLists.txt oflog/include/dcmtk/oflog/spi/CMakeLists.txt oflog/libsrc/CMakeLists.txt ofstd/include/dcmtk/ofstd/CMakeLists.txt ofstd/libsrc/CMakeLists.txt - Added short note on the CMake variable "CMAKE_INSTALL_PREFIX". Affects: INSTALL **** Changes from 2011.03.22 (riesmeier) - Added new option for colored output of the textual dump - Unix only. Affects: dcmsr/apps/dsrdump.cc dcmsr/docs/dsrdump.man - Added support for colored output to the print() method - Unix only. Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrcodtn.cc dcmsr/libsrc/dsrcomtn.cc dcmsr/libsrc/dsrcontn.cc dcmsr/libsrc/dsrdattn.cc dcmsr/libsrc/dsrdoc.cc dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrdoctr.cc dcmsr/libsrc/dsrdtitn.cc dcmsr/libsrc/dsrimgtn.cc dcmsr/libsrc/dsrnumtn.cc dcmsr/libsrc/dsrpnmtn.cc dcmsr/libsrc/dsrreftn.cc dcmsr/libsrc/dsrsc3tn.cc dcmsr/libsrc/dsrscotn.cc dcmsr/libsrc/dsrtcotn.cc dcmsr/libsrc/dsrtextn.cc dcmsr/libsrc/dsrtimtn.cc dcmsr/libsrc/dsrtypes.cc dcmsr/libsrc/dsruidtn.cc dcmsr/libsrc/dsrwavtn.cc - Made sure that the header delimiter " : " is only printed when needed. Affects: dcmsr/libsrc/dsrdoc.cc - Added note that the new color options are not available on Windows systems. Affects: dcmsr/docs/dsrdump.man - Added note that the multi-process options are only available on systems that support the fork() call, i.e. not on Windows systems. Affects: dcmqrdb/docs/dcmqrscp.man - Updated information on latest version of CMake that has been tested (2.8.4). Affects: CMakeLists.txt **** Changes from 2011.03.21 (riesmeier) - Added new command line option that allows for disabling the output of ANSI escape codes for colored output (which was and still is the default). Affects: dcmdata/apps/dcmdump.cc dcmdata/docs/dcmdump.man - Added module name "DCMDATA_" as a prefix to the ANSI escape code macros. Affects: dcmdata/apps/dcmdump.cc dcmdata/include/dcmtk/dcmdata/dctypes.h dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcmetinf.cc dcmdata/libsrc/dcobject.cc - Moved ANSI escape code for "reset" to the end of each output line (before "OFendl") in order to avoid unwanted output if the stream gets interrupted. Affects: dcmdata/libsrc/dcdatset.cc dcmdata/libsrc/dcdirrec.cc dcmdata/libsrc/dcfilefo.cc dcmdata/libsrc/dcmetinf.cc dcmdata/libsrc/dcobject.cc **** Changes from 2011.03.18 (riesmeier) - Introduced new read flag that allows for accepting an invalid content item value (e.g. violation of VR or VM definition). Thanks to forum user "Yves Neumann" for the original report and sample file. Affects: dcmsr/apps/dsr2html.cc dcmsr/apps/dsrdump.cc dcmsr/docs/dsr2html.man dcmsr/docs/dsrdump.man dcmsr/include/dcmtk/dcmsr/dsrtypes.h dcmsr/libsrc/dsrdoctn.cc dcmsr/libsrc/dsrtypes.cc **** Changes from 2011.03.17 (schlachter) - Fixed a case where calcElementLength() used a wrong header length. Thanks to Peter Klotz for the report and patch. Affects: dcmdata/libsrc/dcelem.cc **** Changes from 2011.03.17 (riesmeier) - Added support for MPEG4 transfer syntaxes to network tools. Affects: dcmnet/apps/echoscu.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/docs/echoscu.man dcmnet/docs/movescu.man dcmnet/docs/storescp.man dcmnet/docs/storescu.man dcmqrdb/apps/dcmqrscp.cc dcmqrdb/docs/dcmqrscp.man dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrsrv.cc - Made sure that the array "transferSyntaxes" is large enough (16 entries). Affects: dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc **** Changes from 2011.03.16 (riesmeier) - Added support for MPEG4 transfer syntaxes to association negotiation profile. Affects: dcmnet/etc/storescp.cfg dcmnet/etc/storescu.cfg **** Changes from 2011.03.15 (riesmeier) - Remove data element PixelPaddingRangeLimit together with PixelPaddingValue. Affects: dcmjpeg/libsrc/djcodece.cc **** Changes from 2011.03.15 (schlachter) - Make sure we don't accidentally append a padding byte twice. Thanks to Gary Carter for the report and suggested fix. Affects: dcmdata/libsrc/dcvrobow.cc **** Changes from 2011.03.14 (riesmeier) - Output value of SOP Class UID in debug mode when reading a DICOM dataset. Affects: dcmsr/libsrc/dsrdoc.cc **** Changes from 2011.03.10 (riesmeier) - Reworked VisualStudio-specific settings: The new approach has less redundant definitions and more reliability for future versions of the MS compiler. Affects: CMakeLists.txt *** Changes from 2011.03.09 (onken) - Enhanced error message for missing data in store request. Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.03.08 (schlachter) - Made OFList's destructor virtual again to fix memory leaks. Thanks to forum user "vsalomoni" for the report. Affects: ofstd/include/dcmtk/ofstd/oflist.h - Fixed crash in dcmjpls if no representation parameter is given. Thanks to Christian Fremgen for the report. Affects: dcmjpls/include/dcmtk/dcmjpls/djrparam.h dcmjpls/libsrc/djcodece.cc **** Changes from 2011.03.03 (schlachter) - Avoid a warning about an always-true expression in an if statement. Affects: dcmjpeg/libsrc/dipijpeg.cc **** Changes from 2011.03.03 (riesmeier) - Fixed possible issue with overlay planes in multi-frame images. Also enhanced log output (trace mode) in order to make it easier to analyze such problems. Thanks to forum user "merlin" for the report and DICOM sample file. Affects: dcmimgle/include/dcmtk/dcmimgle/diovpln.h dcmimgle/libsrc/diovpln.cc **** Changes from 2011.03.01 (riesmeier) - Fixed some private tags copied from Philips MR Achieva conformance statement. Also added a couple of new private tags from the same conformance statement. Affects: dcmdata/data/private.dic dcmdata/libsrc/dcdictzz.cc - Added evaluation version of non-public DICOM tool "ppsmgr". Affects: config/changext **** Changes from 2011.02.25 (schlachter) - Move the CharLS version string to a central place. Affects: dcmimage/apps/dcm2pnm.cc dcmjpls/apps/dcmcjpls.cc dcmjpls/apps/dcmdjpls.cc dcmjpls/include/dcmtk/dcmjpls/djdecode.h dcmjpls/include/dcmtk/dcmjpls/djencode.h dcmjpls/include/dcmtk/dcmjpls/djlsutil.h dcmjpls/libsrc/djdecode.cc dcmjpls/libsrc/djencode.cc **** Changes from 2011.02.23 (riesmeier) - Fixed issue with undefined priority field in C-STORE and C-FIND request. Thanks to forum user "kosborn" for the bug report. Affects: dcmnet/libsrc/scu.cc **** Changes from 2011.02.22 (eichelberg) - Added new method SiPrivateKey::getRawPrivateKey() Affects: dcmsign/include/dcmtk/dcmsign/siprivat.h dcmsign/libsrc/siprivat.cc **** Changes from 2011.02.16 (riesmeier) - Fixed issue in sendSTORERequest() when sending a dataset that was created in memory (and which has, therefore, an original transfer of EXS_Unknown). Affects: dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/scu.cc - Fixed some subsection names (introduced "_" where appropriate). Affects: dcmdata/docs/img2dcm.man **** Changes from 2011.02.11 (riesmeier) - Removed redundant "TransferSyntax" suffix from "EXS_..." enum definitions. Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h dcmdata/libi2d/i2djpgs.cc dcmdata/libsrc/dcddirif.cc dcmdata/libsrc/dcxfer.cc dcmjpeg/apps/dcmcjpeg.cc dcmjpeg/apps/dcmdjpeg.cc dcmjpeg/libsrc/djdecbas.cc dcmjpeg/libsrc/djdecext.cc dcmjpeg/libsrc/djdeclol.cc dcmjpeg/libsrc/djdecpro.cc dcmjpeg/libsrc/djdecsps.cc dcmjpeg/libsrc/djdecsv1.cc dcmjpeg/libsrc/djencbas.cc dcmjpeg/libsrc/djencext.cc dcmjpeg/libsrc/djenclol.cc dcmjpeg/libsrc/djencpro.cc dcmjpeg/libsrc/djencsps.cc dcmjpeg/libsrc/djencsv1.cc dcmnet/apps/movescu.cc dcmnet/apps/storescp.cc dcmnet/apps/storescu.cc dcmnet/libsrc/dimse.cc dcmqrdb/apps/dcmqrscp.cc dcmqrdb/libsrc/dcmqrcbm.cc dcmqrdb/libsrc/dcmqrsrv.cc - Added initial support for the MPEG4 transfer syntaxes from Supplement 149. Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h dcmdata/include/dcmtk/dcmdata/dcxfer.h dcmdata/libsrc/dcuid.cc dcmdata/libsrc/dcxfer.cc dcmnet/libsrc/dimse.cc - Moved retired data elements to the end of the dictionary in order to make sure that the most recent definitions are used, even for old ACR/NEMA tags. Please note that some names changed from "ACR_NEMA_..." to "RETIRED_...". Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc - Added support for CP 1036, 1037, 1044, 1057 and 1078 to data dictionary. Affects: dcmdata/data/dicom.dic dcmdata/include/dcmtk/dcmdata/dcdeftag.h dcmdata/libsrc/dcdictzz.cc **** Changes from 2011.02.10 (riesmeier) - Changed default name of CHM file (removed version number from the filename). Affects: doxygen/htmldocs.cfg **** Changes from 2011.02.09 (riesmeier) - Create a new instance of DcmPixelData instead of DcmPolymorphOBOW in method writeImageToDataset() in order to avoid problems with later type casts. Thanks to Tilman Vogel for the report & suggested fix. Affects: dcmimage/libsrc/dicoimg.cc - Added check on class of PixelData element before casting to DcmPixelData. Affects: dcmimgle/libsrc/didocu.cc - Output version information on CharLS library if compiled as "dcml2pnm". Affects: dcmimage/apps/dcm2pnm.cc - If DEBUG is defined, report on the presence of debug code when printing the host information, e.g. by calling command line tools with option --version. Affects: ofstd/include/dcmtk/ofstd/ofconapp.h ofstd/libsrc/ofconapp.cc **** Changes from 2011.02.04 (schlachter) - Made sure all members are initialized in the constructor (-Weffc++). Affects: dcmjpeg/libsrc/djcparam.cc dcmnet/include/dcmtk/dcmnet/scp.h dcmnet/include/dcmtk/dcmnet/scu.h dcmnet/libsrc/dcuserid.cc dcmnet/libsrc/scu.cc dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcnf.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrptb.h dcmqrdb/libsrc/dcmqrsrv.cc dcmtls/libsrc/tlsscu.cc dcmwlm/include/dcmtk/dcmwlm/wltypdef.h - Made sure we only save assignable classes in STL containers. Affects: dcmdata/apps/mdfconen.cc dcmdata/apps/mdfconen.h dcmnet/include/dcmtk/dcmnet/dccfenmp.h dcmnet/include/dcmtk/dcmnet/dccfpcmp.h dcmnet/include/dcmtk/dcmnet/dccfrsmp.h dcmnet/libsrc/dccfenmp.cc dcmnet/libsrc/dccfpcmp.cc dcmnet/libsrc/dccfrsmp.cc oflog/include/dcmtk/oflog/logger.h - Added private undefined functions where gcc's -Weffc++ warns otherwise. Affects: dcmnet/include/dcmtk/dcmnet/dfindscu.h dcmnet/include/dcmtk/dcmnet/scu.h dcmpstat/include/dcmtk/dcmpstat/dvpstat.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbg.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrcbm.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqropt.h dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h - Made OFList's destructor non-virtual to match std::list. Affects: ofstd/include/dcmtk/ofstd/oflist.h - Stop inheriting from OFList and OFListIterator. Affects: dcmdata/include/dcmtk/dcmdata/dchashdi.h dcmdata/libsrc/dchashdi.cc **** Changes from 2011.02.03 (riesmeier) - Fixed incomplete path to header file in include statement of the sample code. Affects: dcmimage/docs/dcmimage.dox **** Changes from 2011.02.02 (riesmeier) - Moved documentation of valid values for the VMs that can be checked to a central place, i.e. DcmElement::checkVM(). Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h dcmdata/include/dcmtk/dcmdata/dcsequen.h dcmdata/include/dcmtk/dcmdata/dcvrae.h dcmdata/include/dcmtk/dcmdata/dcvras.h dcmdata/include/dcmtk/dcmdata/dcvrat.h dcmdata/include/dcmtk/dcmdata/dcvrcs.h dcmdata/include/dcmtk/dcmdata/dcvrda.h dcmdata/include/dcmtk/dcmdata/dcvrds.h dcmdata/include/dcmtk/dcmdata/dcvrdt.h dcmdata/include/dcmtk/dcmdata/dcvrfd.h dcmdata/include/dcmtk/dcmdata/dcvrfl.h dcmdata/include/dcmtk/dcmdata/dcvris.h dcmdata/include/dcmtk/dcmdata/dcvrlo.h dcmdata/include/dcmtk/dcmdata/dcvrpn.h dcmdata/include/dcmtk/dcmdata/dcvrsh.h dcmdata/include/dcmtk/dcmdata/dcvrsl.h dcmdata/include/dcmtk/dcmdata/dcvrss.h dcmdata/include/dcmtk/dcmdata/dcvrtm.h dcmdata/include/dcmtk/dcmdata/dcvrui.h dcmdata/include/dcmtk/dcmdata/dcvrul.h dcmdata/include/dcmtk/dcmdata/dcvrus.h dcmsr/include/dcmtk/dcmsr/dsrtypes.h - Added support for further VMs required for tags in the private dictionary. Affects: dcmdata/libsrc/dcelem.cc - Added description column with text "PrivateTag" to all entries. Affects: dcmdata/data/private.dic dcmdata/libsrc/dcdictzz.cc - Added private tags from recent conformance statements from GE and Siemens. Thanks to Per Inge Mathisen for this contribution. Affects: dcmdata/data/private.dic dcmdata/libsrc/dcdictzz.cc **** Changes from 2011.02.01 (riesmeier) - Made sure that OFFIS_DCMTK_VERSION_NUMBER is really a number and not a string. Thanks to forum user "poupofa" for the report and suggested fix. Affects: CMakeLists.txt CMake/osconfig.h.in config/configure.in config/configure dcmdata/include/dcmtk/dcmdata/dcuid.h - Renamed library "libi2d" to "i2d" for reasons of consistency. Thanks to Pietro Cerutti for pointing this out. Affects: dcmdata/apps/CMakeLists.txt dcmdata/libi2d/CMakeLists.txt dcmdata/tests/CMakeLists.tx - Added optional support for building shared libraries with CMake. Affects: CMakeLists.txt dcmimage/apps/CMakeLists.txt dcmimgle/apps/CMakeLists.txt dcmjpeg/apps/CMakeLists.txt dcmjpls/apps/CMakeLists.txt dcmpstat/apps/CMakeLists.txt dcmqrdb/apps/CMakeLists.txt dcmwlm/apps/CMakeLists.txt - Made sure that created file "lzwtest.tif" is deleted for "make distclean". Affects: config/Makefile.in - Always link LIBTIFF and LIBPNG to the command line tools in order to avoid linker errors when using DCMTK with shared libraries (see FAQ #13). Affects: dcmjpls/apps/Makefile.in - Added "const" specifier to parameter in order to be consistent with the source file (caused warnings/errors with certain compilers). Affects: dcmnet/include/dcmtk/dcmnet/scu.h - Updated version number to 3.6.1 (the new development snapshot). Affects: CMakeLists.txt config/configure config/configure.in VERSION - Added explanatory section on the development snapshot. Affects: INSTALL - Created new preliminary annnouncement file for version 3.6.1. Added: ANNOUNCE.361 - Created new change log for version 3.6.1. Added: CHANGES.361 - Moved old announcement and change log for release 3.6.0 to "docs". Removed: ANNOUNCE.360 CHANGES.360 Added: docs/ANNOUNCE.360 docs/CHANGES.360 **** Changes from 2011.01.13 (riesmeier) - Added non-public modules "dcmprint", "dcmprscp" and "dcmppscu" as an optional extension to the documentation. Affects: doxygen/htmldocs.cfg doxygen/htmldocs.dox