ITK  4.8.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
itk::ShapeLabelObject< TLabel, VImageDimension > Class Template Reference

#include <itkShapeLabelObject.h>

+ Inheritance diagram for itk::ShapeLabelObject< TLabel, VImageDimension >:
+ Collaboration diagram for itk::ShapeLabelObject< TLabel, VImageDimension >:

Detailed Description

template<typename TLabel, unsigned int VImageDimension>
class itk::ShapeLabelObject< TLabel, VImageDimension >

A Label object to store the common attributes related to the shape of the object.

ShapeLabelObject stores the common attributes related to the shape of the object

Author
Gaetan Lehmann. Biologie du Developpement et de la Reproduction, INRA de Jouy-en-Josas, France.

This implementation was taken from the Insight Journal paper: http://hdl.handle.net/1926/584 or http://www.insight-journal.org/browse/publication/176

Examples:
WikiExamples/ImageProcessing/ShapeAttributes.cxx.

Definition at line 42 of file itkShapeLabelObject.h.

Public Types

typedef
AffineTransformType::Pointer 
AffineTransformPointer
 
typedef AffineTransform
< double, VImageDimension > 
AffineTransformType
 
typedef Superclass::AttributeType AttributeType
 
typedef Point< double,
VImageDimension > 
CentroidType
 
typedef SmartPointer< const SelfConstPointer
 
typedef WeakPointer< const SelfConstWeakPointer
 
typedef Superclass::IndexType IndexType
 
typedef LabelMap< SelfLabelMapType
 
typedef Superclass::LabelObjectType LabelObjectType
 
typedef TLabel LabelType
 
typedef Superclass::LengthType LengthType
 
typedef Superclass::LineType LineType
 
typedef Matrix< double,
VImageDimension,
VImageDimension > 
MatrixType
 
typedef SmartPointer< SelfPointer
 
typedef ImageRegion
< VImageDimension > 
RegionType
 
typedef ShapeLabelObject Self
 
typedef LabelObject< TLabel,
VImageDimension > 
Superclass
 
typedef Vector< double,
VImageDimension > 
VectorType
 
- Public Types inherited from itk::LabelObject< TLabel, VImageDimension >
typedef unsigned int AttributeType
 
typedef SmartPointer< const SelfConstPointer
 
typedef WeakPointer< const SelfConstWeakPointer
 
typedef Index< VImageDimension > IndexType
 
typedef Self LabelObjectType
 
typedef TLabel LabelType
 
typedef LineType::LengthType LengthType
 
typedef LabelObjectLine
< VImageDimension > 
LineType
 
typedef Offset< VImageDimension > OffsetType
 
typedef SmartPointer< SelfPointer
 
typedef LabelObject Self
 
typedef itk::SizeValueType SizeValueType
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
const RegionTypeGetBoundingBox () const
 
const CentroidTypeGetCentroid () const
 
const double & GetElongation () const
 
const VectorTypeGetEquivalentEllipsoidDiameter () const
 
const double & GetEquivalentSphericalPerimeter () const
 
const double & GetEquivalentSphericalRadius () const
 
const double & GetFeretDiameter () const
 
const double & GetFlatness () const
 
virtual const char * GetNameOfClass () const
 
const SizeValueTypeGetNumberOfPixels () const
 
const SizeValueTypeGetNumberOfPixelsOnBorder () const
 
const double & GetPerimeter () const
 
const double & GetPerimeterOnBorder () const
 
const double & GetPerimeterOnBorderRatio () const
 
const double & GetPhysicalSize () const
 
const MatrixTypeGetPrincipalAxes () const
 
const VectorTypeGetPrincipalMoments () const
 
const double & GetRoundness () const
 
void SetBoundingBox (const RegionType &v)
 
void SetCentroid (const CentroidType &centroid)
 
void SetElongation (const double &v)
 
void SetEquivalentEllipsoidDiameter (const VectorType &v)
 
void SetEquivalentSphericalPerimeter (const double &v)
 
void SetEquivalentSphericalRadius (const double &v)
 
void SetFeretDiameter (const double &v)
 
void SetFlatness (const double &v)
 
void SetNumberOfPixels (const SizeValueType &v)
 
void SetNumberOfPixelsOnBorder (const SizeValueType &v)
 
void SetPerimeter (const double &v)
 
void SetPerimeterOnBorder (const double &v)
 
