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

Detailed Description

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

#include <mrpt/utils/CProbabilityDensityFunction.h>

Inheritance diagram for mrpt::utils::CProbabilityDensityFunction:
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 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

The type of the state the PDF represents.

Definition at line 54 of file CProbabilityDensityFunction.h.


Member Function Documentation

virtual void mrpt::utils::CProbabilityDensityFunction::changeCoordinatesReference ( const mrpt::poses::CPose3D newReferenceBase) [pure virtual]
virtual void mrpt::utils::CProbabilityDensityFunction::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.

Reimplemented in mrpt::poses::CPosePDFSOG, mrpt::poses::CPose3DPDFSOG, mrpt::poses::CPosePDFGaussianInf, mrpt::poses::CPosePDFGaussian, mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DQuatPDFGaussian, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPose3DPDFGaussianInf, and mrpt::poses::CPosePDFGrid.

Definition at line 126 of file CProbabilityDensityFunction.h.

virtual void mrpt::utils::CProbabilityDensityFunction::drawSingleSample ( TDATA &  outPart) const [pure virtual]

Draws a single sample from the distribution.

Referenced by mrpt::utils::CProbabilityDensityFunction< CPose2D, 3 >::drawManySamples().

void mrpt::utils::CProbabilityDensityFunction::getCovariance ( CMatrixDouble cov) const [inline]

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

See also:
getMean, getCovarianceAndMean

Definition at line 89 of file CProbabilityDensityFunction.h.

void mrpt::utils::CProbabilityDensityFunction::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

Definition at line 98 of file CProbabilityDensityFunction.h.

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

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

See also:
getMean

Definition at line 107 of file CProbabilityDensityFunction.h.

Referenced by mrpt::utils::CProbabilityDensityFunction< CPose2D, 3 >::getCovarianceEntropy().

virtual void mrpt::utils::CProbabilityDensityFunction::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

Referenced by mrpt::utils::CProbabilityDensityFunction< CPose2D, 3 >::getCovarianceDynAndMean(), and mrpt::utils::CProbabilityDensityFunction< CPose2D, 3 >::getCovariance().

void mrpt::utils::CProbabilityDensityFunction::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

Definition at line 69 of file CProbabilityDensityFunction.h.

Referenced by mrpt::utils::CProbabilityDensityFunction< CPose2D, 3 >::getCovariance().

double mrpt::utils::CProbabilityDensityFunction::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 145 of file CProbabilityDensityFunction.h.

virtual void mrpt::utils::CProbabilityDensityFunction::getMean ( TDATA &  mean_point) const [pure virtual]

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

See also:
getCovarianceAndMean

Referenced by mrpt::utils::CProbabilityDensityFunction< CPose2D, 3 >::getMeanVal().

TDATA mrpt::utils::CProbabilityDensityFunction::getMeanVal ( ) const [inline]

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

See also:
getCovariance

Definition at line 79 of file CProbabilityDensityFunction.h.

virtual void mrpt::utils::CProbabilityDensityFunction::saveToTextFile ( const std::string file) const [pure virtual]

Member Data Documentation

const size_t mrpt::utils::CProbabilityDensityFunction::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.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011