Mercurial > hg > orthanc-stone
comparison OrthancStone/Sources/Loaders/OrthancMultiframeVolumeLoader.h @ 1640:52b8b96cb55f
cleaning namespaces
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 10 Nov 2020 16:55:22 +0100 |
parents | 8563ea5d8ae4 |
children | 9ac2a65d4172 |
comparison
equal
deleted
inserted
replaced
1639:5cdc5b98f14d | 1640:52b8b96cb55f |
---|---|
30 | 30 |
31 namespace OrthancStone | 31 namespace OrthancStone |
32 { | 32 { |
33 class OrthancMultiframeVolumeLoader : | 33 class OrthancMultiframeVolumeLoader : |
34 public LoaderStateMachine, | 34 public LoaderStateMachine, |
35 public OrthancStone::IObservable, | 35 public IObservable, |
36 public IGeometryProvider | 36 public IGeometryProvider |
37 { | 37 { |
38 private: | 38 private: |
39 class LoadRTDoseGeometry; | 39 class LoadRTDoseGeometry; |
40 class LoadGeometry; | 40 class LoadGeometry; |
41 class LoadTransferSyntax; | 41 class LoadTransferSyntax; |
42 class LoadUncompressedPixelData; | 42 class LoadUncompressedPixelData; |
43 | 43 |
44 boost::shared_ptr<OrthancStone::DicomVolumeImage> volume_; | 44 boost::shared_ptr<DicomVolumeImage> volume_; |
45 std::string instanceId_; | 45 std::string instanceId_; |
46 std::string transferSyntaxUid_; | 46 std::string transferSyntaxUid_; |
47 bool pixelDataLoaded_; | 47 bool pixelDataLoaded_; |
48 float outliersHalfRejectionRate_; | 48 float outliersHalfRejectionRate_; |
49 float distributionRawMin_; | 49 float distributionRawMin_; |
78 template <typename T> | 78 template <typename T> |
79 void CopyPixelDataAndComputeMinMax(const std::string& pixelData); | 79 void CopyPixelDataAndComputeMinMax(const std::string& pixelData); |
80 | 80 |
81 /** Service method for CopyPixelDataAndComputeMinMax*/ | 81 /** Service method for CopyPixelDataAndComputeMinMax*/ |
82 template <typename T> | 82 template <typename T> |
83 void CopyPixelDataAndComputeDistribution( | 83 void CopyPixelDataAndComputeDistribution(const std::string& pixelData, |
84 const std::string& pixelData, | 84 std::map<T, uint64_t>& distribution); |
85 std::map<T, uint64_t>& distribution); | |
86 | 85 |
87 /** Service method for CopyPixelDataAndComputeMinMax*/ | 86 /** Service method for CopyPixelDataAndComputeMinMax*/ |
88 template <typename T> | 87 template <typename T> |
89 void ComputeMinMaxWithOutlierRejection( | 88 void ComputeMinMaxWithOutlierRejection(const std::map<T, uint64_t>& distribution); |
90 const std::map<T, uint64_t>& distribution); | |
91 | 89 |
92 void SetUncompressedPixelData(const std::string& pixelData); | 90 void SetUncompressedPixelData(const std::string& pixelData); |
93 | 91 |
94 protected: | 92 protected: |
95 OrthancMultiframeVolumeLoader( | 93 OrthancMultiframeVolumeLoader(ILoadersContext& loadersContext, |
96 OrthancStone::ILoadersContext& loadersContext, | 94 boost::shared_ptr<DicomVolumeImage> volume, |
97 boost::shared_ptr<OrthancStone::DicomVolumeImage> volume, | 95 float outliersHalfRejectionRate); |
98 float outliersHalfRejectionRate); | 96 |
99 public: | 97 public: |
100 | |
101 static boost::shared_ptr<OrthancMultiframeVolumeLoader> Create( | 98 static boost::shared_ptr<OrthancMultiframeVolumeLoader> Create( |
102 OrthancStone::ILoadersContext& loadersContext, | 99 ILoadersContext& loadersContext, |
103 boost::shared_ptr<OrthancStone::DicomVolumeImage> volume, | 100 boost::shared_ptr<DicomVolumeImage> volume, |
104 float outliersHalfRejectionRate = 0.0005); | 101 float outliersHalfRejectionRate = 0.0005); |
105 | 102 |
106 virtual ~OrthancMultiframeVolumeLoader(); | 103 virtual ~OrthancMultiframeVolumeLoader(); |
107 | 104 |
108 bool HasGeometry() const ORTHANC_OVERRIDE; | 105 bool HasGeometry() const ORTHANC_OVERRIDE; |
109 | 106 |
110 virtual const OrthancStone::VolumeImageGeometry& GetImageGeometry() const ORTHANC_OVERRIDE; | 107 virtual const VolumeImageGeometry& GetImageGeometry() const ORTHANC_OVERRIDE; |
111 | 108 |
112 bool IsPixelDataLoaded() const | 109 bool IsPixelDataLoaded() const |
113 { | 110 { |
114 return pixelDataLoaded_; | 111 return pixelDataLoaded_; |
115 } | 112 } |