void SetPerimeterOnBorderRatio (const double &v)
 
void SetPhysicalSize (const double &v)
 
void SetPrincipalAxes (const MatrixType &v)
 
void SetPrincipalMoments (const VectorType &v)
 
void SetRoundness (const double &v)
 
- Public Member Functions inherited from itk::LabelObject< TLabel, VImageDimension >
void AddIndex (const IndexType &idx)
 
void AddLine (const IndexType &idx, const LengthType &length)
 
void AddLine (const LineType &line)
 
void Clear ()
 
void CopyAllFrom (const Self *src)
 
bool Empty () const
 
IndexType GetIndex (SizeValueType i) const
 
const LabelTypeGetLabel () const
 
const LineTypeGetLine (SizeValueType i) const
 
LineTypeGetLine (SizeValueType i)
 
SizeValueType GetNumberOfLines () const
 
bool HasIndex (const IndexType &idx) const
 
void Optimize ()
 
bool RemoveIndex (const IndexType &idx)
 
void SetLabel (const LabelType &label)
 
void Shift (OffsetType offset)
 
SizeValueType Size () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const noexcept
 

Static Public Member Functions

static AttributeType GetAttributeFromName (const std::string &s)
 
static std::string GetNameFromAttribute (const AttributeType &a)
 
static Pointer New ()
 
- Static Public Member Functions inherited from itk::LabelObject< TLabel, VImageDimension >
static AttributeType GetAttributeFromName (const std::string &s)
 
static std::string GetNameFromAttribute (const AttributeType &a)
 
static Pointer New ()
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

static const AttributeType BOUNDING_BOX = 105
 
static const AttributeType CENTROID = 104
 
static const AttributeType ELONGATION = 111
 
static const AttributeType EQUIVALENT_ELLIPSOID_DIAMETER = 116
 
static const AttributeType EQUIVALENT_SPHERICAL_PERIMETER = 115
 
static const AttributeType EQUIVALENT_SPHERICAL_RADIUS = 114
 
static const AttributeType FERET_DIAMETER = 108
 
static const AttributeType FLATNESS = 117
 
static const unsigned int ImageDimension = VImageDimension
 
static const AttributeType NUMBER_OF_PIXELS = 100
 
static const AttributeType NUMBER_OF_PIXELS_ON_BORDER = 106
 
static const AttributeType PERIMETER = 112
 
static const AttributeType PERIMETER_ON_BORDER = 107
 
static const AttributeType PERIMETER_ON_BORDER_RATIO = 118
 
static const AttributeType PHYSICAL_SIZE = 101
 
static const AttributeType PRINCIPAL_AXES = 110
 
static const AttributeType PRINCIPAL_MOMENTS = 109
 
static const AttributeType ROUNDNESS = 113
 
- Static Public Attributes inherited from itk::LabelObject< TLabel, VImageDimension >
static const unsigned int ImageDimension = VImageDimension
 
static const AttributeType LABEL = 0
 
RegionType m_BoundingBox
 
SizeValueType m_NumberOfPixels
 
double m_PhysicalSize
 
CentroidType m_Centroid
 
SizeValueType m_NumberOfPixelsOnBorder
 
double m_PerimeterOnBorder
 
double m_FeretDiameter
 
VectorType m_PrincipalMoments
 
MatrixType m_PrincipalAxes
 
double m_Elongation
 
double m_Perimeter
 
double m_Roundness
 
double m_EquivalentSphericalRadius
 
double m_EquivalentSphericalPerimeter
 
VectorType m_EquivalentEllipsoidDiameter
 
double m_Flatness
 
double m_PerimeterOnBorderRatio
 
AffineTransformPointer GetPrincipalAxesToPhysicalAxesTransform () const
 
AffineTransformPointer GetPhysicalAxesToPrincipalAxesTransform (void) const
 
virtual void CopyAttributesFrom (const LabelObjectType *lo) override
 
 ShapeLabelObject ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ShapeLabelObject (const Self &)
 
void operator= (const Self &)
 

Additional Inherited Members

- Protected Member Functions inherited from itk::LabelObject< TLabel, VImageDimension >
 LabelObject ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Member Typedef Documentation

template<typename TLabel , unsigned int VImageDimension>
typedef AffineTransformType::Pointer itk::ShapeLabelObject< TLabel, VImageDimension >::AffineTransformPointer

