Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement > Class Template Reference

This class recursively apply geodesic decomposition. More...

#include <otbGeodesicMorphologyIterativeDecompositionImageFilter.h>

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

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
DecompositionFilterType::Pointer 
DecompositionFilterPointerType
 
typedef
GeodesicMorphologyDecompositionImageFilter
< InputImageType,
InputImageType,
StructuringElementType
DecompositionFilterType
 
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 Self
ConstPointer
 
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 Self
ConstPointer
 
typedef itk::DataObject::Pointer DataObjectPointer
 
typedef
OutputImageListType::ConstPointer 
OutputImageListConstPointerType
 
typedef
OutputImageListType::Pointer 
OutputImageListPointerType
 
typedef ImageList
< OutputImageType
OutputImageListType
 
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
 
OutputImageListTypeGetConcaveOutput (void)
 
OutputImageListTypeGetConvexOutput (void)
 
virtual unsigned int GetInitialValue ()
 
virtual const char * GetNameOfClass () const
 
virtual unsigned int GetNumberOfIterations ()
 
OutputImageListTypeGetOutput (void)
 
virtual unsigned int GetStep ()
 
virtual void SetInitialValue (unsigned int _arg)
 
virtual void SetNumberOfIterations (unsigned int _arg)
 
virtual void SetStep (unsigned int _arg)
 
- Public Member Functions inherited from otb::ImageToImageListFilter< TImage, TImage >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
InputImageTypeGetInput (void)
 
virtual void SetInput (const InputImageType *image)
 
- 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
 

Protected Member Functions

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

Private Attributes

unsigned int m_InitialValue
 
unsigned int m_NumberOfIterations
 
unsigned int m_Step
 

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 64 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

Member Typedef Documentation

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

Typedef of the decomposition filter

Definition at line 98 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

template<class TImage , class TStructuringElement >
typedef InputImageType::ConstPointer otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::InputImageConstPointerType
template<class TImage , class TStructuringElement >
typedef InputImageType::Pointer otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::InputImagePointerType
template<class TImage , class TStructuringElement >
typedef Superclass::InputImageRegionType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::InputImageRegionType
template<class TImage , class TStructuringElement >
typedef Superclass::InputImageType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::InputImageType

Input related typedefs

Definition at line 85 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

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

Output related typedefs

Definition at line 80 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

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

Standard typedefs

Definition at line 69 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

template<class TImage , class TStructuringElement >
typedef InputImageType::SizeType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::SizeType
template<class TImage , class TStructuringElement >
typedef InputImageType::SpacingType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::SpacingType
template<class TImage , class TStructuringElement >
typedef TStructuringElement otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::StructuringElementType
template<class TImage , class TStructuringElement >
typedef ImageToImageListFilter<TImage, TImage> otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::Superclass
template<class TImage , class TStructuringElement >
typedef InputImageType::ValueType otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >::ValueType

Constructor & Destructor Documentation

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

Constructor

Definition at line 33 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.txx.

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

Destructor

Definition at line 130 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

Member Function Documentation

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

Main computation method

Definition at line 173 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.txx.

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

Generate input requested region

Definition at line 156 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.txx.

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

Generate output information

Definition at line 78 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.txx.

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

Get The concave membership function for each scale

Returns
The concave membership function for each scale.

Definition at line 70 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.txx.

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

Get convex membership function for each scale

Returns
The convex membership function for each scale.

Definition at line 61 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.txx.

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

Type macro

Reimplemented from otb::ImageToImageListFilter< TImage, TImage >.

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

Get The leveling images for each scale.

Returns
The leveling images for each scale.

Reimplemented from otb::ImageListSource< TImage >.

Definition at line 52 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.txx.

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

Creation through object factory macro

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

Printself method

PrintSelf method

Reimplemented from otb::ImageToImageListFilter< TImage, TImage >.

Definition at line 213 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.txx.

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

Accessors

Member Data Documentation

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

Input image dimension constant macro

Definition at line 78 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

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

The initial value for the scale

Definition at line 144 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

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

The number of iterations

Definition at line 146 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.

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

The step for the scale analysis

Definition at line 142 of file otbGeodesicMorphologyIterativeDecompositionImageFilter.h.


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