18 #ifndef itkShapeLabelMapFilter_h
19 #define itkShapeLabelMapFilter_h
51 template<
typename TImage,
typename TLabelImage =
52 Image< typename TImage::PixelType, TImage ::ImageDimension > >
83 itkStaticConstMacro(ImageDimension,
unsigned int, 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);
133 m_LabelImage = input;
140 virtual void ThreadedProcessLabelObject(LabelObjectType *labelObject) ITK_OVERRIDE;
142 virtual void BeforeThreadedGenerateData() ITK_OVERRIDE;
144 virtual
void AfterThreadedGenerateData() ITK_OVERRIDE;
146 void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
151 bool m_ComputeFeretDiameter;
152 bool m_ComputePerimeter;
153 bool m_ComputeOrientedBoundingBox;
165 typedef std::map<Offset3Type, SizeValueType, Offset3Type::LexicographicCompare>
MapIntercept3Type;
169 template<typename TMapIntercept, typename TSpacing>
double PerimeterFromInterceptCount( TMapIntercept & intercepts, const TSpacing & spacing );
170 #if ! defined(ITK_DO_NOT_USE_PERIMETER_SPECIALIZATION)
171 double PerimeterFromInterceptCount( MapIntercept2Type & intercepts,
const Spacing2Type spacing );
172 double PerimeterFromInterceptCount( MapIntercept3Type & intercepts,
const Spacing3Type spacing );
179 #ifndef ITK_MANUAL_INSTANTIATION
180 #include "itkShapeLabelMapFilter.hxx"
void SetLabelImage(const TLabelImage *input)
Light weight base class for most itk classes.
Represent the offset between two n-dimensional indexes in a n-dimensional image.
SmartPointer< const Self > ConstPointer
~ShapeLabelMapFilter() override
InputImageType::LabelObjectType LabelObjectType
ImageType::OffsetType OffsetType
unsigned long SizeValueType
ImageBaseType::SpacingType VectorType
ImageType::Pointer ImagePointer
ImageType::IndexType IndexType
SmartPointer< Self > Pointer
ImageType::LabelObjectType LabelObjectType
ImageType::ConstPointer ImageConstPointer
A templated class holding a n-Dimensional vector.
LabelImageType::Pointer LabelImagePointer
Base class for filters that takes an image as input and overwrites that image as the output...
ImageType::PixelType PixelType
LabelImageType::PixelType LabelPixelType
LabelObjectType::VectorType VectorType
ImageType::SizeType SizeType
Control indentation during Print() invocation.
std::map< Offset2Type, SizeValueType, Offset2Type::LexicographicCompare > MapIntercept2Type
ImageBaseType::SizeType SizeType
LabelImageType::ConstPointer LabelImageConstPointer
ImageType::RegionType RegionType
LabelObjectType::MatrixType MatrixType
TLabelImage LabelImageType
The valuator class for the ShapeLabelObject.
ImageBaseType::IndexType IndexType
InPlaceLabelMapFilter< TImage > Superclass
std::map< Offset3Type, SizeValueType, Offset3Type::LexicographicCompare > MapIntercept3Type