#include <itkFastIncrementalBinaryDilateImageFilter.h>
Inheritance diagram for itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >:


Public Types | |
| typedef TInputImage | InputImageType |
| typedef TOutputImage | OutputImageType |
| typedef FastIncrementalBinaryDilateImageFilter | Self |
| typedef ImageToImageFilter< InputImageType, OutputImageType > | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef TKernel | KernelType |
| 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 |
| enum | { ImageDimensionCheck = 0 } |
Public Member Functions | |
| itkStaticConstMacro (KernelDimension, unsigned int, TKernel::NeighborhoodDimension) | |
| virtual const char * | GetNameOfClass () const |
| void | SetKernel (const KernelType &kernel) |
| virtual const KernelType & | GetKernel () |
| virtual void | SetDilateValue (InputPixelType _arg) |
| virtual InputPixelType | GetDilateValue () |
| virtual void | SetBackgroundValue (OutputPixelType _arg) |
| virtual OutputPixelType | GetBackgroundValue () |
| itkStaticConstMacro (InputImageDimension, unsigned int, TInputImage::ImageDimension) | |
| itkStaticConstMacro (OutputImageDimension, unsigned int, TOutputImage::ImageDimension) | |
Static Public Member Functions | |
| static Pointer | New () |
Protected Member Functions | |
| FastIncrementalBinaryDilateImageFilter () | |
| virtual | ~FastIncrementalBinaryDilateImageFilter () |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| void | AnalyzeKernel () |
| void | GenerateData () |
| void | GenerateInputRequestedRegion () throw (InvalidRequestedRegionError) |
Classes | |
| struct | BorderCell |
FastIncrementalBinaryDilateImageFilter is a binary dilation 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 "DilateValue". 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. DilateValue 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.
Description of the algorithm: ---------------------------------------------- Let's consider the set of the ON elements of the input image as X.
Let's consider the structuring element as B = {B0, B1, ..., Bn}, where Bi denotes a connected component of B.
Let's consider bi, i in [0,n], an arbitrary point of Bi.
We use hence the next property in order to compute minkoswki addition ( which will be written (+) ):
X (+) B = ( Xb0 UNION Xb1 UNION ... Xbn ) UNION ( BORDER(X) (+) B ),
where Xbi is the set X translated with respect to vector bi :
Xbi ={ x + bi, x belongs to X }
where BORDER(X) is the extracted border of X ( 8 connectivity in 2D, 26 in 3D )
Our implementation for dilation is defined as:
X (+) SYM(B) = DILATION(X)_B
Where DILATION(X)_B is the dilation of set with structuring element B. Where SYM(B) is the symmetric of the structuring element relatively to its center.
This class was contributed by Jerome Schmid from the University of Strasbourg.
Definition at line 103 of file itkFastIncrementalBinaryDilateImageFilter.h.
|
|||||
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 127 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Definition at line 146 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 148 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Convenient typedefs for simplifying declarations. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 120 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Image typedef support. Definition at line 142 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Definition at line 144 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Definition at line 150 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Kernel (structuring element) iterator. Definition at line 139 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Kernel typedef. Definition at line 133 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Definition at line 145 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Superclass typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 149 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Some convenient typedefs. Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 121 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Definition at line 143 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 126 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Standard class typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 124 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 125 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||
|
Input and output images must be the same dimension. Definition at line 155 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||||||
|
|
|
|||||||||
|
Definition at line 193 of file itkFastIncrementalBinaryDilateImageFilter.h. |
|
|||||||||
|
Analyze kernel and prepare data for GenerateData() function |
|
|||||||||
|
Standard pipeline method. Reimplemented from itk::ImageSource< TOutputImage >. |
|
|||||||||
|
FastIncrementalBinaryDilateImageFilter needs to request enough of an input image to account for the structuring element and connectivity element size. The input requested region is expanded by the maximum of the radius of the structuring element and the radius used to determine connectivity (typically one). If the request extends past the LargestPossibleRegion for the input, the request is cropped by the LargestPossibleRegion. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. |
|
|||||||||
|
Get the value used as "background". Any pixel value which is not DilateValue is considered background. BackgroundValue is used for defining boundary conditions. Defaults to NumericTraits<PixelType>::NonpositiveMin(). |
|
|||||||||
|
Get the value in the image considered as "foreground". Defaults to maximum value of PixelType. |
|
|||||||||
|
Get the kernel (structuring element). |
|
|||||||||
|
Run-time type information (and related methods). Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. |
|
||||||||||||||||||||
|
Extract the dimension of the kernel |
|
||||||||||||||||||||
|
Extract dimension from input and output image. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. |
|
||||||||||||||||||||
|
Extract dimension from input and output image. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. |
|
|||||||||
|
Method for creation through the object factory. Reimplemented from itk::Object. |
|
||||||||||||||||
|
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::ImageToImageFilter< TInputImage, TOutputImage >. |
|
||||||||||
|
Set the value used as "background". Any pixel value which is not DilateValue is considered background. BackgroundValue is used for defining boundary conditions. Defaults to NumericTraits<PixelType>::NonpositiveMin(). |
|
||||||||||
|
Set the value in the image to consider as "foreground". Defaults to maximum value of PixelType. |
|
||||||||||
|
Set kernel (structuring element). |
1.4.1 written by Dimitri van Heesch,
© 1997-2000