Mercurial > hg > orthanc-stone
diff 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 |
line wrap: on
line diff
--- a/Framework/Toolbox/DicomStructureSet.h Wed Nov 20 15:24:20 2019 +0100 +++ b/Framework/Toolbox/DicomStructureSet.h Wed Nov 20 17:34:17 2019 +0100 @@ -21,12 +21,20 @@ #pragma once +#if !defined(ORTHANC_ENABLE_DCMTK) +# error The macro ORTHANC_ENABLE_DCMTK must be defined +#endif + #include "DicomStructureSetUtils.h" #include "CoordinateSystem3D.h" #include "Extent2D.h" #include "../Scene2D/Color.h" #include "../Scene2D/PolylineSceneLayer.h" +#if ORTHANC_ENABLE_DCMTK == 1 +# include <Core/DicomParsing/ParsedDicomFile.h> +#endif + //#define USE_BOOST_UNION_FOR_POLYGONS 1 #include <Plugins/Samples/Common/FullOrthancDataset.h> @@ -138,6 +146,8 @@ Structures structures_; ReferencedSlices referencedSlices_; + void Setup(const OrthancPlugins::IDicomDataset& dataset); + const Structure& GetStructure(size_t index) const; Structure& GetStructure(size_t index); @@ -152,7 +162,14 @@ const CoordinateSystem3D& slice) const; public: - DicomStructureSet(const OrthancPlugins::FullOrthancDataset& instance); + DicomStructureSet(const OrthancPlugins::FullOrthancDataset& instance) + { + Setup(instance); + } + +#if ORTHANC_ENABLE_DCMTK == 1 + DicomStructureSet(Orthanc::ParsedDicomFile& instance); +#endif size_t GetStructuresCount() const {