Gaussians.h
Go to the documentation of this file.
1/*
2 * Gaussians.h
3 *
4 * Created on: Nov 19, 2011
5 * Author: Seungsu KIM
6 */
7
8#ifndef __GAUSSIANSM_H__
9#define __GAUSSIANSM_H__
10
11#include "MathLib.h"
12
13#define GAUSSIAN_MAXIMUM_NUMBER 50
14
16{
17 MathLib::Vector Mu;
18 MathLib::Matrix Sigma;
19 double Prio;
20};
21
23{
24 MathLib::Vector MuI;
25 MathLib::Matrix SigmaII;
26 MathLib::Matrix SigmaIIInv;
27 double detSigmaII;
28
29 // for GMR
30 MathLib::Vector muO;
31 MathLib::Matrix SigmaIO;
32 MathLib::Matrix SigmaIOInv;
33};
34
35struct GMMs
36{
37 unsigned int nbStates;
38 unsigned int nbDim;
39
41};
42
44{
45private:
47
48public:
50
51 Gaussians(const char* f_mu, const char* f_sigma, const char* f_prio);
52 Gaussians(int nbStates, int nbDim, const char* f_mu, const char* f_sigma, const char* f_prio);
53 Gaussians(const int nbStates,
54 const int nbDim,
55 const vector<double> pri_vec,
56 const vector<double> mu_vec,
57 const vector<double> sig_vec);
59
60 void setGMMs(GMMs* model);
61
62 // For fast computation of GaussianPDF
63 MathLib::Vector gfDiff, gfDiffp;
64 MathLib::Vector gDer;
65 MathLib::Vector gPdf;
66 int nbDimI;
67
68
69 void InitFastGaussians(int first_inindex, int last_inindex);
70 double GaussianPDFFast(int state, MathLib::Vector x);
71 double GaussianProbFast(MathLib::Vector x);
72 MathLib::Vector GaussianDerProbFast(MathLib::Vector x);
73
74 void InitFastGMR(int first_inindex, int last_inindex, int first_outindex, int last_outindex);
75 void
76 Regression(const MathLib::Vector& indata, MathLib::Vector& outdata, MathLib::Matrix& derGMR);
77 void Regression(const MathLib::Vector& indata, MathLib::Vector& outdata);
78 MathLib::Vector Regression(const MathLib::Vector& indata);
79};
80
81/*
82void GaussianMux(GMMs *modelK, GMMs *modelL, GMMs *modelOut);
83void GaussianRotate(GMMs *model, Vector P, Matrix R, GMMs *modelOut);
84*/
85
86#endif //__GAUSSIANS_H__
#define GAUSSIAN_MAXIMUM_NUMBER
Definition Gaussians.h:13
void Regression(const MathLib::Vector &indata, MathLib::Vector &outdata, MathLib::Matrix &derGMR)
void setGMMs(GMMs *model)
GMMs model
Definition Gaussians.h:49
void InitFastGMR(int first_inindex, int last_inindex, int first_outindex, int last_outindex)
Gaussians(const char *f_mu, const char *f_sigma, const char *f_prio)
Definition Gaussians.cpp:33
MathLib::Vector gDer
Definition Gaussians.h:64
void InitFastGaussians(int first_inindex, int last_inindex)
MathLib::Vector GaussianDerProbFast(MathLib::Vector x)
MathLib::Vector gfDiffp
Definition Gaussians.h:63
MathLib::Vector gfDiff
Definition Gaussians.h:63
MathLib::Vector gPdf
Definition Gaussians.h:65
int nbDimI
Definition Gaussians.h:66
double GaussianProbFast(MathLib::Vector x)
Gaussians(GMMs *model)
double GaussianPDFFast(int state, MathLib::Vector x)
This file offers overloads of toIce() and fromIce() functions for STL container types.
MathLib::Matrix SigmaIO
Definition Gaussians.h:31
MathLib::Matrix SigmaII
Definition Gaussians.h:25
MathLib::Matrix SigmaIOInv
Definition Gaussians.h:32
double detSigmaII
Definition Gaussians.h:27
MathLib::Vector MuI
Definition Gaussians.h:24
MathLib::Matrix SigmaIIInv
Definition Gaussians.h:26
MathLib::Vector muO
Definition Gaussians.h:30
double Prio
Definition Gaussians.h:19
MathLib::Matrix Sigma
Definition Gaussians.h:18
MathLib::Vector Mu
Definition Gaussians.h:17
GMMState States[GAUSSIAN_MAXIMUM_NUMBER]
Definition Gaussians.h:40
unsigned int nbDim
Definition Gaussians.h:38
unsigned int nbStates
Definition Gaussians.h:37