fw4spl
reader/ie/Surface.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2018.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #pragma once
8 
9 #include "fwGdcmIO/helper/SegmentedPropertyRegistry.hpp"
10 #include "fwGdcmIO/reader/ie/InformationEntity.hpp"
11 
12 #include <fwMedData/ModelSeries.hpp>
13 
14 #include <boost/filesystem/path.hpp>
15 
16 #include <gdcmSurfaceReader.h>
17 
18 namespace fwData
19 {
20 class Reconstruction;
21 }
22 
23 namespace fwGdcmIO
24 {
25 namespace reader
26 {
27 namespace ie
28 {
29 
33 class FWGDCMIO_CLASS_API Surface : public ::fwGdcmIO::reader::ie::InformationEntity< ::fwMedData::ModelSeries >
34 {
35 
36 public:
47  FWGDCMIO_API Surface(const CSPTR(::fwMedData::DicomSeries)& dicomSeries,
48  const SPTR(::gdcm::Reader)& reader,
49  const SPTR(::fwGdcmIO::container::DicomInstance)& instance,
50  const ::fwMedData::ModelSeries::sptr& series,
51  const ::fwLog::Logger::sptr& logger = nullptr,
52  ProgressCallback progress = nullptr,
53  CancelRequestedCallback cancel = nullptr);
54 
60  FWGDCMIO_API bool loadSegmentedPropertyRegistry(const ::boost::filesystem::path& filepath);
61 
63  FWGDCMIO_API virtual ~Surface();
64 
69  FWGDCMIO_API virtual void readSurfaceSegmentationAndSurfaceMeshModules();
70 
71 protected:
72 
80  virtual void readSurfaceSegmentationModule(const SPTR(::fwData::Reconstruction)& reconstruction,
81  const ::gdcm::SmartPointer< ::gdcm::Segment >& segment,
82  const ::gdcm::Item& segmentItem);
89  FWGDCMIO_API virtual void readSurfaceMeshModule(const SPTR(::fwData::Reconstruction)& reconstruction, const ::gdcm::SmartPointer< ::gdcm::Surface >& surface
90  );
93 
94 };
95 
96 } // namespace ie
97 } // namespace reader
98 } // namespace fwGdcmIO
#define SPTR(_cls_)
#define CSPTR(_cls_)
InformationEntity base class used to read modules.
This class defines a reconstruction object.
This class defines a DICOM SOP instance. It is useful during the whole writing process. This class allows to share data between module writers.
::fwGdcmIO::helper::SegmentedPropertyRegistry m_segmentedPropertyRegistry
Segment Property Registry.
The namespace fwGdcmIO contains reader, writer and helper for dicom data.
Registry of Segment Properties. This class defines a registry which links a structure type to an entr...
Surface Information Entity class.
Contains the representation of the data objects used in the framework.