64 o <<
"Mean: " <<
mode.mean << std::endl
65 <<
"Covariance: " << std::endl <<
mode.cov << std::endl
66 <<
"Log-weight: " <<
mode.log_w << std::endl;
78 void assureSymmetry();
87 size_t size()
const {
return m_modes.size(); }
88 bool empty()
const {
return m_modes.empty(); }
117 m_modes.push_back(m);
127 void resize(
const size_t N);
135 void mergeModes(
double max_KLd = 0.5,
bool verbose =
false );
140 void normalizeWeights();
163 void rotateAllCovariances(
const double &ang);
165 void drawManySamples(
size_t N, std::vector<mrpt::math::CVectorDouble> & outSamples )
const MRPT_OVERRIDE;
174 void evaluatePDFInArea(
175 const double & x_min,
176 const double & x_max,
177 const double & y_min,
178 const double & y_max,
179 const double & resolutionXY,
182 bool sumOverAllPhis =
false );
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE(class_name, base_name)
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE(class_name, base_name)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
This class is a "CSerializable" wrapper for "CMatrixTemplateNumeric<double>".
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents a probability density function (pdf) of a 2D pose (x,...
Declares a class that represents a Probability Density function (PDF) of a 2D pose .
const CListGaussianModes & getSOGModes() const
const_iterator begin() const
iterator erase(iterator i)
mrpt::aligned_containers< TGaussianMode >::vector_t CListGaussianModes
const TGaussianMode & get(size_t i) const
Access to individual beacons.
CListGaussianModes::iterator iterator
bool empty() const
Return whether there is any Gaussian mode.
TGaussianMode & get(size_t i)
Access to individual beacons.
const_iterator end() const
CListGaussianModes::const_iterator const_iterator
size_t size() const
Return the number of Gaussian modes.
void push_back(const TGaussianMode &m)
Inserts a copy of the given mode into the SOG.
CListGaussianModes m_modes
The list of SOG modes.
void saveToTextFile(const std::string &file, mrpt::math::TMatrixTextFileFormat fileFormat=mrpt::math::MATRIX_FORMAT_ENG, bool appendMRPTHeader=false, const std::string &userHeader=std::string()) const
Save matrix to a text file, compatible with MATLAB text format (see also the methods of matrix classe...
EIGEN_STRONG_INLINE double mean() const
Computes the mean of the entire matrix.
const Scalar * const_iterator
GLsizei const GLchar ** string
std::vector< T1 > & operator+=(std::vector< T1 > &a, const std::vector< T2 > &b)
a+=b (element-wise sum)
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
Eigen::Matrix< typename MATRIX::Scalar, MATRIX::ColsAtCompileTime, MATRIX::ColsAtCompileTime > cov(const MATRIX &v)
Computes the covariance matrix from a list of samples in an NxM matrix, where each row is a sample,...
Eigen::Matrix< dataType, 4, 4 > inverse(Eigen::Matrix< dataType, 4, 4 > &pose)
VALUE & operator[](const KEY &key)
Write/read via [i] operator, that creates an element if it didn't exist already.
void clear()
Clear the contents of this container.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
std::vector< TYPE1, Eigen::aligned_allocator< TYPE1 > > vector_t
The struct for each mode:
MRPT_MAKE_ALIGNED_OPERATOR_NEW
friend std::ostream & operator<<(std::ostream &o, const TGaussianMode &mode)
mrpt::math::CMatrixDouble33 cov
double log_w
The log-weight.