/vol/vipdata/irtk/geometry++/include/irtkScalarGaussian.h

00001 /*=========================================================================
00002 
00003   Library   : Image Registration Toolkit (IRTK)
00004   Module    : $Id: irtkScalarGaussian.h 2 2008-12-23 12:40:14Z dr $
00005   Copyright : Imperial College, Department of Computing
00006               Visual Information Processing (VIP), 2008 onwards
00007   Date      : $Date: 2008-12-23 12:40:14 +0000 (Tue, 23 Dec 2008) $
00008   Version   : $Revision: 2 $
00009   Changes   : $Author: dr $
00010 
00011 =========================================================================*/
00012 
00013 #ifndef _IRTKSCALARGAUSSIAN_H
00014 
00015 #define _IRTKSCALARGAUSSIAN_H
00016 
00023 class irtkScalarGaussian : public irtkScalarFunction
00024 {
00025 
00026 protected:
00027 
00029   double _Sigma_x;
00030 
00032   double _Sigma_y;
00033 
00035   double _Sigma_z;
00036 
00038   double _X_0;
00039 
00041   double _Y_0;
00042 
00044   double _Z_0;
00045 
00047   double _Norm;
00048 
00049 public:
00050 
00051   //
00052   // Constructors and destructor
00053   //
00054 
00056   irtkScalarGaussian();
00057 
00059   irtkScalarGaussian(double sigma);
00060 
00062   irtkScalarGaussian(double sigma, double x_0, double y_0, double z_0);
00063 
00065   irtkScalarGaussian(double sigma_x, double sigma_y, double sigma_z,
00066                      double x_0, double y_0, double z_0);
00067 
00069   virtual ~irtkScalarGaussian();
00070 
00072   virtual double Evaluate(double, double, double);
00073 };
00074 
00075 #endif