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

External_Potts.hpp

00001 #define __cplusplus__
00002 #ifndef __EFPOTTSMRF__
00003 #define __EFPOTTSMRF__
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 
00026 class External_Potts : public MRF {
00028   double Beta ; 
00030   vector<double> Alpha;
00031 
00032 public :
00034   External_Potts();
00036   External_Potts(Neighborhood_System *nhs, uint k );
00038   External_Potts(Neighborhood_System *nhs, uint k , 
00039                        vector<double> const & alph,double bet);
00041   ~External_Potts();
00042   
00044   void DeleteAll();
00045 
00047   void Get_Alpha(vector<double> & alpha);
00049   double Get_Beta();
00051   void Get_Beta(vector<double> & beta);  
00052     
00054   double H(uint i, uint k, vector<uint>  const &  Z);
00056   double Hmf(uint i, uint k);
00057   
00059   void ReadFromFile(string filename);
00061   void WriteToFile(string filename);
00062 
00063 
00065   void Gradient(vector<double> const &  tik, vector<double> & Q);
00067   void Update_Gradient(vector<double> const &   Q);
00068 
00070   void Read_Params(istream & is);
00072   void Write_Params(ostream & os);
00073 
00075   uint Degrees_Of_Freedom();
00076   
00078   void Info();
00079   
00080 };
00081 
00082 #endif

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