OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement > Class Template Reference

#include <otbMorphologicalProfilesSegmentationFilter.h>

+ Inheritance diagram for otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >:
+ Collaboration diagram for otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >:

Public Types

typedef otb::MorphologicalClosingProfileFilter< InputImageType, InternalImageType, StructuringElementTypeClosingProfileFilterType
 
typedef itk::ScalarConnectedComponentImageFilter< OutputImageType, OutputImageTypeConnectedComponentsFilterType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef otb::ProfileToProfileDerivativeFilter< InternalImageType, InternalImageTypeDerivativeFilterType
 
typedef TInputImage InputImageType
 
typedef InputImageType::PixelType InputPixelType
 
typedef otb::Image< TInternalPrecision > InternalImageType
 
typedef otb::ProfileDerivativeToMultiScaleCharacteristicsFilter< InternalImageType, InternalImageType, OutputImageTypeMultiScaleCharacteristicsFilterType
 
typedef otb::MultiScaleConvexOrConcaveClassificationFilter< InternalImageType, OutputImageTypeMultiScaleClassificationFilterType
 
typedef otb::MorphologicalOpeningProfileFilter< InputImageType, InternalImageType, StructuringElementTypeOpeningProfileFilterType
 
typedef TOutputImage OutputImageType
 
typedef itk::SmartPointer< SelfPointer
 
typedef MorphologicalProfilesSegmentationFilter Self
 
typedef TStructuringElement StructuringElementType
 
typedef itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual const unsigned int & GetProfileSize () const
 
virtual const unsigned int & GetProfileStart () const
 
virtual const unsigned int & GetProfileStep () const
 
virtual const double & GetSigma () const
 
virtual void SetProfileSize (unsigned int _arg)
 
virtual void SetProfileStart (unsigned int _arg)
 
virtual void SetProfileStep (unsigned int _arg)
 
