ITK  5.0.0
Insight Segmentation and Registration 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>

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

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://hdl.handle.net/1926/584 or http://www.insight-journal.org/browse/publication/176

See Also
LabelObject, ShapeLabelObject, StatisticsLabelObject

Definition at line 70 of file itkAttributeLabelObject.h.

Public Types

using AttributeValueType = TAttributeValue
 
using ConstPointer = SmartPointer< const Self >
 
using ConstWeakPointer = WeakPointer< const Self >
 
using IndexType = typename Superclass::IndexType
 
using LabelMapType = LabelMap< Self >
 
using LabelObjectType = typename Superclass::LabelObjectType
 
using LabelType = TLabel
 
using LengthType = typename Superclass::LengthType
 
using LineType = typename Superclass::LineType
 
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)
 
virtual ::itk::LightObject::Pointer CreateAnother () const
 
const AttributeValueTypeGetAttribute () const
 
AttributeValueType GetAttribute ()
 
virtual const char * GetNameOfClass () const
 
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)
 
virtual ::itk::LightObject::Pointer CreateAnother () const
 
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 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 ()
 
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

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

Definition at line 101 of file itkAttributeLabelObject.h.

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

Definition at line 80 of file itkAttributeLabelObject.h.

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

Definition at line 81 of file itkAttributeLabelObject.h.

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

Definition at line 93 of file itkAttributeLabelObject.h.

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

Definition at line 89 of file itkAttributeLabelObject.h.

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

Definition at line 79 of file itkAttributeLabelObject.h.

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

Definition at line 95 of file itkAttributeLabelObject.h.

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

Definition at line 99 of file itkAttributeLabelObject.h.

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

Definition at line 97 of file itkAttributeLabelObject.h.

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

Definition at line 78 of file itkAttributeLabelObject.h.

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

Standard class type aliases

Definition at line 76 of file itkAttributeLabelObject.h.

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

Definition at line 77 of file itkAttributeLabelObject.h.

Constructor & Destructor Documentation

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

Definition at line 136 of file itkAttributeLabelObject.h.

Member Function Documentation

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 128 of file itkAttributeLabelObject.h.

template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
template<typename TSourceLabelObject >
void itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::CopyAttributesFrom ( const TSourceLabelObject *  src)
inline
template<typename TLabel , unsigned int VImageDimension, typename TAttributeValue >
virtual::itk::LightObject::Pointer itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::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::LightObject.

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

Run-time type information (and related methods).

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

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

Method for creation through the object factory.

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

References itk::AttributeLabelObject< TLabel, VImageDimension, TAttributeValue >::m_Attribute, and itk::LabelObject< TLabel, VImageDimension >::PrintSelf().

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

Member Data Documentation

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

Definition at line 91 of file itkAttributeLabelObject.h.

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

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