fw4spl
ioDcmtk/include/ioDcmtk/SSeriesDBReader.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 "ioDcmtk/config.hpp"
10 
11 #include <fwIO/IReader.hpp>
12 
13 #include <boost/filesystem/path.hpp>
14 
15 #include <string>
16 
17 namespace fwMedData
18 {
19 class SeriesDB;
20 class Patient;
21 }
22 
23 namespace ioDcmtk
24 {
25 
41 class IODCMTK_CLASS_API SSeriesDBReader : public ::fwIO::IReader
42 {
43 
44 public:
50  IODCMTK_API SSeriesDBReader() noexcept;
51 
55  IODCMTK_API virtual ~SSeriesDBReader() noexcept;
56 
57 protected:
58 
59  typedef std::vector< std::string > SupportedSOPClassContainerType;
60 
85  IODCMTK_API virtual void configuring() override;
86 
88  IODCMTK_API virtual void starting() override;
89 
91  IODCMTK_API virtual void stopping() override;
92 
94  IODCMTK_API void updating() override;
95 
97  IODCMTK_API void info(std::ostream& _sstream ) override;
98 
100  IODCMTK_API virtual std::string getSelectorDialogTitle() override;
101 
103  IODCMTK_API virtual void configureWithIHM() override;
104 
106  IODCMTK_API ::fwIO::IOPathType getIOPathType() const override;
107 
108 private:
109 
110  void notificationOfDBUpdate();
111 
112  SPTR(::fwMedData::SeriesDB) createSeriesDB(const ::boost::filesystem::path& dicomDir);
113 
115  std::string m_filterSelectorSrvConfig;
116 
118  std::string m_filterType;
119 
121  SupportedSOPClassContainerType m_supportedSOPClassSelection;
122 
123 };
124 
125 } // namespace ioDcmtk
#define SPTR(_cls_)
Namespace containing medical data.
STL namespace.
Reader service API. It manages extension points definition and extension configuration.
Definition: IReader.hpp:34
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
The namespace fwIO contains the base interface for reader and writer services.
Definition: ioTypes.hpp:16
Read ImageSeries from DICOM with dcmtk.
ioDcmtk contains services use to deal with DICOM using the GDCM library.