18 #ifndef itkDiscreteGaussianDerivativeImageFunction_h
19 #define itkDiscreteGaussianDerivativeImageFunction_h
46 template<
typename TInputImage,
typename TOutput =
double >
77 itkStaticConstMacro(ImageDimension2,
unsigned int,
78 InputImageType::ImageDimension);
110 virtual OutputType Evaluate(
const PointType & point)
const ITK_OVERRIDE;
113 virtual OutputType EvaluateAtIndex(
const IndexType & index)
const ITK_OVERRIDE;
116 virtual OutputType EvaluateAtContinuousIndex(
117 const ContinuousIndexType & index)
const ITK_OVERRIDE;
125 itkSetMacro(Variance, VarianceArrayType);
126 itkGetConstMacro(Variance,
const VarianceArrayType);
127 itkSetVectorMacro(Variance,
double, VarianceArrayType::Length);
133 m_Variance.Fill(variance);
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);
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) ITK_OVERRIDE;
216 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
218 void RecomputeGaussianKernel();
258 #ifndef ITK_MANUAL_INSTANTIATION
259 #include "itkDiscreteGaussianDerivativeImageFunction.hxx"
void SetSigma(const double sigma)
Light weight base class for most itk classes.
SmartPointer< Self > Pointer
FixedArray< GaussianDerivativeOperatorType, itkGetStaticConstMacro(ImageDimension2) > GaussianDerivativeOperatorArrayType
signed long IndexValueType
DiscreteGaussianDerivativeImageFunction Self
SmartPointer< const Self > ConstPointer
Compute the convolution of a neighborhood operator with the image at a specific location in space...
DiscreteGaussianDerivativeImageFunction(const Self &)
OperatorImageFunctionPointer m_OperatorImageFunction
Compute the discrete gaussian derivatives of an the image at a specific location in space...
FixedArray< double, itkGetStaticConstMacro(ImageDimension2) > VarianceArrayType
virtual void Initialize()
FixedArray< unsigned int, itkGetStaticConstMacro(ImageDimension2) > OrderArrayType
ImageBaseType::PointType PointType
A NeighborhoodOperator whose coefficients are a one dimensional, discrete derivative Gaussian kernel...
Superclass::InputPixelType InputPixelType
bool m_NormalizeAcrossScale
Superclass::OutputType OutputType
InterpolationModeType m_InterpolationMode
NeighborhoodOperatorImageFunction< InputImageType, TOutput > OperatorImageFunctionType
unsigned int m_MaximumKernelWidth
Neighborhood< TOutput, itkGetStaticConstMacro(ImageDimension2) > KernelType
Superclass::PointType PointType
~DiscreteGaussianDerivativeImageFunction()
void operator=(const Self &)
KernelType m_DerivativeKernel
Superclass::ContinuousIndexType ContinuousIndexType
VarianceArrayType m_Variance
Control indentation during Print() invocation.
virtual void SetOrder(unsigned int order)
Superclass::InputImageType InputImageType
OperatorImageFunctionType::Pointer OperatorImageFunctionPointer
virtual void SetVariance(double variance)
Superclass::IndexType IndexType
Superclass::IndexValueType IndexValueType
ImageFunction< TInputImage, TOutput, TOutput > Superclass
Evaluates a function of an image at specified position.
itk::GaussianDerivativeOperator< TOutput, itkGetStaticConstMacro(ImageDimension2) > GaussianDerivativeOperatorType
ImageBaseType::IndexType IndexType
GaussianDerivativeOperatorArrayType m_OperatorArray