18#ifndef itkBilateralImageFilter_h
19#define itkBilateralImageFilter_h
74template <
typename TInputImage,
typename TOutputImage>
97 using typename Superclass::OutputImageRegionType;
109 static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
134 itkSetMacro(DomainMu,
double);
135 itkGetConstReferenceMacro(DomainMu,
double);
136 itkSetMacro(RangeSigma,
double);
137 itkGetConstMacro(RangeSigma,
double);
138 itkGetConstMacro(FilterDimensionality,
unsigned int);
139 itkSetMacro(FilterDimensionality,
unsigned int);
147 m_DomainSigma.Fill(v);
155 itkBooleanMacro(AutomaticKernelSize);
156 itkGetConstMacro(AutomaticKernelSize,
bool);
157 itkSetMacro(AutomaticKernelSize,
bool);
171 itkSetMacro(NumberOfRangeGaussianSamples,
unsigned long);
172 itkGetConstMacro(NumberOfRangeGaussianSamples,
unsigned long);
175#ifdef ITK_USE_CONCEPT_CHECKING
213 double m_RangeSigma{};
225 unsigned int m_FilterDimensionality{};
230 bool m_AutomaticKernelSize{};
233 unsigned long m_NumberOfRangeGaussianSamples{};
234 double m_DynamicRange{};
235 double m_DynamicRangeUsed{};
236 std::vector<double> m_RangeGaussianTable{};
240#ifndef ITK_MANUAL_INSTANTIATION
241# include "itkBilateralImageFilter.hxx"
Blurs an image while preserving edges.
typename TInputImage::PixelType InputPixelType
void SetDomainSigma(const double v)
void SetRadius(const SizeValueType)
typename TOutputImage::PixelType OutputPixelType
typename TInputImage::InternalPixelType InputInternalPixelType
typename KernelType::SizeType SizeType
~BilateralImageFilter() override=default
void BeforeThreadedGenerateData() override
typename KernelType::ConstIterator KernelConstIteratorType
void GenerateInputRequestedRegion() override
typename KernelType::SizeValueType SizeValueType
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
typename TOutputImage::InternalPixelType OutputInternalPixelType
typename NumericTraits< OutputPixelType >::RealType OutputPixelRealType
void PrintSelf(std::ostream &os, Indent indent) const override
typename KernelType::Iterator KernelIteratorType
Base class for all process objects that output image data.
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
Base class for filters that take an image as input and produce an image as output.
TInputImage InputImageType
Templated n-dimensional image class.
Control indentation during Print() invocation.
typename AllocatorType::iterator Iterator
typename AllocatorType::const_iterator ConstIterator
Define additional traits for native types such as int or float.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
#define itkConceptMacro(name, concept)
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType