/vol/vipdata/irtk/image++/include/irtkGaussianInterpolateImageFunction2D.h

00001 /*=========================================================================
00002 
00003   Library   : Image Registration Toolkit (IRTK)
00004   Module    : $Id: irtkGaussianInterpolateImageFunction2D.h 8 2009-03-02 16:12:58Z dr $
00005   Copyright : Imperial College, Department of Computing
00006               Visual Information Processing (VIP), 2008 onwards
00007   Date      : $Date: 2009-03-02 16:12:58 +0000 (Mon, 02 Mar 2009) $
00008   Version   : $Revision: 8 $
00009   Changes   : $Author: dr $
00010 
00011 =========================================================================*/
00012 
00013 #ifndef _IRTKGAUSSIANINTERPOLATEIMAGEFUNCTION2D_H
00014 
00015 #define _IRTKGAUSSIANINTERPOLATEIMAGEFUNCTION2D_H
00016 
00024 class irtkGaussianInterpolateImageFunction2D : public irtkInterpolateImageFunction
00025 {
00026 
00027 private:
00028 
00030   int _x;
00031 
00033   int _y;
00034 
00036   int _z;
00037 
00039   double _xsize;
00040 
00042   double _ysize;
00043 
00045   double _zsize;
00046 
00048   double _ExtentX;
00049 
00051   double _ExtentY;
00052 
00054   double _Sigma;
00055 
00056 public:
00057 
00059   irtkGaussianInterpolateImageFunction2D(double sigma = 1);
00060 
00062   ~irtkGaussianInterpolateImageFunction2D();
00063 
00065   virtual const char *NameOfClass();
00066 
00068   virtual void Initialize();
00069 
00071   virtual double Evaluate(double, double, double, double = 0);
00072 
00076   virtual double EvaluateInside(double, double, double, double = 0);
00077 
00078 };
00079 
00080 #endif
00081