18 #ifndef __itkWindowedSincInterpolateImageFunction_h
19 #define __itkWindowedSincInterpolateImageFunction_h
36 template<
unsigned int VRadius,
37 class TInput = double,
class TOutput =
double >
42 {
return (TOutput)vcl_cos(A *
m_Factor); }
56 template<
unsigned int VRadius,
57 class TInput = double,
class TOutput =
double >
62 {
return (TOutput)0.54 + 0.46 * vcl_cos(A *
m_Factor); }
76 template<
unsigned int VRadius,
77 class TInput = double,
class TOutput =
double >
82 {
return (TOutput)( 1.0 - A *
m_Factor * A ); }
98 template<
unsigned int VRadius,
99 class TInput = double,
class TOutput =
double >
105 if ( A == 0.0 ) {
return (TOutput)1.0; }
107 return (TOutput)( vcl_sin(z) / z );
123 template<
unsigned int VRadius,
124 class TInput = double,
class TOutput =
double >
256 unsigned int VRadius,
259 class TCoordRep =
double >
280 typedef typename Superclass::OutputType
OutputType;
289 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
301 virtual void SetInputImage(
const ImageType *image);
315 void PrintSelf(std::ostream & os,
Indent indent)
const;
319 void operator=(
const Self &);
343 inline double Sinc(
double x)
const
347 return ( x == 0.0 ) ? 1.0 : vcl_sin(px) / px;
352 #ifndef ITK_MANUAL_INSTANTIATION
353 #include "itkWindowedSincInterpolateImageFunction.hxx"
356 #endif // _itkWindowedSincInterpolateImageFunction_h