MultiMixGaussian Class Reference

Inheritance diagram for MultiMixGaussian:

List of all members.


Public Member Functions

 ~MultiMixGaussian ()
 MultiMixGaussian (FeaturePoolInfo *infoBlock, int dim=ASR_DEFAULT_VECTORSIZE)
 MultiMixGaussian (FILE *inFile, int dim)
 MultiMixGaussian (FILE *inFile, FeaturePoolInfo *infoBlock, int dim)
 MultiMixGaussian (MixGaussian *org)
 MultiMixGaussian (MixGaussian *model1, MixGaussian *model2)
 MultiMixGaussian (MixGaussian *model1, MixGaussian *model2, double rate)
virtual void storeData (FILE *outFile)
virtual void mergeMixGaussians (MixGaussian *model1, MixGaussian *model2)
virtual double getP (Vector *observation)
virtual double getLogP (Vector *observation)
virtual int getNumberOfGaussians (void)
virtual void addGaussian (Vector *vector)
virtual void train (MixGaussian *trainMG)
virtual void train (bool useKMeans, double weight, Vector *observation, MixGaussian *doSat=NULL)
virtual int trainFinish (bool neverSplit=false, double minVar=GAUSSIAN_VARIANCE_MINIMUM)
virtual bool splitBestGaussian (bool alwaysSplit=false)
virtual void shiftBestGaussian (int shiftFactor)
virtual void copyGaussians (MixGaussian *destMixGaussian, int maxNmbr)
virtual void normalizeWeights (int maxGaussians=-1)
virtual double getLookaheadLogP (double *vectorList, int timeStamp, bool doSecondHalf)

Protected Member Functions

VectorcreateVector (Vector *totVect, int nr)

Protected Attributes

FeaturePoolInfochannelInfo
MixGaussian ** channels
VectortheSubVector

Detailed Description

Todo:
docs

Constructor & Destructor Documentation

MultiMixGaussian::~MultiMixGaussian (  ) 

MultiMixGaussian::MultiMixGaussian ( FeaturePoolInfo infoBlock,
int  dim = ASR_DEFAULT_VECTORSIZE 
)

MultiMixGaussian::MultiMixGaussian ( FILE *  inFile,
int  dim 
)

MultiMixGaussian::MultiMixGaussian ( FILE *  inFile,
FeaturePoolInfo infoBlock,
int  dim 
)

MultiMixGaussian::MultiMixGaussian ( MixGaussian org  ) 

Todo:
docs

References channelInfo, channels, MixGaussian::MixGaussian(), FeaturePoolInfo::numberOfChannels, and theSubVector.

Here is the call graph for this function:

MultiMixGaussian::MultiMixGaussian ( MixGaussian model1,
MixGaussian model2 
)

Todo:
docs

References channelInfo, channels, MixGaussian::MixGaussian(), FeaturePoolInfo::numberOfChannels, and theSubVector.

Here is the call graph for this function:

MultiMixGaussian::MultiMixGaussian ( MixGaussian model1,
MixGaussian model2,
double  rate 
)


Member Function Documentation

void MultiMixGaussian::addGaussian ( Vector vector  )  [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References MixGaussian::addGaussian(), channelInfo, channels, createVector(), and FeaturePoolInfo::numberOfChannels.

Here is the call graph for this function:

void MultiMixGaussian::copyGaussians ( MixGaussian destMixGaussian,
int  maxNmbr 
) [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channelInfo, channels, MixGaussian::copyGaussians(), and FeaturePoolInfo::numberOfChannels.

Here is the call graph for this function:

Vector * MultiMixGaussian::createVector ( Vector totVect,
int  nr 
) [protected]

Todo:
docs

References Vector::borrowVector(), channelInfo, FeaturePoolInfo::lastComponent, and theSubVector.

Referenced by addGaussian(), getLogP(), and train().

Here is the call graph for this function:

double MultiMixGaussian::getLogP ( Vector observation  )  [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channelInfo, channels, createVector(), MixGaussian::getLogP(), FeaturePoolInfo::numberOfChannels, and FeaturePoolInfo::weight.

Referenced by getP().

Here is the call graph for this function:

double MultiMixGaussian::getLookaheadLogP ( double *  vectorList,
int  timeStamp,
bool  doSecondHalf 
) [virtual]

GetLogP() returns the chance of an observation beeing produced by this mixture of gaussians (in log)

Reimplemented from MixGaussian.

References channelInfo, channels, MixGaussian::getLookaheadLogP(), FeaturePoolInfo::lastComponent, FeaturePoolInfo::numberOfChannels, and FeaturePoolInfo::weight.

Here is the call graph for this function:

int MultiMixGaussian::getNumberOfGaussians ( void   )  [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channels, and MixGaussian::getNumberOfGaussians().

Here is the call graph for this function:

double MultiMixGaussian::getP ( Vector observation  )  [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References getLogP().

Here is the call graph for this function:

void MultiMixGaussian::mergeMixGaussians ( MixGaussian model1,
MixGaussian model2 
) [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channelInfo, channels, MixGaussian::mergeMixGaussians(), and FeaturePoolInfo::numberOfChannels.

Here is the call graph for this function:

void MultiMixGaussian::normalizeWeights ( int  maxGaussians = -1  )  [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channelInfo, channels, MixGaussian::normalizeWeights(), and FeaturePoolInfo::numberOfChannels.

Here is the call graph for this function:

void MultiMixGaussian::shiftBestGaussian ( int  shiftFactor  )  [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channelInfo, channels, FeaturePoolInfo::numberOfChannels, and MixGaussian::shiftBestGaussian().

Here is the call graph for this function:

bool MultiMixGaussian::splitBestGaussian ( bool  alwaysSplit = false  )  [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channels, and MixGaussian::splitBestGaussian().

Here is the call graph for this function:

void MultiMixGaussian::storeData ( FILE *  outFile  )  [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channelInfo, channels, FeaturePoolInfo::numberOfChannels, MixGaussian::storeData(), and FeaturePoolInfo::weight.

Here is the call graph for this function:

void MultiMixGaussian::train ( bool  useKMeans,
double  weight,
Vector observation,
MixGaussian doSat = NULL 
) [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channelInfo, channels, createVector(), FeaturePoolInfo::numberOfChannels, and MixGaussian::train().

Here is the call graph for this function:

void MultiMixGaussian::train ( MixGaussian trainMG  )  [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channelInfo, channels, FeaturePoolInfo::numberOfChannels, and MixGaussian::train().

Here is the call graph for this function:

int MultiMixGaussian::trainFinish ( bool  neverSplit = false,
double  minVar = GAUSSIAN_VARIANCE_MINIMUM 
) [virtual]

Todo:
docs

Reimplemented from MixGaussian.

References channelInfo, channels, FeaturePoolInfo::numberOfChannels, and MixGaussian::trainFinish().

Here is the call graph for this function:


Member Data Documentation