ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel > Class Template Reference

Opening by reconstruction of an image. More...

#include <itkOpeningByReconstructionImageFilter.h>

Inheritance diagram for itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >:
Collaboration diagram for itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
InputImageType::ConstPointer 
InputImageConstPointer
typedef InputImageType::PixelType InputImagePixelType
typedef InputImageType::Pointer InputImagePointer
typedef InputImageType::RegionType InputImageRegionType
typedef TInputImage InputImageType
typedef TKernel KernelType
typedef
OutputImageType::ConstPointer 
OutputImageConstPointer
typedef OutputImageType::PixelType OutputImagePixelType
typedef OutputImageType::Pointer OutputImagePointer
typedef OutputImageType::RegionType OutputImageRegionType
typedef TOutputImage OutputImageType
typedef SmartPointer< SelfPointer
typedef
OpeningByReconstructionImageFilter 
Self
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const KernelTypeGetKernel ()
virtual const char * GetNameOfClass () const
virtual void SetKernel (KernelType _arg)
 typedef (Concept::EqualityComparable< InputImagePixelType >) InputEqualityComparableCheck
virtual void SetFullyConnected (bool _arg)
virtual const bool & GetFullyConnected ()
virtual void FullyConnectedOn ()
virtual void FullyConnectedOff ()
virtual void SetPreserveIntensities (bool _arg)
virtual const bool & GetPreserveIntensities ()
virtual void PreserveIntensitiesOn ()
virtual void PreserveIntensitiesOff ()

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int InputImageDimension = TInputImage::ImageDimension
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension

Protected Member Functions

void EnlargeOutputRequestedRegion (DataObject *)
void GenerateData ()
void GenerateInputRequestedRegion ()
 OpeningByReconstructionImageFilter ()
 ~OpeningByReconstructionImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const

Private Member Functions

 OpeningByReconstructionImageFilter (const Self &)
void operator= (const Self &)

Private Attributes

bool m_FullyConnected
KernelType m_Kernel
bool m_PreserveIntensities

Detailed Description

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

Opening by reconstruction of an image.

This filter preserves regions, in the foreground, that can completely contain the structuring element. At the same time, this filter eliminates all other regions of foreground pixels. Contrary to the mophological opening, the opening by reconstruction preserves the shape of the components that are not removed by erosion. The opening by reconstruction of an image "f" is defined as:

OpeningByReconstruction(f) = DilationByRecontruction(f, Erosion(f)).

Opening by reconstruction not only removes structures destroyed by the erosion, but also levels down the contrast of the brightest regions. If PreserveIntensities is on, a subsequent reconstruction by dilation using a marker image that is the original image for all unaffected pixels.

Opening by reconstruction is described in Chapter 6.3.9 of Pierre Soille's book "Morphological Image Analysis: Principles and Applications", Second Edition, Springer, 2003.

Author:
Gaetan Lehmann. Biologie du Developpement et de la Reproduction, INRA de Jouy-en-Josas, France.
See also:
GrayscaleMorphologicalOpeningImageFilter

Definition at line 55 of file itkOpeningByReconstructionImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TOutputImage , class TKernel >
typedef SmartPointer< const Self > itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::ConstPointer
template<class TInputImage , class TOutputImage , class TKernel >
typedef InputImageType::ConstPointer itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::InputImageConstPointer
template<class TInputImage , class TOutputImage , class TKernel >
typedef InputImageType::PixelType itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::InputImagePixelType
template<class TInputImage , class TOutputImage , class TKernel >
typedef InputImageType::Pointer itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::InputImagePointer
template<class TInputImage , class TOutputImage , class TKernel >
typedef InputImageType::RegionType itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::InputImageRegionType
template<class TInputImage , class TOutputImage , class TKernel >
typedef TInputImage itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::InputImageType

Some convenient typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 66 of file itkOpeningByReconstructionImageFilter.h.

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

Kernel typedef.

Definition at line 78 of file itkOpeningByReconstructionImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel >
typedef OutputImageType::ConstPointer itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageConstPointer

Definition at line 73 of file itkOpeningByReconstructionImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel >
typedef OutputImageType::PixelType itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::OutputImagePixelType
template<class TInputImage , class TOutputImage , class TKernel >
typedef OutputImageType::Pointer itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::OutputImagePointer

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 72 of file itkOpeningByReconstructionImageFilter.h.

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

