18#ifndef itkAttributeLabelObject_h
19#define itkAttributeLabelObject_h
31template <
typename TLabelObject>
41 return labelObject->GetAttribute();
47 labelObject->SetAttribute(value);
72template <
typename TLabel,
unsigned int VImageDimension,
typename TAttributeValue>
112 const AttributeValueType &
124 template <
typename TSourceLabelObject>
128 itkAssertOrThrowMacro((src !=
nullptr),
"Null Pointer");
134 template <
typename TSourceLabelObject>
138 itkAssertOrThrowMacro((src !=
nullptr),
"Null Pointer");
152 os << indent <<
"Attribute: " <<
m_Attribute << std::endl;
static constexpr unsigned int ImageDimension
void CopyAllFrom(const TSourceLabelObject *src)
LabelMap< Self > LabelMapType
TAttributeValue AttributeValueType
typename Superclass::LabelObjectType LabelObjectType
AttributeValueType m_Attribute
WeakPointer< const Self > ConstWeakPointer
SmartPointer< const Self > ConstPointer
AttributeLabelObject Self
AttributeLabelObject()=default
AttributeValueType GetAttribute()
void PrintSelf(std::ostream &os, Indent indent) const override
void CopyAttributesFrom(const TSourceLabelObject *src)
LabelObject< TLabel, VImageDimension > Superclass
void SetAttribute(const AttributeValueType &v)
const AttributeValueType & GetAttribute() const
SmartPointer< Self > Pointer
void operator()(LabelObjectType *labelObject, AttributeValueType value)
TLabelObject LabelObjectType
const AttributeValueType operator()(const LabelObjectType *labelObject)
typename LabelObjectType::AttributeValueType AttributeValueType
Control indentation during Print() invocation.
Templated n-dimensional image to store labeled objects.
LabelObjectLine< VImageDimension > LineType
void PrintSelf(std::ostream &os, Indent indent) const override
Index< VImageDimension > IndexType
void CopyLinesFrom(const TSourceLabelObject *src)
typename LineType::LengthType LengthType
Implements transparent reference counting.
Implements a weak reference to an object.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....