virtual void SetSigma (double _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void GenerateData () override
 
 MorphologicalProfilesSegmentationFilter ()
 
 ~MorphologicalProfilesSegmentationFilter () override
 

Private Attributes

MultiScaleClassificationFilterType::Pointer m_ClassificationFilter
 
MultiScaleCharacteristicsFilterType::Pointer m_ClosingCharacteristicsFilter
 
DerivativeFilterType::Pointer m_ClosingDerivativeProfile
 
ClosingProfileFilterType::Pointer m_ClosingProfile
 
ConnectedComponentsFilterType::Pointer m_ConnectedComponentsFilter
 
MultiScaleCharacteristicsFilterType::Pointer m_OpeningCharacteristicsFilter
 
DerivativeFilterType::Pointer m_OpeningDerivativeProfile
 
OpeningProfileFilterType::Pointer m_OpeningProfile
 
unsigned int m_ProfileSize
 
unsigned int m_ProfileStart
 
unsigned int m_ProfileStep
 
double m_Sigma
 

Detailed Description

template<class TInputImage, class TOutputImage, class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
class otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >

This class implements segmentation by morphological profiles.

This filter implements segmentation based on the morphological profiles, based on this work:

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.

This filter is composite and creates the full pipeline to implement the method. the otb::MultiScaleConvexOrConcaveClassificationFilter is wired to an itk::ScalarConnectedComponentImageFilter so as to get a labeled raster output.

See also
otb::MorphologicalOpeningProfileFilter
otb::MorphologicalClosingProfileFilter
otb::ProfileToProfileDerivativeFilter
otb::ProfileDerivativeToMultiScaleCharacteristicsFilter
otb::MultiScaleConvexOrConcaveClassificationFilter

Definition at line 62 of file otbMorphologicalProfilesSegmentationFilter.h.

Member Typedef Documentation

◆ ClosingProfileFilterType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef otb::MorphologicalClosingProfileFilter<InputImageType, InternalImageType, StructuringElementType> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::ClosingProfileFilterType

Definition at line 81 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ ConnectedComponentsFilterType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef itk::ScalarConnectedComponentImageFilter<OutputImageType, OutputImageType> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::ConnectedComponentsFilterType

Definition at line 85 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ ConstPointer

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef itk::SmartPointer<const Self> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::ConstPointer

Definition at line 70 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ DerivativeFilterType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef otb::ProfileToProfileDerivativeFilter<InternalImageType, InternalImageType> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::DerivativeFilterType

Definition at line 82 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef TInputImage otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::InputImageType

Some convenient typedefs.

Definition at line 73 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ InputPixelType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef InputImageType::PixelType otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::InputPixelType

Definition at line 74 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ InternalImageType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef otb::Image<TInternalPrecision> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::InternalImageType

Definition at line 76 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ MultiScaleCharacteristicsFilterType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef otb::ProfileDerivativeToMultiScaleCharacteristicsFilter<InternalImageType, InternalImageType, OutputImageType> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::MultiScaleCharacteristicsFilterType

Definition at line 83 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ MultiScaleClassificationFilterType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef otb::MultiScaleConvexOrConcaveClassificationFilter<InternalImageType, OutputImageType> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::MultiScaleClassificationFilterType

Definition at line 84 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ OpeningProfileFilterType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef otb::MorphologicalOpeningProfileFilter<InputImageType, InternalImageType, StructuringElementType> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::OpeningProfileFilterType

Definition at line 80 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef TOutputImage otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::OutputImageType

Definition at line 75 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef itk::SmartPointer<Self> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::Pointer

Definition at line 69 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ Self

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef MorphologicalProfilesSegmentationFilter otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::Self

Standard Self typedef

Definition at line 66 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ StructuringElementType

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef TStructuringElement otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::StructuringElementType

Definition at line 78 of file otbMorphologicalProfilesSegmentationFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
typedef itk::ImageToImageFilter<TInputImage, TOutputImage> otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::Superclass

Definition at line 67 of file otbMorphologicalProfilesSegmentationFilter.h.

Constructor & Destructor Documentation

◆ MorphologicalProfilesSegmentationFilter()

template<class TInputImage , class TOutputImage , class TInternalPrecision , class TStructuringElement >
otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::MorphologicalProfilesSegmentationFilter
protected

◆ ~MorphologicalProfilesSegmentationFilter()

template<class TInputImage , class TOutputImage , class TInternalPrecision , class TStructuringElement >
otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::~MorphologicalProfilesSegmentationFilter
overrideprotected

Member Function Documentation

◆ CreateAnother()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual::itk::LightObject::Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::CreateAnother ( void  ) const

◆ GenerateData()

template<class TInputImage , class TOutputImage , class TInternalPrecision , class TStructuringElement >
void otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::GenerateData
overrideprotected

◆ GetNameOfClass()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual const char* otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::GetNameOfClass ( ) const
virtual

Runtime information support.

◆ GetProfileSize()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual const unsigned int& otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::GetProfileSize ( ) const
virtual

◆ GetProfileStart()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual const unsigned int& otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::GetProfileStart ( ) const
virtual

◆ GetProfileStep()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual const unsigned int& otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::GetProfileStep ( ) const
virtual

◆ GetSigma()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual const double& otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::GetSigma ( ) const
virtual

◆ New()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
static Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::New ( )
static

Method for creation through the object factory.

◆ SetProfileSize()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual void otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::SetProfileSize ( unsigned int  _arg)
virtual

◆ SetProfileStart()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual void otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::SetProfileStart ( unsigned int  _arg)
virtual

◆ SetProfileStep()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual void otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::SetProfileStep ( unsigned int  _arg)
virtual

◆ SetSigma()

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
virtual void otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::SetSigma ( double  _arg)
virtual

Member Data Documentation

◆ m_ClassificationFilter

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
MultiScaleClassificationFilterType::Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_ClassificationFilter
private

◆ m_ClosingCharacteristicsFilter

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
MultiScaleCharacteristicsFilterType::Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_ClosingCharacteristicsFilter
private

◆ m_ClosingDerivativeProfile

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
DerivativeFilterType::Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_ClosingDerivativeProfile
private

◆ m_ClosingProfile

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
ClosingProfileFilterType::Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_ClosingProfile
private

◆ m_ConnectedComponentsFilter

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
ConnectedComponentsFilterType::Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_ConnectedComponentsFilter
private

◆ m_OpeningCharacteristicsFilter

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
MultiScaleCharacteristicsFilterType::Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_OpeningCharacteristicsFilter
private

◆ m_OpeningDerivativeProfile

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
DerivativeFilterType::Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_OpeningDerivativeProfile
private

◆ m_OpeningProfile

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
OpeningProfileFilterType::Pointer otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_OpeningProfile
private

◆ m_ProfileSize

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
unsigned int otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_ProfileSize
private

◆ m_ProfileStart

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
unsigned int otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_ProfileStart
private

◆ m_ProfileStep

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
unsigned int otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_ProfileStep
private

◆ m_Sigma

template<class TInputImage , class TOutputImage , class TInternalPrecision = float, class TStructuringElement = itk::BinaryBallStructuringElement<typename TInputImage::PixelType, TInputImage::ImageDimension>>
double otb::MorphologicalProfilesSegmentationFilter< TInputImage, TOutputImage, TInternalPrecision, TStructuringElement >::m_Sigma
private

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