go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage > Class Template Reference

#include <itkParabolicErodeDilateImageFilter.h>

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

Public Types

typedef SmartPointer< const SelfConstPointer
typedef TInputImage::ConstPointer InputImageConstPointer
typedef TInputImage::Pointer InputImagePointer
typedef TInputImage InputImageType
typedef TInputImage::SizeType InputSizeType
typedef NumericTraits
< PixelType >::FloatType 
InternalRealType
typedef OutputImageType::RegionType OutputImageRegionType
typedef TOutputImage OutputImageType
typedef TOutputImage::PixelType OutputPixelType
typedef TOutputImage::SizeType OutputSizeType
typedef TInputImage::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef itk::FixedArray
< ScalarRealType,
TInputImage::ImageDimension > 
RadiusType
typedef NumericTraits
< PixelType >::RealType 
RealType
typedef NumericTraits
< PixelType >::ScalarRealType 
ScalarRealType
typedef
ParabolicErodeDilateImageFilter 
Self
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual const char * GetClassName () const
virtual const RadiusTypeGetScale ()
virtual const boolGetUseImageSpacing ()
 itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension)
 itkStaticConstMacro (OutputImageDimension, unsigned int, TOutputImage::ImageDimension)
 itkStaticConstMacro (InputImageDimension, unsigned int, TInputImage::ImageDimension)
void SetScale (ScalarRealType scale)
virtual void SetScale (RadiusType _arg)
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)
void GenerateData (void)
 ParabolicErodeDilateImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
int SplitRequestedRegion (int i, int num, OutputImageRegionType &splitRegion)
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, int threadId)
virtual ~ParabolicErodeDilateImageFilter ()

Protected Attributes

bool m_UseImageSpacing

Private Member Functions

void operator= (const Self &)
 ParabolicErodeDilateImageFilter (const Self &)

Private Attributes

int m_CurrentDimension
TInputImage::PixelType m_Extreme
int m_MagnitudeSign
RadiusType m_Scale

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. <Richard.Beare@med.monash.edu.au>

Definition at line 48 of file itkParabolicErodeDilateImageFilter.h.


Member Typedef Documentation

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef SmartPointer<const Self> itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ConstPointer
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef TInputImage::ConstPointer itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputImageConstPointer
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef TInputImage::Pointer itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputImagePointer

Smart pointer typedef support.

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

Definition at line 74 of file itkParabolicErodeDilateImageFilter.h.

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

Pixel Type of the input image

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

Definition at line 63 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef TInputImage::SizeType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InputSizeType

Definition at line 76 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef NumericTraits< PixelType >::FloatType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::InternalRealType

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 97 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef OutputImageType::RegionType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputImageRegionType

Definition at line 92 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef TOutputImage itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputImageType
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef TOutputImage::PixelType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputPixelType
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef TOutputImage::SizeType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::OutputSizeType

Definition at line 77 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef TInputImage::PixelType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::PixelType
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef SmartPointer<Self> itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::Pointer
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef itk::FixedArray<ScalarRealType, TInputImage::ImageDimension> itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::RadiusType

a type to represent the "kernel radius"

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

Definition at line 81 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef NumericTraits<PixelType>::RealType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::RealType
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef NumericTraits<PixelType>::ScalarRealType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ScalarRealType
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef ParabolicErodeDilateImageFilter itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::Self

Standard class typedefs.

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

Definition at line 54 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
typedef ImageToImageFilter<TInputImage,TOutputImage> itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::Superclass

Constructor & Destructor Documentation

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ParabolicErodeDilateImageFilter ( ) [protected]

Image related typedefs.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
virtual itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::~ParabolicErodeDilateImageFilter ( ) [inline, protected, virtual]

Definition at line 127 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ParabolicErodeDilateImageFilter ( const Self ) [private]

Member Function Documentation

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::EnlargeOutputRequestedRegion ( DataObject *  output) [protected]
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::GenerateData ( void  ) [protected]

Generate Data

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 >.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
virtual const RadiusType& itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::GetScale ( ) [virtual]
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
virtual const bool& itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::GetUseImageSpacing ( ) [virtual]
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
TInputImage::ImageDimension   
)
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::itkStaticConstMacro ( OutputImageDimension  ,
unsigned  int,
TOutputImage::ImageDimension   
)
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::itkStaticConstMacro ( InputImageDimension  ,
unsigned  int,
TInputImage::ImageDimension   
)
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
static Pointer itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::New ( ) [static]

Method for creation through the object factory.

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

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::operator= ( const Self ) [private]
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected]
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::SetScale ( ScalarRealType  scale)
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
virtual void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::SetScale ( RadiusType  _arg) [virtual]
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

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
int itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::SplitRequestedRegion ( int  i,
int  num,
OutputImageRegionType splitRegion 
) [protected]
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
int  threadId 
) [protected]
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
virtual void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::UseImageSpacingOff ( ) [virtual]
template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
virtual void itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::UseImageSpacingOn ( ) [virtual]

Field Documentation

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
int itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::m_CurrentDimension [private]

Definition at line 148 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
TInputImage::PixelType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::m_Extreme [private]

Definition at line 145 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
int itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::m_MagnitudeSign [private]

Definition at line 147 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
RadiusType itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::m_Scale [private]

Definition at line 144 of file itkParabolicErodeDilateImageFilter.h.

template<typename TInputImage, bool doDilate, typename TOutputImage = TInputImage>
bool itk::ParabolicErodeDilateImageFilter< TInputImage, doDilate, TOutputImage >::m_UseImageSpacing [protected]

Definition at line 139 of file itkParabolicErodeDilateImageFilter.h.



Generated on 24-05-2012 for elastix by doxygen 1.7.6.1 elastix logo