18 #ifndef __itkDiscreteGradientMagnitudeGaussianImageFunction_h
19 #define __itkDiscreteGradientMagnitudeGaussianImageFunction_h
46 template<
class TInputImage,
class TOutput =
double >
77 itkStaticConstMacro(ImageDimension2,
unsigned int,
78 InputImageType::ImageDimension);
113 virtual OutputType Evaluate(
const PointType & point)
const;
116 virtual OutputType EvaluateAtIndex(
const IndexType & index)
const;
119 virtual OutputType EvaluateAtContinuousIndex(
120 const ContinuousIndexType & index)
const;
126 itkSetMacro(Variance, VarianceArrayType);
127 itkGetConstMacro(Variance,
const VarianceArrayType);
128 itkSetVectorMacro(Variance,
double, VarianceArrayType::Length);
132 virtual void SetVariance(
double variance)
134 m_Variance.Fill(variance);
141 void SetSigma(
const double sigma)
143 SetVariance(sigma * sigma);
151 itkSetClampMacro(MaximumError,
double, 0.00001, 0.99999);
152 itkGetConstMacro(MaximumError,
double);
158 itkSetMacro(NormalizeAcrossScale,
bool);
159 itkGetConstMacro(NormalizeAcrossScale,
bool);
160 itkBooleanMacro(NormalizeAcrossScale);
164 itkSetMacro(UseImageSpacing,
bool);
165 itkGetConstMacro(UseImageSpacing,
bool);
166 itkBooleanMacro(UseImageSpacing);
173 itkSetMacro(MaximumKernelWidth,
unsigned int);
174 itkGetConstMacro(MaximumKernelWidth,
unsigned int);
178 itkSetMacro(InterpolationMode, InterpolationModeType);
179 itkGetConstMacro(InterpolationMode, InterpolationModeType);
186 virtual void SetInputImage(
const InputImageType *ptr);
200 void PrintSelf(std::ostream & os,
Indent indent)
const;
202 void RecomputeGaussianKernel();
243 #ifndef ITK_MANUAL_INSTANTIATION
244 #include "itkDiscreteGradientMagnitudeGaussianImageFunction.hxx"