18 #ifndef itkGaussianDerivativeOperator_h
19 #define itkGaussianDerivativeOperator_h
50 extern ITKCommon_EXPORT std::ostream &
105 template <
typename TPixel,
unsigned int VDimension = 2,
typename TAllocator = NeighborhoodAllocator<TPixel>>
134 m_NormalizeAcrossScale = flag;
139 return m_NormalizeAcrossScale;
141 itkBooleanMacro(NormalizeAcrossScale);
150 m_Variance = variance;
179 constexpr
double Min = 0.00001;
180 const double Max = 1.0 - Min;
182 m_MaximumError = std::max(Min, std::min(Max, maxerror));
187 return m_MaximumError;
197 m_MaximumKernelWidth = n;
199 itkGetConstMacro(MaximumKernelWidth,
unsigned int);
216 PrintSelf(std::ostream & os,
Indent indent)
const override;
220 using typename Superclass::CoefficientVector;
225 ModifiedBesselI0(
double);
230 ModifiedBesselI1(
double);
235 ModifiedBesselI(
int,
double);
239 GenerateCoefficients()
override;
245 this->FillCenteredDirectional(coeff);
252 GenerateGaussianCoefficients()
const;
255 bool m_NormalizeAcrossScale{
true };
258 double m_Variance{ 1.0 };
262 double m_MaximumError{ 0.005 };
267 unsigned int m_MaximumKernelWidth{ 30 };
270 unsigned int m_Order{ 1 };
273 double m_Spacing{ 1.0 };
278 #ifndef ITK_MANUAL_INSTANTIATION
279 # include "itkGaussianDerivativeOperator.hxx"