Point Cloud Library (PCL)
1.14.1-dev
|
A normal distribution estimation class. More...
#include <pcl/registration/impl/ndt_2d.hpp>
Public Member Functions | |
NormalDist ()=default | |
void | addIdx (std::size_t i) |
Store a point index to use later for estimating distribution parameters. More... | |
void | estimateParams (const PointCloud &cloud, double min_covar_eigvalue_mult=0.001) |
Estimate the normal distribution parameters given the point indices provided. More... | |
ValueAndDerivatives< 3, double > | test (const PointT &transformed_pt, const double &cos_theta, const double &sin_theta) const |
Return the 'score' (denormalised likelihood) and derivatives of score of the point p given this distribution. More... | |
Protected Attributes | |
const std::size_t | min_n_ {3} |
std::size_t | n_ {0} |
std::vector< std::size_t > | pt_indices_ |
Eigen::Vector2d | mean_ |
Eigen::Matrix2d | covar_inv_ |
A normal distribution estimation class.
First the indices of of the points from a point cloud that should be modelled by the distribution are added with addIdx (...).
Then estimateParams (...) uses the stored point indices to estimate the parameters of a normal distribution, and discards the stored indices.
Finally the distriubution, and its derivatives, may be evaluated at any point using test (...).
Definition at line 98 of file ndt_2d.hpp.
|
default |
|
inline |
Store a point index to use later for estimating distribution parameters.
[in] | i | Point index to store |
Definition at line 108 of file ndt_2d.hpp.
References pcl::ndt2d::NormalDist< PointT >::pt_indices_.
|
inline |
Estimate the normal distribution parameters given the point indices provided.
Memory of point indices is cleared.
[in] | cloud | Point cloud corresponding to indices passed to addIdx. |
[in] | min_covar_eigvalue_mult | Set the smallest eigenvalue to this times the largest. |
Definition at line 119 of file ndt_2d.hpp.
References pcl::ndt2d::NormalDist< PointT >::covar_inv_, pcl::ndt2d::NormalDist< PointT >::mean_, pcl::ndt2d::NormalDist< PointT >::min_n_, pcl::ndt2d::NormalDist< PointT >::n_, and pcl::ndt2d::NormalDist< PointT >::pt_indices_.
|
inline |
Return the 'score' (denormalised likelihood) and derivatives of score of the point p given this distribution.
[in] | transformed_pt | Location to evaluate at. |
[in] | cos_theta | sin(theta) of the current rotation angle of rigid transformation: to avoid repeated evaluation |
[in] | sin_theta | cos(theta) of the current rotation angle of rigid transformation: to avoid repeated evaluation estimateParams must have been called after at least three points were provided, or this will return zero. |
Definition at line 166 of file ndt_2d.hpp.
References pcl::ndt2d::NormalDist< PointT >::covar_inv_, pcl::ndt2d::ValueAndDerivatives< N, T >::grad, pcl::ndt2d::ValueAndDerivatives< N, T >::hessian, pcl::ndt2d::NormalDist< PointT >::mean_, pcl::ndt2d::NormalDist< PointT >::min_n_, pcl::ndt2d::NormalDist< PointT >::n_, pcl::ndt2d::ValueAndDerivatives< N, T >::value, and pcl::ndt2d::ValueAndDerivatives< N, T >::Zero().
Referenced by pcl::ndt2d::NDTSingleGrid< PointT >::test().
|
protected |
Definition at line 211 of file ndt_2d.hpp.
Referenced by pcl::ndt2d::NormalDist< PointT >::estimateParams(), and pcl::ndt2d::NormalDist< PointT >::test().
|
protected |
Definition at line 210 of file ndt_2d.hpp.
Referenced by pcl::ndt2d::NormalDist< PointT >::estimateParams(), and pcl::ndt2d::NormalDist< PointT >::test().
|
protected |
Definition at line 206 of file ndt_2d.hpp.
Referenced by pcl::ndt2d::NormalDist< PointT >::estimateParams(), and pcl::ndt2d::NormalDist< PointT >::test().
|
protected |
Definition at line 208 of file ndt_2d.hpp.
Referenced by pcl::ndt2d::NormalDist< PointT >::estimateParams(), and pcl::ndt2d::NormalDist< PointT >::test().
|
protected |
Definition at line 209 of file ndt_2d.hpp.
Referenced by pcl::ndt2d::NormalDist< PointT >::addIdx(), and pcl::ndt2d::NormalDist< PointT >::estimateParams().