|
ITK
5.2.0
Insight Toolkit
|
Go to the documentation of this file.
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>>
131 m_NormalizeAcrossScale = flag;
136 return m_NormalizeAcrossScale;
138 itkBooleanMacro(NormalizeAcrossScale);
147 m_Variance = variance;
176 constexpr
double Min = 0.00001;
177 const double Max = 1.0 - Min;
179 m_MaximumError = std::max(Min, std::min(Max, maxerror));
184 return m_MaximumError;
194 m_MaximumKernelWidth = n;
212 PrintSelf(std::ostream & os,
Indent i)
const override;
220 ModifiedBesselI0(
double);
225 ModifiedBesselI1(
double);
230 ModifiedBesselI(
int,
double);
234 GenerateCoefficients()
override;
240 this->FillCenteredDirectional(coeff);
247 GenerateGaussianCoefficients()
const;
253 return "itkGaussianDerivativeOperator";
257 bool m_NormalizeAcrossScale{
true };
260 double m_Variance{ 1.0 };
264 double m_MaximumError{ 0.005 };
269 unsigned int m_MaximumKernelWidth{ 30 };
272 unsigned int m_Order{ 1 };
275 double m_Spacing{ 1.0 };
280 #ifndef ITK_MANUAL_INSTANTIATION
281 # include "itkGaussianDerivativeOperator.hxx"
void SetOrder(const unsigned int order)
void SetMaximumKernelWidth(unsigned int n)
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
Virtual class that defines a common interface to all neighborhood operator subtypes.
Control indentation during Print() invocation.
bool GetNormalizeAcrossScale() const
typename Superclass::CoefficientVector CoefficientVector
const char * GetNameOfClass() const override
void SetVariance(const double variance)
void SetMaximumError(const double maxerror)
A NeighborhoodOperator whose coefficients are a one dimensional, discrete Gaussian kernel.
void SetNormalizeAcrossScale(bool flag)
GaussianDerivativeOperator class enum classes.
unsigned int GetOrder() const
double GetSpacing() const
void Fill(const CoefficientVector &coeff) override
double GetVariance() const
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
A NeighborhoodOperator for taking an n-th order derivative at a pixel.
void SetSpacing(const double spacing)
A NeighborhoodOperator whose coefficients are a one dimensional, discrete derivative Gaussian kernel.
std::vector< PixelRealType > CoefficientVector