Cost function to promote sparse basis vectors. More...
#include <mcal_sparse_basis_cost.h>

| Public Member Functions | |
| mcal_sparse_basis_cost () | |
| Dflt ctor. | |
| virtual | ~mcal_sparse_basis_cost () | 
| Destructor. | |
| double | alpha () const | 
| Weighting for sparseness penalty. | |
| void | set_alpha (double a) | 
| Weighting for sparseness penalty. | |
| virtual bool | can_use_variance () const | 
| Returns true since cost can be computed from the variance. | |
| virtual double | cost (const vnl_vector< double > &unit_basis, const vnl_vector< double > &projections) | 
| Compute component of the cost function from given basis vector. | |
| virtual double | cost_from_variance (const vnl_vector< double > &unit_basis, double variance) | 
| Compute component of the cost function from given basis vector. | |
| short | version_no () const | 
| Version number for I/O. | |
| virtual vcl_string | is_a () const | 
| Name of the class. | |
| virtual mcal_single_basis_cost * | clone () 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 | config_from_stream (vcl_istream &is) | 
| Read initialisation settings from a stream. | |
| Static Public Member Functions | |
| static vcl_auto_ptr < mcal_single_basis_cost > | create_from_stream (vcl_istream &is) | 
| Create a concrete mcal_single_basis_cost object, from a text specification. | |
| Private Attributes | |
| double | alpha_ | 
| Weighting for sparseness penalty. | |
Cost function to promote sparse basis vectors.
Cost is log(variance) + alpha sum |e_i|, which encourages concentration in non-zero elements of the basis vector
Definition at line 16 of file mcal_sparse_basis_cost.h.
| mcal_sparse_basis_cost::mcal_sparse_basis_cost | ( | ) | 
Dflt ctor.
Definition at line 23 of file mcal_sparse_basis_cost.cxx.
| mcal_sparse_basis_cost::~mcal_sparse_basis_cost | ( | ) |  [virtual] | 
Destructor.
Definition at line 32 of file mcal_sparse_basis_cost.cxx.
| double mcal_sparse_basis_cost::alpha | ( | ) | const  [inline] | 
Weighting for sparseness penalty.
Definition at line 31 of file mcal_sparse_basis_cost.h.
| void mcal_sparse_basis_cost::b_read | ( | vsl_b_istream & | bfs | ) |  [virtual] | 
Load class from binary file stream.
Implements mcal_single_basis_cost.
Definition at line 119 of file mcal_sparse_basis_cost.cxx.
| void mcal_sparse_basis_cost::b_write | ( | vsl_b_ostream & | bfs | ) | const  [virtual] | 
Save class to binary file stream.
Implements mcal_single_basis_cost.
Definition at line 109 of file mcal_sparse_basis_cost.cxx.
| bool mcal_sparse_basis_cost::can_use_variance | ( | ) | const  [virtual] | 
Returns true since cost can be computed from the variance.
Implements mcal_single_basis_cost.
Definition at line 43 of file mcal_sparse_basis_cost.cxx.
| mcal_single_basis_cost * mcal_sparse_basis_cost::clone | ( | ) | const  [virtual] | 
Create a copy on the heap and return base class pointer.
Implements mcal_single_basis_cost.
Definition at line 91 of file mcal_sparse_basis_cost.cxx.
| void mcal_sparse_basis_cost::config_from_stream | ( | vcl_istream & | is | ) |  [virtual] | 
Read initialisation settings from a stream.
Parameters:
   {
     alpha: 1.0
   }
   | mbl_exception_parse_error | if the parse fails. | 
Parameters:
   {
     min_modes: 0 max_modes: 99 prop_modes: 0.99
     // Maximum number of doubles to store in memory at once
     max_d_in_memory: 1e8
     // Indicate how to build from large amounts of data
     use_chunks: false
   }
   | mbl_exception_parse_error | if the parse fails. | 
Reimplemented from mcal_single_basis_cost.
Definition at line 148 of file mcal_sparse_basis_cost.cxx.
| double mcal_sparse_basis_cost::cost | ( | const vnl_vector< double > & | unit_basis, | 
| const vnl_vector< double > & | projections | ||
| ) |  [virtual] | 
Compute component of the cost function from given basis vector.
| [in] | unit_basis | Unit vector defining basis direction | 
| [in] | projections | Projections of the dataset onto this basis vector | 
Implements mcal_single_basis_cost.
Definition at line 51 of file mcal_sparse_basis_cost.cxx.
| double mcal_sparse_basis_cost::cost_from_variance | ( | const vnl_vector< double > & | unit_basis, | 
| double | variance | ||
| ) |  [virtual] | 
Compute component of the cost function from given basis vector.
Cost is log(variance) + alpha sum |e_i|.
| [in] | unit_basis | Unit vector defining basis direction | 
| [in] | variance | Variance of projections of the dataset onto this basis vector | 
Implements mcal_single_basis_cost.
Definition at line 62 of file mcal_sparse_basis_cost.cxx.
| vcl_auto_ptr< mcal_single_basis_cost > mcal_single_basis_cost::create_from_stream | ( | vcl_istream & | is | ) |  [static, inherited] | 
Create a concrete mcal_single_basis_cost object, from a text specification.
Definition at line 48 of file mcal_single_basis_cost.cxx.
| vcl_string mcal_sparse_basis_cost::is_a | ( | ) | const  [virtual] | 
Name of the class.
Implements mcal_single_basis_cost.
Definition at line 73 of file mcal_sparse_basis_cost.cxx.
| void mcal_sparse_basis_cost::print_summary | ( | vcl_ostream & | os | ) | const  [virtual] | 
Print class to os.
Implements mcal_single_basis_cost.
Definition at line 100 of file mcal_sparse_basis_cost.cxx.
| void mcal_sparse_basis_cost::set_alpha | ( | double | a | ) | 
Weighting for sparseness penalty.
Definition at line 37 of file mcal_sparse_basis_cost.cxx.
| short mcal_sparse_basis_cost::version_no | ( | ) | const | 
Version number for I/O.
Reimplemented from mcal_single_basis_cost.
Definition at line 82 of file mcal_sparse_basis_cost.cxx.
| double mcal_sparse_basis_cost::alpha_  [private] | 
Weighting for sparseness penalty.
Definition at line 20 of file mcal_sparse_basis_cost.h.
 1.7.5.1
 1.7.5.1