OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement > Class Template Reference

#include <otbGeodesicMorphologyIterativeDecompositionImageFilter.h>

+ Inheritance diagram for otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >:
+ Collaboration diagram for otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef DecompositionFilterType::Pointer DecompositionFilterPointerType
 
typedef GeodesicMorphologyDecompositionImageFilter< InputImageType, InputImageType, StructuringElementTypeDecompositionFilterType
 
typedef InputImageType::ConstPointer InputImageConstPointerType
 
typedef InputImageType::Pointer InputImagePointerType
 
typedef Superclass::InputImageRegionType InputImageRegionType
 
typedef Superclass::InputImageType InputImageType
 
typedef OutputImageListType::Pointer OutputImageListPointerType
 
typedef Superclass::OutputImageListType OutputImageListType
 
typedef Superclass::OutputImagePointerType OutputImagePointerType
 
typedef Superclass::OutputImageType OutputImageType
 
typedef InputImageType::PixelType PixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef GeodesicMorphologyIterativeDecompositionImageFilter Self
 
typedef InputImageType::SizeType SizeType
 
typedef InputImageType::SpacingType SpacingType
 
typedef TStructuringElement StructuringElementType
 
typedef ImageToImageListFilter< TImage, TImage > Superclass
 
typedef InputImageType::ValueType ValueType
 
- Public Types inherited from otb::ImageToImageListFilter< TImage, TImage >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef InputImageType::PixelType InputImagePixelType
 
typedef InputImageType::ConstPointer InputImagePointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef TImage InputImageType
 
typedef Superclass::OutputImageListType OutputImageListType
 
typedef Superclass::OutputImagePointerType OutputImagePointerType
 
typedef Superclass::OutputImageType OutputImageType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ImageToImageListFilter Self
 
typedef InputImageType::SizeType SizeType
 
typedef ImageListSource< TImage > Superclass
 
typedef InputImageType::ValueType ValueType
 
- Public Types inherited from otb::ImageListSource< TImage >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::DataObject::Pointer DataObjectPointer
 
typedef OutputImageListType::ConstPointer OutputImageListConstPointerType
 
typedef OutputImageListType::Pointer OutputImageListPointerType
 
typedef ImageList< OutputImageTypeOutputImageListType
 
typedef OutputImageType::Pointer OutputImagePointerType
 
typedef TImage OutputImageType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ImageListSource Self
 
typedef itk::ProcessObject Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from otb::ImageToImageListFilter< TImage, TImage >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual void SetInput (const InputImageType *image)
 
InputImageTypeGetInput (void)
 
- Public Member Functions inherited from otb::ImageListSource< TImage >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::ImageToImageListFilter< TImage, TImage >
static Pointer New ()
 
- Static Public Member Functions inherited from otb::ImageListSource< TImage >
static Pointer New ()
 

Static Public Attributes

static const unsigned int InputImageDimension = TImage::ImageDimension
 
- Static Public Attributes inherited from otb::ImageToImageListFilter< TImage, TImage >
static const unsigned int InputImageDimension
 
unsigned int m_Step
 
unsigned int m_InitialValue
 
unsigned int m_NumberOfIterations
 
itk::ProgressAccumulator::Pointer m_Progress
 
virtual void SetStep (unsigned int _arg)
 
virtual unsigned int GetStep ()
 
virtual void SetInitialValue (unsigned int _arg)
 
virtual unsigned int GetInitialValue ()
 
virtual void SetNumberOfIterations (unsigned int _arg)
 
virtual unsigned int GetNumberOfIterations ()
 
OutputImageListTypeGetOutput (void) override
 
OutputImageListTypeGetConvexOutput (void)
 
OutputImageListTypeGetConcaveOutput (void)
 
 GeodesicMorphologyIterativeDecompositionImageFilter ()
 
 ~GeodesicMorphologyIterativeDecompositionImageFilter () override
 
void GenerateOutputInformation () override
 
void GenerateInputRequestedRegion () override
 
void GenerateData () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 

Additional Inherited Members

- Protected Member Functions inherited from otb::ImageToImageListFilter< TImage, TImage >
 ImageToImageListFilter ()
 
 ~ImageToImageListFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
