00001 /*---------------------------------------------------------------------------*/ 00006 /*---------------------------------------------------------------------------*/ 00007 #ifndef MI_HH 00008 #define MI_HH 00009 #define covMin 0.01;// related to bin of histogrammes 00010 #define Infini 1e20; 00011 00014 class MI { 00015 00016 // Attributes 00017 private: 00019 vector<float*> MeanT1; 00021 vector<float*> MeanT2; 00023 vector<float*> MeanT12; 00025 vector<float**> CovT1; 00027 vector<float**> CovT2; 00029 vector<float**> CovT12; 00031 vector<float> determinantT1; 00033 vector<float> determinantT2; 00035 vector<float> determinantT12; 00036 00038 int nb_dim; 00039 00040 // Operations 00041 public: 00042 MI(); 00043 virtual ~MI(); 00048 void Allocate(int nb_dimensions); 00052 void Initialise1(vector<float**> *C1,vector<float*> *M1); 00056 void Initialise2(vector<float**> *C2,vector<float*> *M2); 00060 void Initialise12(vector<float**> *C12,vector<float*> *M12); 00065 float MICalculus(); 00066 00067 private: 00073 void DetCovMatrixT1(); 00079 void DetCovMatrixT2(); 00085 void DetCovMatrixT12(); 00086 00087 }; 00088 00089 #endif