OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members

#include <otbShapeAttributesLabelMapFilter.h>

+ Inheritance diagram for otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >:
+ Collaboration diagram for otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef Functor::ShapeAttributesLabelObjectFunctor< LabelObjectType, LabelImageTypeFunctorType
 
typedef ImageType::Pointer ImagePointer
 
typedef TImage ImageType
 
typedef ImageType::RegionType InputImageRegionType
 
typedef TLabelImage LabelImageType
 
typedef ImageType::LabelObjectType LabelObjectType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ShapeAttributesLabelMapFilter Self
 
typedef LabelMapFeaturesFunctorImageFilter< ImageType, FunctorTypeSuperclass
 
- Public Types inherited from otb::LabelMapFeaturesFunctorImageFilter< TImage, Functor::ShapeAttributesLabelObjectFunctor< TImage::LabelObjectType, Image< typename TImage::PixelType, TImage::ImageDimension > > >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Functor::ShapeAttributesLabelObjectFunctor< TImage::LabelObjectType, Image< typename TImage::PixelType, TImage::ImageDimension > > FunctorType
 
typedef TImage ImageType
 
typedef ImageType::LabelObjectType LabelObjectType
 
typedef itk::SmartPointer< SelfPointer
 
typedef LabelMapFeaturesFunctorImageFilter Self
 
typedef itk::InPlaceLabelMapFilter< TImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from otb::LabelMapFeaturesFunctorImageFilter< TImage, Functor::ShapeAttributesLabelObjectFunctor< TImage::LabelObjectType, Image< typename TImage::PixelType, TImage::ImageDimension > > >
virtual const char * GetNameOfClass () const
 
void SetFunctor (FunctorType &functor)
 
const FunctorTypeGetFunctor () const
 
FunctorTypeGetFunctor ()
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int ImageDimension = TImage::ImageDimension
 
- Static Public Attributes inherited from otb::LabelMapFeaturesFunctorImageFilter< TImage, Functor::ShapeAttributesLabelObjectFunctor< TImage::LabelObjectType, Image< typename TImage::PixelType, TImage::ImageDimension > > >
static const unsigned int ImageDimension
 
void SetComputeFeretDiameter (bool flag)
 
bool GetComputeFeretDiameter () const
 
virtual void ComputeFeretDiameterOn ()
 
virtual void ComputeFeretDiameterOff ()
 
void SetComputePerimeter (bool flag)
 
bool GetComputePerimeter () const
 
virtual void ComputePerimeterOn ()
 
virtual void ComputePerimeterOff ()
 
void SetComputePolygon (bool flag)
 
bool GetComputePolygon () const
 
virtual void ComputePolygonOn ()
 
virtual void ComputePolygonOff ()
 
void SetComputeFlusser (bool flag)
 
bool GetComputeFlusser () const
 
virtual void ComputeFlusserOn ()
 
virtual void ComputeFlusserOff ()
 
void SetReducedAttributeSet (bool flag)
 
bool GetReducedAttributeSet () const
 
virtual void ReducedAttributeSetOn ()
 
virtual void ReducedAttributeSetOff ()
 
void SetLabelImage (const TLabelImage *)
 
const TLabelImage * GetLabelImage () const
 
 ShapeAttributesLabelMapFilter ()
 
 ~ShapeAttributesLabelMapFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void AllocateOutputs () override
 
void BeforeThreadedGenerateData () override
 
void GenerateInputRequestedRegion () override
 
void EnlargeOutputRequestedRegion (itk::DataObject *) override
 
 ShapeAttributesLabelMapFilter (const Self &)=delete
 
void operator= (const Self &)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from otb::LabelMapFeaturesFunctorImageFilter< TImage, Functor::ShapeAttributesLabelObjectFunctor< TImage::LabelObjectType, Image< typename TImage::PixelType, TImage::ImageDimension > > >
 LabelMapFeaturesFunctorImageFilter ()
 
 ~LabelMapFeaturesFunctorImageFilter () override
 
void ThreadedProcessLabelObject (LabelObjectType *labelObject) override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 

Detailed Description

template<class TImage, class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
class otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >

