ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
itk::ShapeLabelObject< TLabel, VImageDimension > Class Template Reference

#include <itkShapeLabelObject.h>

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: https://doi.org/10.54294/q6auw4

Examples
SphinxExamples/src/Filtering/LabelMap/ShapeAttributesForBinaryImage/Code.cxx.

Definition at line 43 of file itkShapeLabelObject.h.

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

Public Types

using AffineTransformPointer = typename AffineTransformType::Pointer
 
using AffineTransformType = AffineTransform< double, VImageDimension >
 
using CentroidType = Point< double, VImageDimension >
 
using ConstPointer = SmartPointer< const Self >
 
using ConstWeakPointer = WeakPointer< const Self >
 
using LabelMapType = LabelMap< Self >
 
using LabelObjectType = typename Superclass::LabelObjectType
 
using LabelType = TLabel
 
using MatrixType = Matrix< double, VImageDimension, VImageDimension >
 
using OrientedBoundingBoxDirectionType = MatrixType
 
using OrientedBoundingBoxPointType = Point< double, VImageDimension >
 
using OrientedBoundingBoxSizeType = Vector< double, VImageDimension >
 
using OrientedBoundingBoxVerticesType = FixedArray< OrientedBoundingBoxPointType, Math::UnsignedPower< unsigned int >(2, ImageDimension)>
 
using Pointer = SmartPointer< Self >
 
using RegionType = ImageRegion< VImageDimension >
 
using Self = ShapeLabelObject
 
using Superclass = LabelObject< TLabel, VImageDimension >
 
using VectorType = Vector< double, VImageDimension >
 
- Public Types inherited from itk::LabelObject< TLabel, VImageDimension >
using AttributeType = unsigned int
 
using ConstPointer = SmartPointer< const Self >
 
using ConstWeakPointer = WeakPointer< const Self >
 
using IndexType = Index< VImageDimension >
 
using LabelObjectType = Self
 
using LabelType = TLabel
 
using LengthType = typename LineType::LengthType
 
using LineType = LabelObjectLine< VImageDimension >
 
using OffsetType = Offset< VImageDimension >
 
using Pointer = SmartPointer< Self >
 
using Self = LabelObject
 
using SizeValueType = itk::SizeValueType
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

template<typename TSourceLabelObject >
void CopyAllFrom (const TSourceLabelObject *src)
 
template<typename TSourceLabelObject >
void CopyAttributesFrom (const TSourceLabelObject *src)
 
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
 
const char * GetNameOfClass () const override
 
const SizeValueTypeGetNumberOfPixels () const
 
const SizeValueTypeGetNumberOfPixelsOnBorder () const
 
const OrientedBoundingBoxDirectionTypeGetOrientedBoundingBoxDirection () const
 
const OrientedBoundingBoxPointTypeGetOrientedBoundingBoxOrigin () const
 
const OrientedBoundingBoxSizeTypeGetOrientedBoundingBoxSize () const
 
OrientedBoundingBoxVerticesType GetOrientedBoundingBoxVertices () const
 
const double & GetPerimeter () const
 
const double & GetPerimeterOnBorder () const
 
const double & GetPerimeterOnBorderRatio () const
 
const double & GetPhysicalSize () const
 
const MatrixTypeGetPrincipalAxes () const
 
const VectorTypeGetPrincipalMoments () const
 
const RegionTypeGetRegion () 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 SetOrientedBoundingBoxOrigin (const OrientedBoundingBoxPointType &v)
 
void SetOrientedBoundingBoxSize (const OrientedBoundingBoxSizeType &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)
 
AffineTransformPointer GetPrincipalAxesToPhysicalAxesTransform () const
 
AffineTransformPointer GetPhysicalAxesToPrincipalAxesTransform () const
 
- 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 ()
 
template<typename TSourceLabelObject >
void CopyAllFrom (const TSourceLabelObject *src)
 
template<typename TSourceLabelObject >
void CopyAttributesFrom (const TSourceLabelObject *src)
 
template<typename TSourceLabelObject >
void CopyLinesFrom (const TSourceLabelObject *src)
 
bool Empty () const
 
IndexType GetIndex (SizeValueType offset) const
 
const LabelTypeGetLabel () const
 
LineTypeGetLine (SizeValueType i)
 
const LineTypeGetLine (SizeValueType i) const
 
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
Pointer Clone () const
 
virtual Pointer CreateAnother () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
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 constexpr AttributeType BOUNDING_BOX = 105
 
