18#ifndef itkGaussianOperator_h
19#define itkGaussianOperator_h
68template <
typename TPixel,
unsigned int VDimension = 2,
typename TAllocator = NeighborhoodAllocator<TPixel>>
84 m_Variance = variance;
94 if (max_error >= 1 || max_error <= 0)
96 itkExceptionMacro(
"Maximum Error Must be in the range [ 0.0 , 1.0 ]");
99 m_MaximumError = max_error;
116 return m_MaximumError;
126 m_MaximumKernelWidth = n;
133 return m_MaximumKernelWidth;
139 Superclass::PrintSelf(os, indent);
141 os << indent <<
"Variance: " << m_Variance << std::endl;
142 os << indent <<
"MaximumError: " << m_MaximumError << std::endl;
143 os << indent <<
"MaximumKernelWidth: " << m_MaximumKernelWidth << std::endl;
204 this->FillCenteredDirectional(coeff);
209 double m_Variance{ 1 };
213 double m_MaximumError{ .01 };
218 unsigned int m_MaximumKernelWidth{ 30 };
221 mutable bool m_Debug{
false };
225#ifndef ITK_MANUAL_INSTANTIATION
226# include "itkGaussianOperator.hxx"
A NeighborhoodOperator whose coefficients are a one dimensional, discrete Gaussian kernel.
double ModifiedBesselI1(double)
double ModifiedBesselI0(double)
void SetMaximumError(const double max_error)
void SetMaximumKernelWidth(unsigned int n)
double ModifiedBesselI(int, double)
void Fill(const CoefficientVector &coeff) override
void SetVariance(const double variance)
void PrintSelf(std::ostream &os, Indent indent) const override
unsigned int GetMaximumKernelWidth() const
void SetDebug(bool debugFlag) const
typename std::vector< PixelRealType > CoefficientVector
CoefficientVector GenerateCoefficients() override
Control indentation during Print() invocation.
Virtual class that defines a common interface to all neighborhood operator subtypes.
typename std::vector< PixelRealType > CoefficientVector
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....