18#ifndef itkMaskedMovingHistogramImageFilter_h
19#define itkMaskedMovingHistogramImageFilter_h
42template <
typename TInputImage,
typename TMaskImage,
typename TOutputImage,
typename TKernel,
typename THistogram>
70 using typename Superclass::OutputImageRegionType;
81 this->SetNthInput(1,
const_cast<TMaskImage *
>(input));
95 this->SetInput(input);
102 this->SetMaskImage(input);
106 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
119 using OffsetMapType =
typename std::map<OffsetType, OffsetListType, Functor::LexicographicCompare>;
129 using Superclass::MakeOutput;
145 itkGetConstMacro(GenerateOutputMask,
bool);
146 itkBooleanMacro(GenerateOutputMask);
176 bool m_GenerateOutputMask{};
186#ifndef ITK_MANUAL_INSTANTIATION
187# include "itkMaskedMovingHistogramImageFilter.hxx"
typename TInputImage::RegionType RegionType
typename TInputImage::SizeType SizeType
typename TInputImage::PixelType InputPixelType
typename TInputImage::SizeType RadiusType
typename TInputImage::IndexType IndexType
typename TOutputImage::PixelType OutputPixelType
typename TInputImage::OffsetType OffsetType
Base class for all data objects in ITK.
Base class for all process objects that output image data.
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
Superclass::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
TInputImage InputImageType
Control indentation during Print() invocation.
DataObject::Pointer MakeOutput(DataObjectPointerArraySizeType idx) override
void pushHistogram(HistogramType &histogram, const OffsetListType *addedList, const OffsetListType *removedList, const RegionType &inputRegion, const RegionType &kernRegion, const InputImageType *inputImage, const MaskImageType *maskImage, const IndexType currentIdx)
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
typename MaskImageType::PixelType MaskPixelType
void PrintSelf(std::ostream &os, Indent indent) const override
void SetInput1(const InputImageType *input)
void SetInput2(const MaskImageType *input)
MaskedMovingHistogramImageFilter()
~MaskedMovingHistogramImageFilter() override=default
void SetMaskImage(const MaskImageType *input)
MaskImageType * GetMaskImage()
void SetGenerateOutputMask(bool)
virtual void ConfigureHistogram(THistogram &)
MaskImageType * GetOutputMask()
void AllocateOutputs() override
Implements a generic moving histogram algorithm.
typename std::map< OffsetType, OffsetListType, Functor::LexicographicCompare > OffsetMapType
typename std::list< OffsetType > OffsetListType
typename KernelType::ConstIterator KernelIteratorType
typename TInputImage::PixelType PixelType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
DataObject * GetInput(const DataObjectIdentifierType &key)
Return an input.
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....