# HG changeset patch # User Sebastien Jodogne # Date 1584459374 -3600 # Node ID eb044cc49d510837cc76cbc51be32ac5002323ee # Parent 6110a4995ace12fb34a598bdbcc9ba93b9532289 compatibility with DCMTK 3.6.0 diff -r 6110a4995ace -r eb044cc49d51 Core/DicomNetworking/Internals/CommandDispatcher.cpp --- a/Core/DicomNetworking/Internals/CommandDispatcher.cpp Tue Mar 17 15:02:23 2020 +0100 +++ b/Core/DicomNetworking/Internals/CommandDispatcher.cpp Tue Mar 17 16:36:14 2020 +0100 @@ -478,6 +478,7 @@ storageTransferSyntaxes.push_back(UID_MPEG2MainProfileAtHighLevelTransferSyntax); } +#if DCMTK_VERSION_NUMBER >= 361 // New in Orthanc 1.6.0 if (!server.HasApplicationEntityFilter() || server.GetApplicationEntityFilter().IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_Mpeg4)) @@ -488,6 +489,7 @@ storageTransferSyntaxes.push_back(UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax); storageTransferSyntaxes.push_back(UID_MPEG4StereoHighProfileLevel4_2TransferSyntax); } +#endif if (!server.HasApplicationEntityFilter() || server.GetApplicationEntityFilter().IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_Rle)) diff -r 6110a4995ace -r eb044cc49d51 Core/DicomParsing/FromDcmtkBridge.cpp --- a/Core/DicomParsing/FromDcmtkBridge.cpp Tue Mar 17 15:02:23 2020 +0100 +++ b/Core/DicomParsing/FromDcmtkBridge.cpp Tue Mar 17 16:36:14 2020 +0100 @@ -68,10 +68,11 @@ #include #include #include +#include #include #include #include -#include +#include #include #include diff -r 6110a4995ace -r eb044cc49d51 Core/DicomParsing/FromDcmtkBridge_TransferSyntaxes.impl.h --- a/Core/DicomParsing/FromDcmtkBridge_TransferSyntaxes.impl.h Tue Mar 17 15:02:23 2020 +0100 +++ b/Core/DicomParsing/FromDcmtkBridge_TransferSyntaxes.impl.h Tue Mar 17 16:36:14 2020 +0100 @@ -56,75 +56,147 @@ return true; case DicomTransferSyntax_JPEGProcess1: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess1TransferSyntax; +# else target = EXS_JPEGProcess1; +# endif return true; case DicomTransferSyntax_JPEGProcess2_4: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess2_4TransferSyntax; +# else target = EXS_JPEGProcess2_4; +# endif return true; case DicomTransferSyntax_JPEGProcess3_5: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess3_5TransferSyntax; +# else target = EXS_JPEGProcess3_5; +# endif return true; case DicomTransferSyntax_JPEGProcess6_8: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess6_8TransferSyntax; +# else target = EXS_JPEGProcess6_8; +# endif return true; case DicomTransferSyntax_JPEGProcess7_9: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess7_9TransferSyntax; +# else target = EXS_JPEGProcess7_9; +# endif return true; case DicomTransferSyntax_JPEGProcess10_12: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess10_12TransferSyntax; +# else target = EXS_JPEGProcess10_12; +# endif return true; case DicomTransferSyntax_JPEGProcess11_13: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess11_13TransferSyntax; +# else target = EXS_JPEGProcess11_13; +# endif return true; case DicomTransferSyntax_JPEGProcess14: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess14TransferSyntax; +# else target = EXS_JPEGProcess14; +# endif return true; case DicomTransferSyntax_JPEGProcess15: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess15TransferSyntax; +# else target = EXS_JPEGProcess15; +# endif return true; case DicomTransferSyntax_JPEGProcess16_18: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess16_18TransferSyntax; +# else target = EXS_JPEGProcess16_18; +# endif return true; case DicomTransferSyntax_JPEGProcess17_19: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess17_19TransferSyntax; +# else target = EXS_JPEGProcess17_19; +# endif return true; case DicomTransferSyntax_JPEGProcess20_22: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess20_22TransferSyntax; +# else target = EXS_JPEGProcess20_22; +# endif return true; case DicomTransferSyntax_JPEGProcess21_23: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess21_23TransferSyntax; +# else target = EXS_JPEGProcess21_23; +# endif return true; case DicomTransferSyntax_JPEGProcess24_26: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess24_26TransferSyntax; +# else target = EXS_JPEGProcess24_26; +# endif return true; case DicomTransferSyntax_JPEGProcess25_27: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess25_27TransferSyntax; +# else target = EXS_JPEGProcess25_27; +# endif return true; case DicomTransferSyntax_JPEGProcess28: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess28TransferSyntax; +# else target = EXS_JPEGProcess28; +# endif return true; case DicomTransferSyntax_JPEGProcess29: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess29TransferSyntax; +# else target = EXS_JPEGProcess29; +# endif return true; case DicomTransferSyntax_JPEGProcess14SV1: +# if DCMTK_VERSION_NUMBER <= 360 + target = EXS_JPEGProcess14SV1TransferSyntax; +# else target = EXS_JPEGProcess14SV1; +# endif return true; case DicomTransferSyntax_JPEGLSLossless: @@ -167,25 +239,35 @@ target = EXS_MPEG2MainProfileAtHighLevel; return true; +#if DCMTK_VERSION_NUMBER >= 361 case DicomTransferSyntax_MPEG4HighProfileLevel4_1: target = EXS_MPEG4HighProfileLevel4_1; return true; +#endif +#if DCMTK_VERSION_NUMBER >= 361 case DicomTransferSyntax_MPEG4BDcompatibleHighProfileLevel4_1: target = EXS_MPEG4BDcompatibleHighProfileLevel4_1; return true; +#endif +#if DCMTK_VERSION_NUMBER >= 361 case DicomTransferSyntax_MPEG4HighProfileLevel4_2_For2DVideo: target = EXS_MPEG4HighProfileLevel4_2_For2DVideo; return true; +#endif +#if DCMTK_VERSION_NUMBER >= 361 case DicomTransferSyntax_MPEG4HighProfileLevel4_2_For3DVideo: target = EXS_MPEG4HighProfileLevel4_2_For3DVideo; return true; +#endif +#if DCMTK_VERSION_NUMBER >= 361 case DicomTransferSyntax_MPEG4StereoHighProfileLevel4_2: target = EXS_MPEG4StereoHighProfileLevel4_2; return true; +#endif #if DCMTK_VERSION_NUMBER >= 362 case DicomTransferSyntax_HEVCMainProfileLevel5_1: @@ -230,75 +312,147 @@ target = DicomTransferSyntax_BigEndianExplicit; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess1TransferSyntax: +# else case EXS_JPEGProcess1: +# endif target = DicomTransferSyntax_JPEGProcess1; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess2_4TransferSyntax: +# else case EXS_JPEGProcess2_4: +# endif target = DicomTransferSyntax_JPEGProcess2_4; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess3_5TransferSyntax: +# else case EXS_JPEGProcess3_5: +# endif target = DicomTransferSyntax_JPEGProcess3_5; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess6_8TransferSyntax: +# else case EXS_JPEGProcess6_8: +# endif target = DicomTransferSyntax_JPEGProcess6_8; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess7_9TransferSyntax: +# else case EXS_JPEGProcess7_9: +# endif target = DicomTransferSyntax_JPEGProcess7_9; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess10_12TransferSyntax: +# else case EXS_JPEGProcess10_12: +# endif target = DicomTransferSyntax_JPEGProcess10_12; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess11_13TransferSyntax: +# else case EXS_JPEGProcess11_13: +# endif target = DicomTransferSyntax_JPEGProcess11_13; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess14TransferSyntax: +# else case EXS_JPEGProcess14: +# endif target = DicomTransferSyntax_JPEGProcess14; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess15TransferSyntax: +# else case EXS_JPEGProcess15: +# endif target = DicomTransferSyntax_JPEGProcess15; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess16_18TransferSyntax: +# else case EXS_JPEGProcess16_18: +# endif target = DicomTransferSyntax_JPEGProcess16_18; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess17_19TransferSyntax: +# else case EXS_JPEGProcess17_19: +# endif target = DicomTransferSyntax_JPEGProcess17_19; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess20_22TransferSyntax: +# else case EXS_JPEGProcess20_22: +# endif target = DicomTransferSyntax_JPEGProcess20_22; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess21_23TransferSyntax: +# else case EXS_JPEGProcess21_23: +# endif target = DicomTransferSyntax_JPEGProcess21_23; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess24_26TransferSyntax: +# else case EXS_JPEGProcess24_26: +# endif target = DicomTransferSyntax_JPEGProcess24_26; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess25_27TransferSyntax: +# else case EXS_JPEGProcess25_27: +# endif target = DicomTransferSyntax_JPEGProcess25_27; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess28TransferSyntax: +# else case EXS_JPEGProcess28: +# endif target = DicomTransferSyntax_JPEGProcess28; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess29TransferSyntax: +# else case EXS_JPEGProcess29: +# endif target = DicomTransferSyntax_JPEGProcess29; return true; +# if DCMTK_VERSION_NUMBER <= 360 + case EXS_JPEGProcess14SV1TransferSyntax: +# else case EXS_JPEGProcess14SV1: +# endif target = DicomTransferSyntax_JPEGProcess14SV1; return true; @@ -342,25 +496,35 @@ target = DicomTransferSyntax_MPEG2MainProfileAtHighLevel; return true; +#if DCMTK_VERSION_NUMBER >= 361 case EXS_MPEG4HighProfileLevel4_1: target = DicomTransferSyntax_MPEG4HighProfileLevel4_1; return true; +#endif +#if DCMTK_VERSION_NUMBER >= 361 case EXS_MPEG4BDcompatibleHighProfileLevel4_1: target = DicomTransferSyntax_MPEG4BDcompatibleHighProfileLevel4_1; return true; +#endif +#if DCMTK_VERSION_NUMBER >= 361 case EXS_MPEG4HighProfileLevel4_2_For2DVideo: target = DicomTransferSyntax_MPEG4HighProfileLevel4_2_For2DVideo; return true; +#endif +#if DCMTK_VERSION_NUMBER >= 361 case EXS_MPEG4HighProfileLevel4_2_For3DVideo: target = DicomTransferSyntax_MPEG4HighProfileLevel4_2_For3DVideo; return true; +#endif +#if DCMTK_VERSION_NUMBER >= 361 case EXS_MPEG4StereoHighProfileLevel4_2: target = DicomTransferSyntax_MPEG4StereoHighProfileLevel4_2; return true; +#endif #if DCMTK_VERSION_NUMBER >= 362 case EXS_HEVCMainProfileLevel5_1: diff -r 6110a4995ace -r eb044cc49d51 Resources/DicomTransferSyntaxes.json --- a/Resources/DicomTransferSyntaxes.json Tue Mar 17 15:02:23 2020 +0100 +++ b/Resources/DicomTransferSyntaxes.json Tue Mar 17 16:36:14 2020 +0100 @@ -40,6 +40,7 @@ "Retired" : false, "Note" : "Default Transfer Syntax for Lossy JPEG 8-bit Image Compression", "DCMTK" : "EXS_JPEGProcess1", + "DCMTK360" : "EXS_JPEGProcess1TransferSyntax", "GDCM" : "gdcm::TransferSyntax::JPEGBaselineProcess1" }, @@ -50,6 +51,7 @@ "Retired" : false, "Note" : "Default Transfer Syntax for Lossy JPEG (lossy, 8/12 bit), 12-bit Image Compression (Process 4 only)", "DCMTK" : "EXS_JPEGProcess2_4", + "DCMTK360" : "EXS_JPEGProcess2_4TransferSyntax", "GDCM" : "gdcm::TransferSyntax::JPEGExtendedProcess2_4" }, @@ -58,7 +60,8 @@ "Name" : "JPEG Extended Sequential (lossy, 8/12 bit), arithmetic coding", "Value" : "JPEGProcess3_5", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess3_5" + "DCMTK" : "EXS_JPEGProcess3_5", + "DCMTK360" : "EXS_JPEGProcess3_5TransferSyntax" }, { @@ -66,7 +69,8 @@ "Name" : "JPEG Spectral Selection, Nonhierarchical (lossy, 8/12 bit)", "Value" : "JPEGProcess6_8", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess6_8" + "DCMTK" : "EXS_JPEGProcess6_8", + "DCMTK360" : "EXS_JPEGProcess6_8TransferSyntax" }, { @@ -74,7 +78,8 @@ "Name" : "JPEG Spectral Selection, Nonhierarchical (lossy, 8/12 bit), arithmetic coding", "Value" : "JPEGProcess7_9", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess7_9" + "DCMTK" : "EXS_JPEGProcess7_9", + "DCMTK360" : "EXS_JPEGProcess7_9TransferSyntax" }, { @@ -82,7 +87,8 @@ "Name" : "JPEG Full Progression, Nonhierarchical (lossy, 8/12 bit)", "Value" : "JPEGProcess10_12", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess10_12" + "DCMTK" : "EXS_JPEGProcess10_12", + "DCMTK360" : "EXS_JPEGProcess10_12TransferSyntax" }, { @@ -90,7 +96,8 @@ "Name" : "JPEG Full Progression, Nonhierarchical (lossy, 8/12 bit), arithmetic coding", "Value" : "JPEGProcess11_13", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess11_13" + "DCMTK" : "EXS_JPEGProcess11_13", + "DCMTK360" : "EXS_JPEGProcess11_13TransferSyntax" }, { @@ -99,6 +106,7 @@ "Value" : "JPEGProcess14", "Retired" : false, "DCMTK" : "EXS_JPEGProcess14", + "DCMTK360" : "EXS_JPEGProcess14TransferSyntax", "GDCM" : "gdcm::TransferSyntax::JPEGLosslessProcess14" }, @@ -107,7 +115,8 @@ "Name" : "JPEG Lossless with any selection value, arithmetic coding", "Value" : "JPEGProcess15", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess15" + "DCMTK" : "EXS_JPEGProcess15", + "DCMTK360" : "EXS_JPEGProcess15TransferSyntax" }, { @@ -115,7 +124,8 @@ "Name" : "JPEG Extended Sequential, Hierarchical (lossy, 8/12 bit)", "Value" : "JPEGProcess16_18", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess16_18" + "DCMTK" : "EXS_JPEGProcess16_18", + "DCMTK360" : "EXS_JPEGProcess16_18TransferSyntax" }, { @@ -123,7 +133,8 @@ "Name" : "JPEG Extended Sequential, Hierarchical (lossy, 8/12 bit), arithmetic coding", "Value" : "JPEGProcess17_19", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess17_19" + "DCMTK" : "EXS_JPEGProcess17_19", + "DCMTK360" : "EXS_JPEGProcess17_19TransferSyntax" }, { @@ -131,7 +142,8 @@ "Name" : "JPEG Spectral Selection, Hierarchical (lossy, 8/12 bit)", "Value" : "JPEGProcess20_22", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess20_22" + "DCMTK" : "EXS_JPEGProcess20_22", + "DCMTK360" : "EXS_JPEGProcess20_22TransferSyntax" }, { @@ -139,7 +151,8 @@ "Name" : "JPEG Spectral Selection, Hierarchical (lossy, 8/12 bit), arithmetic coding", "Value" : "JPEGProcess21_23", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess21_23" + "DCMTK" : "EXS_JPEGProcess21_23", + "DCMTK360" : "EXS_JPEGProcess21_23TransferSyntax" }, { @@ -147,7 +160,8 @@ "Name" : "JPEG Full Progression, Hierarchical (lossy, 8/12 bit)", "Value" : "JPEGProcess24_26", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess24_26" + "DCMTK" : "EXS_JPEGProcess24_26", + "DCMTK360" : "EXS_JPEGProcess24_26TransferSyntax" }, { @@ -155,7 +169,8 @@ "Name" : "JPEG Full Progression, Hierarchical (lossy, 8/12 bit), arithmetic coding", "Value" : "JPEGProcess25_27", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess25_27" + "DCMTK" : "EXS_JPEGProcess25_27", + "DCMTK360" : "EXS_JPEGProcess25_27TransferSyntax" }, { @@ -163,7 +178,8 @@ "Name" : "JPEG Lossless, Hierarchical", "Value" : "JPEGProcess28", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess28" + "DCMTK" : "EXS_JPEGProcess28", + "DCMTK360" : "EXS_JPEGProcess28TransferSyntax" }, { @@ -171,7 +187,8 @@ "Name" : "JPEG Lossless, Hierarchical, arithmetic coding", "Value" : "JPEGProcess29", "Retired" : true, - "DCMTK" : "EXS_JPEGProcess29" + "DCMTK" : "EXS_JPEGProcess29", + "DCMTK360" : "EXS_JPEGProcess29TransferSyntax" }, { @@ -181,6 +198,7 @@ "Retired" : false, "Note" : "Default Transfer Syntax for Lossless JPEG Image Compression", "DCMTK" : "EXS_JPEGProcess14SV1", + "DCMTK360" : "EXS_JPEGProcess14SV1TransferSyntax", "GDCM" : "gdcm::TransferSyntax::JPEGLosslessProcess14_1" }, @@ -275,7 +293,8 @@ "Name" : "MPEG4 High Profile / Level 4.1", "Value" : "MPEG4HighProfileLevel4_1", "Retired" : false, - "DCMTK" : "EXS_MPEG4HighProfileLevel4_1" + "DCMTK" : "EXS_MPEG4HighProfileLevel4_1", + "SinceDCMTK" : "361" }, { @@ -283,7 +302,8 @@ "Name" : "MPEG4 BD-compatible High Profile / Level 4.1", "Value" : "MPEG4BDcompatibleHighProfileLevel4_1", "Retired" : false, - "DCMTK" : "EXS_MPEG4BDcompatibleHighProfileLevel4_1" + "DCMTK" : "EXS_MPEG4BDcompatibleHighProfileLevel4_1", + "SinceDCMTK" : "361" }, { @@ -291,7 +311,8 @@ "Name" : "MPEG4 High Profile / Level 4.2 For 2D Video", "Value" : "MPEG4HighProfileLevel4_2_For2DVideo", "Retired" : false, - "DCMTK" : "EXS_MPEG4HighProfileLevel4_2_For2DVideo" + "DCMTK" : "EXS_MPEG4HighProfileLevel4_2_For2DVideo", + "SinceDCMTK" : "361" }, { @@ -299,7 +320,8 @@ "Name" : "MPEG4 High Profile / Level 4.2 For 3D Video", "Value" : "MPEG4HighProfileLevel4_2_For3DVideo", "Retired" : false, - "DCMTK" : "EXS_MPEG4HighProfileLevel4_2_For3DVideo" + "DCMTK" : "EXS_MPEG4HighProfileLevel4_2_For3DVideo", + "SinceDCMTK" : "361" }, { @@ -307,7 +329,8 @@ "Name" : "1.2.840.10008.1.2.4.106", "Value" : "MPEG4StereoHighProfileLevel4_2", "Retired" : false, - "DCMTK" : "EXS_MPEG4StereoHighProfileLevel4_2" + "DCMTK" : "EXS_MPEG4StereoHighProfileLevel4_2", + "SinceDCMTK" : "361" }, { diff -r 6110a4995ace -r eb044cc49d51 Resources/GenerateTransferSyntaxesDcmtk.mustache --- a/Resources/GenerateTransferSyntaxesDcmtk.mustache Tue Mar 17 15:02:23 2020 +0100 +++ b/Resources/GenerateTransferSyntaxesDcmtk.mustache Tue Mar 17 16:36:14 2020 +0100 @@ -45,7 +45,16 @@ #if DCMTK_VERSION_NUMBER >= {{SinceDCMTK}} {{/SinceDCMTK}} case DicomTransferSyntax_{{Value}}: + {{#DCMTK360}} +# if DCMTK_VERSION_NUMBER <= 360 + target = {{DCMTK360}}; +# else target = {{DCMTK}}; +# endif + {{/DCMTK360}} + {{^DCMTK360}} + target = {{DCMTK}}; + {{/DCMTK360}} return true; {{#SinceDCMTK}} #endif @@ -69,7 +78,16 @@ {{#SinceDCMTK}} #if DCMTK_VERSION_NUMBER >= {{SinceDCMTK}} {{/SinceDCMTK}} + {{#DCMTK360}} +# if DCMTK_VERSION_NUMBER <= 360 + case {{DCMTK360}}: +# else case {{DCMTK}}: +# endif + {{/DCMTK360}} + {{^DCMTK360}} + case {{DCMTK}}: + {{/DCMTK360}} target = DicomTransferSyntax_{{Value}}; return true; {{#SinceDCMTK}}