Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel > Class Template Reference

Fast binary erosion. More...

#include <itkBinaryErodeImageFilter.h>

Inheritance diagram for itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >:

Inheritance graph
[legend]
Collaboration diagram for itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef TInputImage InputImageType
typedef TOutputImage OutputImageType
typedef TKernel KernelType
typedef BinaryErodeImageFilter Self
typedef BinaryMorphologyImageFilter<
InputImageType, OutputImageType,
KernelType
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef KernelType::ConstIterator KernelIteratorType
typedef InputImageType::PixelType InputPixelType
typedef OutputImageType::PixelType OutputPixelType
typedef NumericTraits< InputPixelType
>::RealType 
InputRealType
typedef InputImageType::OffsetType OffsetType
typedef InputImageType::IndexType IndexType
typedef InputImageType::RegionType InputImageRegionType
typedef OutputImageType::RegionType OutputImageRegionType
typedef InputImageType::SizeType InputSizeType

Public Member Functions

 itkStaticConstMacro (KernelDimension, unsigned int, TKernel::NeighborhoodDimension)
virtual const char * GetNameOfClass () const
void SetErodeValue (const InputPixelType &value)
InputPixelType GetErodeValue () const
 itkStaticConstMacro (InputImageDimension, unsigned int, TInputImage::ImageDimension)
 itkStaticConstMacro (OutputImageDimension, unsigned int, TOutputImage::ImageDimension)

Static Public Member Functions

Pointer New ()

Protected Types

typedef Superclass::NeighborIndexContainer NeighborIndexContainer
typedef Superclass::BorderCellContainer BorderCellContainer
typedef Superclass::BorderCell BorderCell

Protected Member Functions

 BinaryErodeImageFilter ()
virtual ~BinaryErodeImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, int threadId)
void BeforeThreadedGenerateData ()

Detailed Description

template<class TInputImage, class TOutputImage, class TKernel>
class itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >

Fast binary erosion.

BinaryErodeImageFilter is a binary erosion morphologic operation. This implementation is based on the papers:

L.Vincent "Morphological transformations of binary images with arbitrary structuring elements", and

N.Nikopoulos et al. "An efficient algorithm for 3d binary morphological transformations with 3d structuring elements for arbitrary size and shape". IEEE Transactions on Image Processing. Vol. 9. No. 3. 2000. pp. 283-286.

Gray scale images can be processed as binary images by selecting a "ErodeValue". Pixel values matching the dilate value are considered the "foreground" and all other pixels are "background". This is useful in processing segmented images where all pixels in segment #1 have value 1 and pixels in segment #2 have value 2, etc. A particular "segment number" can be processed. ErodeValue defaults to the maximum possible value of the PixelType.

The structuring element is assumed to be composed of binary values (zero or one). Only elements of the structuring element having values > 0 are candidates for affecting the center pixel. A reasonable choice of structuring element is itk::BinaryBallStructuringElement.

This class was contributed by Gaetan Lehmann from INRA de Jouy-en-Josas.

Todo:
Implement a threaded version ?
See also:
ImageToImageFilter

BinaryDilateImageFilter

Definition at line 72 of file itkBinaryErodeImageFilter.h.


Member Typedef Documentation

template<class TInputImage, class TOutputImage, class TKernel>
typedef Superclass::BorderCell itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::BorderCell [protected]
 

Definition at line 154 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef Superclass::BorderCellContainer itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::BorderCellContainer [protected]
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 153 of file itkBinaryErodeImageFilter.h.

Referenced by itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::~BinaryErodeImageFilter().

template<class TInputImage, class TOutputImage, class TKernel>
typedef SmartPointer<const Self> itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::ConstPointer
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 98 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef InputImageType::IndexType itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::IndexType
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 114 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef InputImageType::RegionType itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputImageRegionType
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 116 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef TInputImage itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputImageType
 

Convenient typedefs for simplifying declarations.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 89 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef InputImageType::PixelType itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputPixelType
 

Image typedef support.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 110 of file itkBinaryErodeImageFilter.h.

Referenced by itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::SetErodeValue().

