[med-svn] [Git][med-team/orthanc-gdcm][upstream] New upstream version 1.8+dfsg

Sebastien Jodogne (@jodogne-guest) gitlab at salsa.debian.org
Sat Aug 3 13:41:15 BST 2024



Sebastien Jodogne pushed to branch upstream at Debian Med / orthanc-gdcm


Commits:
8db52387 by jodogne-guest at 2024-08-03T14:34:12+02:00
New upstream version 1.8+dfsg
- - - - -


20 changed files:

- .hg_archival.txt
- AUTHORS
- CMakeLists.txt
- NEWS
- Plugin/GdcmDecoderCache.cpp
- Plugin/GdcmDecoderCache.h
- Plugin/GdcmImageDecoder.cpp
- Plugin/GdcmImageDecoder.h
- Plugin/Plugin.cpp
- Resources/CMake/GdcmConfiguration.cmake
- Resources/Orthanc/CMake/AutoGeneratedCode.cmake
- Resources/Orthanc/CMake/Compiler.cmake
- Resources/Orthanc/CMake/DownloadOrthancFramework.cmake
- Resources/Orthanc/CMake/DownloadPackage.cmake
- Resources/Orthanc/CMake/EmbedResources.py
- Resources/Orthanc/CMake/GoogleTestConfiguration.cmake
- Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp
- Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h
- Resources/Orthanc/Plugins/OrthancPluginException.h
- Resources/Orthanc/Plugins/OrthancPluginsExports.cmake


Changes:

=====================================
.hg_archival.txt
=====================================
@@ -1,6 +1,6 @@
 repo: 108d34b53bb89b998dbe89c3bb031241991f13c7
-node: 40bc6f0b1c31f2c46952747d49c378a47e7d6caf
-branch: OrthancGdcm-1.7
+node: e16068b079abdf56ada20292f0d6cc09a75b5984
+branch: OrthancGdcm-1.8
 latesttag: null
-latesttagdistance: 81
-changessincelatesttag: 88
+latesttagdistance: 86
+changessincelatesttag: 93


=====================================
AUTHORS
=====================================
@@ -14,7 +14,19 @@ Authors
   4000 Liege
   Belgium
 
-* Osimis S.A. <info at osimis.io>
+* Osimis S.A.
   Quai Banning 6
   4000 Liege
   Belgium
+
+* Orthanc Team SRL <info at orthanc.team>
+  Rue Joseph Marchal 14
+  4910 Theux
+  Belgium
+  https://orthanc.team/
+
+* ICTEAM, UCLouvain
+  Place de l'Universite 1
+  1348 Ottignies-Louvain-la-Neuve
+  Belgium
+  https://uclouvain.be/icteam


=====================================
CMakeLists.txt
=====================================
@@ -1,7 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
@@ -22,7 +23,7 @@ cmake_minimum_required(VERSION 2.8)
 
 project(OrthancGdcm)
 
-SET(PLUGIN_VERSION "1.7")
+SET(PLUGIN_VERSION "1.8")
 
 if (PLUGIN_VERSION STREQUAL "mainline")
   set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "mainline")


=====================================
NEWS
=====================================
@@ -1,5 +1,25 @@
-Pending changes in the mainline
-===============================
+Version 1.8 (2024-08-02)
+========================
+
+* Prevent transcoding of DICOM images with empty 
+  SharedFunctionalGroupsSequence (5200,9229), as this might crash GDCM.
+* The built-in Orthanc transcoder being usually more stable, the default
+  value of the "RestrictTransferSyntaxes" configuration has been updated
+  to configure the GDCM plugin for J2K transfer syntaxes only since these
+  transfer syntaxes are currently not supported by the built-in Orthanc
+  transcoder.
+  - If "RestrictTransferSyntaxes" is not specified in your configuration,
+    it is now equivalent to
+      "RestrictTransferSyntaxes" : [
+        "1.2.840.10008.1.2.4.90",   // JPEG 2000 Image Compression (Lossless Only)
+        "1.2.840.10008.1.2.4.91",   // JPEG 2000 Image Compression
+        "1.2.840.10008.1.2.4.92",   // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)
+        "1.2.840.10008.1.2.4.93"    // JPEG 2000 Part 2 Multicomponent Image Compression
+      ]
+    which was the recommended configuration.
+  - If "RestrictTransferSyntaxes" is defined but empty, the GDCM plugin will
+    now be used to transcode ALL transfer syntaxes (this was the default 
+    behaviour up to version 1.7)
 
 
 Version 1.7 (2024-05-06)


=====================================
Plugin/GdcmDecoderCache.cpp
=====================================
@@ -2,7 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2017-2023 Osimis S.A., Belgium
+ * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
  * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or


=====================================
Plugin/GdcmDecoderCache.h
=====================================
@@ -2,7 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2017-2023 Osimis S.A., Belgium
+ * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
  * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or


=====================================
Plugin/GdcmImageDecoder.cpp
=====================================
@@ -2,7 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2017-2023 Osimis S.A., Belgium
+ * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
  * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or


=====================================
Plugin/GdcmImageDecoder.h
=====================================
@@ -2,7 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2017-2023 Osimis S.A., Belgium
+ * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
  * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or


=====================================
Plugin/Plugin.cpp
=====================================
@@ -2,7 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2017-2023 Osimis S.A., Belgium
+ * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
  * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or