This class is a fork of the itk::ShapeLabelMapFilter working with AttributesMapLabelObject.

The keys of the attributes inserted into the attributes map follow the following rule: "SHAPE:NameOfAttributes".

With respect to the original itk filter, this filter also compute the Flusser moments for each LabelObject.

The flag ReducedAttributesSet allows computing only non-redundant statistics and statistics useful for classification (not spatially dependent statitistics). Reduced set contains only Flusser moments, physical size, elongation, Feret diameter (if activated), perimeter (if activated) and roundness (if activated).

For the sake of speed optimization, the original label image must be given to the filter. If not, the filter will convert the LabelObjectMap back to a LabelImage structure.

See also
itk::ShapeLabelMapFilter

Definition at line 212 of file otbShapeAttributesLabelMapFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef itk::SmartPointer<const Self> otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ConstPointer

Definition at line 227 of file otbShapeAttributesLabelMapFilter.h.

◆ FunctorType

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef Functor::ShapeAttributesLabelObjectFunctor<LabelObjectType, LabelImageType> otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::FunctorType

Definition at line 221 of file otbShapeAttributesLabelMapFilter.h.

◆ ImagePointer

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef ImageType::Pointer otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ImagePointer

Definition at line 229 of file otbShapeAttributesLabelMapFilter.h.

◆ ImageType

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef TImage otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ImageType

Template parameters typedefs

Definition at line 217 of file otbShapeAttributesLabelMapFilter.h.

◆ InputImageRegionType

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef ImageType::RegionType otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::InputImageRegionType

Definition at line 219 of file otbShapeAttributesLabelMapFilter.h.

◆ LabelImageType

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef TLabelImage otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::LabelImageType

Definition at line 220 of file otbShapeAttributesLabelMapFilter.h.

◆ LabelObjectType

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef ImageType::LabelObjectType otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::LabelObjectType

Definition at line 218 of file otbShapeAttributesLabelMapFilter.h.

◆ Pointer

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef itk::SmartPointer<Self> otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::Pointer

Definition at line 226 of file otbShapeAttributesLabelMapFilter.h.

◆ Self

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef ShapeAttributesLabelMapFilter otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::Self

Standard class typedefs.

Definition at line 224 of file otbShapeAttributesLabelMapFilter.h.

◆ Superclass

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
typedef LabelMapFeaturesFunctorImageFilter<ImageType, FunctorType> otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::Superclass

Definition at line 225 of file otbShapeAttributesLabelMapFilter.h.

Constructor & Destructor Documentation

◆ ShapeAttributesLabelMapFilter() [1/2]

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ShapeAttributesLabelMapFilter ( )
inlineprotected

Constructor

Definition at line 291 of file otbShapeAttributesLabelMapFilter.h.

◆ ~ShapeAttributesLabelMapFilter()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::~ShapeAttributesLabelMapFilter ( )
inlineoverrideprotected

Destructor

Definition at line 296 of file otbShapeAttributesLabelMapFilter.h.

◆ ShapeAttributesLabelMapFilter() [2/2]

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ShapeAttributesLabelMapFilter ( const Self )
privatedelete

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Member Function Documentation

◆ AllocateOutputs()

template<class TImage , class TLabelImage >
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::AllocateOutputs
overrideprotected

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 1087 of file otbShapeAttributesLabelMapFilter.hxx.

◆ BeforeThreadedGenerateData()

template<class TImage , class TLabelImage >
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::BeforeThreadedGenerateData
overrideprotected

Things to to before threaded data generation

Definition at line 1134 of file otbShapeAttributesLabelMapFilter.hxx.

◆ ComputeFeretDiameterOff()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ComputeFeretDiameterOff ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ ComputeFeretDiameterOn()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ComputeFeretDiameterOn ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ ComputeFlusserOff()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ComputeFlusserOff ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ ComputeFlusserOn()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ComputeFlusserOn ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ ComputePerimeterOff()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ComputePerimeterOff ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ ComputePerimeterOn()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ComputePerimeterOn ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ ComputePolygonOff()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ComputePolygonOff ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ ComputePolygonOn()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ComputePolygonOn ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ CreateAnother()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual::itk::LightObject::Pointer otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::CreateAnother ( void  ) const

