18#ifndef itkMaskedMovingHistogramImageFilter_h
19#define itkMaskedMovingHistogramImageFilter_h
42template <
typename TInputImage,
typename TMaskImage,
typename TOutputImage,
typename TKernel,
typename THistogram>
66 using SizeType =
typename TInputImage::SizeType;
81 this->
SetNthInput(1,
const_cast<TMaskImage *
>(input));
119 using OffsetMapType =
typename std::map<OffsetType, OffsetListType, Functor::LexicographicCompare>;
145 itkGetConstMacro(GenerateOutputMask,
bool);
146 itkBooleanMacro(GenerateOutputMask);
186#ifndef ITK_MANUAL_INSTANTIATION
187# include "itkMaskedMovingHistogramImageFilter.hxx"
Base class for all data objects in ITK.
SmartPointer< Self > Pointer
typename OutputImageType::RegionType OutputImageRegionType
ProcessObject::DataObjectPointer MakeOutput(ProcessObject::DataObjectPointerArraySizeType idx) override
typename OutputImageType::RegionType OutputImageRegionType
virtual void SetInput(const InputImageType *input)
Control indentation during Print() invocation.
typename TInputImage::IndexType IndexType
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
MaskedMovingHistogramImageFilter Self
SmartPointer< const Self > ConstPointer
typename std::list< OffsetType > OffsetListType
MaskPixelType m_MaskValue
typename MaskImageType::PixelType MaskPixelType
TInputImage InputImageType
typename TInputImage::OffsetType OffsetType
void PrintSelf(std::ostream &os, Indent indent) const override
typename TInputImage::SizeType SizeType
TOutputImage OutputImageType
void SetInput1(const InputImageType *input)
void SetInput2(const MaskImageType *input)
MaskedMovingHistogramImageFilter()
~MaskedMovingHistogramImageFilter() override=default
SmartPointer< Self > Pointer
typename KernelType::SizeType RadiusType
void SetMaskImage(const MaskImageType *input)
MaskImageType * GetMaskImage()
void SetGenerateOutputMask(bool)
virtual void ConfigureHistogram(THistogram &)
typename std::map< OffsetType, OffsetListType, Functor::LexicographicCompare > OffsetMapType
typename TInputImage::PixelType PixelType
typename TInputImage::PixelType InputPixelType
bool m_GenerateOutputMask
MaskImageType * GetOutputMask()
void AllocateOutputs() override
MaskPixelType m_BackgroundMaskValue
OutputPixelType m_FillValue
static constexpr unsigned int ImageDimension
typename KernelType::ConstIterator KernelIteratorType
MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel > Superclass
typename TOutputImage::PixelType OutputPixelType
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
typename TInputImage::RegionType RegionType
MovingHistogramImageFilterBase()
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
virtual void SetNthInput(DataObjectPointerArraySizeType idx, DataObject *input)
DataObject * GetInput(const DataObjectIdentifierType &key)
Return an input.
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....