Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Static Public Attributes
mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN > Class Template Reference

Detailed Description

template<class TDATA, size_t STATE_LEN>
class mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >

A generic template for probability density distributions (PDFs).

This template is used as base for many classes in mrpt::poses Any derived class must implement getMean() and a getCovarianceAndMean(). Other methods such as getMean() or getCovariance() are implemented here for convenience.

See also:
mprt::poses::CPosePDF, mprt::poses::CPose3DPDF, mprt::poses::CPointPDF

Definition at line 50 of file CProbabilityDensityFunction.h.

#include <mrpt/utils/CProbabilityDensityFunction.h>

Inheritance diagram for mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef TDATA type_value
 The type of the state the PDF represents.

Public Member Functions

virtual void getMean (TDATA &mean_point) const =0
 Returns the mean, or mathematical expectation of the probability density distribution (PDF).
virtual void getCovarianceAndMean (CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov, TDATA &mean_point) const =0
 Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.
void getCovarianceDynAndMean (CMatrixDouble &cov, TDATA &mean_point) const
 Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.
TDATA getMeanVal () const
 Returns the mean, or mathematical expectation of the probability density distribution (PDF).
void getCovariance (CMatrixDouble &cov) const
 Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
void getCovariance (CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov) const
 Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
CMatrixFixedNumeric< double,
STATE_LEN, STATE_LEN > 
getCovariance () const
 Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
virtual void getInformationMatrix (CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &inf) const
 Returns the information (inverse covariance) matrix (a STATE_LEN x STATE_LEN matrix) Unless reimplemented in derived classes, this method first reads the covariance, then invert it.
virtual void saveToTextFile (const std::string &file) const =0
 Save PDF's particles to a text file.
virtual void drawSingleSample (TDATA &outPart) const =0
 Draws a single sample from the distribution.
virtual void drawManySamples (size_t N, std::vector< vector_double > &outSamples) const
 Draws a number of samples from the distribution, and saves as a list of 1xSTATE_LEN vectors, where each row contains a (x,y,z,yaw,pitch,roll) datum.
virtual void changeCoordinatesReference (const mrpt::poses::CPose3D &newReferenceBase)=0
 This can be used to convert a PDF from local coordinates to global, providing the point (newReferenceBase) from which "to project" the current pdf.
double getCovarianceEntropy () const
 Compute the entropy of the estimated covariance matrix.

Static Public Attributes

static const size_t state_length = STATE_LEN
 The length of the variable, for example, 3 for a 3D point, 6 for a 3D pose (x y z yaw pitch roll).

Member Typedef Documentation

template<class TDATA, size_t STATE_LEN>
typedef TDATA mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::type_value

The type of the state the PDF represents.

Definition at line 54 of file CProbabilityDensityFunction.h.


Member Function Documentation

template<class TDATA, size_t STATE_LEN>
virtual void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::changeCoordinatesReference ( const mrpt::poses::CPose3D newReferenceBase) [pure virtual]
template<class TDATA, size_t STATE_LEN>
virtual void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::drawManySamples ( size_t  N,
std::vector< vector_double > &  outSamples 
) const [inline, virtual]

Draws a number of samples from the distribution, and saves as a list of 1xSTATE_LEN vectors, where each row contains a (x,y,z,yaw,pitch,roll) datum.

This base method just call N times to drawSingleSample, but derived classes should implemented optimized method for each particular PDF.

Definition at line 139 of file CProbabilityDensityFunction.h.

template<class TDATA, size_t STATE_LEN>
virtual void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::drawSingleSample ( TDATA &  outPart) const [pure virtual]

Draws a single sample from the distribution.

template<class TDATA, size_t STATE_LEN>
void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::getCovariance ( CMatrixDouble cov) const [inline]

Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)

See also:
getMean, getCovarianceAndMean, getInformationMatrix

Definition at line 89 of file CProbabilityDensityFunction.h.

template<class TDATA, size_t STATE_LEN>
void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::getCovariance ( CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &  cov) const [inline]

Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)

See also:
getMean, getCovarianceAndMean, getInformationMatrix

Definition at line 98 of file CProbabilityDensityFunction.h.

template<class TDATA, size_t STATE_LEN>
CMatrixFixedNumeric<double,STATE_LEN,STATE_LEN> mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::getCovariance ( ) const [inline]

Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)

See also:
getMean, getInformationMatrix

Definition at line 107 of file CProbabilityDensityFunction.h.

template<class TDATA, size_t STATE_LEN>
virtual void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::getCovarianceAndMean ( CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &  cov,
TDATA &  mean_point 
) const [pure virtual]

Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.

See also:
getMean, getInformationMatrix
template<class TDATA, size_t STATE_LEN>
void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::getCovarianceDynAndMean ( CMatrixDouble cov,
TDATA &  mean_point 
) const [inline]

Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.

See also:
getMean, getInformationMatrix

Definition at line 69 of file CProbabilityDensityFunction.h.

template<class TDATA, size_t STATE_LEN>
double mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::getCovarianceEntropy ( ) const [inline]

Compute the entropy of the estimated covariance matrix.

See also:
http://en.wikipedia.org/wiki/Multivariate_normal_distribution#Entropy

Definition at line 158 of file CProbabilityDensityFunction.h.

template<class TDATA, size_t STATE_LEN>
virtual void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::getInformationMatrix ( CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &  inf) const [inline, virtual]

Returns the information (inverse covariance) matrix (a STATE_LEN x STATE_LEN matrix) Unless reimplemented in derived classes, this method first reads the covariance, then invert it.

See also:
getMean, getCovarianceAndMean

Definition at line 120 of file CProbabilityDensityFunction.h.

template<class TDATA, size_t STATE_LEN>
virtual void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::getMean ( TDATA &  mean_point) const [pure virtual]

Returns the mean, or mathematical expectation of the probability density distribution (PDF).

See also:
getCovarianceAndMean, getInformationMatrix
template<class TDATA, size_t STATE_LEN>
TDATA mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::getMeanVal ( ) const [inline]

Returns the mean, or mathematical expectation of the probability density distribution (PDF).

See also:
getCovariance, getInformationMatrix

Definition at line 79 of file CProbabilityDensityFunction.h.

template<class TDATA, size_t STATE_LEN>
virtual void mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::saveToTextFile ( const std::string &  file) const [pure virtual]

Member Data Documentation

template<class TDATA, size_t STATE_LEN>
const size_t mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::state_length = STATE_LEN [static]

The length of the variable, for example, 3 for a 3D point, 6 for a 3D pose (x y z yaw pitch roll).

Definition at line 53 of file CProbabilityDensityFunction.h.




Page generated by Doxygen 1.7.4 for MRPT 0.9.5 SVN:2717 at Sun Oct 16 16:08:03 PDT 2011 Hosted on:
SourceForge.net Logo