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); }
57 template<
unsigned int VRadius,
58 class TInput = double,
class TOutput =
double >
63 {
return (TOutput)0.54 + 0.46 * vcl_cos(A *
m_Factor); }
78 template<
unsigned int VRadius,
79 class TInput = double,
class TOutput =
double >
84 {
return (TOutput)( 1.0 - A *
m_Factor * A ); }
101 template<
unsigned int VRadius,
102 class TInput = double,
class TOutput =
double >
108 if ( A == 0.0 ) {
return (TOutput)1.0; }
110 return (TOutput)( vcl_sin(z) / z );
126 template<
unsigned int VRadius,
127 class TInput = double,
class TOutput =
double >
259 unsigned int VRadius,
262 class TCoordRep =
double >
283 typedef typename Superclass::OutputType
OutputType;
292 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
304 virtual void SetInputImage(
const ImageType *image);
318 void PrintSelf(std::ostream & os,
Indent indent)
const;
322 void operator=(
const Self &);
346 inline double Sinc(
double x)
const
350 return ( x == 0.0 ) ? 1.0 : vcl_sin(px) / px;
355 #ifndef ITK_MANUAL_INSTANTIATION
356 #include "itkWindowedSincInterpolateImageFunction.hxx"
359 #endif // _itkWindowedSincInterpolateImageFunction_h