comparison OrthancServer/Internals/DicomImageDecoder.h @ 1824:b530c3dfe2a6

refactoring image decoding
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 25 Nov 2015 14:14:32 +0100
parents 96582230ddcb
children ac5b0b4e2434
comparison
equal deleted inserted replaced
1823:0ef4e6e66b56 1824:b530c3dfe2a6
32 32
33 #pragma once 33 #pragma once
34 34
35 #include <dcmtk/dcmdata/dcfilefo.h> 35 #include <dcmtk/dcmdata/dcfilefo.h>
36 36
37 #include "../../Core/Images/ImageBuffer.h" 37 #include "../IDicomImageDecoder.h"
38 38
39 namespace Orthanc 39 namespace Orthanc
40 { 40 {
41 class DicomImageDecoder 41 class DicomImageDecoder : public IDicomImageDecoder
42 { 42 {
43 private: 43 private:
44 class ImageSource; 44 class ImageSource;
45 45
46 static void DecodeUncompressedImageInternal(ImageBuffer& target, 46 static void DecodeUncompressedImageInternal(ImageBuffer& target,
63 DcmDataset& dataset, 63 DcmDataset& dataset,
64 unsigned int frame); 64 unsigned int frame);
65 #endif 65 #endif
66 66
67 public: 67 public:
68 static bool Decode(ImageBuffer& target, 68 virtual bool Decode(ImageBuffer& target,
69 DcmDataset& dataset, 69 ParsedDicomFile& dicom,
70 unsigned int frame); 70 unsigned int frame);
71 71
72 static bool DecodeAndTruncate(ImageBuffer& target, 72 static bool TruncateDecodedImage(ImageBuffer& target,
73 DcmDataset& dataset, 73 ImageBuffer& source,
74 unsigned int frame, 74 PixelFormat format,
75 PixelFormat format, 75 bool allowColorConversion);
76 bool allowColorConversion);
77 76
78 static bool DecodePreview(ImageBuffer& target, 77 static bool PreviewDecodedImage(ImageBuffer& target,
79 DcmDataset& dataset, 78 ImageBuffer& source);
80 unsigned int frame);
81 }; 79 };
82 } 80 }