18#ifndef itkAdaptiveNonLocalMeansDenoisingImageFilter_h
19#define itkAdaptiveNonLocalMeansDenoisingImageFilter_h
47template <
typename TInputImage,
48 typename TOutputImage = TInputImage,
79 using LabelType =
typename MaskImageType::PixelType;
121 const MaskImageType *
131 itkSetMacro(UseRicianNoiseModel,
bool);
132 itkGetConstMacro(UseRicianNoiseModel,
bool);
133 itkBooleanMacro(UseRicianNoiseModel);
218#ifndef ITK_MANUAL_INSTANTIATION
219# include "itkAdaptiveNonLocalMeansDenoisingImageFilter.hxx"
typename Superclass::NeighborhoodRadiusType NeighborhoodRadiusType
RealImagePointer m_VarianceImage
RealImagePointer m_MeanImage
RealImagePointer m_RicianBiasImage
typename Superclass::RealType RealType
typename Superclass::RealImagePointer RealImagePointer
RealType m_SmoothingVariance
void ThreadedGenerateData(const RegionType &, ThreadIdType) override
typename Superclass::NeighborhoodOffsetType NeighborhoodOffsetType
static constexpr unsigned int ImageDimension
void PrintSelf(std::ostream &os, Indent indent) const override
void AfterThreadedGenerateData() override
TInputImage InputImageType
GaussianOperator< RealType > ModifiedBesselCalculatorType
RealType m_MinimumInputPixelIntensity
RealImagePointer m_ThreadContributionCountImage
bool m_UseRicianNoiseModel
typename Superclass::RegionType RegionType
RealType m_MaximumInputPixelIntensity
RealType m_VarianceThreshold
typename MaskImageType::PixelType MaskPixelType
TOutputImage OutputImageType
typename Superclass::ConstNeighborhoodIteratorType ConstNeighborhoodIteratorType
AdaptiveNonLocalMeansDenoisingImageFilter Self
void SetInput1(const InputImageType *image)
void SetInput2(const MaskImageType *mask)
RealType CalculateCorrectionFactor(RealType)
NeighborhoodRadiusType m_NeighborhoodRadiusForLocalMeanAndVariance
typename InputImageType::PixelType InputPixelType
NonLocalPatchBasedImageFilter< TInputImage, TOutputImage > Superclass
typename Superclass::RealImageType RealImageType
ModifiedBesselCalculatorType m_ModifiedBesselCalculator
void BeforeThreadedGenerateData() override
typename Superclass::IndexType IndexType
RealImagePointer m_IntensitySquaredDistanceImage
SmartPointer< const Self > ConstPointer
RealType m_SmoothingFactor
AdaptiveNonLocalMeansDenoisingImageFilter()
typename MaskImageType::PixelType LabelType
~AdaptiveNonLocalMeansDenoisingImageFilter() override=default
typename Superclass::NeighborhoodOffsetListType NeighborhoodOffsetListType
const MaskImageType * GetMaskImage() const
SmartPointer< Self > Pointer
void SetMaskImage(const MaskImageType *mask)
A NeighborhoodOperator whose coefficients are a one dimensional, discrete Gaussian kernel.
virtual void SetInput(const InputImageType *input)
Templated n-dimensional image class.
Control indentation during Print() invocation.
NonLocalPatchBasedImageFilter()
typename RealImageType::IndexType IndexType
Image< RealType, ImageDimension > RealImageType
typename RealImageType::Pointer RealImagePointer
typename ConstNeighborhoodIteratorType::RadiusType NeighborhoodRadiusType
typename InputImageType::RegionType RegionType
typename ConstNeighborhoodIteratorType::OffsetType NeighborhoodOffsetType
std::vector< NeighborhoodOffsetType > NeighborhoodOffsetListType
ConstNeighborhoodIterator< InputImageType > ConstNeighborhoodIteratorType
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....
unsigned int ThreadIdType