MRPT logo

mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN > Class Template Reference

A generic template for probability density distributions (PDFs). More...

#include <mrpt/utils/CProbabilityDensityFunction.h>

Inheritance diagram for mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >:

mrpt::poses::CPoint2DPDF mrpt::poses::CPointPDF mrpt::poses::CPose3DPDF mrpt::poses::CPosePDF mrpt::poses::CPoint2DPDFGaussian mrpt::poses::CPointPDFGaussian mrpt::poses::CPointPDFParticles mrpt::poses::CPointPDFSOG mrpt::slam::CBeacon mrpt::poses::CPose3DPDFGaussian mrpt::poses::CPose3DPDFParticles mrpt::poses::CPose3DPDFSOG mrpt::poses::CPosePDFGaussian mrpt::poses::CPosePDFGrid mrpt::poses::CPosePDFParticles mrpt::poses::CPosePDFSOG

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.
 MRPT_DECLARE_DEPRECATED_FUNCTION ("**deprecated** Use getCovariance instead", CMatrixD getEstimatedCovariance() const )
 Returns an estimate of the 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).


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 "getCovarianceAndMean". Other methods such as "getCovariance" are implemented here for convenience.

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

Definition at line 48 of file CProbabilityDensityFunction.h.


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 52 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]

This can be used to convert a PDF from local coordinates to global, providing the point (newReferenceBase) from which "to project" the current pdf.

Result PDF substituted the currently stored one in the object.

Implemented in mrpt::slam::CBeacon, mrpt::poses::CPoint2DPDFGaussian, mrpt::poses::CPointPDFGaussian, mrpt::poses::CPointPDFParticles, mrpt::poses::CPointPDFSOG, mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPose3DPDFSOG, mrpt::poses::CPosePDFGaussian, mrpt::poses::CPosePDFGrid, mrpt::poses::CPosePDFParticles, and mrpt::poses::CPosePDFSOG.

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.

Reimplemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPose3DPDFSOG, mrpt::poses::CPosePDFGaussian, mrpt::poses::CPosePDFGrid, mrpt::poses::CPosePDFParticles, and mrpt::poses::CPosePDFSOG.

Definition at line 124 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.

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

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

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

Definition at line 96 of file CProbabilityDensityFunction.h.

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

Definition at line 87 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

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

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

Definition at line 67 of file CProbabilityDensityFunction.h.

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

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 143 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

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

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

Definition at line 77 of file CProbabilityDensityFunction.h.

template<class TDATA , size_t STATE_LEN>
mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::MRPT_DECLARE_DEPRECATED_FUNCTION ( "**deprecated** Use getCovariance instead"  ,
CMatrixD getEstimatedCovariance()  const 
) [inline]

Returns an estimate of the covariance matrix.

Note:
Deprecated: Use getCovariance or getCovarianceAndMean instead.

Definition at line 152 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 51 of file CProbabilityDensityFunction.h.




Page generated by Doxygen 1.5.7.1 for MRPT 0.7.1 SVN: at Mon Aug 17 23:10:56 EDT 2009