#include <GMM.h>
Public Member Functions | |
void | addGaussianModel (float weight, std::vector< float > mean, MatrixXf covariance) |
ASR::MultidimensionalGaussianPtr | getModel (unsigned int index) |
GMM () | |
void | sampleRandomValues (std::vector< float > &x) |
Private Member Functions | |
float | gen_random_float (float min, float max) |
Private Attributes | |
std::vector< float > | histogramm |
std::vector< ASR::MultidimensionalGaussianPtr > | models |
boost::mt19937 | rng |
std::vector< float > | weights |
This class contains a list of multidimensional gaussians. With weights they model a gaussian mixture model.
|
inline |
|
inlineprivate |
|
inline |
|
inline |
Samples a random vector from the gaussian mixture model and stores the values in the given vector x. First a gaussian kernel is randomly selected. "Heavier" weighted kernels are more likely than "lighter" weighted kernels. The dimension of x depends on the dimension of the kernels which were given in the initialization.
x | - the output vector which contains the sampled values. |
|
private |