Loading...
Searching...
No Matches
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage > Class Template Reference

`#include <itkParabolicErodeDilateImageFilter.h>`

## Detailed Description

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
class itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >

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

Author
  Richard Beare, Department of Medicine, Monash University, Australia. Richa.nosp@m.rd.B.nosp@m.eare@.nosp@m.med..nosp@m.monas.nosp@m.h.ed.nosp@m.u.au

Definition at line 62 of file itkParabolicErodeDilateImageFilter.h.

Inheritance diagram for itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >:
[legend]

## 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 {}

## Member Typedef Documentation

## ConstPointer

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ConstPointer = SmartPointer<const Self>

Definition at line 72 of file itkParabolicErodeDilateImageFilter.h.

## InputImageConstPointer

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputImageConstPointer = typename TInputImage::ConstPointer

Definition at line 90 of file itkParabolicErodeDilateImageFilter.h.

## InputImagePointer

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputImagePointer = typename TInputImage::Pointer

Smart pointer typedef support.

Definition at line 89 of file itkParabolicErodeDilateImageFilter.h.

## InputImageType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputImageType = TInputImage

Pixel Type of the input image

Definition at line 81 of file itkParabolicErodeDilateImageFilter.h.

## InputSizeType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputSizeType = typename TInputImage::SizeType

Definition at line 91 of file itkParabolicErodeDilateImageFilter.h.

## InternalRealType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

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.

## OutputImageRegionType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputImageRegionType = typename OutputImageType::RegionType

Definition at line 102 of file itkParabolicErodeDilateImageFilter.h.

## OutputImageType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputImageType = TOutputImage

Definition at line 82 of file itkParabolicErodeDilateImageFilter.h.

## OutputPixelType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputPixelType = typename TOutputImage::PixelType

Definition at line 86 of file itkParabolicErodeDilateImageFilter.h.

## OutputSizeType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputSizeType = typename TOutputImage::SizeType

Definition at line 92 of file itkParabolicErodeDilateImageFilter.h.

## Pointer

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::Pointer = SmartPointer<Self>

Definition at line 71 of file itkParabolicErodeDilateImageFilter.h.

## RadiusType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

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.

## RealType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::RealType = typename NumericTraits<PixelType>::RealType

Definition at line 84 of file itkParabolicErodeDilateImageFilter.h.

## ScalarRealType

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ScalarRealType = typename NumericTraits<PixelType>::ScalarRealType

Definition at line 85 of file itkParabolicErodeDilateImageFilter.h.

## Self

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::Self = ParabolicErodeDilateImageFilter

Standard class typedefs.

Definition at line 69 of file itkParabolicErodeDilateImageFilter.h.

## Superclass

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

using itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::Superclass = ImageToImageFilter<TInputImage, TOutputImage>

Definition at line 70 of file itkParabolicErodeDilateImageFilter.h.

## Constructor & Destructor Documentation

## ParabolicErodeDilateImageFilter()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ParabolicErodeDilateImageFilter | ( |  | ) |

protected

Image related typedefs.

## ~ParabolicErodeDilateImageFilter()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::~ParabolicErodeDilateImageFilter | ( |  | ) |

override protected default

## Member Function Documentation

## EnlargeOutputRequestedRegion()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::EnlargeOutputRequestedRegion | ( | DataObject * | output | ) |

override protected

## GenerateData()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::GenerateData | ( |  | ) |

override protected

Generate Data

## GetClassName()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

virtual const char * itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::GetClassName | ( |  | ) | const

virtual

Runtime information support.

Reimplemented in itk::ParabolicErodeImageFilter< TInputImage, TOutputImage >.

## GetScale()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

virtual const RadiusType & itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::GetScale | ( |  | ) |

virtual

## GetUseImageSpacing()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

virtual const bool & itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::GetUseImageSpacing | ( |  | ) |

virtual

## ITK_DISALLOW_COPY_AND_MOVE()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage > |  | ) |

## itkStaticConstMacro() [1/3]

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::itkStaticConstMacro | ( | ImageDimension | ,
|  | unsigned int | ,
|  | TInputImage::ImageDimension | )

Image dimension.

## itkStaticConstMacro() [2/3]

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::itkStaticConstMacro | ( | InputImageDimension | ,
|  | unsigned int | ,
|  | TInputImage::ImageDimension | )

## itkStaticConstMacro() [3/3]

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::itkStaticConstMacro | ( | OutputImageDimension | ,
|  | unsigned int | ,
|  | TOutputImage::ImageDimension | )

## New()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

Pointer itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::New | ( |  | ) |

static

Method for creation through the object factory.

## PrintSelf()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::PrintSelf | ( | std::ostream & | os,
|  | Indent | indent ) const

override protected

## SetScale() [1/2]

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

virtual void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::SetScale | ( | RadiusType | _arg | ) |

virtual

## SetScale() [2/2]

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::SetScale | ( | ScalarRealType | scale | ) |

## SetUseImageSpacing()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

virtual void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::SetUseImageSpacing | ( | bool | _arg | ) |

virtual

Set/Get whether the scale refers to pixels or world units - default is false

## SplitRequestedRegion()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

unsigned int itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::SplitRequestedRegion | ( | unsigned int | i,
|  | unsigned int | num,
|  | OutputImageRegionType & | splitRegion )

override protected

## ThreadedGenerateData()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ThreadedGenerateData | ( | const OutputImageRegionType & | outputRegionForThread,
|  | ThreadIdType | threadId )

override protected

## UseImageSpacingOff()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

virtual void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::UseImageSpacingOff | ( |  | ) |

virtual

## UseImageSpacingOn()

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

virtual void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::UseImageSpacingOn | ( |  | ) |

virtual

## Field Documentation

## m_CurrentDimension

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

int itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::m_CurrentDimension {}

private

Definition at line 161 of file itkParabolicErodeDilateImageFilter.h.

## m_Scale

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

RadiusType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::m_Scale {}

private

Definition at line 159 of file itkParabolicErodeDilateImageFilter.h.

## m_UseImageSpacing

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>

bool itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::m_UseImageSpacing {}

protected

Definition at line 156 of file itkParabolicErodeDilateImageFilter.h.

Generated on 1768596610 for elastix by 1.15.0 |