Mercurial > hg > orthanc-stone
comparison Framework/Toolbox/DicomStructureSet.h @ 1180:9c8f557ea799 broker
ParsedDicomDataset to speed up loading RT-STRUCT from parsed DICOM files
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 20 Nov 2019 17:34:17 +0100 |
parents | 3c7cdbf32e2a |
children | 0ca50d275b9a |
comparison
equal
deleted
inserted
replaced
1179:177e7d431cd1 | 1180:9c8f557ea799 |
---|---|
19 **/ | 19 **/ |
20 | 20 |
21 | 21 |
22 #pragma once | 22 #pragma once |
23 | 23 |
24 #if !defined(ORTHANC_ENABLE_DCMTK) | |
25 # error The macro ORTHANC_ENABLE_DCMTK must be defined | |
26 #endif | |
27 | |
24 #include "DicomStructureSetUtils.h" | 28 #include "DicomStructureSetUtils.h" |
25 #include "CoordinateSystem3D.h" | 29 #include "CoordinateSystem3D.h" |
26 #include "Extent2D.h" | 30 #include "Extent2D.h" |
27 #include "../Scene2D/Color.h" | 31 #include "../Scene2D/Color.h" |
28 #include "../Scene2D/PolylineSceneLayer.h" | 32 #include "../Scene2D/PolylineSceneLayer.h" |
33 | |
34 #if ORTHANC_ENABLE_DCMTK == 1 | |
35 # include <Core/DicomParsing/ParsedDicomFile.h> | |
36 #endif | |
29 | 37 |
30 //#define USE_BOOST_UNION_FOR_POLYGONS 1 | 38 //#define USE_BOOST_UNION_FOR_POLYGONS 1 |
31 | 39 |
32 #include <Plugins/Samples/Common/FullOrthancDataset.h> | 40 #include <Plugins/Samples/Common/FullOrthancDataset.h> |
33 | 41 |
136 typedef std::vector<Structure> Structures; | 144 typedef std::vector<Structure> Structures; |
137 | 145 |
138 Structures structures_; | 146 Structures structures_; |
139 ReferencedSlices referencedSlices_; | 147 ReferencedSlices referencedSlices_; |
140 | 148 |
149 void Setup(const OrthancPlugins::IDicomDataset& dataset); | |
150 | |
141 const Structure& GetStructure(size_t index) const; | 151 const Structure& GetStructure(size_t index) const; |
142 | 152 |
143 Structure& GetStructure(size_t index); | 153 Structure& GetStructure(size_t index); |
144 | 154 |
145 bool ProjectStructure( | 155 bool ProjectStructure( |
150 #endif | 160 #endif |
151 const Structure& structure, | 161 const Structure& structure, |
152 const CoordinateSystem3D& slice) const; | 162 const CoordinateSystem3D& slice) const; |
153 | 163 |
154 public: | 164 public: |
155 DicomStructureSet(const OrthancPlugins::FullOrthancDataset& instance); | 165 DicomStructureSet(const OrthancPlugins::FullOrthancDataset& instance) |
166 { | |
167 Setup(instance); | |
168 } | |
169 | |
170 #if ORTHANC_ENABLE_DCMTK == 1 | |
171 DicomStructureSet(Orthanc::ParsedDicomFile& instance); | |
172 #endif | |
156 | 173 |
157 size_t GetStructuresCount() const | 174 size_t GetStructuresCount() const |
158 { | 175 { |
159 return structures_.size(); | 176 return structures_.size(); |
160 } | 177 } |