18 #ifndef itkGaussianDerivativeOperator_h
19 #define itkGaussianDerivativeOperator_h
49 extern ITKCommon_EXPORT std::ostream &
104 template <
typename TPixel,
unsigned int VDimension = 2,
typename TAllocator = NeighborhoodAllocator<TPixel>>
133 m_NormalizeAcrossScale = flag;
138 return m_NormalizeAcrossScale;
140 itkBooleanMacro(NormalizeAcrossScale);
149 m_Variance = variance;
178 constexpr
double Min = 0.00001;
179 const double Max = 1.0 - Min;
181 m_MaximumError = std::clamp(maxerror, Min, Max);
186 return m_MaximumError;
196 m_MaximumKernelWidth = n;
198 itkGetConstMacro(MaximumKernelWidth,
unsigned int);
215 PrintSelf(std::ostream & os,
Indent indent)
const override;
219 using typename Superclass::CoefficientVector;
224 ModifiedBesselI0(
double);
229 ModifiedBesselI1(
double);
234 ModifiedBesselI(
int,
double);
238 GenerateCoefficients()
override;
244 this->FillCenteredDirectional(coeff);
251 GenerateGaussianCoefficients()
const;
254 bool m_NormalizeAcrossScale{
true };
257 double m_Variance{ 1.0 };
261 double m_MaximumError{ 0.005 };
266 unsigned int m_MaximumKernelWidth{ 30 };
269 unsigned int m_Order{ 1 };
272 double m_Spacing{ 1.0 };
277 #ifndef ITK_MANUAL_INSTANTIATION
278 # include "itkGaussianDerivativeOperator.hxx"