18 #ifndef __itkDiscreteGaussianDerivativeImageFunction_h
19 #define __itkDiscreteGaussianDerivativeImageFunction_h
46 template<
class TInputImage,
class TOutput =
double >
77 itkStaticConstMacro(ImageDimension2,
unsigned int,
78 InputImageType::ImageDimension);
110 virtual OutputType Evaluate(
const PointType & point)
const;
113 virtual OutputType EvaluateAtIndex(
const IndexType & index)
const;
116 virtual OutputType EvaluateAtContinuousIndex(
117 const ContinuousIndexType & index)
const;
125 itkSetMacro(Variance, VarianceArrayType);
126 itkGetConstMacro(Variance,
const VarianceArrayType);
127 itkSetVectorMacro(Variance,
double, VarianceArrayType::Length);
131 virtual void SetVariance(
double variance)
133 m_Variance.Fill(variance);
141 void SetSigma(
const double sigma)
143 SetVariance(sigma * sigma);
152 itkSetClampMacro(MaximumError,
double, 0.00001, 0.99999);
153 itkGetConstMacro(MaximumError,
double);
157 itkSetMacro(Order, OrderArrayType);
158 itkGetConstMacro(Order,
const OrderArrayType);
159 itkSetVectorMacro(Order,
unsigned int, OrderArrayType::Length);
163 virtual void SetOrder(
unsigned int order)
173 itkSetMacro(NormalizeAcrossScale,
bool);
174 itkGetConstMacro(NormalizeAcrossScale,
bool);
175 itkBooleanMacro(NormalizeAcrossScale);
179 itkSetMacro(UseImageSpacing,
bool);
180 itkGetConstMacro(UseImageSpacing,
bool);
181 itkBooleanMacro(UseImageSpacing);
188 itkSetMacro(MaximumKernelWidth,
unsigned int);
189 itkGetConstMacro(MaximumKernelWidth,
unsigned int);
193 itkSetMacro(InterpolationMode, InterpolationModeType);
194 itkGetConstMacro(InterpolationMode, InterpolationModeType);
201 virtual void SetInputImage(
const InputImageType *ptr);
216 void PrintSelf(std::ostream & os,
Indent indent)
const;
218 void RecomputeGaussianKernel();
258 #ifndef ITK_MANUAL_INSTANTIATION
259 #include "itkDiscreteGaussianDerivativeImageFunction.hxx"