comparison OrthancStone/Sources/Toolbox/SortedFrames.h @ 1630:78509230f0d7

SortedFrames sharing code with CoordinateSystem3D
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 09 Nov 2020 18:01:32 +0100
parents b2941196cabf
children 960bb5fcc440
comparison
equal deleted inserted replaced
1629:7fc8a3ff09ee 1630:78509230f0d7
20 **/ 20 **/
21 21
22 22
23 #pragma once 23 #pragma once
24 24
25 #include "CoordinateSystem3D.h"
25 #include "LinearAlgebra.h" 26 #include "LinearAlgebra.h"
26 27
27 namespace OrthancStone 28 namespace OrthancStone
28 { 29 {
29 class SortedFrames : public boost::noncopyable 30 class SortedFrames : public boost::noncopyable
30 { 31 {
31 private: 32 private:
32 class Instance : public boost::noncopyable 33 class Instance : public boost::noncopyable
33 { 34 {
34 private: 35 private:
35 bool hasPosition_; 36 Orthanc::DicomMap tags_;
36 Orthanc::DicomMap tags_; 37 std::string sopInstanceUid_;
37 std::string sopInstanceUid_; 38 unsigned int numberOfFrames_;
38 unsigned int numberOfFrames_; 39 CoordinateSystem3D geometry_;
39 Vector normal_; // Only used in "Sort()" 40 bool monochrome1_;
40 Vector position_; // Only used in "Sort()"
41 bool monochrome1_;
42 41
43 public: 42 public:
44 explicit Instance(const Orthanc::DicomMap& tags); 43 explicit Instance(const Orthanc::DicomMap& tags);
45 44
46 const Orthanc::DicomMap& GetTags() const 45 const Orthanc::DicomMap& GetTags() const
56 unsigned int GetNumberOfFrames() const 55 unsigned int GetNumberOfFrames() const
57 { 56 {
58 return numberOfFrames_; 57 return numberOfFrames_;
59 } 58 }
60 59
61 bool HasPosition() const 60 const CoordinateSystem3D& GetGeometry() const
62 { 61 {
63 return hasPosition_; 62 return geometry_;
64 } 63 }
65
66 const Vector& GetNormal() const;
67
68 const Vector& GetPosition() const;
69 64
70 bool IsMonochrome1() const 65 bool IsMonochrome1() const
71 { 66 {
72 return monochrome1_; 67 return monochrome1_;
73 } 68 }
162 const std::string& GetSopInstanceUid(size_t instanceIndex) const 157 const std::string& GetSopInstanceUid(size_t instanceIndex) const
163 { 158 {
164 return GetInstance(instanceIndex).GetSopInstanceUid(); 159 return GetInstance(instanceIndex).GetSopInstanceUid();
165 } 160 }
166 161
162 const CoordinateSystem3D& GetInstanceGeometry(size_t instanceIndex) const
163 {
164 return GetInstance(instanceIndex).GetGeometry();
165 }
166
167 bool LookupSopInstanceUid(size_t& instanceIndex, 167 bool LookupSopInstanceUid(size_t& instanceIndex,
168 const std::string& sopInstanceUid) const; 168 const std::string& sopInstanceUid) const;
169 169
170 bool IsSorted() const 170 bool IsSorted() const
171 { 171 {