Public Types | Protected Member Functions | Protected Attributes | Private Types | List of all members
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]

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. More...
 
void insert (mog_type &mixture, const F &sample, T init_weight) const
 insert a sample in the mixture. More...
 
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. More...
 

Protected Attributes

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

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 25 of file vpdt_update_mog.h.

Member Typedef Documentation

◆ distribution_type

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

Definition at line 28 of file vpdt_update_mog.h.

◆ F

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

Definition at line 33 of file vpdt_update_mog.h.

◆ field_type

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

Definition at line 29 of file vpdt_update_mog.h.

◆ gaussian_type

template<class mog_type >
typedef mog_type::component_type vpdt_mog_updater< mog_type >::gaussian_type
private

Definition at line 32 of file vpdt_update_mog.h.

◆ T

template<class mog_type >
typedef vpdt_field_traits<F>::scalar_type vpdt_mog_updater< mog_type >::T
private

Definition at line 34 of file vpdt_update_mog.h.

Constructor & Destructor Documentation

◆ vpdt_mog_updater()

template<class mog_type >
vpdt_mog_updater< mog_type >::vpdt_mog_updater ( const gaussian_type init_gaussian,
unsigned int  max_cmp = 5 
)
inlineprotected

Constructor.

Definition at line 38 of file vpdt_update_mog.h.

Member Function Documentation

◆ insert()

template<class mog_type >
void vpdt_mog_updater< mog_type >::insert ( mog_type &  mixture,
const F sample,
T  init_weight 
) const
inlineprotected

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 47 of file vpdt_update_mog.h.

◆ match()

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
inlineprotected

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 73 of file vpdt_update_mog.h.

Member Data Documentation

◆ init_gaussian_

template<class mog_type >
gaussian_type vpdt_mog_updater< mog_type >::init_gaussian_
mutableprotected

A model for new Gaussians inserted.

Definition at line 87 of file vpdt_update_mog.h.

◆ max_components_

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 89 of file vpdt_update_mog.h.


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