00001 #pragma once
00002
00003 #ifdef WIN32
00004 #if defined _USRDLL
00005 #define DllExport _declspec(dllexport)
00006 #else
00007 #define DllExport _declspec(dllimport)
00008 #endif
00009 #else
00010 #define DllExport
00011 #endif
00012
00013
00014
00015 class DllExport CHLabHMM
00016 {
00017 char* m_pszName;
00018
00019 public:
00020 int m_iDim;
00021 int m_iNumStates;
00022 float** m_ppfMean;
00023 float** m_ppfVar;
00024 float** m_ppfTrans;
00025
00026 public:
00027
00028 int SetDefaultTrans(void);
00029
00030 CHLabHMM(void);
00031
00032 int Init(int iDim, int iNumStates, const char* pszName);
00033
00034 void SetMean(float fData, int i, int j)
00035 {
00036 m_ppfMean[i][j] = fData;
00037 }
00038 void SetVar(float fData, int i, int j)
00039 {
00040 m_ppfVar[i][j] = fData;
00041 }
00042 void SetTrans(float fData, int i, int j)
00043 {
00044 m_ppfTrans[i][j] = fData;
00045 }
00046
00047 inline int GetNumStates()
00048 {
00049 return m_iNumStates;
00050 }
00051
00052
00053 int ReadHMM(const char* szDir);
00054 int WriteHMM(const char* szDir);
00055
00056 virtual ~CHLabHMM(void);
00057 };