static constexpr AttributeType CENTROID = 104
 
static constexpr AttributeType ELONGATION = 111
 
static constexpr AttributeType EQUIVALENT_ELLIPSOID_DIAMETER = 116
 
static constexpr AttributeType EQUIVALENT_SPHERICAL_PERIMETER = 115
 
static constexpr AttributeType EQUIVALENT_SPHERICAL_RADIUS = 114
 
static constexpr AttributeType FERET_DIAMETER = 108
 
static constexpr AttributeType FLATNESS = 117
 
static constexpr unsigned int ImageDimension = VImageDimension
 
static constexpr AttributeType NUMBER_OF_PIXELS = 100
 
static constexpr AttributeType NUMBER_OF_PIXELS_ON_BORDER = 106
 
static constexpr AttributeType ORIENTED_BOUNDING_BOX_ORIGIN = 119
 
static constexpr AttributeType ORIENTED_BOUNDING_BOX_SIZE = 120
 
static constexpr AttributeType PERIMETER = 112
 
static constexpr AttributeType PERIMETER_ON_BORDER = 107
 
static constexpr AttributeType PERIMETER_ON_BORDER_RATIO = 118
 
static constexpr AttributeType PHYSICAL_SIZE = 101
 
static constexpr AttributeType PRINCIPAL_AXES = 110
 
static constexpr AttributeType PRINCIPAL_MOMENTS = 109
 
static constexpr AttributeType ROUNDNESS = 113
 
- Static Public Attributes inherited from itk::LabelObject< TLabel, VImageDimension >
static constexpr unsigned int ImageDimension = VImageDimension
 
static constexpr AttributeType LABEL = 0
 

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const override
 
 ShapeLabelObject ()
 
- 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 ()
 

Private Attributes

RegionType m_BoundingBox {}
 
CentroidType m_Centroid {}
 
double m_Elongation {}
 
VectorType m_EquivalentEllipsoidDiameter {}
 
double m_EquivalentSphericalPerimeter {}
 
double m_EquivalentSphericalRadius {}
 
double m_FeretDiameter {}
 
double m_Flatness {}
 
SizeValueType m_NumberOfPixels {}
 
SizeValueType m_NumberOfPixelsOnBorder {}
 
OrientedBoundingBoxPointType m_OrientedBoundingBoxOrigin {}
 
OrientedBoundingBoxSizeType m_OrientedBoundingBoxSize {}
 
double m_Perimeter {}
 
double m_PerimeterOnBorder {}
 
double m_PerimeterOnBorderRatio {}
 
double m_PhysicalSize {}
 
MatrixType m_PrincipalAxes {}
 
VectorType m_PrincipalMoments {}
 
double m_Roundness {}
 

Additional Inherited Members

- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Member Typedef Documentation

◆ AffineTransformPointer

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

Definition at line 627 of file itkShapeLabelObject.h.

◆ AffineTransformType

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

Affine transform for mapping to and from principal axis

Definition at line 626 of file itkShapeLabelObject.h.

◆ CentroidType

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

Definition at line 319 of file itkShapeLabelObject.h.

◆ ConstPointer

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

Definition at line 53 of file itkShapeLabelObject.h.

◆ ConstWeakPointer

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

Definition at line 54 of file itkShapeLabelObject.h.

◆ LabelMapType

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

Definition at line 62 of file itkShapeLabelObject.h.

◆ LabelObjectType

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

Definition at line 51 of file itkShapeLabelObject.h.

◆ LabelType

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

Definition at line 68 of file itkShapeLabelObject.h.

◆ MatrixType

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

Definition at line 321 of file itkShapeLabelObject.h.

◆ OrientedBoundingBoxDirectionType

template<typename TLabel , unsigned int VImageDimension>
using itk::ShapeLabelObject< TLabel, VImageDimension >::OrientedBoundingBoxDirectionType = MatrixType

Definition at line 326 of file itkShapeLabelObject.h.

◆ OrientedBoundingBoxPointType

template<typename TLabel , unsigned int VImageDimension>
using itk::ShapeLabelObject< TLabel, VImageDimension >::OrientedBoundingBoxPointType = Point<double, VImageDimension>

Definition at line 328 of file itkShapeLabelObject.h.

◆ OrientedBoundingBoxSizeType

template<typename TLabel , unsigned int VImageDimension>
using itk::ShapeLabelObject< TLabel, VImageDimension >::OrientedBoundingBoxSizeType = Vector<double, VImageDimension>

Definition at line 330 of file itkShapeLabelObject.h.