Definition at line 465 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef AffineTransform< double, VImageDimension > itk::ShapeLabelObject< TLabel, VImageDimension >::AffineTransformType

Affine transform for mapping to and from principal axis

Definition at line 464 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef Superclass::AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::AttributeType

Definition at line 71 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef Point< double, VImageDimension > itk::ShapeLabelObject< TLabel, VImageDimension >::CentroidType

Definition at line 285 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef SmartPointer< const Self > itk::ShapeLabelObject< TLabel, VImageDimension >::ConstPointer

Definition at line 50 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef WeakPointer< const Self > itk::ShapeLabelObject< TLabel, VImageDimension >::ConstWeakPointer

Definition at line 51 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef Superclass::IndexType itk::ShapeLabelObject< TLabel, VImageDimension >::IndexType

Definition at line 63 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef LabelMap< Self > itk::ShapeLabelObject< TLabel, VImageDimension >::LabelMapType

Definition at line 57 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef Superclass::LabelObjectType itk::ShapeLabelObject< TLabel, VImageDimension >::LabelObjectType

Definition at line 48 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef TLabel itk::ShapeLabelObject< TLabel, VImageDimension >::LabelType

Definition at line 65 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef Superclass::LengthType itk::ShapeLabelObject< TLabel, VImageDimension >::LengthType

Definition at line 69 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef Superclass::LineType itk::ShapeLabelObject< TLabel, VImageDimension >::LineType

Definition at line 67 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef Matrix< double, VImageDimension, VImageDimension > itk::ShapeLabelObject< TLabel, VImageDimension >::MatrixType

Definition at line 287 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef SmartPointer< Self > itk::ShapeLabelObject< TLabel, VImageDimension >::Pointer

Definition at line 49 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef ImageRegion< VImageDimension > itk::ShapeLabelObject< TLabel, VImageDimension >::RegionType

Definition at line 283 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef ShapeLabelObject itk::ShapeLabelObject< TLabel, VImageDimension >::Self

Standard class typedefs

Definition at line 46 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef LabelObject< TLabel, VImageDimension > itk::ShapeLabelObject< TLabel, VImageDimension >::Superclass

Definition at line 47 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
typedef Vector< double, VImageDimension > itk::ShapeLabelObject< TLabel, VImageDimension >::VectorType

Definition at line 289 of file itkShapeLabelObject.h.

Constructor & Destructor Documentation

template<typename TLabel , unsigned int VImageDimension>
itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject ( )
inlineprotected
template<typename TLabel , unsigned int VImageDimension>
itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject ( const Self )
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Member Function Documentation

template<typename TLabel , unsigned int VImageDimension>
virtual void itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom ( const LabelObjectType lo)
inlineoverridevirtual

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Reimplemented from itk::LabelObject< TLabel, VImageDimension >.

Reimplemented in itk::StatisticsLabelObject< TLabel, VImageDimension >.

Definition at line 520 of file itkShapeLabelObject.h.

References itk::LabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::m_BoundingBox, itk::ShapeLabelObject< TLabel, VImageDimension >::m_Centroid, itk::ShapeLabelObject< TLabel, VImageDimension >::m_Elongation, itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentEllipsoidDiameter, itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentSphericalPerimeter, itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentSphericalRadius, itk::ShapeLabelObject< TLabel, VImageDimension >::m_FeretDiameter, itk::ShapeLabelObject< TLabel, VImageDimension >::m_Flatness, itk::ShapeLabelObject< TLabel, VImageDimension >::m_NumberOfPixels, itk::ShapeLabelObject< TLabel, VImageDimension >::m_NumberOfPixelsOnBorder, itk::ShapeLabelObject< TLabel, VImageDimension >::m_Perimeter, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PerimeterOnBorder, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PerimeterOnBorderRatio, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PhysicalSize, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalAxes, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalMoments, and itk::ShapeLabelObject< TLabel, VImageDimension >::m_Roundness.

Referenced by itk::StatisticsLabelObject< TLabel, VImageDimension >::CopyAttributesFrom().

