ITK
4.4.0
Insight Segmentation and Registration Toolkit
|
#include <itkRankImageFilter.h>
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 arbitrary pixel types (using c++ maps) and arbitrary 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
Definition at line 68 of file itkRankImageFilter.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
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< Self > | Pointer |
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 Types inherited from itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage::IndexType | IndexType |
typedef TInputImage | InputImageType |
typedef KernelType::ConstIterator | KernelIteratorType |
typedef TKernel | KernelType |
typedef std::list< OffsetType > | OffsetListType |
typedef std::map< OffsetType, OffsetListType, typename OffsetType::LexicographicCompare > | OffsetMapType |
typedef TInputImage::OffsetType | OffsetType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef TOutputImage::PixelType | OutputPixelType |
typedef TInputImage::PixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef KernelType::SizeType | RadiusType |
typedef TInputImage::RegionType | RegionType |
typedef MovingHistogramImageFilter | Self |
typedef TInputImage::SizeType | SizeType |
typedef MovingHistogramImageFilterBase < TInputImage, TOutputImage, TKernel > | Superclass |
Public Types inherited from itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage::IndexType | IndexType |
typedef TInputImage | InputImageType |
typedef KernelType::ConstIterator | KernelIteratorType |
typedef TKernel | KernelType |
typedef std::list< OffsetType > | OffsetListType |
typedef std::map< OffsetType, OffsetListType, typename OffsetType::LexicographicCompare > | OffsetMapType |
typedef TInputImage::OffsetType | OffsetType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef TOutputImage::PixelType | OutputPixelType |
typedef TInputImage::PixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef KernelType::SizeType | RadiusType |
typedef TInputImage::RegionType | RegionType |
typedef MovingHistogramImageFilterBase | 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 Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::KernelImageFilter< TInputImage, TOutputImage, TKernel > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::BoxImageFilter< TInputImage, TOutputImage > | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > > | |
static const unsigned int | ImageDimension |
Static Public Attributes inherited from itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel > | |
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 | |
void | operator= (const Self &) |
RankImageFilter (const Self &) | |
Private Attributes | |
float | m_Rank |
Additional Inherited Members | |
Protected Types inherited from itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > > | |
typedef Function::RankHistogram < TInputImage::PixelType > | HistogramType |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel > | |
OffsetMapType | m_AddedOffsets |
FixedArray< int, itkGetStaticConstMacro(ImageDimension) > | m_Axes |
OffsetListType | m_KernelOffsets |
SizeValueType | m_PixelsPerTranslation |
OffsetMapType | m_RemovedOffsets |
typedef SmartPointer< const Self > itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::ConstPointer |
Definition at line 76 of file itkRankImageFilter.h.
typedef Superclass::HistogramType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::HistogramType |
Definition at line 99 of file itkRankImageFilter.h.
typedef TInputImage::IndexType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::IndexType |
Definition at line 92 of file itkRankImageFilter.h.
typedef TInputImage itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::InputImageType |
Image related typedefs.
Definition at line 85 of file itkRankImageFilter.h.
typedef TInputImage::PixelType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::InputPixelType |
Definition at line 97 of file itkRankImageFilter.h.
typedef KernelType::ConstIterator itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::KernelIteratorType |
Kernel (structuring element) iterator.
Definition at line 109 of file itkRankImageFilter.h.
typedef TKernel itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::KernelType |
Kernel typedef.
Definition at line 106 of file itkRankImageFilter.h.
typedef TInputImage::OffsetType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::OffsetType |
Definition at line 94 of file itkRankImageFilter.h.
typedef Superclass::OutputImageRegionType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageRegionType |
Definition at line 95 of file itkRankImageFilter.h.
typedef TOutputImage itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageType |
Definition at line 89 of file itkRankImageFilter.h.
typedef TOutputImage::PixelType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::OutputPixelType |
Definition at line 96 of file itkRankImageFilter.h.
typedef TInputImage::PixelType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::PixelType |
Definition at line 93 of file itkRankImageFilter.h.
typedef SmartPointer< Self > itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::Pointer |
Definition at line 75 of file itkRankImageFilter.h.
typedef KernelType::SizeType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::RadiusType |
n-dimensional Kernel radius.
Definition at line 112 of file itkRankImageFilter.h.
typedef TInputImage::RegionType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::RegionType |
Definition at line 90 of file itkRankImageFilter.h.
typedef RankImageFilter itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::Self |
Standard class typedefs.
Definition at line 74 of file itkRankImageFilter.h.
typedef TInputImage::SizeType itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::SizeType |
Definition at line 91 of file itkRankImageFilter.h.
typedef MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< typename TInputImage::PixelType > > itk::RankImageFilter< TInputImage, TOutputImage, TKernel >::Superclass |
Definition at line 78 of file itkRankImageFilter.h.
|
protected |
|
inlineprotected |
Definition at line 124 of file itkRankImageFilter.h.
|
private |
|
protectedvirtual |
|
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::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >.
|
virtual |
Runtime information support.
Reimplemented from itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > >.
|
virtual |
|
inline |
Definition at line 117 of file itkRankImageFilter.h.
|
static |
Standard New method.
|
private |
|
protectedvirtual |
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 >.
|
virtual |
|
static |
Image related typedefs.
Definition at line 103 of file itkRankImageFilter.h.
|
private |
Definition at line 134 of file itkRankImageFilter.h.