fw4spl
SliceThicknessModifier.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 "fwDicomIOFilter/config.hpp"
10 #include "fwDicomIOFilter/modifier/IModifier.hpp"
11 
12 #include <fwMedData/DicomSeries.hpp>
13 
14 namespace fwDicomIOFilter
15 {
16 namespace modifier
17 {
18 
23 class FWDICOMIOFILTER_CLASS_API SliceThicknessModifier : public IModifier
24 {
25 public:
27  (()), ::fwDicomIOFilter::factory::New< SliceThicknessModifier > );
28 
30  FWDICOMIOFILTER_API SliceThicknessModifier(::fwDicomIOFilter::IFilter::Key key);
31 
33  FWDICOMIOFILTER_API virtual ~SliceThicknessModifier();
34 
36  FWDICOMIOFILTER_API virtual DicomSeriesContainerType apply(
37  const ::fwMedData::DicomSeries::sptr& series, const ::fwLog::Logger::sptr& logger) const override;
38 
40  FWDICOMIOFILTER_API virtual std::string getName() const override;
41 
43  FWDICOMIOFILTER_API virtual std::string getDescription() const override;
44 
45 protected:
51  FWDICOMIOFILTER_API virtual double getInstanceZPosition(const ::fwMemory::BufferObject::sptr& bufferObj) const;
52 
57  FWDICOMIOFILTER_API virtual double getSliceThickness(const ::fwMemory::BufferObject::sptr& bufferObj) const;
58 
60  static const std::string s_FILTER_NAME;
61 
63  static const std::string s_FILTER_DESCRIPTION;
64 };
65 
66 } // namespace modifier
67 } // namespace fwDicomIOFilter
static const std::string s_FILTER_NAME
Filter name.
Base class for Dicom instance modifier.
Definition: IModifier.hpp:23
static const std::string s_FILTER_DESCRIPTION
Filter description.
fwDicomIOFilter contains filters used to pre-process images before reading.
#define fwCoreClassDefinitionsWithFactoryMacro(_classinfo_, _parameters_, _factory_)
Generate common construction methods for classes with one factory.
Key class used to restrict access to Filter construction. See http://www.drdobbs.com/184402053.
Filter that uses the ImagepositionPatient tag to sort the instances. The position increases along the...