◆ OrientedBoundingBoxVerticesType

template<typename TLabel , unsigned int VImageDimension>
using itk::ShapeLabelObject< TLabel, VImageDimension >::OrientedBoundingBoxVerticesType = FixedArray<OrientedBoundingBoxPointType, Math::UnsignedPower<unsigned int>(2, ImageDimension)>

Definition at line 333 of file itkShapeLabelObject.h.

◆ Pointer

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

Definition at line 52 of file itkShapeLabelObject.h.

◆ RegionType

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

Definition at line 317 of file itkShapeLabelObject.h.

◆ Self

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

Standard class type aliases

Definition at line 49 of file itkShapeLabelObject.h.

◆ Superclass

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

Definition at line 50 of file itkShapeLabelObject.h.

◆ VectorType

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

Definition at line 323 of file itkShapeLabelObject.h.

Constructor & Destructor Documentation

◆ ShapeLabelObject()

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

Definition at line 721 of file itkShapeLabelObject.h.

Member Function Documentation

◆ CopyAllFrom()

template<typename TLabel , unsigned int VImageDimension>
template<typename TSourceLabelObject >
void itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAllFrom ( const TSourceLabelObject *  src)
inline

Definition at line 713 of file itkShapeLabelObject.h.

◆ CopyAttributesFrom()

template<typename TLabel , unsigned int VImageDimension>
template<typename TSourceLabelObject >
void itk::ShapeLabelObject< TLabel, VImageDimension >::CopyAttributesFrom ( const TSourceLabelObject *  src)
inline

Definition at line 686 of file itkShapeLabelObject.h.

◆ GetAttributeFromName()

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

Definition at line 164 of file itkShapeLabelObject.h.

◆ GetBoundingBox()

template<typename TLabel , unsigned int VImageDimension>
const RegionType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetBoundingBox ( ) const
inline

Definition at line 337 of file itkShapeLabelObject.h.

◆ GetCentroid()

template<typename TLabel , unsigned int VImageDimension>
const CentroidType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetCentroid ( ) const
inline

Definition at line 373 of file itkShapeLabelObject.h.

◆ GetElongation()

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetElongation ( ) const
inline

Definition at line 445 of file itkShapeLabelObject.h.

◆ GetEquivalentEllipsoidDiameter()

template<typename TLabel , unsigned int VImageDimension>
const VectorType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetEquivalentEllipsoidDiameter ( ) const
inline

Definition at line 505 of file itkShapeLabelObject.h.

◆ GetEquivalentSphericalPerimeter()

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetEquivalentSphericalPerimeter ( ) const
inline

Definition at line 493 of file itkShapeLabelObject.h.

◆ GetEquivalentSphericalRadius()

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetEquivalentSphericalRadius ( ) const
inline

Definition at line 481 of file itkShapeLabelObject.h.

◆ GetFeretDiameter()

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetFeretDiameter ( ) const
inline

Definition at line 409 of file itkShapeLabelObject.h.

◆ GetFlatness()

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetFlatness ( ) const
inline

Definition at line 517 of file itkShapeLabelObject.h.

◆ GetNameFromAttribute()

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

Definition at line 247 of file itkShapeLabelObject.h.

◆ GetNameOfClass()

template<typename TLabel , unsigned int VImageDimension>
const char* itk::ShapeLabelObject< TLabel, VImageDimension >::GetNameOfClass ( ) const
overridevirtual

◆ GetNumberOfPixels()

template<typename TLabel , unsigned int VImageDimension>
const SizeValueType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetNumberOfPixels ( ) const
inline

Definition at line 361 of file itkShapeLabelObject.h.

◆ GetNumberOfPixelsOnBorder()

template<typename TLabel , unsigned int VImageDimension>
const SizeValueType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetNumberOfPixelsOnBorder ( ) const
inline

Definition at line 385 of file itkShapeLabelObject.h.

◆ GetOrientedBoundingBoxDirection()

template<typename TLabel , unsigned int VImageDimension>
const OrientedBoundingBoxDirectionType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetOrientedBoundingBoxDirection ( ) const
inline

Get the direction matrix for the oriented bounding box coordinates. This is an alias for the principal axes.

Definition at line 578 of file itkShapeLabelObject.h.

◆ GetOrientedBoundingBoxOrigin()

template<typename TLabel , unsigned int VImageDimension>
const OrientedBoundingBoxPointType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetOrientedBoundingBoxOrigin ( ) const
inline

Definition at line 541 of file itkShapeLabelObject.h.

◆ GetOrientedBoundingBoxSize()

template<typename TLabel , unsigned int VImageDimension>
const OrientedBoundingBoxSizeType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetOrientedBoundingBoxSize ( ) const
inline

Definition at line 553 of file itkShapeLabelObject.h.

◆ GetOrientedBoundingBoxVertices()

template<typename TLabel , unsigned int VImageDimension>
OrientedBoundingBoxVerticesType itk::ShapeLabelObject< TLabel, VImageDimension >::GetOrientedBoundingBoxVertices ( ) const
inline

Get an array of point vertices which define the corners of the oriented bounding box in physical space.

The first element in the array contains minimum coordinate values which correspond to the origin while the last contains the maximum. Use the index of the array in binary to determine min/max for the indexed vertex. For example, in 2D, binary counting will give[0,0], [0,1], [1,0], [1,1], which corresponds to [minX,minY], [minX,maxY], [maxX,minY], [maxX,maxY].

Definition at line 594 of file itkShapeLabelObject.h.

◆ GetPerimeter()

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPerimeter ( ) const
inline

Definition at line 457 of file itkShapeLabelObject.h.

◆ GetPerimeterOnBorder()

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPerimeterOnBorder ( ) const
inline

Definition at line 397 of file itkShapeLabelObject.h.

◆ GetPerimeterOnBorderRatio()

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPerimeterOnBorderRatio ( ) const
inline

Definition at line 529 of file itkShapeLabelObject.h.

◆ GetPhysicalAxesToPrincipalAxesTransform()

template<typename TLabel , unsigned int VImageDimension>
AffineTransformPointer itk::ShapeLabelObject< TLabel, VImageDimension >::GetPhysicalAxesToPrincipalAxesTransform ( ) 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 660 of file itkShapeLabelObject.h.

References New().

◆ GetPhysicalSize()

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

Definition at line 349 of file itkShapeLabelObject.h.

◆ GetPrincipalAxes()

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

Definition at line 433 of file itkShapeLabelObject.h.

◆ GetPrincipalAxesToPhysicalAxesTransform()

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 633 of file itkShapeLabelObject.h.

References New().

◆ GetPrincipalMoments()

template<typename TLabel , unsigned int VImageDimension>
const VectorType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetPrincipalMoments ( ) const
inline

Definition at line 421 of file itkShapeLabelObject.h.

◆ GetRegion()

template<typename TLabel , unsigned int VImageDimension>
const RegionType& itk::ShapeLabelObject< TLabel, VImageDimension >::GetRegion ( ) const
inline

Get the BoundingBox as an ImageRegion.

Definition at line 569 of file itkShapeLabelObject.h.

◆ GetRoundness()

template<typename TLabel , unsigned int VImageDimension>
const double& itk::ShapeLabelObject< TLabel, VImageDimension >::GetRoundness ( ) const
inline

Definition at line 469 of file itkShapeLabelObject.h.

◆ New()

template<typename TLabel , unsigned int VImageDimension>
static Pointer itk::ShapeLabelObject< TLabel, VImageDimension >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

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

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

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

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

Definition at line 744 of file itkShapeLabelObject.h.

◆ SetBoundingBox()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetBoundingBox ( const RegionType v)
inline

Definition at line 343 of file itkShapeLabelObject.h.

◆ SetCentroid()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetCentroid ( const CentroidType centroid)
inline

Definition at line 379 of file itkShapeLabelObject.h.

◆ SetElongation()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetElongation ( const double  v)
inline

Definition at line 451 of file itkShapeLabelObject.h.

◆ SetEquivalentEllipsoidDiameter()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetEquivalentEllipsoidDiameter ( const VectorType v)
inline

Definition at line 511 of file itkShapeLabelObject.h.

◆ SetEquivalentSphericalPerimeter()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetEquivalentSphericalPerimeter ( const double  v)
inline

Definition at line 499 of file itkShapeLabelObject.h.

◆ SetEquivalentSphericalRadius()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetEquivalentSphericalRadius ( const double  v)
inline

Definition at line 487 of file itkShapeLabelObject.h.

◆ SetFeretDiameter()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetFeretDiameter ( const double  v)
inline

Definition at line 415 of file itkShapeLabelObject.h.

◆ SetFlatness()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetFlatness ( const double  v)
inline

Definition at line 523 of file itkShapeLabelObject.h.

◆ SetNumberOfPixels()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetNumberOfPixels ( const SizeValueType v)
inline

