#include <itkMorphologyImageFilter.h>
Inheritance diagram for itk::MorphologyImageFilter:
Public Types | |
typedef MorphologyImageFilter | Self |
typedef ImageToImageFilter< TInputImage, TOutputImage > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage | InputImageType |
typedef TOutputImage | OutputImageType |
typedef TInputImage::RegionType | RegionType |
typedef TInputImage::SizeType | SizeType |
typedef TInputImage::IndexType | IndexType |
typedef TInputImage::PixelType | PixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef ConstNeighborhoodIterator< TInputImage > | NeighborhoodIteratorType |
typedef ConstSmartNeighborhoodIterator< TInputImage > | SmartNeighborhoodIteratorType |
typedef TKernel | KernelType |
typedef KernelType::ConstIterator | KernelIteratorType |
typedef KernelType::SizeType | RadiusType |
Public Methods | |
virtual const char * | GetClassName () const |
itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension) | |
virtual void | SetKernel (KernelType _arg) |
itkGetConstReferenceMacro (Kernel, KernelType) | |
void | GenerateInputRequestedRegion () |
Protected Methods | |
MorphologyImageFilter () | |
~MorphologyImageFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, int threadId) |
virtual PixelType | Evaluate (const SmartNeighborhoodIteratorType &nit, const KernelType &kernel)=0 |
virtual PixelType | Evaluate (const NeighborhoodIteratorType &nit, const KernelType &kernel)=0 |
This class provides the infrastructure to support most morphological operations. Subclasses of MorphologyImageFilter implement specific "binary" and "grayscale" operations. The "binary" subclasses can operate on gray level data, where a specified a pixel value is consider the "foreground" and every other pixel value is considered the background. This is useful for operating on segment masks where all pixels assigned to segment #1 have value 1, all pixels assigned to segment #2 have value 2, etc. Here, a given segment can be dilated (expanded) while treating all other segment identifiers are background.
The "kernel" specified represents a morphology structuring element. The structuring element is a small Neighborhood with values indicating an element is "on" (value > 0) or "off" (value <=0). Morphological operations are defined by placing the structuring element over a pixel, and calculating a nonlinear function (min, max) over the pixels of the image that are under pixels in the structuring element that are "on". The result of this calculation is the value of the pixel in the output image. Under most circumstances, the "center pixel" of the structuring element -- or structuring element pixel over the input pixel under consideration -- is prescribed to be "on". This is not a strict requirement but the subclasses of this filter are not guarenteed to produce the correct result if the "center pixel" is not part of the structuring element.
Subclasses of this class can define their own operations by simply providing their own Evaluate() protected member function.
Definition at line 71 of file itkMorphologyImageFilter.h.
|
|
Definition at line 89 of file itkMorphologyImageFilter.h. |
|
Image related typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 85 of file itkMorphologyImageFilter.h. |
|
|
|
|
Superclass typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 91 of file itkMorphologyImageFilter.h. |
|
Some convenient typedefs. Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 86 of file itkMorphologyImageFilter.h. |
|
|
|
n-dimensional Kernel radius. Definition at line 110 of file itkMorphologyImageFilter.h. |
|
Definition at line 87 of file itkMorphologyImageFilter.h. |
|
|
Definition at line 88 of file itkMorphologyImageFilter.h. |
|
|
|
|
|
Definition at line 127 of file itkMorphologyImageFilter.h. |
|
Evaluate image neighborhood with kernel to find the new value for the center pixel value. This version is used for boundary pixels. Implemented in itk::BinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleFunctionDilateImageFilter< TInputImage, TOutputImage, TKernel >, and itk::GrayscaleFunctionErodeImageFilter< TInputImage, TOutputImage, TKernel >. |
|
Evaluate image neighborhood with kernel to find the new value for the center pixel value. This version is used for non-boundary pixels. Implemented in itk::BinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleFunctionDilateImageFilter< TInputImage, TOutputImage, TKernel >, and itk::GrayscaleFunctionErodeImageFilter< TInputImage, TOutputImage, TKernel >. |
|
MorphologyImageFilters need to make sure they request enough of an input image to account for the structuring element size. The input requested region is expanded by the radius of the structuring element. 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 kernel (structuring element). |
|
Image related typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. |
|
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 >. Reimplemented in itk::BinaryDilateImageFilter< TInputImage, TOutputImage, TKernel >, and itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >. |
|
Set kernel (structuring element). |
|
Multi-thread version GenerateData. Reimplemented from itk::ImageSource< TOutputImage >. |