18 #ifndef itkDiscreteGradientMagnitudeGaussianImageFunction_h
19 #define itkDiscreteGradientMagnitudeGaussianImageFunction_h
46 template<
typename TInputImage,
typename TOutput =
double >
77 static constexpr
unsigned int ImageDimension2 = InputImageType::ImageDimension;
87 Self::ImageDimension2 >;
91 2 *Self::ImageDimension2 >;
111 OutputType Evaluate(
const PointType & point)
const override;
114 OutputType EvaluateAtIndex(
const IndexType & index)
const override;
117 OutputType EvaluateAtContinuousIndex(
118 const ContinuousIndexType & index)
const override;
124 itkSetMacro(Variance, VarianceArrayType);
125 itkGetConstMacro(Variance,
const VarianceArrayType);
126 itkSetVectorMacro(Variance,
double, VarianceArrayType::Length);
132 m_Variance.Fill(variance);
141 SetVariance(sigma * sigma);
149 itkSetClampMacro(MaximumError,
double, 0.00001, 0.99999);
150 itkGetConstMacro(MaximumError,
double);
156 itkSetMacro(NormalizeAcrossScale,
bool);
157 itkGetConstMacro(NormalizeAcrossScale,
bool);
158 itkBooleanMacro(NormalizeAcrossScale);
162 itkSetMacro(UseImageSpacing,
bool);
163 itkGetConstMacro(UseImageSpacing,
bool);
164 itkBooleanMacro(UseImageSpacing);
171 itkSetMacro(MaximumKernelWidth,
unsigned int);
172 itkGetConstMacro(MaximumKernelWidth,
unsigned int);
176 itkSetMacro(InterpolationMode, InterpolationModeType);
177 itkGetConstMacro(InterpolationMode, InterpolationModeType);
184 void SetInputImage(
const InputImageType *ptr)
override;
198 void PrintSelf(std::ostream & os,
Indent indent)
const override;
200 void RecomputeGaussianKernel();
241 #ifndef ITK_MANUAL_INSTANTIATION
242 #include "itkDiscreteGradientMagnitudeGaussianImageFunction.hxx"
~DiscreteGradientMagnitudeGaussianImageFunction() override
Light weight base class for most itk classes.
typename Superclass::ContinuousIndexType ContinuousIndexType
typename Superclass::PointType PointType
void operator=(const Self &)
DiscreteGradientMagnitudeGaussianImageFunction(const Self &)
InterpolationModeType m_InterpolationMode
GaussianDerivativeOperatorArrayType m_OperatorArray
Compute the convolution of a neighborhood operator with the image at a specific location in space...
KernelArrayType m_KernelArray
virtual void SetVariance(double variance)
typename Superclass::IndexValueType IndexValueType
VarianceArrayType m_Variance
virtual void Initialize()
unsigned int m_MaximumKernelWidth
A NeighborhoodOperator whose coefficients are a one dimensional, discrete derivative Gaussian kernel...
ImageBaseType::IndexType IndexType
Compute the discrete gradient magnitude gaussian of an the image at a specific location in space...
signed long IndexValueType
OperatorImageFunctionPointer m_OperatorImageFunction
bool m_NormalizeAcrossScale
typename Superclass::IndexType IndexType
Control indentation during Print() invocation.
ImageBaseType::PointType PointType
typename Superclass::InputImageType InputImageType
typename Superclass::InputPixelType InputPixelType
void SetSigma(const double sigma)
typename Superclass::OutputType OutputType
Evaluates a function of an image at specified position.
typename OperatorImageFunctionType::Pointer OperatorImageFunctionPointer