Definition at line 367 of file itkShapeLabelObject.h.

◆ SetNumberOfPixelsOnBorder()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetNumberOfPixelsOnBorder ( const SizeValueType v)
inline

Definition at line 391 of file itkShapeLabelObject.h.

◆ SetOrientedBoundingBoxOrigin()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetOrientedBoundingBoxOrigin ( const OrientedBoundingBoxPointType v)
inline

Definition at line 547 of file itkShapeLabelObject.h.

◆ SetOrientedBoundingBoxSize()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetOrientedBoundingBoxSize ( const OrientedBoundingBoxSizeType v)
inline

Definition at line 559 of file itkShapeLabelObject.h.

◆ SetPerimeter()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPerimeter ( const double  v)
inline

Definition at line 463 of file itkShapeLabelObject.h.

◆ SetPerimeterOnBorder()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPerimeterOnBorder ( const double  v)
inline

Definition at line 403 of file itkShapeLabelObject.h.

◆ SetPerimeterOnBorderRatio()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPerimeterOnBorderRatio ( const double  v)
inline

Definition at line 535 of file itkShapeLabelObject.h.

◆ SetPhysicalSize()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPhysicalSize ( const double  v)
inline

Definition at line 355 of file itkShapeLabelObject.h.

◆ SetPrincipalAxes()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPrincipalAxes ( const MatrixType v)
inline

Definition at line 439 of file itkShapeLabelObject.h.

◆ SetPrincipalMoments()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetPrincipalMoments ( const VectorType v)
inline

Definition at line 427 of file itkShapeLabelObject.h.

◆ SetRoundness()

template<typename TLabel , unsigned int VImageDimension>
void itk::ShapeLabelObject< TLabel, VImageDimension >::SetRoundness ( const double  v)
inline

Definition at line 475 of file itkShapeLabelObject.h.

Member Data Documentation

◆ BOUNDING_BOX

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::BOUNDING_BOX = 105
staticconstexpr

Definition at line 89 of file itkShapeLabelObject.h.

◆ CENTROID

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::CENTROID = 104
staticconstexpr

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 87 of file itkShapeLabelObject.h.

◆ ELONGATION

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

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 122 of file itkShapeLabelObject.h.

◆ EQUIVALENT_ELLIPSOID_DIAMETER

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

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 142 of file itkShapeLabelObject.h.

◆ EQUIVALENT_SPHERICAL_PERIMETER

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

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 137 of file itkShapeLabelObject.h.

◆ EQUIVALENT_SPHERICAL_RADIUS

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

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 132 of file itkShapeLabelObject.h.

◆ FERET_DIAMETER

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

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 111 of file itkShapeLabelObject.h.

◆ FLATNESS

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::FLATNESS = 117
staticconstexpr

Definition at line 144 of file itkShapeLabelObject.h.

◆ ImageDimension

template<typename TLabel , unsigned int VImageDimension>
constexpr unsigned int itk::ShapeLabelObject< TLabel, VImageDimension >::ImageDimension = VImageDimension
staticconstexpr

Definition at line 64 of file itkShapeLabelObject.h.

◆ m_BoundingBox

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

Definition at line 778 of file itkShapeLabelObject.h.

◆ m_Centroid

template<typename TLabel , unsigned int VImageDimension>
CentroidType itk::ShapeLabelObject< TLabel, VImageDimension >::m_Centroid {}
private

Definition at line 781 of file itkShapeLabelObject.h.

◆ m_Elongation

template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_Elongation {}
private

Definition at line 787 of file itkShapeLabelObject.h.

◆ m_EquivalentEllipsoidDiameter

template<typename TLabel , unsigned int VImageDimension>
VectorType itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentEllipsoidDiameter {}
private

Definition at line 792 of file itkShapeLabelObject.h.

◆ m_EquivalentSphericalPerimeter

template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentSphericalPerimeter {}
private

Definition at line 791 of file itkShapeLabelObject.h.

◆ m_EquivalentSphericalRadius

template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_EquivalentSphericalRadius {}
private

Definition at line 790 of file itkShapeLabelObject.h.

◆ m_FeretDiameter

template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_FeretDiameter {}
private

Definition at line 784 of file itkShapeLabelObject.h.

◆ m_Flatness

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

Definition at line 793 of file itkShapeLabelObject.h.

◆ m_NumberOfPixels

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

Definition at line 779 of file itkShapeLabelObject.h.

◆ m_NumberOfPixelsOnBorder

