18 #ifndef __itkDiscreteHessianGaussianImageFunction_h
19 #define __itkDiscreteHessianGaussianImageFunction_h
45 template<
class TInputImage,
class TOutput =
double >
48 SymmetricSecondRankTensor< TOutput, ::itk::GetImageDimension< TInputImage >::ImageDimension >,
80 itkStaticConstMacro(ImageDimension2,
unsigned int,
81 InputImageType::ImageDimension);
91 itkGetStaticConstMacro(ImageDimension2) >
117 virtual OutputType Evaluate(
const PointType & point)
const;
120 virtual OutputType EvaluateAtIndex(
const IndexType & index)
const;
123 virtual OutputType EvaluateAtContinuousIndex(
124 const ContinuousIndexType & index)
const;
130 itkSetMacro(Variance, VarianceArrayType);
131 itkGetConstMacro(Variance,
const VarianceArrayType);
132 itkSetVectorMacro(Variance,
double, VarianceArrayType::Length);
136 virtual void SetVariance(
double variance)
138 m_Variance.Fill(variance);
145 void SetSigma(
const double sigma)
147 SetVariance(sigma * sigma);
155 itkSetClampMacro(MaximumError,
double, 0.00001, 0.99999);
156 itkGetConstMacro(MaximumError,
double);
162 itkSetMacro(NormalizeAcrossScale,
bool);
163 itkGetConstMacro(NormalizeAcrossScale,
bool);
164 itkBooleanMacro(NormalizeAcrossScale);
168 itkSetMacro(UseImageSpacing,
bool);
169 itkGetConstMacro(UseImageSpacing,
bool);
170 itkBooleanMacro(UseImageSpacing);
177 itkSetMacro(MaximumKernelWidth,
unsigned int);
178 itkGetConstMacro(MaximumKernelWidth,
unsigned int);
182 itkSetMacro(InterpolationMode, InterpolationModeType);
183 itkGetConstMacro(InterpolationMode, InterpolationModeType);
190 virtual void SetInputImage(
const InputImageType *ptr);
203 void PrintSelf(std::ostream & os,
Indent indent)
const;
205 void RecomputeGaussianKernel();
247 #include "itkDiscreteHessianGaussianImageFunction.hxx"