18 #ifndef itkShapeLabelMapFilter_h
19 #define itkShapeLabelMapFilter_h
52 template <
typename TImage,
typename TLabelImage = Image<
typename TImage::PixelType, TImage::ImageDimension>>
83 static constexpr
unsigned int ImageDimension = TImage::ImageDimension;
91 #ifdef ITK_USE_CONCEPT_CHECKING
106 itkSetMacro(ComputeFeretDiameter,
bool);
107 itkGetConstReferenceMacro(ComputeFeretDiameter,
bool);
108 itkBooleanMacro(ComputeFeretDiameter);
115 itkSetMacro(ComputePerimeter,
bool);
116 itkGetConstReferenceMacro(ComputePerimeter,
bool);
117 itkBooleanMacro(ComputePerimeter);
125 itkSetMacro(ComputeOrientedBoundingBox,
bool);
126 itkGetConstReferenceMacro(ComputeOrientedBoundingBox,
bool);
127 itkBooleanMacro(ComputeOrientedBoundingBox);
134 m_LabelImage = input;
142 ThreadedProcessLabelObject(LabelObjectType * labelObject)
override;
145 BeforeThreadedGenerateData()
override;
148 AfterThreadedGenerateData()
override;
151 PrintSelf(std::ostream & os,
Indent indent)
const override;
154 bool m_ComputeFeretDiameter{};
155 bool m_ComputePerimeter{};
156 bool m_ComputeOrientedBoundingBox{};
160 ComputeFeretDiameter(LabelObjectType * labelObject);
162 ComputePerimeter(LabelObjectType * labelObject);
164 ComputeOrientedBoundingBox(LabelObjectType * labelObject);
175 template <
typename TMapIntercept,
typename TSpacing>
177 PerimeterFromInterceptCount(TMapIntercept & intercepts,
const TSpacing & spacing);
178 #if !defined(ITK_DO_NOT_USE_PERIMETER_SPECIALIZATION)
189 #ifndef ITK_MANUAL_INSTANTIATION
190 # include "itkShapeLabelMapFilter.hxx"