template<typename TLabel , unsigned int VImageDimension>
virtual::itk::LightObject::Pointer itk::ShapeLabelObject< TLabel, VImageDimension >::CreateAnother ( ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::LabelObject< TLabel, VImageDimension >.

Reimplemented in itk::StatisticsLabelObject< TLabel, VImageDimension >.

template<typename TLabel , unsigned int VImageDimension>
static AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName ( const std::string &  s)
inlinestatic

Definition at line 145 of file itkShapeLabelObject.h.

References itk::ShapeLabelObject< TLabel, VImageDimension >::BOUNDING_BOX, itk::ShapeLabelObject< TLabel, VImageDimension >::CENTROID, itk::ShapeLabelObject< TLabel, VImageDimension >::ELONGATION, itk::ShapeLabelObject< TLabel, VImageDimension >::EQUIVALENT_ELLIPSOID_DIAMETER, itk::ShapeLabelObject< TLabel, VImageDimension >::EQUIVALENT_SPHERICAL_PERIMETER, itk::ShapeLabelObject< TLabel, VImageDimension >::EQUIVALENT_SPHERICAL_RADIUS, itk::ShapeLabelObject< TLabel, VImageDimension >::FERET_DIAMETER, itk::ShapeLabelObject< TLabel, VImageDimension >::FLATNESS, itk::LabelObject< TLabel, VImageDimension >::GetAttributeFromName(), itk::ShapeLabelObject< TLabel, VImageDimension >::NUMBER_OF_PIXELS, itk::ShapeLabelObject< TLabel, VImageDimension >::NUMBER_OF_PIXELS_ON_BORDER, itk::ShapeLabelObject< TLabel, VImageDimension >::PERIMETER, itk::ShapeLabelObject< TLabel, VImageDimension >::PERIMETER_ON_BORDER, itk::ShapeLabelObject< TLabel, VImageDimension >::PERIMETER_ON_BORDER_RATIO, itk::ShapeLabelObject< TLabel, VImageDimension >::PHYSICAL_SIZE, itk::ShapeLabelObject< TLabel, VImageDimension >::PRINCIPAL_AXES, itk::ShapeLabelObject< TLabel, VImageDimension >::PRINCIPAL_MOMENTS, and itk::ShapeLabelObject< TLabel, VImageDimension >::ROUNDNESS.

Referenced by itk::StatisticsLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), itk::ShapeRelabelImageFilter< TInputImage >::SetAttribute(), itk::LabelShapeOpeningImageFilter< TInputImage >::SetAttribute(), itk::LabelShapeKeepNObjectsImageFilter< TInputImage >::SetAttribute(), itk::BinaryShapeOpeningImageFilter< TInputImage >::SetAttribute(), and itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >::SetAttribute().

template<typename TLabel , unsigned int VImageDimension>
const RegionType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetBoundingBox ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const CentroidType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetCentroid ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetElongation ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const VectorType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetEquivalentEllipsoidDiameter ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetEquivalentSphericalPerimeter ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetEquivalentSphericalRadius ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetFeretDiameter ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetFlatness ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
static std::string itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute ( const AttributeType a)
inlinestatic
template<typename TLabel , unsigned int VImageDimension>
virtual const char* itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::LabelObject< TLabel, VImageDimension >.

Reimplemented in itk::StatisticsLabelObject< TLabel, VImageDimension >.

template<typename TLabel , unsigned int VImageDimension>
const SizeValueType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetNumberOfPixels ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const SizeValueType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetNumberOfPixelsOnBorder ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPerimeter ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPerimeterOnBorder ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPerimeterOnBorderRatio ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
AffineTransformPointer itk::ShapeLabelObject< TLabel, VImageDimension >::GetPhysicalAxesToPrincipalAxesTransform ( void  ) const
inline

Get the affine transform from physical axes to principal axes This method returns an affine transform which transforms from the physical coordinate system to the principal axes coordinate system.

Definition at line 496 of file itkShapeLabelObject.h.

References itk::ShapeLabelObject< TLabel, VImageDimension >::m_Centroid, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalAxes, and itk::AffineTransform< TParametersValueType, NDimensions >::New().

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPhysicalSize ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const MatrixType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPrincipalAxes ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
AffineTransformPointer itk::ShapeLabelObject< TLabel, VImageDimension >::GetPrincipalAxesToPhysicalAxesTransform ( ) const
inline

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 470 of file itkShapeLabelObject.h.

References itk::ShapeLabelObject< TLabel, VImageDimension >::m_Centroid, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalAxes, and itk::AffineTransform< TParametersValueType, NDimensions >::New().

