fw4spl
reader/tid/Measurement.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/container/sr/DicomSRNode.hpp"
10 #include "fwGdcmIO/reader/tid/TemplateID.hpp"
11 
12 #include <fwData/Image.hpp>
13 
14 #include <fwMedData/DicomSeries.hpp>
15 
16 namespace fwData
17 {
18 class Point;
19 }
20 
21 namespace fwGdcmIO
22 {
23 namespace reader
24 {
25 namespace tid
26 {
27 
32 class FWGDCMIO_CLASS_API Measurement : public ::fwGdcmIO::reader::tid::TemplateID< ::fwData::Image >
33 {
34 
35 public:
44  FWGDCMIO_API Measurement(const CSPTR(::fwMedData::DicomSeries)& dicomSeries,
45  const SPTR(::gdcm::Reader)& reader,
46  const SPTR(::fwGdcmIO::container::DicomInstance)& instance,
47  const ::fwData::Image::sptr& image,
48  const ::fwLog::Logger::sptr& logger);
49 
51  FWGDCMIO_API virtual ~Measurement();
52 
57  FWGDCMIO_API virtual void readNode(const SPTR(::fwGdcmIO::container::sr::DicomSRNode)& node);
58 
59 protected:
60 
66  void addDistance(const SPTR(::fwData::Point)& point1,
67  const SPTR(::fwData::Point)& point2);
68 
69 };
70 
71 } // namespace tid
72 } // namespace reader
73 } // namespace fwGdcmIO
#define SPTR(_cls_)
#define CSPTR(_cls_)
This class define a 3D point.
Definition: Point.hpp:22
This class defines a DICOM SOP instance. It is useful during the whole writing process. This class allows to share data between module writers.
The namespace fwGdcmIO contains reader, writer and helper for dicom data.
This class defines a node in a SR document.
Definition: DicomSRNode.hpp:27
Contains the representation of the data objects used in the framework.
TemplateID base class used to write templates.