#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 symmetric, 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 overridden 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 91 of file itkMovingHistogramImageFilterBase.h.
Classes | |
class | DirectionCost |
Public Types | |
using | ConstPointer = SmartPointer<const Self> |
using | IndexType = typename TInputImage::IndexType |
using | InputImageType = TInputImage |
using | KernelIteratorType = typename KernelType::ConstIterator |
using | KernelType = TKernel |
using | OffsetListType = typename std::list<OffsetType> |
using | OffsetMapType = typename std::map<OffsetType, OffsetListType, Functor::LexicographicCompare> |
using | OffsetType = typename TInputImage::OffsetType |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename TOutputImage::PixelType |
using | PixelType = typename TInputImage::PixelType |
using | Pointer = SmartPointer<Self> |
using | RadiusType = typename KernelType::SizeType |
using | RegionType = typename TInputImage::RegionType |
using | Self = MovingHistogramImageFilterBase |
using | SizeType = typename TInputImage::SizeType |
using | Superclass = KernelImageFilter<TInputImage, TOutputImage, TKernel> |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | FlatKernelType = FlatStructuringElement<(Self::ImageDimension)> |
using | IndexType = typename TInputImage::IndexType |
using | InputImageType = TInputImage |
using | InputPixelType = typename TInputImage::PixelType |
using | KernelType = TKernel |
using | OffsetType = typename TInputImage::OffsetType |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename TOutputImage::PixelType |
using | Pointer = SmartPointer<Self> |
using | RadiusType = typename TInputImage::SizeType |
using | RegionType = typename TInputImage::RegionType |
using | Self = KernelImageFilter |
using | SizeType = typename TInputImage::SizeType |
using | Superclass = BoxImageFilter<TInputImage, TOutputImage> |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | IndexType = typename TInputImage::IndexType |
using | InputImageType = TInputImage |
using | InputPixelType = typename TInputImage::PixelType |
using | OffsetType = typename TInputImage::OffsetType |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename TOutputImage::PixelType |
using | Pointer = SmartPointer<Self> |
using | RadiusType = typename TInputImage::SizeType |
using | RadiusValueType = SizeValueType |
using | RegionType = typename TInputImage::RegionType |
using | Self = BoxImageFilter |
using | SizeType = typename TInputImage::SizeType |
using | Superclass = ImageToImageFilter<TInputImage, TOutputImage> |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | OutputImagePixelType |
using | OutputImageRegionType |
using | Pointer = SmartPointer<Self> |
using | Self = ImageToImageFilter |
using | Superclass = ImageSource<TOutputImage> |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArraySizeType = Superclass::DataObjectPointerArraySizeType |
using | OutputImagePixelType = typename OutputImageType::PixelType |
using | OutputImagePointer = typename OutputImageType::Pointer |
using | OutputImageRegionType = typename OutputImageType::RegionType |
using | OutputImageType = TOutputImage |
using | Pointer = SmartPointer<Self> |
using | Self = ImageSource |
using | Superclass = ProcessObject |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArray = std::vector<DataObjectPointer> |
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
using | MultiThreaderType = MultiThreaderBase |
using | NameArray = std::vector<DataObjectIdentifierType> |
using | Pointer = SmartPointer<Self> |
using | Self = ProcessObject |
using | Superclass = Object |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = Object |
using | Superclass = LightObject |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = LightObject |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
![]() | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
![]() | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Attributes | |
OffsetMapType | m_AddedOffsets {} |
FixedArray< int, Self::ImageDimension > | m_Axes {} |
OffsetListType | m_KernelOffsets {} |
SizeValueType | m_PixelsPerTranslation {} |
OffsetMapType | m_RemovedOffsets {} |
![]() | |
KernelType | m_Kernel {} |
![]() | |
bool | m_DynamicMultiThreading { true } |
![]() | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
Additional Inherited Members | |
![]() | |
using | InputToOutputRegionCopierType |
using | OutputToInputRegionCopierType |
![]() | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
![]() | |
template<typename TSourceObject> | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::ConstPointer = SmartPointer<const Self> |
Definition at line 100 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::IndexType = typename TInputImage::IndexType |
Definition at line 113 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::InputImageType = TInputImage |
Image related type alias.
Definition at line 109 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::KernelIteratorType = typename KernelType::ConstIterator |
Kernel (structuring element) iterator.
Definition at line 126 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::KernelType = TKernel |
Kernel type alias.
Definition at line 123 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OffsetListType = typename std::list<OffsetType> |
Definition at line 131 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OffsetMapType = typename std::map<OffsetType, OffsetListType, Functor::LexicographicCompare> |
Definition at line 133 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OffsetType = typename TInputImage::OffsetType |
Definition at line 115 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OutputImageType = TOutputImage |
Definition at line 110 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::OutputPixelType = typename TOutputImage::PixelType |
Definition at line 117 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::PixelType = typename TInputImage::PixelType |
Definition at line 114 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::Pointer = SmartPointer<Self> |
Definition at line 99 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::RadiusType = typename KernelType::SizeType |
n-dimensional Kernel radius.
Definition at line 129 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::RegionType = typename TInputImage::RegionType |
Definition at line 111 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::Self = MovingHistogramImageFilterBase |
Standard class type aliases.
Definition at line 97 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::SizeType = typename TInputImage::SizeType |
Definition at line 112 of file itkMovingHistogramImageFilterBase.h.
using itk::MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel >::Superclass = KernelImageFilter<TInputImage, TOutputImage, TKernel> |
Definition at line 98 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
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::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, THistogram >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::greater< TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::less< TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::greater< typename TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::greater< typename TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::less< typename TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::less< typename TInputImage::PixelType > > >, and itk::RankImageFilter< TInputImage, TOutputImage, TKernel >.
|
protected |
|
virtual |
Reimplemented from itk::KernelImageFilter< TInputImage, TOutputImage, TKernel >.
Reimplemented in itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >, itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, THistogram >, itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, FlatStructuringElement< TInputImage::ImageDimension >, Function::RankHistogram< TInputImage::PixelType > >, itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, Function::RankHistogram< typename TInputImage::PixelType > >, itk::MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, Function::RankHistogram< typename TInputImage::PixelType > >, itk::MaskedRankImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel >, itk::MovingHistogramDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::MovingHistogramErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, THistogram >, itk::MovingHistogramImageFilter< TImageType, TImageType, Neighborhood< bool, TImageType::ImageDimension >, Function::AdaptiveEqualizationHistogram< TImageType::PixelType, TImageType::PixelType > >, itk::MovingHistogramImageFilter< TImageType, TImageType, TKernel, typename Function::AdaptiveEqualizationHistogram< typename TImageType::PixelType, typename TImageType::PixelType > >, itk::MovingHistogramImageFilter< TImageType, TImageType, TKernel, typename Function::AdaptiveEqualizationHistogram< typename TImageType::PixelType, typename TImageType::PixelType > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, FlatStructuringElement< TInputImage::ImageDimension >, Function::RankHistogram< TInputImage::PixelType > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologicalGradientHistogram< TInputImage::PixelType > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::greater< TInputImage::PixelType > > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::less< TInputImage::PixelType > > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< typename TInputImage::PixelType > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, Function::RankHistogram< typename TInputImage::PixelType > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologicalGradientHistogram< typename TInputImage::PixelType > >, itk::MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologicalGradientHistogram< typename TInputImage::PixelType > >, itk::MovingHistogramMorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, THistogram >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::greater< TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::less< TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::greater< typename TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::greater< typename TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::less< typename TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::less< typename TInputImage::PixelType > > >, and itk::RankImageFilter< TInputImage, TOutputImage, TKernel >.
References MovingHistogramImageFilterBase().
|
virtual |
|
static |
Standard New method.
|
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 >.
Reimplemented in itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, THistogram >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::greater< TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, Function::MorphologyHistogram< TInputImage::PixelType, std::less< TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::greater< typename TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::greater< typename TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::less< typename TInputImage::PixelType > > >, itk::MovingHistogramMorphologyImageFilter< TInputImage, TOutputImage, TKernel, typename Function::MorphologyHistogram< typename TInputImage::PixelType, typename std::less< typename TInputImage::PixelType > > >, and itk::RankImageFilter< TInputImage, TOutputImage, TKernel >.
|
overridevirtual |
Set kernel (structuring element).
Reimplemented from itk::KernelImageFilter< TInputImage, TOutputImage, TKernel >.
|
staticconstexpr |
Image related type alias.
Definition at line 120 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 156 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 162 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 160 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 164 of file itkMovingHistogramImageFilterBase.h.
|
protected |
Definition at line 157 of file itkMovingHistogramImageFilterBase.h.