00001 #define __cplusplus__
00002 #ifndef __DHMRFALGO__
00003 #define __DHMRFALGO__
00004
00005 #include<iostream>
00006 #include<istream>
00007 #include<fstream>
00008 #include<string>
00009 #include<vector>
00010 #include<sstream>
00011 #include <cmath>
00012
00013
00014 #include <Seg_Algorithm.hpp>
00015 #include <DHMRF.hpp>
00016
00017
00018 using namespace std;
00019
00020
00029 class DHMRF_Algorithm : public Seg_Algorithm{
00030
00031 protected :
00032
00034 DHMRF *Model;
00036 Spatial_Data *SpatData;
00037
00039 vector<double> fuzzy;
00040
00042 virtual void Estimate();
00043
00044 public :
00045
00047 virtual ~DHMRF_Algorithm();
00048
00050 void Info();
00051
00053 void Compute_MAP_Labels(vector<uint> & Labels);
00054
00056 void Init_Labels(vector<uint> const &labsZ);
00058 void Init_Random();
00060 void Init_Density();
00061
00063 void Write_fuzzy(string filename);
00064
00065
00067
00069
00071
00072
00073
00074 };
00075
00076
00077 #endif