18 #ifndef __itkDiscreteHessianGaussianImageFunction_h
19 #define __itkDiscreteHessianGaussianImageFunction_h
45 template<
class TInputImage,
class TOutput =
double >
48 SymmetricSecondRankTensor< TOutput, TInputImage::ImageDimension >,
80 itkStaticConstMacro(ImageDimension2,
unsigned int,
81 InputImageType::ImageDimension);
85 TInputImage::ImageDimension >
92 itkGetStaticConstMacro(ImageDimension2) >
119 virtual OutputType Evaluate(
const PointType & point)
const;
122 virtual OutputType EvaluateAtIndex(
const IndexType & index)
const;
125 virtual OutputType EvaluateAtContinuousIndex(
126 const ContinuousIndexType & index)
const;
132 itkSetMacro(Variance, VarianceArrayType);
133 itkGetConstMacro(Variance,
const VarianceArrayType);
134 itkSetVectorMacro(Variance,
double, VarianceArrayType::Length);
138 virtual void SetVariance(
double variance)
140 m_Variance.Fill(variance);
147 void SetSigma(
const double sigma)
149 SetVariance(sigma * sigma);
157 itkSetClampMacro(MaximumError,
double, 0.00001, 0.99999);
158 itkGetConstMacro(MaximumError,
double);
164 itkSetMacro(NormalizeAcrossScale,
bool);
165 itkGetConstMacro(NormalizeAcrossScale,
bool);
166 itkBooleanMacro(NormalizeAcrossScale);
170 itkSetMacro(UseImageSpacing,
bool);
171 itkGetConstMacro(UseImageSpacing,
bool);
172 itkBooleanMacro(UseImageSpacing);
179 itkSetMacro(MaximumKernelWidth,
unsigned int);
180 itkGetConstMacro(MaximumKernelWidth,
unsigned int);
184 itkSetMacro(InterpolationMode, InterpolationModeType);
185 itkGetConstMacro(InterpolationMode, InterpolationModeType);
192 virtual void SetInputImage(
const InputImageType *ptr);
206 void PrintSelf(std::ostream & os,
Indent indent)
const;
208 void RecomputeGaussianKernel();
249 #ifndef ITK_MANUAL_INSTANTIATION
250 #include "itkDiscreteHessianGaussianImageFunction.hxx"