template<typename TLabel , unsigned int VImageDimension>
SizeValueType itk::ShapeLabelObject< TLabel, VImageDimension >::m_NumberOfPixelsOnBorder {}
private

Definition at line 782 of file itkShapeLabelObject.h.

◆ m_OrientedBoundingBoxOrigin

template<typename TLabel , unsigned int VImageDimension>
OrientedBoundingBoxPointType itk::ShapeLabelObject< TLabel, VImageDimension >::m_OrientedBoundingBoxOrigin {}
private

Definition at line 797 of file itkShapeLabelObject.h.

◆ m_OrientedBoundingBoxSize

template<typename TLabel , unsigned int VImageDimension>
OrientedBoundingBoxSizeType itk::ShapeLabelObject< TLabel, VImageDimension >::m_OrientedBoundingBoxSize {}
private

Definition at line 796 of file itkShapeLabelObject.h.

◆ m_Perimeter

template<typename TLabel , unsigned int VImageDimension>
double itk::ShapeLabelObject< TLabel, VImageDimension >::m_Perimeter {}
private

Definition at line 788 of file itkShapeLabelObject.h.

◆ m_PerimeterOnBorder

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

Definition at line 783 of file itkShapeLabelObject.h.

◆ m_PerimeterOnBorderRatio

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

Definition at line 794 of file itkShapeLabelObject.h.

◆ m_PhysicalSize

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

Definition at line 780 of file itkShapeLabelObject.h.

◆ m_PrincipalAxes

template<typename TLabel , unsigned int VImageDimension>
MatrixType itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalAxes {}
private

Definition at line 786 of file itkShapeLabelObject.h.

◆ m_PrincipalMoments

template<typename TLabel , unsigned int VImageDimension>
VectorType itk::ShapeLabelObject< TLabel, VImageDimension >::m_PrincipalMoments {}
private

Definition at line 785 of file itkShapeLabelObject.h.

◆ m_Roundness

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

Definition at line 789 of file itkShapeLabelObject.h.

◆ NUMBER_OF_PIXELS

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::NUMBER_OF_PIXELS = 100
staticconstexpr

The number of pixels.

Definition at line 77 of file itkShapeLabelObject.h.

◆ NUMBER_OF_PIXELS_ON_BORDER

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::NUMBER_OF_PIXELS_ON_BORDER = 106
staticconstexpr

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 97 of file itkShapeLabelObject.h.

◆ ORIENTED_BOUNDING_BOX_ORIGIN

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::ORIENTED_BOUNDING_BOX_ORIGIN = 119
staticconstexpr

Origin of the oriented bounding box defined by the principle axes, and the oriented bounding box size

Definition at line 151 of file itkShapeLabelObject.h.

◆ ORIENTED_BOUNDING_BOX_SIZE

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::ORIENTED_BOUNDING_BOX_SIZE = 120
staticconstexpr

Size of the oriented bounding box defined by the principle axes, and the bounding box origin.

The combination of the OBB origin, OBB size and OBB direction ( principal axes ) defines a coordinate system suitable to use resample the OBB onto its own image.

Definition at line 161 of file itkShapeLabelObject.h.

◆ PERIMETER

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PERIMETER = 112
staticconstexpr

The perimeter of the object.

Definition at line 125 of file itkShapeLabelObject.h.

◆ PERIMETER_ON_BORDER

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PERIMETER_ON_BORDER = 107
staticconstexpr

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 106 of file itkShapeLabelObject.h.

◆ PERIMETER_ON_BORDER_RATIO

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PERIMETER_ON_BORDER_RATIO = 118
staticconstexpr

Definition at line 146 of file itkShapeLabelObject.h.

◆ PHYSICAL_SIZE

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PHYSICAL_SIZE = 101
staticconstexpr

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 82 of file itkShapeLabelObject.h.

◆ PRINCIPAL_AXES

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

BinaryPrincipalAxes contains the principal axes of the object.

Definition at line 117 of file itkShapeLabelObject.h.

◆ PRINCIPAL_MOMENTS

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::PRINCIPAL_MOMENTS = 109
staticconstexpr

PrincipalMoments contains the principal moments.

Definition at line 114 of file itkShapeLabelObject.h.

◆ ROUNDNESS

template<typename TLabel , unsigned int VImageDimension>
constexpr AttributeType itk::ShapeLabelObject< TLabel, VImageDimension >::ROUNDNESS = 113
staticconstexpr

Definition at line 127 of file itkShapeLabelObject.h.


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