Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

MRF.hpp

00001 #define __cplusplus__
00002 #ifndef __MRF__
00003 #define __MRF__
00004 
00005 #include<iostream>
00006 #include<istream>
00007 #include<fstream>
00008 #include<string>
00009 #include<vector>
00010 #include<sstream>
00011 #include <cmath>
00012 
00013 #include <Neighborhood_System.hpp>
00014 #include <Random_Field.hpp>
00015 
00016 using namespace std;
00017 
00028 class MRF: public Random_Field{
00029 
00030 protected :
00032   uint K;
00033 
00035   void Precompute_Smf();
00036 
00037 public :
00038 
00040   virtual ~MRF();
00041 
00042 
00044   uint Get_K();
00045 
00047   virtual double H(uint i, uint k, vector<uint>  const &  Z);
00049   virtual double Hmf(uint i, uint k);
00050 
00052   double PL(vector<uint> const &   Z);
00053 
00055   virtual void Gradient(vector<double> const & tik, vector<double> & Q);  
00057   virtual void Update_Gradient(vector<double> const &   Q);
00058 
00060   virtual void Read_Params(istream & is);
00062   virtual void Write_Params(ostream & os);
00063 
00065   virtual uint Degrees_Of_Freedom();
00066 
00068   virtual void Info();
00069 };
00070 
00071 #endif

Generated on Thu Jan 12 11:54:58 2006 for NEM by  doxygen 1.4.4