Classes | Functions
contrib/brl/bbas/bsta/algo/bsta_gaussian_updater.h File Reference

Iterative updating of Gaussians. More...

#include <bsta/bsta_gaussian_sphere.h>
#include <bsta/bsta_gaussian_indep.h>
#include <bsta/bsta_gaussian_full.h>
#include <bsta/bsta_mixture.h>
#include <bsta/bsta_attributes.h>
#include <vcl_algorithm.h>

Go to the source code of this file.

Classes

class  bsta_gaussian_updater< gauss_ >
 An updater for statistically updating Gaussian distributions. More...
class  bsta_gaussian_window_updater< gauss_ >
 An updater for updating Gaussian distributions with a moving window. More...

Functions

template<class T >
void bsta_update_gaussian (bsta_gaussian_sphere< T, 1 > &gaussian, T rho, const T &sample)
 Update the statistics given a 1D Gaussian distribution and a learning rate.
template<class T , unsigned n>
void bsta_update_gaussian (bsta_gaussian_sphere< T, n > &gaussian, T rho, const vnl_vector_fixed< T, n > &sample)
 Update the statistics given a Gaussian distribution and a learning rate.
template<class T , unsigned n>
void bsta_update_gaussian (bsta_gaussian_indep< T, n > &gaussian, T rho, const vnl_vector_fixed< T, n > &sample)
 Update the statistics given a Gaussian distribution and a learning rate.
template<class T , unsigned n>
void bsta_update_gaussian (bsta_gaussian_full< T, n > &gaussian, T rho, const vnl_vector_fixed< T, n > &sample)
 Update the statistics given a Gaussian distribution and a learning rate.
template<class T >
element_max (const T &a, const T &b)
template<class T , unsigned n>
vnl_vector_fixed< T, n > element_max (const vnl_vector_fixed< T, n > &a_vector, const T &b)
 element-wise minimum of vector.
template<class T , unsigned n>
vnl_vector_fixed< T, n > element_max (const vnl_vector_fixed< T, n > &a_vector, const vnl_vector_fixed< T, n > &b_vector)
 element-wise minimum of vector.
template<class T , unsigned n>
vnl_matrix_fixed< T, n, n > element_max (const vnl_matrix_fixed< T, n, n > &a_matrix, const T &b)
 element-wise minimum on the matrix diagonal.
template<class T , unsigned n>
vnl_matrix_fixed< T, n, n > element_max (const vnl_matrix_fixed< T, n, n > &a_matrix, const vnl_matrix_fixed< T, n, n > &b_matrix)
 element-wise minimum of matrix.
template<class gauss_ >
void bsta_update_gaussian (gauss_ &gaussian, typename gauss_::math_type rho, const typename gauss_::vector_type &sample, const typename gauss_::covar_type &min_covar)
 Update the statistics given a Gaussian distribution and a learning rate.
template<class T , unsigned n>
void bsta_update_gaussian (bsta_gaussian_indep< T, n > &gaussian, T rho, const vnl_vector_fixed< T, n > &sample, T min_var)
 Update the statistics given a Gaussian distribution and a learning rate.
template<class T , unsigned n>
void bsta_update_gaussian (bsta_gaussian_full< T, n > &gaussian, T rho, const vnl_vector_fixed< T, n > &sample, T min_var)
 Update the statistics given a Gaussian distribution and a learning rate.

Detailed Description

Iterative updating of Gaussians.

Author:
Matt Leotta (mleotta@lems.brown.edu)
Date:
February 22, 2006
    Modifications
     Jun 18, 2008 - Matt Leotta -- Adjusted such that min_var is a hard minimum
                                   instead of a minimum in the limit
   

Definition in file bsta_gaussian_updater.h.


Function Documentation

template<class T >
void bsta_update_gaussian ( bsta_gaussian_sphere< T, 1 > &  gaussian,
rho,
const T &  sample 
)

Update the statistics given a 1D Gaussian distribution and a learning rate.

Note:
if rho = 1/(num observations) then this just an online cumulative average

Definition at line 27 of file bsta_gaussian_updater.h.

template<class T , unsigned n>
void bsta_update_gaussian ( bsta_gaussian_sphere< T, n > &  gaussian,
rho,
const vnl_vector_fixed< T, n > &  sample 
)

Update the statistics given a Gaussian distribution and a learning rate.

Note:
if rho = 1/(num observations) then this just an online cumulative average

Definition at line 47 of file bsta_gaussian_updater.h.

template<class T , unsigned n>
void bsta_update_gaussian ( bsta_gaussian_indep< T, n > &  gaussian,
rho,
const vnl_vector_fixed< T, n > &  sample 
)

Update the statistics given a Gaussian distribution and a learning rate.

Note:
if rho = 1/(num observations) then this just an online cumulative average

Definition at line 67 of file bsta_gaussian_updater.h.

template<class T , unsigned n>
void bsta_update_gaussian ( bsta_gaussian_full< T, n > &  gaussian,
rho,
const vnl_vector_fixed< T, n > &  sample 
)

Update the statistics given a Gaussian distribution and a learning rate.

Note:
if rho = 1/(num observations) then this just an online cumulative average

Definition at line 88 of file bsta_gaussian_updater.h.

template<class gauss_ >
void bsta_update_gaussian ( gauss_ &  gaussian,
typename gauss_::math_type  rho,
const typename gauss_::vector_type &  sample,
const typename gauss_::covar_type &  min_covar 
) [inline]

Update the statistics given a Gaussian distribution and a learning rate.

Parameters:
min_covarforces the covariance to stay above this limit
Note:
if rho = 1/(num observations) then this just an online cumulative average

Definition at line 183 of file bsta_gaussian_updater.h.

template<class T , unsigned n>
void bsta_update_gaussian ( bsta_gaussian_indep< T, n > &  gaussian,
rho,
const vnl_vector_fixed< T, n > &  sample,
min_var 
) [inline]

Update the statistics given a Gaussian distribution and a learning rate.

Parameters:
min_varforces all the variances to stay above this limit
Note:
if rho = 1/(num observations) then this just an online cumulative average

Definition at line 197 of file bsta_gaussian_updater.h.

template<class T , unsigned n>
void bsta_update_gaussian ( bsta_gaussian_full< T, n > &  gaussian,
rho,
const vnl_vector_fixed< T, n > &  sample,
min_var 
) [inline]

Update the statistics given a Gaussian distribution and a learning rate.

Parameters:
min_varforces the diagonal covariance to stay above this limit
Note:
if rho = 1/(num observations) then this just an online cumulative average

Definition at line 210 of file bsta_gaussian_updater.h.

template<class T >
T element_max ( const T &  a,
const T &  b 
) [inline]

Definition at line 113 of file bsta_gaussian_updater.h.

template<class T , unsigned n>
vnl_vector_fixed<T,n> element_max ( const vnl_vector_fixed< T, n > &  a_vector,
const T &  b 
)

element-wise minimum of vector.

Definition at line 121 of file bsta_gaussian_updater.h.

template<class T , unsigned n>
vnl_vector_fixed<T,n> element_max ( const vnl_vector_fixed< T, n > &  a_vector,
const vnl_vector_fixed< T, n > &  b_vector 
)

element-wise minimum of vector.

Definition at line 135 of file bsta_gaussian_updater.h.

template<class T , unsigned n>
vnl_matrix_fixed<T,n,n> element_max ( const vnl_matrix_fixed< T, n, n > &  a_matrix,
const T &  b 
)

element-wise minimum on the matrix diagonal.

Definition at line 150 of file bsta_gaussian_updater.h.

template<class T , unsigned n>
vnl_matrix_fixed<T,n,n> element_max ( const vnl_matrix_fixed< T, n, n > &  a_matrix,
const vnl_matrix_fixed< T, n, n > &  b_matrix 
)

element-wise minimum of matrix.

Definition at line 165 of file bsta_gaussian_updater.h.