◆ EnlargeOutputRequestedRegion()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::EnlargeOutputRequestedRegion ( itk::DataObject *  )
inlineoverrideprotected

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 310 of file otbShapeAttributesLabelMapFilter.h.

◆ GenerateInputRequestedRegion()

template<class TImage , class TLabelImage >
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GenerateInputRequestedRegion
overrideprotected

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 1127 of file otbShapeAttributesLabelMapFilter.hxx.

◆ GetComputeFeretDiameter()

template<class TImage , class TLabelImage >
bool otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputeFeretDiameter

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 1000 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputeFeretDiameter().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputeFeretDiameter().

◆ GetComputeFlusser()

template<class TImage , class TLabelImage >
bool otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputeFlusser

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 1048 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputeFlusser().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputeFlusser().

◆ GetComputePerimeter()

template<class TImage , class TLabelImage >
bool otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputePerimeter

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 1016 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputePerimeter().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputePerimeter().

◆ GetComputePolygon()

template<class TImage , class TLabelImage >
bool otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputePolygon

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 1032 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputePolygon().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetComputePolygon().

◆ GetLabelImage()

template<class TImage , class TLabelImage >
const TLabelImage * otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetLabelImage

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 1081 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetLabelImage().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetLabelImage().

◆ GetNameOfClass()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual const char* otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetNameOfClass ( ) const
virtual

Runtime information support.

◆ GetReducedAttributeSet()

template<class TImage , class TLabelImage >
bool otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetReducedAttributeSet

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 1065 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetReducedAttributeSet().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::GetReducedAttributeSet().

◆ New()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
static Pointer otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::New ( )
static

Standard New method.

◆ operator=()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::operator= ( const Self )
privatedelete

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ PrintSelf()

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

PrintSelf method

Definition at line 1160 of file otbShapeAttributesLabelMapFilter.hxx.

◆ ReducedAttributeSetOff()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ReducedAttributeSetOff ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ ReducedAttributeSetOn()

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
virtual void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ReducedAttributeSetOn ( )
virtual

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

◆ SetComputeFeretDiameter()

template<class TImage , class TLabelImage >
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputeFeretDiameter ( bool  flag)

Set/Get whether the maximum Feret diameter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 990 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputeFeretDiameter().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputeFeretDiameter().

◆ SetComputeFlusser()

template<class TImage , class TLabelImage >
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputeFlusser ( bool  flag)

Set/Get whether the Flussrer moments should be computed or not. The default value is true, to assure backward compatibility.

Definition at line 1038 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputeFlusser().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputeFlusser().

◆ SetComputePerimeter()

template<class TImage , class TLabelImage >
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputePerimeter ( bool  flag)

Set/Get whether the perimeter should be computed or not. The default value is false, because of the high computation time required.

Definition at line 1006 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputePerimeter().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputePerimeter().

◆ SetComputePolygon()

template<class TImage , class TLabelImage >
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputePolygon ( bool  flag)

Set/Get whether the polygonalisation process should be computed or not. The default value is true, to assure backward compatibility.

Definition at line 1022 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputePolygon().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetComputePolygon().

◆ SetLabelImage()

template<class TImage , class TLabelImage >
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetLabelImage ( const TLabelImage *  img)

Set/Get the label image (this is used only to compute the Feret diameter)

Definition at line 1071 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetLabelImage().

Referenced by otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetLabelImage().

◆ SetReducedAttributeSet()

template<class TImage , class TLabelImage >
void otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::SetReducedAttributeSet ( bool  flag)

Member Data Documentation

◆ ImageDimension

template<class TImage , class TLabelImage = Image<typename TImage::PixelType, TImage::ImageDimension>>
const unsigned int otb::ShapeAttributesLabelMapFilter< TImage, TLabelImage >::ImageDimension = TImage::ImageDimension
static

ImageDimension constants

Definition at line 232 of file otbShapeAttributesLabelMapFilter.h.


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