Superclass typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 74 of file itkOpeningByReconstructionImageFilter.h.

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

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 71 of file itkOpeningByReconstructionImageFilter.h.

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

Standard class typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 60 of file itkOpeningByReconstructionImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel >
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::Superclass

Constructor & Destructor Documentation

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

End concept checking

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

End concept checking

Definition at line 129 of file itkOpeningByReconstructionImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel >
itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::OpeningByReconstructionImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TOutputImage , class TKernel >
virtual::itk::LightObject::Pointer itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<class TInputImage , class TOutputImage , class TKernel >
void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::EnlargeOutputRequestedRegion ( DataObject ) [protected, virtual]

OpeningByReconstructionImageFilter will produce the entire output.

Reimplemented from itk::ProcessObject.

template<class TInputImage , class TOutputImage , class TKernel >
virtual void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::FullyConnectedOff ( ) [virtual]

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage , class TOutputImage , class TKernel >
virtual void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::FullyConnectedOn ( ) [virtual]

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage , class TOutputImage , class TKernel >
void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData ( ) [protected, virtual]

A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.

See also:
ThreadedGenerateData()

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage , class TKernel >
void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::GenerateInputRequestedRegion ( ) [protected, virtual]

OpeningByReconstructionImageFilter needs the entire input be available. Thus, it needs to provide an implementation of GenerateInputRequestedRegion().

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage , class TKernel >
virtual const bool& itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::GetFullyConnected ( ) [virtual]

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage , class TOutputImage , class TKernel >
virtual const KernelType& itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::GetKernel ( ) [virtual]

Get the kernel (structuring element).

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

Runtime information support.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage , class TKernel >
virtual const bool& itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::GetPreserveIntensities ( ) [virtual]

Set/Get whether the original intensities of the image retained for those pixels unaffected by the opening by reconstrcution. If Off, the output pixel contrast will be reduced.

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

Standard New method.

Reimplemented from itk::Object.

template<class TInputImage , class TOutputImage , class TKernel >
void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage , class TKernel >
virtual void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::PreserveIntensitiesOff ( ) [virtual]

Set/Get whether the original intensities of the image retained for those pixels unaffected by the opening by reconstrcution. If Off, the output pixel contrast will be reduced.

template<class TInputImage , class TOutputImage , class TKernel >
virtual void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::PreserveIntensitiesOn ( ) [virtual]

Set/Get whether the original intensities of the image retained for those pixels unaffected by the opening by reconstrcution. If Off, the output pixel contrast will be reduced.

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

End concept checking

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage , class TKernel >
virtual void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::SetFullyConnected ( bool  _arg) [virtual]

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage , class TOutputImage , class TKernel >
virtual void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::SetKernel ( KernelType  _arg) [virtual]

Set kernel (structuring element).

template<class TInputImage , class TOutputImage , class TKernel >
virtual void itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::SetPreserveIntensities ( bool  _arg) [virtual]

Set/Get whether the original intensities of the image retained for those pixels unaffected by the opening by reconstrcution. If Off, the output pixel contrast will be reduced.

template<class TInputImage , class TOutputImage , class TKernel >
itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::typedef ( Concept::EqualityComparable< InputImagePixelType )

Begin concept checking This class requires InputEqualityComparableCheck in the form of ( Concept::EqualityComparable< InputImagePixelType > )


Member Data Documentation

template<class TInputImage , class TOutputImage , class TKernel >
const unsigned int itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::InputImageDimension = TInputImage::ImageDimension [static]

ImageDimension constants

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 82 of file itkOpeningByReconstructionImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel >
bool itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::m_FullyConnected [private]

Definition at line 149 of file itkOpeningByReconstructionImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel >
KernelType itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::m_Kernel [private]

kernel or structuring element to use.

Definition at line 148 of file itkOpeningByReconstructionImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel >
bool itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::m_PreserveIntensities [private]

Definition at line 150 of file itkOpeningByReconstructionImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel >
const unsigned int itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageDimension = TOutputImage::ImageDimension [static]

ImageDimension constants

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 84 of file itkOpeningByReconstructionImageFilter.h.


The documentation for this class was generated from the following file: