#include <itkParabolicErodeDilateImageFilter.h>
Parent class for morphological operations with parabolic structuring elements.
Parabolic structuring elements are the morphological counterpart of the gaussian function in linear processing. Parabolic structuring elements are dimensionally decomposable and fast algorithms are available for computing erosions and dilations along lines. This class implements the "point of contact" algorithm, which is reasonably efficient. Improved versions, that are nearly independent of structuring function size, are also known but haven't been implemented here.
Parabolic structuring functions can be used as a fast alternative to the "rolling ball" structuring element classically used in background estimation, for example in ImageJ, have applications in image sharpening and distance transform computation.
This class uses an internal buffer of RealType pixels for each line. This line is cast to the output pixel type when written back to the output image. Since the filter uses dimensional decomposition this approach could result in inaccuracy as pixels are cast back and forth between low and high precision types. Use a high precision output type and cast manually if this is a problem.
This filter is threaded. Threading mechanism derived from SignedMaurerDistanceMap extensions by Gaetan Lehman
Definition at line 62 of file itkParabolicErodeDilateImageFilter.h.
Public Types | |
using | ConstPointer = SmartPointer<const Self> |
using | InputImageConstPointer = typename TInputImage::ConstPointer |
using | InputImagePointer = typename TInputImage::Pointer |
using | InputImageType = TInputImage |
using | InputSizeType = typename TInputImage::SizeType |
using | InternalRealType = typename NumericTraits<PixelType>::FloatType |
using | OutputImageRegionType = typename OutputImageType::RegionType |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename TOutputImage::PixelType |
using | OutputSizeType = typename TOutputImage::SizeType |
using | Pointer = SmartPointer<Self> |
using | RadiusType = typename itk::FixedArray<ScalarRealType, TInputImage::ImageDimension> |
using | RealType = typename NumericTraits<PixelType>::RealType |
using | ScalarRealType = typename NumericTraits<PixelType>::ScalarRealType |
using | Self = ParabolicErodeDilateImageFilter |
using | Superclass = ImageToImageFilter<TInputImage, TOutputImage> |
Public Member Functions | |
virtual const char * | GetClassName () const |
virtual const RadiusType & | GetScale () |
virtual const bool & | GetUseImageSpacing () |
ITK_DISALLOW_COPY_AND_MOVE (ParabolicErodeDilateImageFilter) | |
itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension) | |
itkStaticConstMacro (InputImageDimension, unsigned int, TInputImage::ImageDimension) | |
itkStaticConstMacro (OutputImageDimension, unsigned int, TOutputImage::ImageDimension) | |
virtual void | SetScale (RadiusType _arg) |
void | SetScale (ScalarRealType scale) |
virtual void | SetUseImageSpacing (bool _arg) |
virtual void | UseImageSpacingOff () |
virtual void | UseImageSpacingOn () |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
void | EnlargeOutputRequestedRegion (DataObject *output) override |
void | GenerateData () override |
ParabolicErodeDilateImageFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
unsigned int | SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion) override |
void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override |
~ParabolicErodeDilateImageFilter () override=default | |
Protected Attributes | |
bool | m_UseImageSpacing {} |
Private Attributes | |
int | m_CurrentDimension {} |
RadiusType | m_Scale {} |
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 72 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputImageConstPointer = typename TInputImage::ConstPointer |
Definition at line 90 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputImagePointer = typename TInputImage::Pointer |
Smart pointer typedef support.
Definition at line 89 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputImageType = TInputImage |
Pixel Type of the input image
Definition at line 81 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputSizeType = typename TInputImage::SizeType |
Definition at line 91 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InternalRealType = typename NumericTraits<PixelType>::FloatType |
Define the image type for internal computations RealType is usually 'double' in NumericTraits. Here we prefer float in order to save memory.
Definition at line 107 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputImageRegionType = typename OutputImageType::RegionType |
Definition at line 102 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputImageType = TOutputImage |
Definition at line 82 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputPixelType = typename TOutputImage::PixelType |
Definition at line 86 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputSizeType = typename TOutputImage::SizeType |
Definition at line 92 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::Pointer = SmartPointer<Self> |
Definition at line 71 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::RadiusType = typename itk::FixedArray<ScalarRealType, TInputImage::ImageDimension> |
a type to represent the "kernel radius"
Definition at line 95 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::RealType = typename NumericTraits<PixelType>::RealType |
Definition at line 84 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ScalarRealType = typename NumericTraits<PixelType>::ScalarRealType |
Definition at line 85 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::Self = ParabolicErodeDilateImageFilter |
Standard class typedefs.
Definition at line 69 of file itkParabolicErodeDilateImageFilter.h.
using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::Superclass = ImageToImageFilter<TInputImage, TOutputImage> |
Definition at line 70 of file itkParabolicErodeDilateImageFilter.h.
|
protected |
Image related typedefs.
|
overrideprotecteddefault |
|
overrideprotected |
|
overrideprotected |
Generate Data
|
virtual |
Runtime information support.
Reimplemented in itk::ParabolicErodeImageFilter< TInputImage, TOutputImage >.
|
virtual |
|
virtual |
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage > | ) |
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::itkStaticConstMacro | ( | ImageDimension | , |
unsigned int | , | ||
TInputImage::ImageDimension | ) |
Image dimension.
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::itkStaticConstMacro | ( | InputImageDimension | , |
unsigned int | , | ||
TInputImage::ImageDimension | ) |
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::itkStaticConstMacro | ( | OutputImageDimension | , |
unsigned int | , | ||
TOutputImage::ImageDimension | ) |
|
static |
Method for creation through the object factory.
|
overrideprotected |
|
virtual |
void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::SetScale | ( | ScalarRealType | scale | ) |
|
virtual |
Set/Get whether the scale refers to pixels or world units - default is false
|
overrideprotected |
|
overrideprotected |
|
virtual |
|
virtual |
|
private |
Definition at line 161 of file itkParabolicErodeDilateImageFilter.h.
|
private |
Definition at line 159 of file itkParabolicErodeDilateImageFilter.h.
|
protected |
Definition at line 156 of file itkParabolicErodeDilateImageFilter.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |