ITK  5.4.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::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue > Class Template Reference

#include <itkAttributeLabelObject.h>

Detailed Description

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

A LabelObject with a generic attribute.

The attribute type is defined in the third template parameter. The attribute is then accessible with the GetAttribute() and SetAttribute methods or through the accessor itk::Functor::AttributeLabelObjectAccessor.

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://www.insight-journal.org/browse/publication/176

See also
LabelObject, ShapeLabelObject, StatisticsLabelObject

Definition at line 73 of file itkAttributeLabelObject.h.

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

Public Types

using AttributeValueType = TAttributeValue
 
using ConstPointer = SmartPointer< const Self >
 
using ConstWeakPointer = WeakPointer< const Self >
 
using IndexType = Index< VImageDimension >
 
using LabelMapType = LabelMap< Self >
 
using LabelObjectType = typename Superclass::LabelObjectType
 
using LabelType = TLabel
 
using LengthType = typename LineType::LengthType
 
using LineType = LabelObjectLine< VImageDimension >
 
using Pointer = SmartPointer< Self >
 
using Self = AttributeLabelObject
 
using Superclass = LabelObject< TLabel, 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)
 
AttributeValueType GetAttribute ()
 
const AttributeValueTypeGetAttribute () const
 
const char * GetNameOfClass () const override
 
void SetAttribute (const AttributeValueType &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 ()
 
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
 
const char * GetNameOfClass () const override
 
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 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 unsigned int ImageDimension = VImageDimension
 
- Static Public Attributes inherited from itk::LabelObject< TLabel, VImageDimension >
static constexpr unsigned int ImageDimension = VImageDimension
 
static constexpr AttributeType LABEL = 0
 

Protected Member Functions

 AttributeLabelObject ()=default
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
- Protected Member Functions inherited from itk::LabelObject< TLabel, VImageDimension >
 LabelObject ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
- 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

AttributeValueType m_Attribute {}
 

Additional Inherited Members

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

Member Typedef Documentation

◆ AttributeValueType

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
using itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::AttributeValueType = TAttributeValue

Definition at line 104 of file itkAttributeLabelObject.h.

◆ ConstPointer

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

Definition at line 83 of file itkAttributeLabelObject.h.

◆ ConstWeakPointer

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

Definition at line 84 of file itkAttributeLabelObject.h.

◆ IndexType

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
using itk::LabelObject< TLabel, VImageDimension >::IndexType = Index<VImageDimension>

Definition at line 87 of file itkLabelObject.h.

◆ LabelMapType

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

Definition at line 92 of file itkAttributeLabelObject.h.

◆ LabelObjectType

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

Definition at line 82 of file itkAttributeLabelObject.h.

◆ LabelType

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

Definition at line 98 of file itkAttributeLabelObject.h.

◆ LengthType

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
using itk::LabelObject< TLabel, VImageDimension >::LengthType = typename LineType::LengthType

Definition at line 91 of file itkLabelObject.h.

◆ LineType

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
using itk::LabelObject< TLabel, VImageDimension >::LineType = LabelObjectLine<VImageDimension>

Definition at line 90 of file itkLabelObject.h.

◆ Pointer

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

Definition at line 81 of file itkAttributeLabelObject.h.

◆ Self

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

Standard class type aliases

Definition at line 79 of file itkAttributeLabelObject.h.

◆ Superclass

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

Definition at line 80 of file itkAttributeLabelObject.h.

Constructor & Destructor Documentation

◆ AttributeLabelObject()

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::AttributeLabelObject ( )
protecteddefault

Member Function Documentation

◆ CopyAllFrom()

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

Definition at line 136 of file itkAttributeLabelObject.h.

◆ CopyAttributesFrom()

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

Definition at line 126 of file itkAttributeLabelObject.h.

◆ GetAttribute() [1/2]

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
AttributeValueType itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::GetAttribute ( )
inline

Definition at line 119 of file itkAttributeLabelObject.h.

◆ GetAttribute() [2/2]

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
const AttributeValueType& itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::GetAttribute ( ) const
inline

Definition at line 113 of file itkAttributeLabelObject.h.

◆ GetNameOfClass()

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

Run-time type information (and related methods).

Reimplemented from itk::LightObject.

◆ New()

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

Method for creation through the object factory.

◆ PrintSelf()

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
void itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::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::LightObject.

Definition at line 148 of file itkAttributeLabelObject.h.

◆ SetAttribute()

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
void itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::SetAttribute ( const AttributeValueType v)
inline

Definition at line 107 of file itkAttributeLabelObject.h.

Member Data Documentation

◆ ImageDimension

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

Definition at line 94 of file itkAttributeLabelObject.h.

◆ m_Attribute

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
AttributeValueType itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::m_Attribute {}
private

Definition at line 156 of file itkAttributeLabelObject.h.


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