1 /**************************************************************
2  *** RHmm package
3  ***
4  *** File: cBaumWelch.h
5  ***
6  *** Author: Ollivier TARAMASCO <Ollivier.Taramasco@imag.fr>
7  *** Author: Sebastian BAUER <sebastian.bauer@charite.de>
8  ***
9  **************************************************************/
10 
11 #ifndef _CBAUMWELCH_H_
12 #define _CBAUMWELCH_H_
13 #pragma once
14 
15 #include "cInParam.h"
16 #include "cHmm.h"
17 
18 class cBaumWelch
19 {       protected :
20                         uint	mtNSample ;
21                         uint*   mtT ;
22         public :
23                         cDMatrix*   mAlpha ;
24                         cDMatrix*   mBeta ;
25                         cDVector*	mRho ;
26                         cDMatrix*   mGamma ;
27                         cDMatrix**  mXsi ;
28                         cDMatrix*   mSumXsi ;
29 						cDMatrix*	mDelta ;
30                         cDVector    mLogVrais ;
31         public :
32                 cBaumWelch(uint theNSample, uint* theT, uint theNClass) ;
33                 cBaumWelch(const cInParam &theInParam) ;
34                 void ForwardBackward(cDMatrix* theCondProba, cHmm& theHMM) ;
35 				void OutForwardBackward(cDMatrix* theCondProba, cHmm& theHMM, bool theLogData=true) ;
GetSampleSize(uint theN)36                 uint GetSampleSize(uint theN){ return mtT[theN] ;}
37                 virtual ~cBaumWelch() ;
38 } ;
39 
40 
41 #endif //_CBAUMWELCH_H_
42