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

Generic_Potts.hpp

00001 #define __cplusplus__
00002 #ifndef __GENPOTTSMRF__
00003 #define __GENPOTTSMRF__
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 <MRF.hpp>
00014 
00015 using namespace std;
00016 
00017 
00018 
00028 class Generic_Potts : public MRF {
00030   vector<double> Beta ; 
00032   vector<double> Alpha;
00033 
00034 public :
00036   Generic_Potts();
00038   Generic_Potts(uint k);
00040   Generic_Potts(Neighborhood_System *nhs);
00042   Generic_Potts(Neighborhood_System *nhs, uint k);
00044   Generic_Potts(Neighborhood_System *nhs, uint k , 
00045                        vector<double> const &  alph ,vector<double>  const &  bet);
00047   ~Generic_Potts();
00049   void DeleteAll();
00050 
00052   void Get_Alpha(vector<double> & a);
00054   void Get_Beta(vector<double> & b );
00055   
00057   double H(uint i, uint k, vector<uint>  const &  Z);
00059   double Hmf(uint i, uint k);
00060   
00062   void ReadFromFile(string filename);
00064   void WriteToFile(string filename);
00065 
00067   void Gradient(vector<double> const &  tik, vector<double> & Q);
00069   void Update_Gradient(vector<double> const &   Q);  
00070 
00071   void Read_Params(istream & is);
00072   void Write_Params(ostream & os);
00073 
00075   uint Degrees_Of_Freedom();
00076 
00077   void Info();
00078 
00079 };
00080 
00081 #endif

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