21 #ifndef otbGeodesicMorphologyDecompositionImageFilter_h
22 #define otbGeodesicMorphologyDecompositionImageFilter_h
25 #include "itkSubtractImageFilter.h"
26 #include "itkOpeningByReconstructionImageFilter.h"
27 #include "itkClosingByReconstructionImageFilter.h"
84 template <
class TInputImage,
class TOutputImage,
class TStructuringElement>
90 typedef itk::ImageToImageFilter<TInputImage, TOutputImage>
Superclass;
105 typedef typename StructuringElementType::RadiusType
RadiusType;
106 typedef itk::OpeningByReconstructionImageFilter<InputImageType, InputImageType, StructuringElementType>
OpeningFilterType;
107 typedef itk::ClosingByReconstructionImageFilter<InputImageType, InputImageType, StructuringElementType>
ClosingFilterType;
108 typedef itk::SubtractImageFilter<InputImageType, InputImageType, OutputImageType>
ConvexFilterType;
109 typedef itk::SubtractImageFilter<OutputImageType, InputImageType, OutputImageType>
ConcaveFilterType;
137 itkSetMacro(FullyConnected,
bool);
138 itkGetMacro(FullyConnected,
bool);
141 itkSetMacro(PreserveIntensities,
bool);
142 itkGetMacro(PreserveIntensities,
bool);
158 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
192 #ifndef OTB_MANUAL_INSTANTIATION
A generic functor filter templated by its functor.
itk::SmartPointer< Self > Pointer
This class implements a geodesic morphology based image analysis algorithm.
itk::SmartPointer< const Self > ConstPointer
ConcaveFilterPointerType m_ConcaveFilter
OpeningFilterPointerType m_OpeningFilter
itk::SubtractImageFilter< OutputImageType, InputImageType, OutputImageType > ConcaveFilterType
ConvexFilterPointerType m_ConvexFilter
ConvexFilterType::Pointer ConvexFilterPointerType
itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
~GeodesicMorphologyDecompositionImageFilter() override
StructuringElementType::RadiusType RadiusType
OutputImageType * GetConvexMap(void)
itk::OpeningByReconstructionImageFilter< InputImageType, InputImageType, StructuringElementType > OpeningFilterType
itk::SubtractImageFilter< InputImageType, InputImageType, OutputImageType > ConvexFilterType
void operator=(const Self &)=delete
itk::ClosingByReconstructionImageFilter< InputImageType, InputImageType, StructuringElementType > ClosingFilterType
ClosingFilterPointerType m_ClosingFilter
GeodesicMorphologyDecompositionImageFilter Self
ClosingFilterType::Pointer ClosingFilterPointerType
void PrintSelf(std::ostream &os, itk::Indent indent) const override
LevelingFilterPointerType m_LevelingFilter
otb::GeodesicMorphologyLevelingFilter< InputImageType, OutputImageType, OutputImageType > LevelingFilterType
void GenerateData(void) override
TInputImage InputImageType
bool m_PreserveIntensities
LevelingFilterType::Pointer LevelingFilterPointerType
itk::SmartPointer< Self > Pointer
OutputImageType * GetConcaveMap(void)
TOutputImage OutputImageType
OpeningFilterType::Pointer OpeningFilterPointerType
itk::ProgressAccumulator::Pointer m_Progress
GeodesicMorphologyDecompositionImageFilter(const Self &)=delete
ConcaveFilterType::Pointer ConcaveFilterPointerType
GeodesicMorphologyDecompositionImageFilter()
TStructuringElement StructuringElementType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.