fw4spl
writer/ie/Document.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/writer/ie/InformationEntity.hpp"
11 
12 #include <fwData/Image.hpp>
13 
14 namespace fwGdcmIO
15 {
16 namespace writer
17 {
18 namespace ie
19 {
20 
24 class FWGDCMIO_CLASS_API Document : public ::fwGdcmIO::writer::ie::InformationEntity< ::fwData::Image >
25 {
26 
27 public:
37  FWGDCMIO_API Document(const SPTR(::gdcm::Writer)& writer,
38  const SPTR(::fwGdcmIO::container::DicomInstance)& instance,
39  const ::fwData::Image::csptr& image,
40  bool use3DSR = false,
41  const ::fwLog::Logger::sptr& logger = nullptr,
42  ProgressCallback progress = nullptr,
43  CancelRequestedCallback cancel = nullptr);
44 
46  FWGDCMIO_API virtual ~Document();
47 
52  FWGDCMIO_API virtual void writeSRDocumentGeneralModule();
53 
58  FWGDCMIO_API virtual void writeSRDocumentContentModule();
59 
64  FWGDCMIO_API void writeSOPCommonModule();
65 
66 protected:
67 
71  void writePertinentOtherEvidenceSequence();
72 
74  bool m_use3DSR;
75 
76 };
77 
78 } // namespace ie
79 } // namespace writer
80 } // namespace fwGdcmIO
#define SPTR(_cls_)
InformationEntity base class used to write modules.
This class defines a DICOM SOP instance. It is useful during the whole writing process. This class allows to share data between module writers.
bool m_use3DSR
True if we must use 3DSR.
The namespace fwGdcmIO contains reader, writer and helper for dicom data.
Document Information Entity class.