diff OrthancServer/Internals/DicomImageDecoder.h @ 1905:8b1baa2315b8

Huge speedup if decoding the family of JPEG transfer syntaxes
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 05 Jan 2016 17:25:01 +0100
parents 554ec8422ec5
children 6c73df12ca51
line wrap: on
line diff
--- a/OrthancServer/Internals/DicomImageDecoder.h	Tue Jan 05 14:34:47 2016 +0100
+++ b/OrthancServer/Internals/DicomImageDecoder.h	Tue Jan 05 17:25:01 2016 +0100
@@ -37,6 +37,8 @@
 #include <memory>
 
 class DcmDataset;
+class DcmCodec;
+class DcmCodecParameter;
 
 namespace Orthanc
 {
@@ -49,11 +51,19 @@
     {
     }
 
+    static ImageAccessor* CreateImage(DcmDataset& dataset,
+                                      bool ignorePhotometricInterpretation);
+
     static ImageAccessor* DecodeUncompressedImage(DcmDataset& dataset,
                                                   unsigned int frame);
 
     static bool IsPsmctRle1(DcmDataset& dataset);
 
+    static ImageAccessor* ApplyCodec(const DcmCodec& codec,
+                                     const DcmCodecParameter& parameters,
+                                     DcmDataset& dataset,
+                                     unsigned int frame);
+
     static bool TruncateDecodedImage(std::auto_ptr<ImageAccessor>& image,
                                      PixelFormat format,
                                      bool allowColorConversion);
@@ -64,8 +74,6 @@
                                     ImageExtractionMode mode);
 
   public:
-    static ImageAccessor* CreateImage(DcmDataset& dataset);
-
     static ImageAccessor *Decode(ParsedDicomFile& dicom,
                                  unsigned int frame);