18#ifndef itkParabolicErodeDilateImageFilter_h
19#define itkParabolicErodeDilateImageFilter_h
21#include "itkImageToImageFilter.h"
22#include "itkNumericTraits.h"
23#include "itkProgressReporter.h"
61template <
typename TInputImage,
bool doDilate,
typename TOutputImage = TInputImage>
70 using Superclass = ImageToImageFilter<TInputImage, TOutputImage>;
83 using PixelType =
typename TInputImage::PixelType;
84 using RealType =
typename NumericTraits<PixelType>::RealType;
95 using RadiusType =
typename itk::FixedArray<ScalarRealType, TInputImage::ImageDimension>;
121 itkSetMacro(UseImageSpacing,
bool);
122 itkGetConstReferenceMacro(UseImageSpacing,
bool);
123 itkBooleanMacro(UseImageSpacing);
126#ifdef ITK_USE_CONCEPT_CHECKING
128 itkConceptMacro(SameDimension, (Concept::SameDimension<Self::InputImageDimension, Self::OutputImageDimension>));
130 itkConceptMacro(Comparable, (Concept::Comparable<PixelType>));
139 PrintSelf(std::ostream & os, Indent indent)
const override;
156 bool m_UseImageSpacing{};
161 int m_CurrentDimension{};
166#ifndef ITK_MANUAL_INSTANTIATION
167# include "itkParabolicErodeDilateImageFilter.hxx"
Parent class for morphological operations with parabolic structuring elements.
SmartPointer< const Self > ConstPointer
typename itk::FixedArray< ScalarRealType, TInputImage::ImageDimension > RadiusType
TOutputImage OutputImageType
void SetScale(ScalarRealType scale)
typename TInputImage::SizeType InputSizeType
typename NumericTraits< PixelType >::RealType RealType
typename TInputImage::Pointer InputImagePointer
ImageToImageFilter< TInputImage, TOutputImage > Superclass
void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
ParabolicErodeDilateImageFilter()
typename TOutputImage::PixelType OutputPixelType
typename NumericTraits< PixelType >::ScalarRealType ScalarRealType
unsigned int SplitRequestedRegion(unsigned int i, unsigned int num, OutputImageRegionType &splitRegion) override
itkStaticConstMacro(OutputImageDimension, unsigned int, TOutputImage::ImageDimension)
void EnlargeOutputRequestedRegion(DataObject *output) override
void PrintSelf(std::ostream &os, Indent indent) const override
typename NumericTraits< PixelType >::FloatType InternalRealType
itkStaticConstMacro(InputImageDimension, unsigned int, TInputImage::ImageDimension)
TInputImage InputImageType
~ParabolicErodeDilateImageFilter() override=default
typename TOutputImage::SizeType OutputSizeType
void GenerateData() override
ITK_DISALLOW_COPY_AND_MOVE(ParabolicErodeDilateImageFilter)
typename TInputImage::ConstPointer InputImageConstPointer
typename OutputImageType::RegionType OutputImageRegionType
itkStaticConstMacro(ImageDimension, unsigned int, TInputImage::ImageDimension)