OTB  6.7.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage > Class Template Reference

#include <otbShapeAttributesLabelMapFilter.h>

+ Inheritance diagram for otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >:

Public Types

typedef
LabelObjectType::ConstLineIterator 
ConstLineIteratorType
 
typedef unsigned int DimensionType
 
typedef FlusserPathFunction
< PolygonType
FlusserPathFunctionType
 
typedef TLabelImage LabelImageType
 
typedef TLabelObject LabelObjectType
 
typedef itk::Offset
< TLabelObject::ImageDimension > 
OffsetType
 
typedef
Functor::LabelObjectToPolygonFunctor
< LabelObjectType, PolygonType
PolygonFunctorType
 
typedef TLabelObject::PolygonType PolygonType
 
typedef itk::ImageRegion
< TLabelObject::ImageDimension > 
RegionType
 
typedef
ShapeAttributesLabelObjectFunctor 
Self
 
typedef SimplifyPathFunctor
< PolygonType, PolygonType
SimplifyPolygonFunctorType
 

Public Member Functions

bool GetComputeFeretDiameter () const
 
bool GetComputeFlusser () const
 
bool GetComputePerimeter () const
 
bool GetComputePolygon () const
 
const TLabelImage * GetLabelImage () const
 
bool GetReducedAttributeSet () const
 
void operator() (LabelObjectType *lo)
 
void SetComputeFeretDiameter (bool flag)
 
void SetComputeFlusser (bool flag)
 
void SetComputePerimeter (bool flag)
 
void SetComputePolygon (bool flag)
 
void SetLabelImage (const TLabelImage *image)
 
void SetReducedAttributeSet (bool flag)
 
 ShapeAttributesLabelObjectFunctor ()
 
virtual ~ShapeAttributesLabelObjectFunctor ()
 
bool operator!= (const Self &self)
 
bool operator== (const Self &self)
 

Static Public Attributes

static const unsigned int ImageDimension = TLabelObject::ImageDimension
 

Private Types

typedef std::map< Offset2Type,
itk::SizeValueType,
Offset2Type::LexicographicCompare
MapIntercept2Type
 
typedef std::map< Offset3Type,
itk::SizeValueType,
Offset3Type::LexicographicCompare
MapIntercept3Type
 
typedef itk::Offset< 2 > Offset2Type
 
typedef itk::Offset< 3 > Offset3Type
 
typedef itk::Vector< double, 2 > Spacing2Type
 
typedef itk::Vector< double, 3 > Spacing3Type
 

Private Member Functions

double ComputePerimeter (LabelObjectType *labelObject, const RegionType &region)
 
template<class TMapIntercept , class TSpacing >
double PerimeterFromInterceptCount (TMapIntercept &intercepts, const TSpacing &spacing)
 
double PerimeterFromInterceptCount (MapIntercept2Type &intercepts, const Spacing2Type spacing)
 
double PerimeterFromInterceptCount (MapIntercept3Type &intercepts, const Spacing3Type spacing)
 

Static Private Member Functions

static double hyperSpherePerimeter (double radius)
 
static double hyperSphereRadiusFromVolume (double volume)
 
static double hyperSphereVolume (double radius)
 
static long factorial (long n)
 
static long doubleFactorial (long n)
 
static double gammaN2p1 (long n)
 

Private Attributes

bool m_ComputeFeretDiameter
 
bool m_ComputeFlusser
 
bool m_ComputePerimeter
 
bool m_ComputePolygon
 
LabelImageType::ConstPointer m_LabelImage
 
bool m_ReducedAttributeSet
 

Detailed Description

template<class TLabelObject, class TLabelImage>
class otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >

Functor to compute shape attributes of one LabelObject.

See Also
ShapeAttributesLabelMapFilter

Definition at line 46 of file otbShapeAttributesLabelMapFilter.h.

Member Typedef Documentation

template<class TLabelObject, class TLabelImage>
typedef LabelObjectType::ConstLineIterator otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::ConstLineIteratorType

Const iterator over LabelObject lines

Definition at line 56 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef unsigned int otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::DimensionType

Definition at line 69 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef FlusserPathFunction<PolygonType> otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::FlusserPathFunctionType

Definition at line 65 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef TLabelImage otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::LabelImageType

Labeled image type

Definition at line 59 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef TLabelObject otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::LabelObjectType

LabelObject typedef

Definition at line 53 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef std::map<Offset2Type, itk::SizeValueType, Offset2Type::LexicographicCompare> otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::MapIntercept2Type
private

Definition at line 154 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef std::map<Offset3Type, itk::SizeValueType, Offset3Type::LexicographicCompare> otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::MapIntercept3Type
private

Definition at line 155 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef itk::Offset<2> otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::Offset2Type
private

Definition at line 150 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef itk::Offset<3> otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::Offset3Type
private

Definition at line 151 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef itk::Offset< TLabelObject::ImageDimension > otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::OffsetType

Definition at line 74 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef Functor::LabelObjectToPolygonFunctor<LabelObjectType, PolygonType> otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::PolygonFunctorType

Definition at line 64 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef TLabelObject::PolygonType otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::PolygonType

Flusser moments typedef

Definition at line 62 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef itk::ImageRegion< TLabelObject::ImageDimension > otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::RegionType

Definition at line 73 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef ShapeAttributesLabelObjectFunctor otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::Self

Self typedef

