#include <itkBinaryDilateImageFilter.h>
Inheritance diagram for itk::BinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >:
Public Types | |
typedef TInputImage | InputImageType |
typedef TOutputImage | OutputImageType |
typedef TKernel | KernelType |
typedef BinaryDilateImageFilter | Self |
typedef BinaryMorphologyImageFilter< InputImageType, OutputImageType, KernelType > | Superclass |
typedef SmartPointer< Self > | Pointer |
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 | SetDilateValue (const InputPixelType &value) |
InputPixelType | GetDilateValue () 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 | |
BinaryDilateImageFilter () | |
virtual | ~BinaryDilateImageFilter () |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, int threadId) |
void | BeforeThreadedGenerateData () |
BinaryDilateImageFilter 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 itkBinaryDilateImageFilter.h.
|
Definition at line 186 of file itkBinaryDilateImageFilter.h. |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 185 of file itkBinaryDilateImageFilter.h. Referenced by itk::BinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >::~BinaryDilateImageFilter(). |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 129 of file itkBinaryDilateImageFilter.h. |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 145 of file itkBinaryDilateImageFilter.h. |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 147 of file itkBinaryDilateImageFilter.h. |
|
Convenient typedefs for simplifying declarations. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 120 of file itkBinaryDilateImageFilter.h. |
|
Image typedef support. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 141 of file itkBinaryDilateImageFilter.h. Referenced by itk::BinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >::SetDilateValue(). |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 143 of file itkBinaryDilateImageFilter.h. |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 149 of file itkBinaryDilateImageFilter.h. |
|
Kernel (structuring element) iterator. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 138 of file itkBinaryDilateImageFilter.h. |
|
Kernel typedef. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 122 of file itkBinaryDilateImageFilter.h. |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 184 of file itkBinaryDilateImageFilter.h. Referenced by itk::BinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >::~BinaryDilateImageFilter(). |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 144 of file itkBinaryDilateImageFilter.h. |
|
Superclass typedefs. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 148 of file itkBinaryDilateImageFilter.h. Referenced by itk::BinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >::~BinaryDilateImageFilter(). |
|
Some convenient typedefs. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 121 of file itkBinaryDilateImageFilter.h. |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 142 of file itkBinaryDilateImageFilter.h. |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 128 of file itkBinaryDilateImageFilter.h. |
|
Standard class typedefs. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 126 of file itkBinaryDilateImageFilter.h. |
|
Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. Definition at line 127 of file itkBinaryDilateImageFilter.h. |
|
|
|
|
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 >. |
|
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 160 of file itkBinaryDilateImageFilter.h. |
|
Run-time type information (and related methods). Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. |
|
Extract the dimension of the kernel Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. |
|
Extract dimension from input and output image. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. |
|
Extract dimension from input and output image. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. |
|
Method for creation through the object factory. Reimplemented from itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >. Reimplemented in itk::FastIncrementalBinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >. |
|
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 >. |
|
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 154 of file itkBinaryDilateImageFilter.h. References itk::BinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >::InputPixelType. |
|
BinaryDilateImageFilter 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"
Reimplemented from itk::ImageSource< TOutputImage >. |