@@ -389,6 +390,13 @@ OrthancPluginErrorCode TranscoderCallback(
           throw Orthanc::OrthancException(Orthanc::ErrorCode_NotImplemented, "Cannot transcode 1bpp DICOM images");
         }
 
+        gdcm::DataSet ds = reader.GetFile().GetDataSet();
+        const gdcm::Tag sfgs(0x5200,0x9229); // SharedFunctionalGroupsSequence
+        if (ds.FindDataElement(sfgs) && ds.GetDataElement(sfgs).IsEmpty())
+        {
+          throw Orthanc::OrthancException(Orthanc::ErrorCode_NotImplemented, "Cannot transcode DICOM images with empty 5200,9229 sequence");
+        }
+ 
 #if !GDCM_VERSION_IS_ABOVE(3, 0, 9)
         if (reader.GetImage().GetPixelFormat().GetBitsStored() == 16u &&
             syntax == gdcm::TransferSyntax::JPEGExtendedProcess2_4)
@@ -539,18 +547,41 @@ extern "C"
 
         enabled = config.GetBooleanValue(KEY_ENABLE_GDCM, true);
 
-        if (enabled &&
-            config.LookupSetOfStrings(enabledTransferSyntaxes_, KEY_RESTRICT_TRANSFER_SYNTAXES, false))
+        if (enabled)
         {
-          restrictTransferSyntaxes_ = true;
-        
-          for (std::set<std::string>::const_iterator it = enabledTransferSyntaxes_.begin();
-               it != enabledTransferSyntaxes_.end(); ++it)
+          if (config.LookupSetOfStrings(enabledTransferSyntaxes_, KEY_RESTRICT_TRANSFER_SYNTAXES, false))
           {
-            LOG(WARNING) << "Orthanc will use GDCM to decode transfer syntax: " << *it;
+            if (enabledTransferSyntaxes_.size() == 0)
+            {
+              restrictTransferSyntaxes_ = false;
+              LOG(WARNING) << KEY_GDCM << "." << KEY_RESTRICT_TRANSFER_SYNTAXES << " configuration is set but empty, Orthanc will use GDCM to transcode ALL transfer syntaxes.";
+            }
+            else
+            {
+              LOG(WARNING) << KEY_GDCM << "." << KEY_RESTRICT_TRANSFER_SYNTAXES << " configuration is set and not empty, Orthanc will use GDCM to transcode SOME transfer syntaxes:";
+            }
+          }
+          else
+          {
+            LOG(WARNING) << KEY_GDCM << "." << KEY_RESTRICT_TRANSFER_SYNTAXES << " configuration is not set, using default configuration. Orthanc will use GDCM to transcode only J2K transfer syntaxes:";
+            enabledTransferSyntaxes_.insert("1.2.840.10008.1.2.4.90"); // JPEG 2000 Image Compression (Lossless Only)
+            enabledTransferSyntaxes_.insert("1.2.840.10008.1.2.4.91"); // JPEG 2000 Image Compression
+            enabledTransferSyntaxes_.insert("1.2.840.10008.1.2.4.92"); // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)
+            enabledTransferSyntaxes_.insert("1.2.840.10008.1.2.4.93"); // JPEG 2000 Part 2 Multicomponent Image Compression
+          }
+
+          if (enabledTransferSyntaxes_.size() > 0)
+          {
+            restrictTransferSyntaxes_ = true;
+            for (std::set<std::string>::const_iterator it = enabledTransferSyntaxes_.begin();
+                it != enabledTransferSyntaxes_.end(); ++it)
+            {
+              LOG(WARNING) << "Orthanc will use GDCM to decode transfer syntax: " << *it;
+            }
           }
         }
 
+
         unsigned int throttling;
         if (enabled &&
             config.LookupUnsignedIntegerValue(throttling, KEY_THROTTLING))


=====================================
Resources/CMake/GdcmConfiguration.cmake
=====================================
@@ -1,7 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/CMake/AutoGeneratedCode.cmake
=====================================
@@ -1,7 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/CMake/Compiler.cmake
=====================================
@@ -1,7 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/CMake/DownloadOrthancFramework.cmake
=====================================
@@ -1,7 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/CMake/DownloadPackage.cmake
=====================================
@@ -1,7 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/CMake/EmbedResources.py
=====================================
@@ -3,7 +3,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/CMake/GoogleTestConfiguration.cmake
=====================================
@@ -1,7 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp
=====================================
@@ -2,7 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2017-2023 Osimis S.A., Belgium
+ * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
  * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h
=====================================
@@ -2,7 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2017-2023 Osimis S.A., Belgium
+ * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
  * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/Plugins/OrthancPluginException.h
=====================================
@@ -2,7 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2017-2023 Osimis S.A., Belgium
+ * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
  * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or


=====================================
Resources/Orthanc/Plugins/OrthancPluginsExports.cmake
=====================================
@@ -1,7 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or



View it on GitLab: https://salsa.debian.org/med-team/orthanc-gdcm/-/commit/8db52387f4ee26d40a4948f3bb83db56d0f00b40

-- 
View it on GitLab: https://salsa.debian.org/med-team/orthanc-gdcm/-/commit/8db52387f4ee26d40a4948f3bb83db56d0f00b40
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20240803/7499f7f0/attachment-0001.htm>


More information about the debian-med-commit mailing list