18 #ifndef itkAttributeUniqueLabelMapFilter_h
19 #define itkAttributeUniqueLabelMapFilter_h
45 template<
typename TImage,
typename TAttributeAccessor=
46 typename Functor::AttributeLabelObjectAccessor< typename TImage::LabelObjectType > >
70 using LineType =
typename LabelObjectType::LineType;
73 static constexpr
unsigned int ImageDimension = TImage::ImageDimension;
82 #ifdef ITK_USE_CONCEPT_CHECKING
98 itkSetMacro( ReverseOrdering,
bool );
99 itkGetConstReferenceMacro( ReverseOrdering,
bool );
100 itkBooleanMacro( ReverseOrdering );
107 void GenerateData()
override;
109 void PrintSelf(std::ostream& os,
Indent indent)
const override;
116 using LineType =
typename LabelObjectType::LineType;
121 this->labelObject = lo;
132 for(
int i=ImageDimension-1; i>=0; i-- )
134 if( lla.
line.GetIndex()[i] > llb.
line.GetIndex()[i] )
138 else if( lla.
line.GetIndex()[i] < llb.
line.GetIndex()[i] )
151 #ifndef ITK_MANUAL_INSTANTIATION
152 #include "itkAttributeUniqueLabelMapFilter.hxx"
typename ImageType::LabelObjectType LabelObjectType
Light weight base class for most itk classes.
bool operator()(const LineOfLabelObject &lla, const LineOfLabelObject &llb)
LabelObjectType * labelObject
typename ImageType::ConstPointer ImageConstPointer
typename LabelObjectType::LabelType AttributeValueType
typename ImageType::PixelType PixelType
Make sure that the objects are not overlapping.
typename LabelObjectType::LineType LineType
typename AttributeAccessorType::AttributeValueType AttributeValueType
ImageBaseType::IndexType IndexType
Base class for filters that takes an image as input and overwrites that image as the output...
LineOfLabelObject(const LineType l, LabelObjectType *lo)
typename LabelObjectType::LineType LineType
typename ImageType::IndexType IndexType
Control indentation during Print() invocation.
typename ImageType::Pointer ImagePointer