18#ifndef itkAttributeUniqueLabelMapFilter_h
19#define itkAttributeUniqueLabelMapFilter_h
46template <
typename TImage,
47 typename TAttributeAccessor =
48 typename Functor::AttributeLabelObjectAccessor<typename TImage::LabelObjectType>>
71 using LineType =
typename LabelObjectType::LineType;
74 static constexpr unsigned int ImageDimension = TImage::ImageDimension;
82#ifdef ITK_USE_CONCEPT_CHECKING
98 itkSetMacro(ReverseOrdering,
bool);
99 itkGetConstReferenceMacro(ReverseOrdering,
bool);
100 itkBooleanMacro(ReverseOrdering);
113 bool m_ReverseOrdering{};
118 using LineType =
typename LabelObjectType::LineType;
123 this->labelObject = lo;
135 for (
int i = ImageDimension - 1; i >= 0; i--)
137 if (lla.
line.GetIndex()[i] > llb.
line.GetIndex()[i])
141 else if (lla.
line.GetIndex()[i] < llb.
line.GetIndex()[i])
154#ifndef ITK_MANUAL_INSTANTIATION
155# include "itkAttributeUniqueLabelMapFilter.hxx"
bool operator()(const LineOfLabelObject &lla, const LineOfLabelObject &llb)
Make sure that the objects are not overlapping.
TAttributeAccessor AttributeAccessorType
void GenerateData() override
void PrintSelf(std::ostream &os, Indent indent) const override
AttributeUniqueLabelMapFilter()
typename AttributeAccessorType::AttributeValueType AttributeValueType
typename ImageType::ConstPointer ImageConstPointer
~AttributeUniqueLabelMapFilter() override=default
typename LabelObjectType::LineType LineType
typename ImageType::Pointer ImagePointer
typename ImageType::IndexType IndexType
typename ImageType::LabelObjectType LabelObjectType
typename ImageType::PixelType PixelType
Base class for filters that takes an image as input and overwrites that image as the output.
Control indentation during Print() invocation.
Light weight base class for most itk classes.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
ImageBaseType::IndexType IndexType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
LabelObjectType * labelObject
typename LabelObjectType::LineType LineType
LineOfLabelObject(const LineType l, LabelObjectType *lo)