17 #ifndef __itkGaussianInterpolateImageFunction_h
18 #define __itkGaussianInterpolateImageFunction_h
24 #include "vnl/vnl_erf.h"
50 template <
class TInputImage,
class TCoordRep =
double>
68 itkStaticConstMacro( ImageDimension,
unsigned int,
69 TInputImage::ImageDimension );
93 virtual void SetInputImage(
const TInputImage *image )
95 Superclass::SetInputImage( image );
96 this->ComputeBoundingBox();
105 itkDebugMacro(
"setting Sigma to " << s );
106 if( this->m_Sigma != s )
109 this->ComputeBoundingBox();
116 for(
unsigned int d = 0; d < ImageDimension; d++ )
120 this->SetSigma( sigma );
122 itkGetConstMacro( Sigma, ArrayType );
130 itkDebugMacro(
"setting Alpha to " << a );
131 if( this->m_Alpha != a )
134 this->ComputeBoundingBox();
138 itkGetConstMacro( Alpha, RealType );
146 this->SetSigma( sigma );
147 this->SetAlpha( alpha );
157 return this->EvaluateAtContinuousIndex( cindex,
NULL );
163 void PrintSelf( std::ostream& os,
Indent indent )
const;
165 virtual void ComputeBoundingBox();
167 virtual void ComputeErrorFunctionArray(
unsigned int dimension, RealType cindex,
168 vnl_vector<RealType> &erfArray, vnl_vector<RealType> &gerfArray,
169 bool evaluateGradient =
false )
const;
181 void operator=(
const Self& );
192 #ifndef ITK_MANUAL_INSTANTIATION
193 #include "itkGaussianInterpolateImageFunction.hxx"