diff OrthancServer/ParsedDicomFile.h @ 1824:b530c3dfe2a6

refactoring image decoding
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 25 Nov 2015 14:14:32 +0100
parents 1065401501fb
children ac5b0b4e2434
line wrap: on
line diff
--- a/OrthancServer/ParsedDicomFile.h	Wed Nov 25 10:32:54 2015 +0100
+++ b/OrthancServer/ParsedDicomFile.h	Wed Nov 25 14:14:32 2015 +0100
@@ -33,11 +33,10 @@
 #pragma once
 
 #include "../Core/DicomFormat/DicomInstanceHasher.h"
+#include "../Core/IDynamicObject.h"
 #include "../Core/RestApi/RestApiOutput.h"
+#include "IDicomImageDecoder.h"
 #include "ServerEnumerations.h"
-#include "../Core/Images/ImageAccessor.h"
-#include "../Core/Images/ImageBuffer.h"
-#include "../Core/IDynamicObject.h"
 
 class DcmDataset;
 class DcmFileFormat;
@@ -77,7 +76,7 @@
 
     ~ParsedDicomFile();
 
-    DcmFileFormat& GetDcmtkObject();
+    DcmFileFormat& GetDcmtkObject() const;
 
     ParsedDicomFile* Clone();
 
@@ -128,17 +127,21 @@
                     const std::string& content);
 
     void ExtractImage(ImageBuffer& result,
+                      IDicomImageDecoder& decoder,
                       unsigned int frame);
 
     void ExtractImage(ImageBuffer& result,
+                      IDicomImageDecoder& decoder,
                       unsigned int frame,
                       ImageExtractionMode mode);
 
     void ExtractPngImage(std::string& result,
+                         IDicomImageDecoder& decoder,
                          unsigned int frame,
                          ImageExtractionMode mode);
 
     void ExtractJpegImage(std::string& result,
+                          IDicomImageDecoder& decoder,
                           unsigned int frame,
                           ImageExtractionMode mode,
                           uint8_t quality);