18 #ifndef itkObjectMorphologyImageFilter_h
19 #define itkObjectMorphologyImageFilter_h
72 template<
typename TInputImage,
typename TOutputImage,
typename TKernel >
103 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
104 static constexpr
unsigned int OutputImageDimension = TOutputImage::ImageDimension;
105 static constexpr
unsigned int KernelDimension = TKernel::NeighborhoodDimension;
124 itkGetConstReferenceMacro(Kernel,
KernelType);
127 itkGetConstMacro(ObjectValue,
PixelType);
137 void GenerateInputRequestedRegion()
override;
146 { m_BoundaryCondition = i; }
150 { m_BoundaryCondition = &m_DefaultBoundaryCondition; }
153 itkGetConstMacro(BoundaryCondition, ImageBoundaryConditionPointerType);
159 itkSetMacro(UseBoundaryCondition,
bool);
165 itkGetConstMacro(UseBoundaryCondition,
bool);
167 #ifdef ITK_USE_CONCEPT_CHECKING
190 void PrintSelf(std::ostream & os,
Indent indent)
const override;
193 void DynamicThreadedGenerateData(
const OutputImageRegionType &)
override;
197 virtual void Evaluate(OutputNeighborhoodIteratorType & nit,
198 const KernelType & kernel) = 0;
203 bool IsObjectPixelOnBoundary(
const InputNeighborhoodIteratorType & nit);
221 void BeforeThreadedGenerateData()
override;
225 #ifndef ITK_MANUAL_INSTANTIATION
226 #include "itkObjectMorphologyImageFilter.hxx"
DefaultBoundaryConditionType m_DefaultBoundaryCondition
typename KernelType::ConstIterator KernelIteratorType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Base class for all process objects that output image data.
TInputImage InputImageType
void OverrideBoundaryCondition(const ImageBoundaryConditionPointerType i)
ImageBaseType::SizeType SizeType
typename OutputImageType::RegionType OutputImageRegionType
ImageBaseType::IndexType IndexType
typename TInputImage::PixelType PixelType
TOutputImage OutputImageType
typename TInputImage::IndexType IndexType
typename TInputImage::SizeType SizeType
ImageBoundaryConditionPointerType m_BoundaryCondition
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
typename TInputImage::RegionType RegionType
void ResetBoundaryCondition()
ImageBaseType::RegionType RegionType
#define itkConceptMacro(name, concept)
bool m_UseBoundaryCondition
Base class for the morphological operations being applied to isolated objects in an image...
Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image.
typename KernelType::SizeType RadiusType