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

00001 /*=========================================================================
00002 
00003   Library   : Image Registration Toolkit (IRTK)
00004   Module    : $Id: irtkLinearInterpolateImageFunction.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 _IRTKLINEARINTERPOLATEIMAGEFUNCTION_H
00014 
00015 #define _IRTKLINEARINTERPOLATEIMAGEFUNCTION_H
00016 
00024 class irtkLinearInterpolateImageFunction : public irtkInterpolateImageFunction
00025 {
00026 
00027 private:
00028 
00030   int _x;
00031 
00033   int _y;
00034 
00036   int _z;
00037 
00039   int _offset1, _offset2, _offset3, _offset4;
00040   int _offset5, _offset6, _offset7, _offset8;
00041 
00042 public:
00043 
00045   irtkLinearInterpolateImageFunction();
00046 
00048   ~irtkLinearInterpolateImageFunction();
00049 
00051   virtual const char *NameOfClass();
00052 
00054   virtual void Initialize();
00055 
00057   virtual double Evaluate(double, double, double, double = 0);
00058 
00062   virtual double EvaluateInside(double, double, double, double = 0);
00063 
00064 };
00065 
00066 #endif