Public Types | Protected Member Functions | Protected Attributes | Private Types
vpdt_mog_updater< mog_type > Class Template Reference

A mixture of Gaussians updater. More...

#include <vpdt_update_mog.h>

Inheritance diagram for vpdt_mog_updater< mog_type >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef mog_type distribution_type
typedef mog_type::field_type field_type

Protected Member Functions

 vpdt_mog_updater (const gaussian_type &init_gaussian, unsigned int max_cmp=5)
 Constructor.
void insert (mog_type &mixture, const F &sample, T init_weight) const
 insert a sample in the mixture.
unsigned int match (const mog_type &mix, const F &sample, const T &gt2, T &sqr_dist) const
 Return the index of the first Gaussian within the threshold distance.

Protected Attributes

gaussian_type init_gaussian_
 A model for new Gaussians inserted.
unsigned int max_components_
 The maximum number of components in the mixture.

Private Types

typedef mog_type::component_type gaussian_type
typedef gaussian_type::field_type F
typedef vpdt_field_traits< F >
::scalar_type 
T

Detailed Description

template<class mog_type>
class vpdt_mog_updater< mog_type >

A mixture of Gaussians updater.

Base class for common functionality in adaptive updating schemes

Definition at line 22 of file vpdt_update_mog.h.


Member Typedef Documentation

template<class mog_type >
typedef mog_type vpdt_mog_updater< mog_type >::distribution_type

Definition at line 25 of file vpdt_update_mog.h.

template<class mog_type >
typedef gaussian_type::field_type vpdt_mog_updater< mog_type >::F [private]
template<class mog_type >
typedef mog_type::field_type vpdt_mog_updater< mog_type >::field_type

Definition at line 26 of file vpdt_update_mog.h.

template<class mog_type >
typedef mog_type::component_type vpdt_mog_updater< mog_type >::gaussian_type [private]
template<class mog_type >
typedef vpdt_field_traits<F>::scalar_type vpdt_mog_updater< mog_type >::T [private]

Constructor & Destructor Documentation

template<class mog_type >
vpdt_mog_updater< mog_type >::vpdt_mog_updater ( const gaussian_type init_gaussian,
unsigned int  max_cmp = 5 
) [inline, protected]

Constructor.

Definition at line 35 of file vpdt_update_mog.h.


Member Function Documentation

template<class mog_type >
void vpdt_mog_updater< mog_type >::insert ( mog_type &  mixture,
const F sample,
T  init_weight 
) const [inline, protected]

insert a sample in the mixture.

Parameters:
sampleA Gaussian is inserted with a mean of sample and a covariance from init_gaussian_
init_weightThe normalized weight the resulting sample should have after insertion

Definition at line 44 of file vpdt_update_mog.h.

template<class mog_type >
unsigned int vpdt_mog_updater< mog_type >::match ( const mog_type &  mix,
const F sample,
const T gt2,
T sqr_dist 
) const [inline, protected]

Return the index of the first Gaussian within the threshold distance.

The threshold gt2 is on the square distance. The computed square distance is returned by reference in sqr_dist If there are no matches return the number of components (last index + 1)

Definition at line 72 of file vpdt_update_mog.h.


Member Data Documentation

template<class mog_type >
gaussian_type vpdt_mog_updater< mog_type >::init_gaussian_ [mutable, protected]

A model for new Gaussians inserted.

Definition at line 86 of file vpdt_update_mog.h.

template<class mog_type >
unsigned int vpdt_mog_updater< mog_type >::max_components_ [protected]

The maximum number of components in the mixture.

Definition at line 88 of file vpdt_update_mog.h.


The documentation for this class was generated from the following file: