Mercurial > hg > orthanc-stone
comparison Framework/Loaders/OrthancMultiframeVolumeLoader.h @ 1381:f4a06ad1580b
Branch broker is now the new default
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Wed, 22 Apr 2020 14:05:47 +0200 |
parents | 2d8ab34c8c91 556b4bc19118 |
children | 75ac66d5f4b2 7f16987131e1 |
comparison
equal
deleted
inserted
replaced
1375:4431ffdcc2a4 | 1381:f4a06ad1580b |
---|---|
21 | 21 |
22 #pragma once | 22 #pragma once |
23 | 23 |
24 #include "LoaderStateMachine.h" | 24 #include "LoaderStateMachine.h" |
25 #include "../Volumes/DicomVolumeImage.h" | 25 #include "../Volumes/DicomVolumeImage.h" |
26 #include "../Volumes/IGeometryProvider.h" | |
26 | 27 |
27 #include <boost/shared_ptr.hpp> | 28 #include <boost/shared_ptr.hpp> |
28 | 29 |
29 namespace OrthancStone | 30 namespace OrthancStone |
30 { | 31 { |
31 class OrthancMultiframeVolumeLoader : | 32 class OrthancMultiframeVolumeLoader : |
32 public LoaderStateMachine, | 33 public LoaderStateMachine, |
33 public IObservable, | 34 public OrthancStone::IObservable, |
34 public IGeometryProvider | 35 public IGeometryProvider |
35 { | 36 { |
36 private: | 37 private: |
37 class LoadRTDoseGeometry; | 38 class LoadRTDoseGeometry; |
38 class LoadGeometry; | 39 class LoadGeometry; |
39 class LoadTransferSyntax; | 40 class LoadTransferSyntax; |
40 class LoadUncompressedPixelData; | 41 class LoadUncompressedPixelData; |
41 | 42 |
42 boost::shared_ptr<DicomVolumeImage> volume_; | 43 boost::shared_ptr<OrthancStone::DicomVolumeImage> volume_; |
43 std::string instanceId_; | 44 std::string instanceId_; |
44 std::string transferSyntaxUid_; | 45 std::string transferSyntaxUid_; |
45 bool pixelDataLoaded_; | 46 bool pixelDataLoaded_; |
46 float outliersHalfRejectionRate_; | 47 float outliersHalfRejectionRate_; |
47 float distributionRawMin_; | 48 float distributionRawMin_; |
87 void ComputeMinMaxWithOutlierRejection( | 88 void ComputeMinMaxWithOutlierRejection( |
88 const std::map<T, uint64_t>& distribution); | 89 const std::map<T, uint64_t>& distribution); |
89 | 90 |
90 void SetUncompressedPixelData(const std::string& pixelData); | 91 void SetUncompressedPixelData(const std::string& pixelData); |
91 | 92 |
92 virtual bool HasGeometry() const ORTHANC_OVERRIDE; | 93 bool HasGeometry() const; |
93 virtual const VolumeImageGeometry& GetImageGeometry() const ORTHANC_OVERRIDE; | 94 const OrthancStone::VolumeImageGeometry& GetImageGeometry() const; |
94 | 95 |
96 protected: | |
97 OrthancMultiframeVolumeLoader( | |
98 OrthancStone::ILoadersContext& loadersContext, | |
99 boost::shared_ptr<OrthancStone::DicomVolumeImage> volume, | |
100 float outliersHalfRejectionRate); | |
95 public: | 101 public: |
96 OrthancMultiframeVolumeLoader(boost::shared_ptr<DicomVolumeImage> volume, | 102 |
97 IOracle& oracle, | 103 static boost::shared_ptr<OrthancMultiframeVolumeLoader> Create( |
98 IObservable& oracleObservable, | 104 OrthancStone::ILoadersContext& loadersContext, |
99 float outliersHalfRejectionRate = 0.0005); | 105 boost::shared_ptr<OrthancStone::DicomVolumeImage> volume, |
100 | 106 float outliersHalfRejectionRate = 0.0005); |
107 | |
101 virtual ~OrthancMultiframeVolumeLoader(); | 108 virtual ~OrthancMultiframeVolumeLoader(); |
102 | 109 |
103 bool IsPixelDataLoaded() const | 110 bool IsPixelDataLoaded() const |
104 { | 111 { |
105 return pixelDataLoaded_; | 112 return pixelDataLoaded_; |