Definition at line 50 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef SimplifyPathFunctor<PolygonType, PolygonType> otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::SimplifyPolygonFunctorType

Definition at line 67 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef itk::Vector<double, 2> otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::Spacing2Type
private

Definition at line 152 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
typedef itk::Vector<double, 3> otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::Spacing3Type
private

Definition at line 153 of file otbShapeAttributesLabelMapFilter.h.

Constructor & Destructor Documentation

template<class TLabelObject , class TLabelImage >
otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::ShapeAttributesLabelObjectFunctor ( )

Constructor

Definition at line 45 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject, class TLabelImage>
virtual otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::~ShapeAttributesLabelObjectFunctor ( )
inlinevirtual

Destructor

Definition at line 80 of file otbShapeAttributesLabelMapFilter.h.

Member Function Documentation

template<class TLabelObject , class TLabelImage >
double otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::ComputePerimeter ( LabelObjectType labelObject,
const RegionType region 
)
private
template<class TLabelObject , class TLabelImage >
long otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::doubleFactorial ( long  n)
staticprivate

Convenience internal method

Definition at line 988 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
long otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::factorial ( long  n)
staticprivate

Convenience internal method

Definition at line 975 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
double otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::gammaN2p1 ( long  n)
staticprivate

Convenience internal method

Definition at line 1001 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::CONST_SQRTPI.

template<class TLabelObject , class TLabelImage >
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::GetComputeFeretDiameter ( ) const

Get the compute feret diameter flag

Definition at line 149 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::GetComputeFlusser ( ) const

Get the compute perimeter flag

Get the compute Flusser flag

Definition at line 131 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::GetComputePerimeter ( ) const

Get the compute perimeter flag

Definition at line 95 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::GetComputePolygon ( ) const

Get the polygonalisation flag

Get the compute polygon flag

Definition at line 113 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
const TLabelImage * otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::GetLabelImage ( ) const

Get the label image

Definition at line 186 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::GetReducedAttributeSet ( ) const

Get the compute reduced attributes set flag

Definition at line 167 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
double otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::hyperSpherePerimeter ( double  radius)
staticprivate

Convenience internal method

Definition at line 1027 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
double otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::hyperSphereRadiusFromVolume ( double  volume)
staticprivate

Convenience internal method

Definition at line 1035 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::CONST_PI.

template<class TLabelObject , class TLabelImage >
double otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::hyperSphereVolume ( double  radius)
staticprivate

Convenience internal method

Definition at line 1018 of file otbShapeAttributesLabelMapFilter.hxx.

References otb::CONST_PI.

template<class TLabelObject , class TLabelImage >
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::operator!= ( const Self self)

The comparators

The comparator (!=)

Definition at line 57 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
void otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::operator() ( LabelObjectType lo)
inline
template<class TLabelObject , class TLabelImage >
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::operator== ( const Self self)

The comparator (==)

Definition at line 76 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
template<class TMapIntercept , class TSpacing >
double otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::PerimeterFromInterceptCount ( TMapIntercept &  intercepts,
const TSpacing &  spacing 
)
private
template<class TLabelObject , class TLabelImage >
double otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::PerimeterFromInterceptCount ( MapIntercept2Type intercepts,
const Spacing2Type  spacing 
)
private
template<class TLabelObject , class TLabelImage >
double otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::PerimeterFromInterceptCount ( MapIntercept3Type intercepts,
const Spacing3Type  spacing 
)
private

Definition at line 919 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
void otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::SetComputeFeretDiameter ( bool  flag)

Set the compute feret diameter flag

Definition at line 140 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
void otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::SetComputeFlusser ( bool  flag)

Set the compute perimeter flag

Set the compute Flusser flag

Definition at line 122 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
void otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::SetComputePerimeter ( bool  flag)

Set the compute perimeter flag

Definition at line 86 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
void otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::SetComputePolygon ( bool  flag)

Set the polygonalisation flag

Set the compute polygon flag

Definition at line 104 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage>
void otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::SetLabelImage ( const TLabelImage *  image)

Set the label image (used only to compute the Feret diameter

Definition at line 177 of file otbShapeAttributesLabelMapFilter.hxx.

template<class TLabelObject , class TLabelImage >
void otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::SetReducedAttributeSet ( bool  flag)

Set the compute reduced attributes set flag

Definition at line 158 of file otbShapeAttributesLabelMapFilter.hxx.

Member Data Documentation

template<class TLabelObject, class TLabelImage>
const unsigned int otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::ImageDimension = TLabelObject::ImageDimension
static

ImageDimension constants

Definition at line 72 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::m_ComputeFeretDiameter
private

Do we compute the feret diameter ?

Definition at line 165 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::m_ComputeFlusser
private

Do we compute flusser moments ?

Definition at line 171 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::m_ComputePerimeter
private

Do we compute the perimeter ?

Definition at line 168 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::m_ComputePolygon
private

Do we polygonise ?

Definition at line 174 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
LabelImageType::ConstPointer otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::m_LabelImage
private

The label image is used to compute the feret diameter

Definition at line 180 of file otbShapeAttributesLabelMapFilter.h.

template<class TLabelObject, class TLabelImage>
bool otb::Functor::ShapeAttributesLabelObjectFunctor< TLabelObject, TLabelImage >::m_ReducedAttributeSet
private

Compute only a reduced attribute set

Definition at line 177 of file otbShapeAttributesLabelMapFilter.h.


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