- Protected Member Functions inherited from otb::ImageListSource< TImage >
 ImageListSource ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ~ImageListSource () override
 

Detailed Description

template<class TImage, class TStructuringElement>
class otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >

This class recursively apply geodesic decomposition.

This algorithm is derived from the following publication:
Martino Pesaresi and Jon Alti Benediktsson, Member, IEEE: A new approach for the morphological segmentation of high resolution satellite imagery. IEEE Transactions on geoscience and remote sensing, vol. 39, NO. 2, February 2001, p. 309-320.

It provides a geodesic decomposition of the input image, with the following scheme. Let $f_0$ denote the input image, $\stackrel{\smile}{\mu}_{N}(f)$ denote the convex membership function, $ \stackrel{\frown}{\mu}_{N}(f) $ denote the concave membership function and $\psi_{N}(f)$ denote the leveling function, for a given radius $ N $ as defined in the documentation of the GeodesicMorphologyDecompositionImageFilter . Let $[N_{1},\ldots, N_{n}]$ denote a range of increasing radius (or scales). The iterative decomposition is defined as follows:

\[ f_{n} = \psi_{N_{n}}(f_{n-1}) \]

\[ \stackrel{\frown}{f}_{n} = \stackrel{\frown}{\mu}_{N_{N}}(f_{n}) \]

\[ \stackrel{\smile}{f}_{n} = \stackrel{\smile}{\mu}_{N_{N}}(f_{n}) \]

The $ \stackrel{\frown}{f}_{n}$ and $\stackrel{\frown}{f}_{n}$ are membership function for the convex (resp. concave) objects whose size is comprised between $N_{n-1} $ and $N_n$ .

See also
GeodescicMorphologyDecompositionImageFilter

Definition at line 69 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TImage , class TStructuringElement >
typedef itk::SmartPointer<const Self> otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::ConstPointer

◆ DecompositionFilterPointerType

template<class TImage , class TStructuringElement >
typedef DecompositionFilterType::Pointer otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::DecompositionFilterPointerType

◆ DecompositionFilterType

Typedef of the decomposition filter

Definition at line 106 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

◆ InputImageConstPointerType

template<class TImage , class TStructuringElement >
typedef InputImageType::ConstPointer otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::InputImageConstPointerType

◆ InputImagePointerType

template<class TImage , class TStructuringElement >
typedef InputImageType::Pointer otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::InputImagePointerType

◆ InputImageRegionType

template<class TImage , class TStructuringElement >
typedef Superclass::InputImageRegionType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::InputImageRegionType

◆ InputImageType

template<class TImage , class TStructuringElement >
typedef Superclass::InputImageType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::InputImageType

Input related typedefs

Definition at line 94 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

◆ OutputImageListPointerType

template<class TImage , class TStructuringElement >
typedef OutputImageListType::Pointer otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::OutputImageListPointerType

◆ OutputImageListType

template<class TImage , class TStructuringElement >
typedef Superclass::OutputImageListType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::OutputImageListType

◆ OutputImagePointerType

template<class TImage , class TStructuringElement >
typedef Superclass::OutputImagePointerType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::OutputImagePointerType

◆ OutputImageType

template<class TImage , class TStructuringElement >
typedef Superclass::OutputImageType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::OutputImageType

Output related typedefs

Definition at line 88 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

◆ PixelType

template<class TImage , class TStructuringElement >
typedef InputImageType::PixelType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::PixelType

◆ Pointer

template<class TImage , class TStructuringElement >
typedef itk::SmartPointer<Self> otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::Pointer

◆ Self

template<class TImage , class TStructuringElement >
typedef GeodesicMorphologyIterativeDecompositionImageFilter otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::Self

Standard typedefs

Definition at line 73 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

◆ SizeType

template<class TImage , class TStructuringElement >
typedef InputImageType::SizeType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::SizeType

◆ SpacingType

template<class TImage , class TStructuringElement >
typedef InputImageType::SpacingType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::SpacingType

◆ StructuringElementType

template<class TImage , class TStructuringElement >
typedef TStructuringElement otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::StructuringElementType

◆ Superclass

template<class TImage , class TStructuringElement >
typedef ImageToImageListFilter<TImage, TImage> otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::Superclass

◆ ValueType

template<class TImage , class TStructuringElement >
typedef InputImageType::ValueType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::ValueType

