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

Rank filter of a greyscale image. More...

#include <itkRankImageFilter.h>

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

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef Superclass::HistogramType HistogramType
typedef TInputImage::IndexType IndexType
typedef TInputImage InputImageType
typedef TInputImage::PixelType InputPixelType
typedef KernelType::ConstIterator KernelIteratorType
typedef TKernel KernelType
typedef TInputImage::OffsetType OffsetType
typedef
Superclass::OutputImageRegionType 
OutputImageRegionType
typedef TOutputImage OutputImageType
typedef TOutputImage::PixelType OutputPixelType
typedef TInputImage::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef KernelType::SizeType RadiusType
typedef TInputImage::RegionType RegionType
typedef RankImageFilter Self
typedef TInputImage::SizeType SizeType
typedef
MovingHistogramImageFilter
< TInputImage, TOutputImage,
TKernel,
Function::RankHistogram
< typename
TInputImage::PixelType > > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
virtual float GetRank () const
bool GetUseVectorBasedAlgorithm ()
virtual void SetRank (float _arg)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

virtual void ConfigureHistogram (HistogramType &histogram)
void PrintSelf (std::ostream &os, Indent indent) const
 RankImageFilter ()
 ~RankImageFilter ()

Private Member Functions

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

Private Attributes

float m_Rank

Detailed Description

template<class TInputImage, class TOutputImage, class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
class itk::RankImageFilter< TInputImage, TOutputImage, TKernel >

Rank filter of a greyscale image.

Nonlinear filter in which each output pixel is a user defined rank of input pixels in a user defined neighborhood. The default rank is 0.5 (median). The boundary conditions are different to the standard itkMedianImageFilter. In this filter the neighborhood is cropped at the boundary, and is therefore smaller.

This filter uses a recursive implementation - essentially the one by Huang 1979, I believe, to compute the rank, and is therefore usually a lot faster than the direct implementation. The extensions to Huang are support for arbitary pixel types (using c++ maps) and arbitary neighborhoods. I presume that these are not new ideas.

This filter is based on the sliding window code from the consolidatedMorphology package on InsightJournal.

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.

This code was contributed in the Insight Journal paper: "Efficient implementation of kernel filtering" by Beare R., Lehmann G http://hdl.handle.net/1926/555 http://www.insight-journal.org/browse/publication/160

Author:
Richard Beare

Definition at line 68 of file itkRankImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef SmartPointer< const Self > itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::ConstPointer
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef Superclass::HistogramType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::HistogramType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TInputImage::IndexType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::IndexType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TInputImage itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::InputImageType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TInputImage::PixelType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::InputPixelType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef KernelType::ConstIterator itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::KernelIteratorType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TKernel itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::KernelType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TInputImage::OffsetType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::OffsetType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef Superclass::OutputImageRegionType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageRegionType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TOutputImage itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TOutputImage::PixelType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::OutputPixelType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TInputImage::PixelType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::PixelType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef SmartPointer< Self > itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::Pointer
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef KernelType::SizeType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::RadiusType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TInputImage::RegionType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::RegionType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef RankImageFilter itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::Self
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef TInputImage::SizeType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::SizeType
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
typedef MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< typename TInputImage::PixelType > > itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::RankImageFilter ( ) [protected]
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::~RankImageFilter ( ) [inline, protected]

Definition at line 124 of file itkRankImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::RankImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
virtual void itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::ConfigureHistogram ( HistogramType histogram) [protected, virtual]
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
virtual::itk::LightObject::Pointer itk::RankImageFilter< 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::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > >.

template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
virtual const char* itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::GetNameOfClass ( ) const [virtual]
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
virtual float itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::GetRank ( ) const [virtual]
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
bool itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::GetUseVectorBasedAlgorithm ( ) [inline]

Definition at line 117 of file itkRankImageFilter.h.

template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
static Pointer itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::New ( ) [static]
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
void itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::operator= ( const Self ) [private]
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
void itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

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::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >.

template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
virtual void itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::SetRank ( float  _arg) [virtual]

Member Data Documentation

template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
const unsigned int itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::ImageDimension = TInputImage::ImageDimension [static]
template<class TInputImage , class TOutputImage , class TKernel = FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension >>
float itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::m_Rank [private]

Definition at line 134 of file itkRankImageFilter.h.


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