Gaia

The RCA Analyzer computes the Relevant Components Analysis of the given DataSet using the specified descriptors. More...

#include <rca.h>

Inheritance diagram for gaia2::RCA:
gaia2::Analyzer

Public Member Functions

 RCA (const ParameterMap &params)
 
Transformation analyze (const DataSet *dataset, const Region &region) const
 
- Public Member Functions inherited from gaia2::Analyzer
 Analyzer (const ParameterMap &params)
 
virtual Transformation analyze (const DataSet *dataset) const
 
void checkDataSet (const DataSet *dataset) const
 Checks that the given dataset is valid. More...
 
void checkMinPoints (const DataSet *dataset, int n) const
 Checks that the given dataset as at least the specified number of points. More...
 
const RegioncheckFixedLength (const Region &region, const PointLayout &layout) const
 Checks that the given Region only contains fixed-length descriptors and throws an exception if not. More...
 

Static Public Member Functions

static QList< const PointArray * > cleanChunklets (QList< PointArray * > &chunklets)
 
static QList< const PointArray * > getChunkletsFromMap (const QMap< QString, QString > &filename, const DataSet *inputDataSet)
 
static QList< const PointArray * > getChunkletsFromFile (const QString &filename, const DataSet *inputDataSet)
 
static QList< const PointArray * > getChunkletsFromLabel (const QString &label, const DataSet *inputDataSet)
 

Protected Member Functions

Eigen::MatrixXd computeCovarianceMatrix (const QList< const PointArray * > &chunklets, const Region &region) const
 Computes the within chunklet covariance matrix. More...
 
Eigen::MatrixXd whitenMatrix (const Eigen::MatrixXd &cov) const
 

Protected Attributes

QString _resultName
 
int _targetDimension
 
QString _classFile
 
QString _className
 
QMap< QString, QString > _classMap
 
- Protected Attributes inherited from gaia2::Analyzer
ParameterMap _params
 
QStringList _descriptorNames
 
QStringList _exclude
 

Additional Inherited Members

- Public Attributes inherited from gaia2::Analyzer
QString name
 Name for the algorithm, usually the key that was used to instantiate it from the factory.
 
QStringList validParams
 List of valid parameters this analyzer accepts. More...
 

Detailed Description

The RCA Analyzer computes the Relevant Components Analysis of the given DataSet using the specified descriptors.

Note: the use of classFile, classMap and className is exclusive, ie: you need to specify one and only one of them.

Parameters
descriptorNamesthe names of the descriptors to be included in the RCA analysis. Only accepts real descriptors, can use wildcards. (default: "*").
exceptthe names of the descriptors to be removed from the selected list specified before. Can use wildcards. (default: "").
resultNamethe name of the resulting descriptor. (default: some name constructed from 'rca', the number of dimensions, and the original descriptor names)
dimensionthe target (final) dimension.
classFilethe name of the file containing the list of classes (chunklets in RCA language).
classMapthe groundtruth map, from point IDs to their class value.
classNamethe name of the descriptor in the PointLayout that will be used as class label.

Member Function Documentation

Transformation gaia2::RCA::analyze ( const DataSet dataset,
const Region descs 
) const
virtual
MatrixXd gaia2::RCA::computeCovarianceMatrix ( const QList< const PointArray * > &  chunklets,
const Region region 
) const
protected

Computes the within chunklet covariance matrix.

The implementation follows rigorously the description from the paper, however some doubts subsist (most probably due to my ignorance):

  • why do we normalize all of them at once, instead of normalizing each one separately?
  • why do we normalize by n instead of (n-1) (probably not worth much...)

References gaia2::covarianceMatrix(), gaia2::Region::dimension(), gaia2::Point::name(), and gaia2::DataSet::point().


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