ITK
4.3.0
Insight Segmentation and Registration Toolkit
|
#include <itkMovingHistogramImageFilterBase.h>
Implements a generic moving histogram algorithm.
This filter is a base class to implement efficiently many neighborhood filters. Instead of visiting all the neighbors of a pixel, the set of pixels in the neighborhood is updated when the filter is moving to a new pixel. The number of pixels read for each pixel can be very smaller than the number of pixels read by a basic algorithm.
This filter moves the neighborhood over all the pixels of the output requested region, and pass the pixel added and removed of the neighborhood to the an histogram class. This filter doesn't implement the histogram class - it must be implement and passed as template parameter. The histogram class is not necessary a real histogram. It can be implemented in many ways, and only has to provide the methods described below.
This filter takes 4 template parameters: the input and output image type, the structuring element (or kernel) type, and the histogram type. The input and output image must have the same number of dimension.
The histogram type is a class which has to implements seven methods:
MovingHistogramImageFilterBase add the new pixels before removing the old ones, so, if AddBoundary() is implemented and/or the kernel is symetric, it is safe to consider that the histogram will never be empty.
One histogram is created for each thread by the method NewHistogram(). The NewHistogram() method can be overiden to pass some parameters to the histogram.
The neighborhood is defined by a structuring element, and must a itk::Neighborhood object or a subclass. 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.
Definition at line 90 of file itkMovingHistogramImageFilterBase.h.
Classes | |
class | DirectionCost |
Public Types | |
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::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::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 |
Protected Attributes | |
OffsetMapType | m_AddedOffsets |
FixedArray< int, itkGetStaticConstMacro(ImageDimension) > | m_Axes |
OffsetListType | m_KernelOffsets |
SizeValueType | m_PixelsPerTranslation |
OffsetMapType | m_RemovedOffsets |
Protected Attributes inherited from itk::KernelImageFilter< TInputImage, TOutputImage, TKernel > | |
KernelType | m_Kernel |
Private Member Functions | |
MovingHistogramImageFilterBase (const Self &) | |
void | operator= (const Self &) |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
typedef SmartPointer< const Self > itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::ConstPointer |
Definition at line 98 of file itkMovingHistogramImageFilterBase.h.
typedef TInputImage::IndexType itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::IndexType |
Definition at line 112 of file itkMovingHistogramImageFilterBase.h.
typedef TInputImage itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::InputImageType |
Image related typedefs.
Definition at line 105 of file itkMovingHistogramImageFilterBase.h.
typedef KernelType::ConstIterator itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::KernelIteratorType |
Kernel (structuring element) iterator.
Definition at line 126 of file itkMovingHistogramImageFilterBase.h.
typedef TKernel itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::KernelType |
Kernel typedef.
Definition at line 123 of file itkMovingHistogramImageFilterBase.h.
typedef std::list< OffsetType > itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OffsetListType |
Definition at line 131 of file itkMovingHistogramImageFilterBase.h.
typedef std::map< OffsetType, OffsetListType, typename OffsetType::LexicographicCompare > itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OffsetMapType |
Definition at line 133 of file itkMovingHistogramImageFilterBase.h.
typedef TInputImage::OffsetType itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OffsetType |
Definition at line 114 of file itkMovingHistogramImageFilterBase.h.
typedef Superclass::OutputImageRegionType itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OutputImageRegionType |
Definition at line 115 of file itkMovingHistogramImageFilterBase.h.
typedef TOutputImage itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OutputImageType |
Definition at line 109 of file itkMovingHistogramImageFilterBase.h.
typedef TOutputImage::PixelType itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OutputPixelType |
Definition at line 116 of file itkMovingHistogramImageFilterBase.h.
typedef TInputImage::PixelType itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::PixelType |
Definition at line 113 of file itkMovingHistogramImageFilterBase.h.
typedef SmartPointer< Self > itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::Pointer |
Definition at line 97 of file itkMovingHistogramImageFilterBase.h.
typedef KernelType::SizeType itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::RadiusType |
n-dimensional Kernel radius.
Definition at line 129 of file itkMovingHistogramImageFilterBase.h.
typedef TInputImage::RegionType itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::RegionType |
Definition at line 110 of file itkMovingHistogramImageFilterBase.h.
typedef MovingHistogramImageFilterBase itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::Self |
Standard class typedefs.
Definition at line 95 of file itkMovingHistogramImageFilterBase.h.
typedef TInputImage::SizeType itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::SizeType |
Definition at line 111 of file itkMovingHistogramImageFilterBase.h.
typedef KernelImageFilter< TInputImage, TOutputImage, TKernel > itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::Superclass |
Definition at line 96 of file itkMovingHistogramImageFilterBase.h.
|
protected |
|
inlineprotected |
Definition at line 142 of file itkMovingHistogramImageFilterBase.h.
|
private |
|
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::KernelImageFilter< TInputImage, TOutputImage, TKernel >.
Reimplemented in itk::MovingHistogramMorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::less< TInputImage::PixelType > > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::greater< TInputImage::PixelType > > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologicalGradientHistogram< TInputImage::PixelType > >, itk::RankImageFilter< TInputImage, TOutputImage, TKernel >, itk::MaskedRankImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, THistogram >, itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, THistogram >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::less< TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::greater< TInputImage::PixelType > > >, and itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > >.
|
protected |
|
virtual |
Runtime information support.
Reimplemented from itk::KernelImageFilter< TInputImage, TOutputImage, TKernel >.
Reimplemented in itk::MovingHistogramMorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, THistogram >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::less< TInputImage::PixelType > > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::greater< TInputImage::PixelType > > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologicalGradientHistogram< TInputImage::PixelType > >, itk::RankImageFilter< TInputImage, TOutputImage, TKernel >, itk::MaskedRankImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel >, itk::MovingHistogramDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::MovingHistogramErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, THistogram >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::less< TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::greater< TInputImage::PixelType > > >, itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, THistogram >, and itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > >.
|
virtual |
|
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::KernelImageFilter< TInputImage, TOutputImage, TKernel >.
Reimplemented in itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, THistogram >, itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, Function::RankHistogram< TInputImage::PixelType > >, itk::RankImageFilter< TInputImage, TOutputImage, TKernel >, itk::MaskedRankImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, THistogram >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::less< TInputImage::PixelType > > >, and itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::greater< TInputImage::PixelType > > >.
|
virtual |
Set kernel (structuring element).
Reimplemented from itk::KernelImageFilter< TInputImage, TOutputImage, TKernel >.
|
static |
Image related typedefs.
Definition at line 120 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 153 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 159 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 157 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 161 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 154 of file itkMovingHistogramImageFilterBase.h.