Constructor & Destructor Documentation

◆ GeodesicMorphologyIterativeDecompositionImageFilter()

template<class TImage , class TStructuringElement >
otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GeodesicMorphologyIterativeDecompositionImageFilter ( )
protected

Constructor

◆ ~GeodesicMorphologyIterativeDecompositionImageFilter()

template<class TImage , class TStructuringElement >
otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::~GeodesicMorphologyIterativeDecompositionImageFilter ( )
inlineoverrideprotected

Destructor

Definition at line 141 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

Member Function Documentation

◆ CreateAnother()

template<class TImage , class TStructuringElement >
virtual::itk::LightObject::Pointer otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::CreateAnother ( void  ) const

◆ GenerateData()

template<class TImage , class TStructuringElement >
void otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GenerateData ( )
overrideprotected

Main computation method

◆ GenerateInputRequestedRegion()

template<class TImage , class TStructuringElement >
void otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GenerateInputRequestedRegion ( )
overrideprotected

Generate input requested region

◆ GenerateOutputInformation()

template<class TImage , class TStructuringElement >
void otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GenerateOutputInformation ( )
overrideprotected

Generate output information

◆ GetConcaveOutput()

template<class TImage , class TStructuringElement >
OutputImageListType* otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GetConcaveOutput ( void  )

Get The concave membership function for each scale

Returns
The concave membership function for each scale.

◆ GetConvexOutput()

template<class TImage , class TStructuringElement >
OutputImageListType* otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GetConvexOutput ( void  )

Get convex membership function for each scale

Returns
The convex membership function for each scale.

◆ GetInitialValue()

template<class TImage , class TStructuringElement >
virtual unsigned int otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GetInitialValue ( )
virtual

The step for the scale analysis

◆ GetNameOfClass()

template<class TImage , class TStructuringElement >
virtual const char* otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GetNameOfClass ( ) const
virtual

Type macro

◆ GetNumberOfIterations()

template<class TImage , class TStructuringElement >
virtual unsigned int otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GetNumberOfIterations ( )
virtual

The step for the scale analysis

◆ GetOutput()

template<class TImage , class TStructuringElement >
OutputImageListType* otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GetOutput ( void  )
overridevirtual

Get The leveling images for each scale.

Returns
The leveling images for each scale.

Reimplemented from otb::ImageListSource< TImage >.

◆ GetStep()

template<class TImage , class TStructuringElement >
virtual unsigned int otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::GetStep ( )
virtual

The step for the scale analysis

◆ New()

template<class TImage , class TStructuringElement >
static Pointer otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::New ( )
static

Creation through object factory macro

◆ PrintSelf()

template<class TImage , class TStructuringElement >
void otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

Printself method

◆ SetInitialValue()

template<class TImage , class TStructuringElement >
virtual void otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::SetInitialValue ( unsigned int  _arg)
virtual

The step for the scale analysis

◆ SetNumberOfIterations()

template<class TImage , class TStructuringElement >
virtual void otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::SetNumberOfIterations ( unsigned int  _arg)
virtual

The step for the scale analysis

◆ SetStep()

template<class TImage , class TStructuringElement >
virtual void otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::SetStep ( unsigned int  _arg)
virtual

Accessors

Member Data Documentation

◆ InputImageDimension

template<class TImage , class TStructuringElement >
const unsigned int otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::InputImageDimension = TImage::ImageDimension
static

Input image dimension constant macro

Definition at line 85 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

◆ m_InitialValue

template<class TImage , class TStructuringElement >
unsigned int otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::m_InitialValue
private

The initial value for the scale

Definition at line 162 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

◆ m_NumberOfIterations

template<class TImage , class TStructuringElement >
unsigned int otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::m_NumberOfIterations
private

The number of iterations

Definition at line 165 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

◆ m_Progress

template<class TImage , class TStructuringElement >
itk::ProgressAccumulator::Pointer otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::m_Progress
private

Progress accumulator to report internal filter progress

Definition at line 168 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

◆ m_Step

template<class TImage , class TStructuringElement >
unsigned int otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::m_Step
private

The step for the scale analysis

Definition at line 159 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.


The documentation for this class was generated from the following file: