Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

vpdfl_pc_gaussian_builder Class Reference

#include <vpdfl_pc_gaussian_builder.h>

Inheritance diagram for vpdfl_pc_gaussian_builder:

Inheritance graph
[legend]
List of all members.

Detailed Description

Class to build vpdfl_pc_gaussian objects with a fixed number of principle components.

Definition at line 28 of file vpdfl_pc_gaussian_builder.h.

Public Types

enum  partitionMethods { fixed, proportionate }

Public Member Functions

 vpdfl_pc_gaussian_builder ()
 Dflt ctor.
virtual ~vpdfl_pc_gaussian_builder ()
 Destructor.
virtual vpdfl_pdf_basenew_model () const
 Create empty model.
virtual void build (vpdfl_pdf_base &model, const vnl_vector< double > &mean) const
 Build default model with given mean.
virtual void build (vpdfl_pdf_base &model, mbl_data_wrapper< vnl_vector< double > > &data) const
 Build model from data.
virtual void weighted_build (vpdfl_pdf_base &model, mbl_data_wrapper< vnl_vector< double > > &data, const vcl_vector< double > &wts) const
 Build model from weighted data.
void mean_covar (vnl_vector< double > &mean, vnl_matrix< double > &covar, mbl_data_wrapper< vnl_vector< double > > &data) const
 Computes mean and covariance of given data.
virtual unsigned decide_partition (const vnl_vector< double > &eVals, unsigned nSamples=0, double noise=0.0) const
 Decide where to partition an Eigenvector space.
int fixed_partition () const
 Return the number of principle components when using fixed partition.
void set_fixed_partition (int n_principle_components)
 Set the number of principle components when using fixed partition.
void set_proportion_partition (double proportion)
 Use proportion of variance to decide on the number of principle components.
double proportion_partition () const
 Find the proportion of variance to decide on the number of principle components.
partitionMethods partition_method () const
 How is the partition between principle and complementary spaces.
short version_no () const
 Version number for I/O.
virtual vcl_string is_a () const
 Name of the class.
virtual bool is_class (vcl_string const &s) const
 Does the name of the class match the argument?.
virtual vpdfl_builder_baseclone () const
 Create a copy on the heap and return base class pointer.
virtual void print_summary (vcl_ostream &os) const
 Print class to os.
virtual void b_write (vsl_b_ostream &bfs) const
 Save class to binary file stream.
virtual void b_read (vsl_b_istream &bfs)
 Load class from binary file stream.
virtual void set_min_var (double min_var)
 Define lower threshold on variance for built models.
virtual double min_var () const
 Get lower threshold on variance for built models.
void meanCovar (vnl_vector< double > &mean, vnl_matrix< double > &covar, mbl_data_wrapper< vnl_vector< double > > &data) const
 Computes mean and covariance of given data.
void buildFromCovar (vpdfl_gaussian &model, const vnl_vector< double > &mean, const vnl_matrix< double > &covar) const
 Build model from mean and covariance.
virtual void config_from_stream (vcl_istream &is)
 Read initialisation settings from a stream.

Static Public Member Functions

static vcl_auto_ptr< vpdfl_builder_basenew_builder_from_stream (vcl_istream &is)
 Create a vpdfl_builder_base object given a config steram.
static vcl_auto_ptr< vpdfl_builder_basenew_pdf_builder_from_stream (vcl_istream &)
 Create a vpdfl_builder_base object given a config stream (recursive style).

Protected Member Functions

void updateCovar (vnl_matrix< double > &S, const vnl_vector< double > &v, double w) const
 Add w*v*v.transpose() to S (resizing if necessary).

Private Member Functions

vpdfl_pc_gaussiangaussian (vpdfl_pdf_base &model) const

Private Attributes

partitionMethods partitionMethod_
 The method used to decide how to calculate the number of principle components.
double proportionOfVariance_
 The proportion of variance that should be encoded with the principle components.
unsigned fixed_partition_
 The number of components to represent in the principle space.


Member Enumeration Documentation

enum vpdfl_pc_gaussian_builder::partitionMethods
 

Enumerator:
fixed 
proportionate 

Definition at line 31 of file vpdfl_pc_gaussian_builder.h.


Constructor & Destructor Documentation

vpdfl_pc_gaussian_builder::vpdfl_pc_gaussian_builder  ) 
 

Dflt ctor.

Definition at line 34 of file vpdfl_pc_gaussian_builder.cxx.

vpdfl_pc_gaussian_builder::~vpdfl_pc_gaussian_builder  )  [virtual]
 

Destructor.

Definition at line 43 of file vpdfl_pc_gaussian_builder.cxx.


Member Function Documentation

void vpdfl_pc_gaussian_builder::b_read vsl_b_istream bfs  )  [virtual]
 

Load class from binary file stream.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 419 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_pc_gaussian_builder::b_write vsl_b_ostream bfs  )  const [virtual]
 

Save class to binary file stream.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 405 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_pc_gaussian_builder::build vpdfl_pdf_base model,
mbl_data_wrapper< vnl_vector< double > > &  data
const [virtual]
 

Build model from data.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 154 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_pc_gaussian_builder::build vpdfl_pdf_base model,
const vnl_vector< double > &  mean
const [virtual]
 

Build default model with given mean.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 89 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_gaussian_builder::buildFromCovar vpdfl_gaussian model,
const vnl_vector< double > &  mean,
const vnl_matrix< double > &  covar
const [inherited]
 

Build model from mean and covariance.

Definition at line 134 of file vpdfl_gaussian_builder.cxx.

vpdfl_builder_base * vpdfl_pc_gaussian_builder::clone  )  const [virtual]
 

Create a copy on the heap and return base class pointer.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 387 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_gaussian_builder::config_from_stream vcl_istream &  is  )  [virtual, inherited]
 

Read initialisation settings from a stream.

Parameters:

   {
     min_var: 1.0e-6
   }
   
Exceptions:
mbl_exception_parse_error if the parse fails.

Reimplemented from vpdfl_builder_base.

Definition at line 369 of file vpdfl_gaussian_builder.cxx.

unsigned vpdfl_pc_gaussian_builder::decide_partition const vnl_vector< double > &  eVals,
unsigned  nSamples = 0,
double  noise = 0.0
const [virtual]
 

Decide where to partition an Eigenvector space.

Returns the number of principle components to be used. Pass in the eigenvalues (eVals), the number of samples that went to make up this Gaussian (nSamples), and the noise floor for the dataset. The method may use simplified algorithms if you indicate that the number of samples or noise floor is unknown (by setting the latter parameters to 0.)

Definition at line 326 of file vpdfl_pc_gaussian_builder.cxx.

int vpdfl_pc_gaussian_builder::fixed_partition  )  const [inline]
 

Return the number of principle components when using fixed partition.

Definition at line 85 of file vpdfl_pc_gaussian_builder.h.

vpdfl_pc_gaussian & vpdfl_pc_gaussian_builder::gaussian vpdfl_pdf_base model  )  const [private]
 

Reimplemented from vpdfl_gaussian_builder.

Definition at line 73 of file vpdfl_pc_gaussian_builder.cxx.

vcl_string vpdfl_pc_gaussian_builder::is_a  )  const [virtual]
 

Name of the class.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 359 of file vpdfl_pc_gaussian_builder.cxx.

bool vpdfl_pc_gaussian_builder::is_class vcl_string const &  s  )  const [virtual]
 

Does the name of the class match the argument?.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 369 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_pc_gaussian_builder::mean_covar vnl_vector< double > &  mean,
vnl_matrix< double > &  covar,
mbl_data_wrapper< vnl_vector< double > > &  data
const
 

Computes mean and covariance of given data.

Definition at line 203 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_gaussian_builder::meanCovar vnl_vector< double > &  mean,
vnl_matrix< double > &  covar,
mbl_data_wrapper< vnl_vector< double > > &  data
const [inherited]
 

Computes mean and covariance of given data.

Definition at line 177 of file vpdfl_gaussian_builder.cxx.

double vpdfl_gaussian_builder::min_var  )  const [virtual, inherited]
 

Get lower threshold on variance for built models.

Implements vpdfl_builder_base.

Definition at line 77 of file vpdfl_gaussian_builder.cxx.

vcl_auto_ptr< vpdfl_builder_base > vpdfl_builder_base::new_builder_from_stream vcl_istream &  is  )  [static, inherited]
 

Create a vpdfl_builder_base object given a config steram.

Exceptions:
mbl_exception if parse error.

Definition at line 55 of file vpdfl_builder_base.cxx.

vpdfl_pdf_base * vpdfl_pc_gaussian_builder::new_model  )  const [virtual]
 

Create empty model.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 82 of file vpdfl_pc_gaussian_builder.cxx.

vcl_auto_ptr< vpdfl_builder_base > vpdfl_builder_base::new_pdf_builder_from_stream vcl_istream &   )  [static, inherited]
 

Create a vpdfl_builder_base object given a config stream (recursive style).

Creates object, then uses config_from_stream(is) to set up internals

Exceptions:
vcl_runtime_exception if parse error.

Definition at line 145 of file vpdfl_builder_base.cxx.

partitionMethods vpdfl_pc_gaussian_builder::partition_method  )  const [inline]
 

How is the partition between principle and complementary spaces.

Definition at line 108 of file vpdfl_pc_gaussian_builder.h.

void vpdfl_pc_gaussian_builder::print_summary vcl_ostream &  os  )  const [virtual]
 

Print class to os.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 396 of file vpdfl_pc_gaussian_builder.cxx.

double vpdfl_pc_gaussian_builder::proportion_partition  )  const [inline]
 

Find the proportion of variance to decide on the number of principle components.

returns a negative value if not using proportion of variance method.

Definition at line 101 of file vpdfl_pc_gaussian_builder.h.

void vpdfl_pc_gaussian_builder::set_fixed_partition int  n_principle_components  ) 
 

Set the number of principle components when using fixed partition.

Definition at line 64 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_gaussian_builder::set_min_var double  min_var  )  [virtual, inherited]
 

Define lower threshold on variance for built models.

Implements vpdfl_builder_base.

Definition at line 70 of file vpdfl_gaussian_builder.cxx.

void vpdfl_pc_gaussian_builder::set_proportion_partition double  proportion  ) 
 

Use proportion of variance to decide on the number of principle components.

Specify the proportion (between 0 and 1). The default setting uses a fixed number of principle components.

Definition at line 52 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_gaussian_builder::updateCovar vnl_matrix< double > &  S,
const vnl_vector< double > &  v,
double  w
const [protected, inherited]
 

Add w*v*v.transpose() to S (resizing if necessary).

By repeatedly calling this function with a new vector v and weight w You can calculate the Sum of Squares matrix.

Definition at line 104 of file vpdfl_gaussian_builder.cxx.

short vpdfl_pc_gaussian_builder::version_no  )  const
 

Version number for I/O.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 378 of file vpdfl_pc_gaussian_builder.cxx.

void vpdfl_pc_gaussian_builder::weighted_build vpdfl_pdf_base model,
mbl_data_wrapper< vnl_vector< double > > &  data,
const vcl_vector< double > &  wts
const [virtual]
 

Build model from weighted data.

Reimplemented from vpdfl_gaussian_builder.

Definition at line 232 of file vpdfl_pc_gaussian_builder.cxx.


Member Data Documentation

unsigned vpdfl_pc_gaussian_builder::fixed_partition_ [private]
 

The number of components to represent in the principle space.

Definition at line 45 of file vpdfl_pc_gaussian_builder.h.

partitionMethods vpdfl_pc_gaussian_builder::partitionMethod_ [private]
 

The method used to decide how to calculate the number of principle components.

defaults to fixed.

Definition at line 38 of file vpdfl_pc_gaussian_builder.h.

double vpdfl_pc_gaussian_builder::proportionOfVariance_ [private]
 

The proportion of variance that should be encoded with the principle components.

Isn't used by default..

Definition at line 42 of file vpdfl_pc_gaussian_builder.h.


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 14:43:35 2008 for contrib/mul/vpdfl by  doxygen 1.4.4