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

00001 /*=========================================================================
00002 
00003   Library   : Image Registration Toolkit (IRTK)
00004   Module    : $Id: irtkGaussianInterpolateImageFunction.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 _IRTKGAUSSIANINTERPOLATEIMAGEFUNCTION_H
00014 
00015 #define _IRTKGAUSSIANINTERPOLATEIMAGEFUNCTION_H
00016 
00024 class irtkGaussianInterpolateImageFunction : 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 _ExtentZ;
00055 
00057   double _Sigma;
00058 
00059 public:
00060 
00062   irtkGaussianInterpolateImageFunction(double sigma = 1);
00063 
00065   ~irtkGaussianInterpolateImageFunction();
00066 
00068   virtual const char *NameOfClass();
00069 
00071   virtual void Initialize();
00072 
00074   virtual double Evaluate(double, double, double, double = 0);
00075 
00079   virtual double EvaluateInside(double, double, double, double = 0);
00080 
00081 };
00082 
00083 #endif
00084