template<class TInputImage, class TOutputImage, class TKernel>
typedef NumericTraits<InputPixelType>::RealType itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputRealType
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 112 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef InputImageType::SizeType itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputSizeType
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 118 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef KernelType::ConstIterator itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::KernelIteratorType
 

Kernel (structuring element) iterator.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 107 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef TKernel itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::KernelType
 

Kernel typedef.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 91 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef Superclass::NeighborIndexContainer itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::NeighborIndexContainer [protected]
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 152 of file itkBinaryErodeImageFilter.h.

Referenced by itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::~BinaryErodeImageFilter().

template<class TInputImage, class TOutputImage, class TKernel>
typedef InputImageType::OffsetType itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::OffsetType
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 113 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef OutputImageType::RegionType itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageRegionType
 

Superclass typedefs.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 117 of file itkBinaryErodeImageFilter.h.

Referenced by itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::~BinaryErodeImageFilter().

template<class TInputImage, class TOutputImage, class TKernel>
typedef TOutputImage itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageType
 

Some convenient typedefs.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 90 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef OutputImageType::PixelType itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::OutputPixelType
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 111 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef SmartPointer<Self> itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::Pointer
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 97 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef BinaryErodeImageFilter itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::Self
 

Standard class typedefs.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 95 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
typedef BinaryMorphologyImageFilter< InputImageType, OutputImageType, KernelType> itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::Superclass
 

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

Definition at line 96 of file itkBinaryErodeImageFilter.h.


Constructor & Destructor Documentation

template<class TInputImage, class TOutputImage, class TKernel>
itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::BinaryErodeImageFilter  )  [protected]
 

template<class TInputImage, class TOutputImage, class TKernel>
virtual itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::~BinaryErodeImageFilter  )  [inline, protected, virtual]
 

Definition at line 134 of file itkBinaryErodeImageFilter.h.

References itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::BorderCellContainer, itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::NeighborIndexContainer, and itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageRegionType.


Member Function Documentation

template<class TInputImage, class TOutputImage, class TKernel>
void itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::BeforeThreadedGenerateData void   )  [protected, virtual]
 

If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage, class TOutputImage, class TKernel>
InputPixelType itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::GetErodeValue  )  const [inline]
 

Get the value in the image considered as "foreground". Defaults to maximum value of PixelType. This is an alias to the ForegroundValue in the superclass.

Definition at line 129 of file itkBinaryErodeImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel>
virtual const char* itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

template<class TInputImage, class TOutputImage, class TKernel>
itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::itkStaticConstMacro KernelDimension  ,
unsigned  int,
TKernel::NeighborhoodDimension 
 

Extract the dimension of the kernel

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

template<class TInputImage, class TOutputImage, class TKernel>
itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::itkStaticConstMacro OutputImageDimension  ,
unsigned  int,
TOutputImage::ImageDimension 
 

Extract dimension from input and output image.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

template<class TInputImage, class TOutputImage, class TKernel>
itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::itkStaticConstMacro InputImageDimension  ,
unsigned  int,
TInputImage::ImageDimension 
 

Extract dimension from input and output image.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

template<class TInputImage, class TOutputImage, class TKernel>
Pointer itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

template<class TInputImage, class TOutputImage, class TKernel>
void itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >.

template<class TInputImage, class TOutputImage, class TKernel>
void itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::SetErodeValue const InputPixelType value  )  [inline]
 

Set the value in the image to consider as "foreground". Defaults to maximum value of PixelType. This is an alias to the ForegroundValue in the superclass.

Definition at line 123 of file itkBinaryErodeImageFilter.h.

References itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputPixelType.

template<class TInputImage, class TOutputImage, class TKernel>
void itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::ThreadedGenerateData const OutputImageRegionType outputRegionForThread,
int  threadId
[protected, virtual]
 

BinaryErodeImageFilter can be implemented as a multithreaded filter. Therefore, this implementation provides a ThreadedGenerateData() routine which is called for each processing thread. The output image data is allocated automatically by the superclass prior to calling ThreadedGenerateData(). ThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread"

See also:
ImageToImageFilter::ThreadedGenerateData(), ImageToImageFilter::GenerateData()

Reimplemented from itk::ImageSource< TOutputImage >.


The documentation for this class was generated from the following file:
Generated at Thu May 25 00:24:39 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000