template<typename TLabel , unsigned int VImageDimension>
const VectorType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPrincipalMoments ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetRoundness ( ) const
inline
template<typename TLabel , unsigned int VImageDimension>
static Pointer itk::ShapeLabelObject< TLabel, VImageDimension >::New ( )
static

Method for creation through the object factory.

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::operator= ( const Self )
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
inlineoverrideprotectedvirtual

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Reimplemented from itk::LabelObject< TLabel, VImageDimension >.

Reimplemented in itk::StatisticsLabelObject< TLabel, VImageDimension >.

Definition at line 570 of file itkShapeLabelObject.h.

References itk::ShapeLabelObject< TLabel, VImageDimension >::m_BoundingBox, itk::ShapeLabelObject< TLabel, VImageDimension >::m_Centroid, itk::ShapeLabelObject< TLabel, VImageDimension >::m_Elongation, itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentEllipsoidDiameter, itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentSphericalPerimeter, itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentSphericalRadius, itk::ShapeLabelObject< TLabel, VImageDimension >::m_FeretDiameter, itk::ShapeLabelObject< TLabel, VImageDimension >::m_Flatness, itk::ShapeLabelObject< TLabel, VImageDimension >::m_NumberOfPixels, itk::ShapeLabelObject< TLabel, VImageDimension >::m_NumberOfPixelsOnBorder, itk::ShapeLabelObject< TLabel, VImageDimension >::m_Perimeter, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PerimeterOnBorder, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PerimeterOnBorderRatio, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PhysicalSize, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalAxes, itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalMoments, itk::ShapeLabelObject< TLabel, VImageDimension >::m_Roundness, itk::Region::Print(), and itk::LabelObject< TLabel, VImageDimension >::PrintSelf().

