ITK
4.8.0
Insight Segmentation and Registration Toolkit
|
#include <itkMorphologyImageFilter.h>
Base class for the morphological operations such as erosion and dialation.
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 guaranteed 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 72 of file itkMorphologyImageFilter.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef ConstantBoundaryCondition < InputImageType > | DefaultBoundaryConditionType |
typedef ImageBoundaryCondition < InputImageType > const * | ImageBoundaryConditionConstPointerType |
typedef ImageBoundaryCondition < InputImageType > * | ImageBoundaryConditionPointerType |
typedef TInputImage::IndexType | IndexType |
typedef TInputImage | InputImageType |
typedef KernelType::ConstIterator | KernelIteratorType |
typedef TKernel | KernelType |
typedef ConstNeighborhoodIterator < TInputImage > | NeighborhoodIteratorType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef TInputImage::PixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef KernelType::SizeType | RadiusType |
typedef TInputImage::RegionType | RegionType |
typedef MorphologyImageFilter | Self |
typedef TInputImage::SizeType | SizeType |
typedef KernelImageFilter < TInputImage, TOutputImage, TKernel > | Superclass |
Public Types inherited from itk::KernelImageFilter< TInputImage, TOutputImage, TKernel > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef FlatStructuringElement < itkGetStaticConstMacro(ImageDimension) > | FlatKernelType |
typedef TInputImage::IndexType | IndexType |
typedef TInputImage | InputImageType |
typedef TInputImage::PixelType | InputPixelType |
typedef TKernel | KernelType |
typedef TInputImage::OffsetType | OffsetType |
typedef TOutputImage | OutputImageType |
typedef TOutputImage::PixelType | OutputPixelType |
typedef SmartPointer< Self > | Pointer |
typedef TInputImage::SizeType | RadiusType |
typedef TInputImage::RegionType | RegionType |
typedef KernelImageFilter | Self |
typedef TInputImage::SizeType | SizeType |
typedef BoxImageFilter < TInputImage, TOutputImage > | Superclass |
Public Types inherited from itk::BoxImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage::IndexType | IndexType |
typedef TInputImage | InputImageType |
typedef TInputImage::PixelType | InputPixelType |
typedef TInputImage::OffsetType | OffsetType |
typedef TOutputImage | OutputImageType |
typedef TOutputImage::PixelType | OutputPixelType |
typedef SmartPointer< Self > | Pointer |
typedef TInputImage::SizeType | RadiusType |
typedef TInputImage::SizeValueType | RadiusValueType |
typedef TInputImage::RegionType | RegionType |
typedef BoxImageFilter | Self |
typedef TInputImage::SizeType | SizeType |
typedef ImageToImageFilter < TInputImage, TOutputImage > | Superclass |
Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef SmartPointer< Self > | Pointer |
typedef ImageToImageFilter | Self |
typedef ImageSource< TOutputImage > | Superclass |
Public Types inherited from itk::ImageSource< TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef Superclass::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
typedef OutputImageType::PixelType | OutputImagePixelType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef ImageSource | Self |
typedef ProcessObject | Superclass |
Public Types inherited from itk::ProcessObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef std::vector < DataObjectPointer > | DataObjectPointerArray |
typedef DataObjectPointerArray::size_type | DataObjectPointerArraySizeType |
typedef std::vector < DataObjectIdentifierType > | NameArray |
typedef SmartPointer< Self > | Pointer |
typedef ProcessObject | Self |
typedef Object | Superclass |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Attributes | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::KernelImageFilter< TInputImage, TOutputImage, TKernel > | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::BoxImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Member Functions | |
MorphologyImageFilter (const Self &) | |
void | operator= (const Self &) |
Private Attributes | |
ImageBoundaryConditionPointerType | m_BoundaryCondition |
DefaultBoundaryConditionType | m_DefaultBoundaryCondition |
typedef SmartPointer< const Self > itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::ConstPointer |
Definition at line 80 of file itkMorphologyImageFilter.h.
typedef ConstantBoundaryCondition< InputImageType > itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::DefaultBoundaryConditionType |
Definition at line 101 of file itkMorphologyImageFilter.h.
typedef ImageBoundaryCondition< InputImageType > const* itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::ImageBoundaryConditionConstPointerType |
Definition at line 100 of file itkMorphologyImageFilter.h.
typedef ImageBoundaryCondition< InputImageType >* itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::ImageBoundaryConditionPointerType |
Typedef for boundary conditions.
Definition at line 99 of file itkMorphologyImageFilter.h.
typedef TInputImage::IndexType itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::IndexType |
Definition at line 90 of file itkMorphologyImageFilter.h.
typedef TInputImage itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::InputImageType |
Image related typedefs.
Definition at line 83 of file itkMorphologyImageFilter.h.
typedef KernelType::ConstIterator itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::KernelIteratorType |
Kernel (structuring element) iterator.
Definition at line 110 of file itkMorphologyImageFilter.h.
typedef TKernel itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::KernelType |
Kernel typedef.
Definition at line 107 of file itkMorphologyImageFilter.h.
typedef ConstNeighborhoodIterator< TInputImage > itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::NeighborhoodIteratorType |
Neighborhood iterator type.
Definition at line 104 of file itkMorphologyImageFilter.h.
typedef Superclass::OutputImageRegionType itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageRegionType |
Definition at line 92 of file itkMorphologyImageFilter.h.
typedef TOutputImage itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageType |
Definition at line 87 of file itkMorphologyImageFilter.h.
typedef TInputImage::PixelType itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::PixelType |
Definition at line 91 of file itkMorphologyImageFilter.h.
typedef SmartPointer< Self > itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::Pointer |
Definition at line 79 of file itkMorphologyImageFilter.h.
typedef KernelType::SizeType itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::RadiusType |
n-dimensional Kernel radius.
Definition at line 113 of file itkMorphologyImageFilter.h.
typedef TInputImage::RegionType itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::RegionType |
Definition at line 88 of file itkMorphologyImageFilter.h.
typedef MorphologyImageFilter itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::Self |
Standard Self typedef
Definition at line 77 of file itkMorphologyImageFilter.h.
typedef TInputImage::SizeType itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::SizeType |
Definition at line 89 of file itkMorphologyImageFilter.h.
typedef KernelImageFilter< TInputImage, TOutputImage, TKernel > itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::Superclass |
Definition at line 78 of file itkMorphologyImageFilter.h.
|
protected |
|
inlineprotected |
Definition at line 136 of file itkMorphologyImageFilter.h.
|
private |
|
protectedpure virtual |
Evaluate image neighborhood with kernel to find the new value for the center pixel value.
|
virtual |
Get the current boundary condition.
|
virtual |
Runtime information support.
Reimplemented from itk::KernelImageFilter< TInputImage, TOutputImage, TKernel >.
Reimplemented in itk::GrayscaleFunctionDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleFunctionErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::BasicDilateImageFilter< TInputImage, TOutputImage, TKernel >, and itk::BasicErodeImageFilter< TInputImage, TOutputImage, TKernel >.
|
private |
|
inline |
Allows a user to override the internal boundary condition. Care should be be taken to ensure that the overriding boundary condition is a persistent object during the time it is referenced. The overriding condition can be of a different type than the default type as long as it is a subclass of ImageBoundaryCondition.
Definition at line 120 of file itkMorphologyImageFilter.h.
References itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::m_BoundaryCondition.
|
overrideprotectedvirtual |
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::KernelImageFilter< TInputImage, TOutputImage, TKernel >.
|
inline |
Rest the boundary condition to the default
Definition at line 126 of file itkMorphologyImageFilter.h.
References itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::m_BoundaryCondition, and itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::m_DefaultBoundaryCondition.
|
overrideprotectedvirtual |
Multi-thread version GenerateData.
Reimplemented from itk::ImageSource< TOutputImage >.
|
static |
Image related typedefs.
Definition at line 96 of file itkMorphologyImageFilter.h.
|
private |
Pointer to a persistent boundary condition object used for the image iterator.
Definition at line 156 of file itkMorphologyImageFilter.h.
Referenced by itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::OverrideBoundaryCondition(), and itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::ResetBoundaryCondition().
|
private |
Default boundary condition
Definition at line 159 of file itkMorphologyImageFilter.h.
Referenced by itk::MorphologyImageFilter< TInputImage, TOutputImage, TKernel >::ResetBoundaryCondition().