diff Framework/Toolbox/ImageToolbox.cpp @ 1484:121d01aa328e

SeriesThumbnailsLoader working on raw dicom files
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 22 Jun 2020 17:46:40 +0200
parents 30deba7bc8e2
children
line wrap: on
line diff
--- a/Framework/Toolbox/ImageToolbox.cpp	Sat Jun 20 11:16:55 2020 +0200
+++ b/Framework/Toolbox/ImageToolbox.cpp	Mon Jun 22 17:46:40 2020 +0200
@@ -18,6 +18,7 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  **/
 
+#include "../OrthancStone.h"
 #include "ImageToolbox.h"
 
 #include "../StoneException.h"
@@ -33,6 +34,19 @@
 
 #include <vector>
 
+#if !defined(ORTHANC_ENABLE_DCMTK)
+#  error ORTHANC_ENABLE_DCMTK is not defined
+#endif
+
+#if !defined(ORTHANC_ENABLE_DCMTK_JPEG)
+#  error ORTHANC_ENABLE_DCMTK_JPEG is not defined
+#endif
+
+#if !defined(ORTHANC_ENABLE_DCMTK_JPEG_LOSSLESS)
+#  error ORTHANC_ENABLE_DCMTK_JPEG_LOSSLESS is not defined
+#endif
+
+
 namespace OrthancStone
 {
   namespace
@@ -289,4 +303,35 @@
     ss << "total pix. count: " << pixCount << "\n";
     s = ss.str();
   }
+
+
+  bool ImageToolbox::IsDecodingSupported(Orthanc::DicomTransferSyntax& transferSyntax)
+  {
+    switch (transferSyntax)
+    {
+      case Orthanc::DicomTransferSyntax_LittleEndianImplicit:
+      case Orthanc::DicomTransferSyntax_LittleEndianExplicit:
+      case Orthanc::DicomTransferSyntax_DeflatedLittleEndianExplicit:
+      case Orthanc::DicomTransferSyntax_BigEndianExplicit:
+      case Orthanc::DicomTransferSyntax_RLELossless:
+        return true;
+
+#if (ORTHANC_ENABLE_DCMTK == 1) && (ORTHANC_ENABLE_DCMTK_JPEG == 1)
+      case Orthanc::DicomTransferSyntax_JPEGProcess1:
+      case Orthanc::DicomTransferSyntax_JPEGProcess2_4:
+      case Orthanc::DicomTransferSyntax_JPEGProcess14:
+      case Orthanc::DicomTransferSyntax_JPEGProcess14SV1:
+        return true;
+#endif
+      
+#if (ORTHANC_ENABLE_DCMTK == 1) && (ORTHANC_ENABLE_DCMTK_JPEG_LOSSLESS == 1)
+      case Orthanc::DicomTransferSyntax_JPEGLSLossless:
+      case Orthanc::DicomTransferSyntax_JPEGLSLossy:
+        return true;
+#endif
+      
+      default:
+        return false;
+    }
+  }
 }