Referenced by itk::StatisticsLabelObject< TLabel, VImageDimension >::PrintSelf().

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetBoundingBox ( const RegionType v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetCentroid ( const CentroidType centroid)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetElongation ( const double &  v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetEquivalentEllipsoidDiameter ( const VectorType v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetEquivalentSphericalPerimeter ( const double &  v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetEquivalentSphericalRadius ( const double &  v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetFeretDiameter ( const double &  v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetFlatness ( const double &  v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetNumberOfPixels ( const SizeValueType v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetNumberOfPixelsOnBorder ( const SizeValueType v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPerimeter ( const double &  v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPerimeterOnBorder ( const double &  v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPerimeterOnBorderRatio ( const double &  v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPhysicalSize ( const double &  v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPrincipalAxes ( const MatrixType v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPrincipalMoments ( const VectorType v)
inline
template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetRoundness ( const double &  v)
inline

Member Data Documentation

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::BOUNDING_BOX = 105
static
template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::CENTROID = 104
static

Centroid is the position of the center of the shape in physical coordinates. It is not constrained to be in the object, and thus can be outside if the object is not convex.

Definition at line 84 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::ELONGATION = 111
static

Elongation is the ratio of the largest principal moment to the second largest principal moment. Its value is greater or equal to 1. Its type is double.

Definition at line 119 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::EQUIVALENT_ELLIPSOID_DIAMETER = 116
static

EquivalentEllipsoidPerimeter is the size of the ellipsoid of the same size and the same ratio on all the axes than the label object. The value depends on the image spacing.

Definition at line 139 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::EQUIVALENT_SPHERICAL_PERIMETER = 115
static

EquivalentPerimeter is the equivalent perimeter of the hypersphere of the same size than the label object. The value depends on the image spacing. Its type is double.

Definition at line 134 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::EQUIVALENT_SPHERICAL_RADIUS = 114
static

EquivalentRadius is the equivalent radius of the hypersphere of the same size than the label object. The value depends on the image spacing. Its type is double.

Definition at line 129 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::FERET_DIAMETER = 108
static

FeretDiameter is the diameter in physical units of the sphere which include all the object. The feret diameter is not computed by default, because of its high computation. Its type is double.

Definition at line 108 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::FLATNESS = 117
static
template<typename TLabel , unsigned int VImageDimension>
const unsigned int itk::ShapeLabelObject< TLabel, VImageDimension >::ImageDimension = VImageDimension
static

Definition at line 61 of file itkShapeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension>
RegionType itk::ShapeLabelObject< TLabel, VImageDimension >::m_BoundingBox
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 598 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetBoundingBox(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), and itk::ShapeLabelObject< TLabel, VImageDimension >::SetBoundingBox().

template<typename TLabel , unsigned int VImageDimension>
CentroidType itk::ShapeLabelObject< TLabel, VImageDimension >::m_Centroid
private
template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_Elongation
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 607 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetElongation(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), itk::ShapeLabelObject< TLabel, VImageDimension >::SetElongation(), and itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject().

template<typename TLabel , unsigned int VImageDimension>
VectorType itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentEllipsoidDiameter
private
template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentSphericalPerimeter
private
template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentSphericalRadius
private
template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_FeretDiameter
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 604 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetFeretDiameter(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), itk::ShapeLabelObject< TLabel, VImageDimension >::SetFeretDiameter(), and itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject().

template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_Flatness
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 613 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetFlatness(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), itk::ShapeLabelObject< TLabel, VImageDimension >::SetFlatness(), and itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject().

template<typename TLabel , unsigned int VImageDimension>
SizeValueType itk::ShapeLabelObject< TLabel, VImageDimension >::m_NumberOfPixels
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 599 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetNumberOfPixels(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), itk::ShapeLabelObject< TLabel, VImageDimension >::SetNumberOfPixels(), and itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject().

template<typename TLabel , unsigned int VImageDimension>
SizeValueType itk::ShapeLabelObject< TLabel, VImageDimension >::m_NumberOfPixelsOnBorder
private
template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_Perimeter
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 608 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetPerimeter(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), itk::ShapeLabelObject< TLabel, VImageDimension >::SetPerimeter(), and itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject().

template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_PerimeterOnBorder
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 603 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetPerimeterOnBorder(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), itk::ShapeLabelObject< TLabel, VImageDimension >::SetPerimeterOnBorder(), and itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject().

template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_PerimeterOnBorderRatio
private
template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_PhysicalSize
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 600 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetPhysicalSize(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), itk::ShapeLabelObject< TLabel, VImageDimension >::SetPhysicalSize(), and itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject().

template<typename TLabel , unsigned int VImageDimension>
MatrixType itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalAxes
private
template<typename TLabel , unsigned int VImageDimension>
VectorType itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalMoments
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 605 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetPrincipalMoments(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), itk::ShapeLabelObject< TLabel, VImageDimension >::SetPrincipalMoments(), and itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject().

template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_Roundness
private

Get the affine transform from principal axes to physical axes This method returns an affine transform which transforms from the principal axes coordinate system to physical coordinates.

Definition at line 609 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom(), itk::ShapeLabelObject< TLabel, VImageDimension >::GetRoundness(), itk::ShapeLabelObject< TLabel, VImageDimension >::PrintSelf(), itk::ShapeLabelObject< TLabel, VImageDimension >::SetRoundness(), and itk::ShapeLabelObject< TLabel, VImageDimension >::ShapeLabelObject().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::NUMBER_OF_PIXELS = 100
static
template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::NUMBER_OF_PIXELS_ON_BORDER = 106
static

NumberOfPixelsOnBorder is the number of pixels in the objects which are on the border of the image. A pixel on several borders (a pixel in a corner) is counted only one time, so the size on border can't be greater than the size of the object. This attribute is particularly useful to remove the objects which are touching too much the border. Its type is unsigned long.

Definition at line 94 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PERIMETER = 112
static
template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PERIMETER_ON_BORDER = 107
static

PerimeterOnBorder is the physical size of the objects which are on the border of the image. In 2D, it is a distance, in 3D, a surface, etc. Contrary to the PhysicalSize attribute which is directly linked to the NumberOfPixels, this attribute is not directly linked to the NumberOfPixelsOnBorder attribute. This attribute is particularly useful to remove the objects which are touching too much the border. Its type is double.

Definition at line 103 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PERIMETER_ON_BORDER_RATIO = 118
static
template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PHYSICAL_SIZE = 101
static

PhysicalSize is the size of the object in physical units. It is equal to the NumberOfPixels multiplied by the physical pixel size. Its type is double.

Definition at line 79 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PRINCIPAL_AXES = 110
static

BinaryPrincipalAxes contains the principal axes of the object.

Definition at line 114 of file itkShapeLabelObject.h.

Referenced by itk::ShapeLabelObject< TLabel, VImageDimension >::GetAttributeFromName(), and itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameFromAttribute().

template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PRINCIPAL_MOMENTS = 109
static
template<typename TLabel , unsigned int VImageDimension>
const AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::ROUNDNESS = 113
static

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