Class representing a mixture of PDFs, the mixture can contain different. More...
#include <mixtureParticleFilter.h>
Public Member Functions  
bool  AddComponent (Pdf< T > &pdf) 
Add a component pdf: THIS IS A NONREALTIME OPERATION. More...  
bool  AddComponent (Pdf< T > &pdf, Probability w) 
Add a component pdf with weight w: THIS IS A NONREALTIME OPERATION. More...  
virtual Mixture *  Clone () const 
Clone function. More...  
Pdf< T > *  ComponentGet (unsigned int componentNumber) const 
Get the pointer to the component pdf of component "componentNumber". More...  
vector< Pdf< T > * >  ComponentsGet () const 
Get the vector of pointers to the component pdfs. More...  
MatrixWrapper::SymmetricMatrix  CovarianceGet () const 
Get the Covariance Matrix E[(x  E[x])^2] of the Analytic pdf. More...  
bool  DeleteComponent (unsigned int componentNumber) 
Delete a component pdf: THIS IS A NON_REALTIME OPERATION. More...  
template<>  
ColumnVector  ExpectedValueGet () const 
Get the expected value E[x] of the pdf. More...  
template<>  
unsigned int  ExpectedValueGet () const 
Get the expected value E[x] of the pdf. More...  
template<>  
int  ExpectedValueGet () const 
Get the expected value E[x] of the pdf. More...  
T  ExpectedValueGet () const 
Get the expected value E[x] of the pdf. More...  
template<>  
double  ExpectedValueGet () const 
Get the expected value E[x] of the pdf. More...  
Mixture (const unsigned int dimension=0)  
Constructor: An equal weight is set for all components. More...  
template<typename U >  
Mixture (const U &componentVector)  
Constructor: An equal weights is set for all components. More...  
Mixture (const Mixture &my_mixture)  
Copy Constructor. More...  
int  MostProbableComponentGet () const 
Get the index of the most probable component, if a few component are. More...  
unsigned int  NumComponentsGet () const 
Get the number of components. More...  
Probability  ProbabilityGet (const T &state) const 
Implementation of virtual base class method. More...  
bool  SampleFrom (vector< Sample< T > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const 
Draw multiple samples from the Pdf (overloaded) More...  
bool  SampleFrom (Sample< T > &one_sample, int method=DEFAULT, void *args=NULL) const 
Draw 1 sample from the Pdf: More...  
Probability  WeightGet (unsigned int componentNumber) const 
Get the component weight of component "componentNumber". More...  
bool  WeightSet (unsigned int componentNumber, Probability w) 
Function to change/set the weigth of a single component. More...  
vector< Probability >  WeightsGet () const 
Get all component weights. More...  
bool  WeightsSet (vector< Probability > &weights) 
Set all component weights. More...  
virtual  ~Mixture () 
Destructor. More...  
Public Member Functions inherited from BFL::BFL::Pdf< T >  
unsigned int  DimensionGet () const 
Get the dimension of the argument. More...  
virtual void  DimensionSet (unsigned int dim) 
Set the dimension of the argument. More...  
Pdf (unsigned int dimension=0)  
Constructor. More...  
virtual  ~Pdf () 
Destructor. More...  
Protected Member Functions  
bool  CumWeightsUpdate () 
Updates the cumWeights. More...  
bool  NormalizeWeights () 
Normalize the component weigths (eg. after setting a component weight) More...  
void  TestNotInit () const 
Called when a the number of components=0 and if method is called which. More...  
Protected Attributes  
vector< Pdf< T > * > *  _componentPdfs 
Pointer to the vector of component pdfs. More...  
vector< Probability > *  _componentWeights 
Pointer to the vector of mixture weights, the sum of the elements = 1. More...  
vector< double >  _cumWeights 
Vector containing the cumulative component weights (for efficient sampling) More...  
unsigned int  _numComponents 
The number of components. More...  
Class representing a mixture of PDFs, the mixture can contain different.
This class is an instantation from the template class Pdf, with added methods to get a set the individual components and mixture weights
Definition at line 48 of file mixtureParticleFilter.h.
BFL::Mixture< T >::Mixture  (  const unsigned int  dimension = 0  ) 
Constructor: An equal weight is set for all components.
dimension  the dimension of the state space 
Definition at line 182 of file mixtureParticleFilter.h.
Constructor: An equal weights is set for all components.
componentVector  vector of components (Pdf<T>*) 
Definition at line 199 of file mixtureParticleFilter.h.
BFL::Mixture< T >::Mixture  (  const Mixture< T > &  my_mixture  ) 
Copy Constructor.
Definition at line 226 of file mixtureParticleFilter.h.

virtual 
Destructor.
Definition at line 247 of file mixtureParticleFilter.h.
bool BFL::Mixture< T >::AddComponent  (  Pdf< T > &  ) 
Add a component pdf: THIS IS A NONREALTIME OPERATION.
Component pdf which will be added 
Definition at line 467 of file mixtureParticleFilter.h.
bool BFL::Mixture< T >::AddComponent  (  Pdf< T > &  pdf, 
Probability  w  
) 
Add a component pdf with weight w: THIS IS A NONREALTIME OPERATION.
Component pdf which will be added  
weight  the weight of the new component 
Definition at line 487 of file mixtureParticleFilter.h.

virtual 
Clone function.
Implements BFL::BFL::Pdf< T >.
Definition at line 262 of file mixtureParticleFilter.h.
Pdf< T > * BFL::Mixture< T >::ComponentGet  (  unsigned int  componentNumber  )  const 
Get the pointer to the component pdf of component "componentNumber".
componentNumber  number of the component (must be >=0 and <_numComponents) 
Definition at line 540 of file mixtureParticleFilter.h.
vector< Pdf< T > * > BFL::Mixture< T >::ComponentsGet  (  )  const 
Get the vector of pointers to the component pdfs.
Definition at line 533 of file mixtureParticleFilter.h.

virtual 
Get the Covariance Matrix E[(x  E[x])^2] of the Analytic pdf.
Get first order statistic (Covariance) of this AnalyticPdf
Reimplemented from BFL::BFL::Pdf< T >.
Definition at line 378 of file mixtureParticleFilter.h.

protected 
Updates the cumWeights.
Definition at line 577 of file mixtureParticleFilter.h.
bool BFL::Mixture< T >::DeleteComponent  (  unsigned int  componentNumber  ) 
Delete a component pdf: THIS IS A NON_REALTIME OPERATION.
componentNumber  number of the component which will be deleted (must be >=0 and <_numComponents) 
Definition at line 507 of file mixtureParticleFilter.h.

inlinevirtual 
Get the expected value E[x] of the pdf.
Get low order statistic (Expected Value) of this AnalyticPdf
Reimplemented from BFL::BFL::Pdf< T >.
Definition at line 31 of file mixtureParticleFilter.h.

inlinevirtual 
Get the expected value E[x] of the pdf.
Get low order statistic (Expected Value) of this AnalyticPdf
Reimplemented from BFL::BFL::Pdf< T >.
Definition at line 46 of file mixtureParticleFilter.h.

inlinevirtual 
Get the expected value E[x] of the pdf.
Get low order statistic (Expected Value) of this AnalyticPdf
Reimplemented from BFL::BFL::Pdf< T >.
Definition at line 82 of file mixtureParticleFilter.h.

virtual 
Get the expected value E[x] of the pdf.
Get low order statistic (Expected Value) of this AnalyticPdf
Reimplemented from BFL::BFL::Pdf< T >.
Definition at line 368 of file mixtureParticleFilter.h.

inlinevirtual 
Get the expected value E[x] of the pdf.
Get low order statistic (Expected Value) of this AnalyticPdf
Reimplemented from BFL::BFL::Pdf< T >.
Definition at line 116 of file mixtureParticleFilter.h.
int BFL::Mixture< T >::MostProbableComponentGet  (  )  const 
Get the index of the most probable component, if a few component are.
Definition at line 450 of file mixtureParticleFilter.h.

protected 
Normalize the component weigths (eg. after setting a component weight)
Definition at line 558 of file mixtureParticleFilter.h.
unsigned int BFL::Mixture< T >::NumComponentsGet  (  )  const 
Get the number of components.
Definition at line 268 of file mixtureParticleFilter.h.

virtual 
Implementation of virtual base class method.
Reimplemented from BFL::BFL::Pdf< T >.
Definition at line 274 of file mixtureParticleFilter.h.

virtual 
Draw multiple samples from the Pdf (overloaded)
list_samples  list of samples that will contain result of sampling 
num_samples  Number of Samples to be drawn (iid) 
method  Sampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1 
args  Pointer to a struct representing extra sample arguments. "Sample Arguments" can be anything (the number of steps a gibbsiterator should take, the interval width in MCMC, ... (or nothing), so it is hard to give a meaning to what exactly Sample Arguments should represent... 
Reimplemented from BFL::BFL::Pdf< T >.
Definition at line 286 of file mixtureParticleFilter.h.

virtual 
Draw 1 sample from the Pdf:
There's no need to create a list for only 1 sample!
one_sample  sample that will contain result of sampling 
method  Sampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1 
args  Pointer to a struct representing extra sample arguments 
Reimplemented from BFL::BFL::Pdf< T >.
Definition at line 339 of file mixtureParticleFilter.h.

protected 
Called when a the number of components=0 and if method is called which.
Definition at line 547 of file mixtureParticleFilter.h.
Probability BFL::Mixture< T >::WeightGet  (  unsigned int  componentNumber  )  const 
Get the component weight of component "componentNumber".
componentNumber  number of the component (must be >=0 and <_numComponents) 
Definition at line 397 of file mixtureParticleFilter.h.
bool BFL::Mixture< T >::WeightSet  (  unsigned int  componentNumber, 
Probability  w  
) 
Function to change/set the weigth of a single component.
Changes the component weights such that AFTER normalization the weight of the component "componentNumber" is equal to the weight w
componentNumber  number of the component of which the weight will be set (must be >=0 and <_numComponents) 
w  Probability to which the weight of component "componentNumber" will be set (must be <= 1) 
Definition at line 415 of file mixtureParticleFilter.h.
vector< Probability > BFL::Mixture< T >::WeightsGet  (  )  const 
Get all component weights.
Definition at line 390 of file mixtureParticleFilter.h.
bool BFL::Mixture< T >::WeightsSet  (  vector< Probability > &  weights  ) 
Set all component weights.
values vector<Probability> containing the new component weights . The sum of the probabilities of this list is not required to be one since the normalization is automatically carried out. The size of weights should be equal to the number of components
Definition at line 405 of file mixtureParticleFilter.h.

protected 
Pointer to the vector of component pdfs.
Definition at line 58 of file mixtureParticleFilter.h.

protected 
Pointer to the vector of mixture weights, the sum of the elements = 1.
Definition at line 55 of file mixtureParticleFilter.h.

protected 
Vector containing the cumulative component weights (for efficient sampling)
Definition at line 66 of file mixtureParticleFilter.h.

protected 
The number of components.
Definition at line 52 of file mixtureParticleFilter.h.