Point Cloud Library (PCL)
1.7.2
|
A 3D Normal Distribution Transform registration implementation for point cloud data. More...
#include <pcl/registration/ndt.h>
Public Member Functions | |
NormalDistributionsTransform () | |
Constructor. More... | |
virtual | ~NormalDistributionsTransform () |
Empty destructor. More... | |
void | setInputTarget (const PointCloudTargetConstPtr &cloud) |
Provide a pointer to the input target (e.g., the point cloud that we want to align the input source to). More... | |
void | setResolution (float resolution) |
Set/change the voxel grid resolution. More... | |
float | getResolution () const |
Get voxel grid resolution. More... | |
double | getStepSize () const |
Get the newton line search maximum step length. More... | |
void | setStepSize (double step_size) |
Set/change the newton line search maximum step length. More... | |
double | getOulierRatio () const |
Get the point cloud outlier ratio. More... | |
void | setOulierRatio (double outlier_ratio) |
Set/change the point cloud outlier ratio. More... | |
double | getTransformationProbability () const |
Get the registration alignment probability. More... | |
int | getFinalNumIteration () const |
Get the number of iterations required to calculate alignment. More... | |
![]() | |
Registration () | |
Empty constructor. More... | |
virtual | ~Registration () |
destructor. More... | |
void | setTransformationEstimation (const TransformationEstimationPtr &te) |
Provide a pointer to the transformation estimation object. More... | |
void | setCorrespondenceEstimation (const CorrespondenceEstimationPtr &ce) |
Provide a pointer to the correspondence estimation object. More... | |
void | setInputCloud (const PointCloudSourceConstPtr &cloud) |
Provide a pointer to the input source (e.g., the point cloud that we want to align to the target) More... | |
PointCloudSourceConstPtr const | getInputCloud () |
Get a pointer to the input point cloud dataset target. More... | |
virtual void | setInputSource (const PointCloudSourceConstPtr &cloud) |
Provide a pointer to the input source (e.g., the point cloud that we want to align to the target) More... | |
PointCloudSourceConstPtr const | getInputSource () |
Get a pointer to the input point cloud dataset target. More... | |
virtual void | setInputTarget (const PointCloudTargetConstPtr &cloud) |
Provide a pointer to the input target (e.g., the point cloud that we want to align the input source to) More... | |
PointCloudTargetConstPtr const | getInputTarget () |
Get a pointer to the input point cloud dataset target. More... | |
void | setSearchMethodTarget (const KdTreePtr &tree, bool force_no_recompute=false) |
Provide a pointer to the search object used to find correspondences in the target cloud. More... | |
KdTreePtr | getSearchMethodTarget () const |
Get a pointer to the search method used to find correspondences in the target cloud. More... | |
void | setSearchMethodSource (const KdTreeReciprocalPtr &tree, bool force_no_recompute=false) |
Provide a pointer to the search object used to find correspondences in the source cloud (usually used by reciprocal correspondence finding). More... | |
KdTreeReciprocalPtr | getSearchMethodSource () const |
Get a pointer to the search method used to find correspondences in the source cloud. More... | |
Matrix4 | getFinalTransformation () |
Get the final transformation matrix estimated by the registration method. More... | |
Matrix4 | getLastIncrementalTransformation () |
Get the last incremental transformation matrix estimated by the registration method. More... | |
void | setMaximumIterations (int nr_iterations) |
Set the maximum number of iterations the internal optimization should run for. More... | |
int | getMaximumIterations () |
Get the maximum number of iterations the internal optimization should run for, as set by the user. More... | |
void | setRANSACIterations (int ransac_iterations) |
Set the number of iterations RANSAC should run for. More... | |
double | getRANSACIterations () |
Get the number of iterations RANSAC should run for, as set by the user. More... | |
void | setRANSACOutlierRejectionThreshold (double inlier_threshold) |
Set the inlier distance threshold for the internal RANSAC outlier rejection loop. More... | |
double | getRANSACOutlierRejectionThreshold () |
Get the inlier distance threshold for the internal outlier rejection loop as set by the user. More... | |
void | setMaxCorrespondenceDistance (double distance_threshold) |
Set the maximum distance threshold between two correspondent points in source <-> target. More... | |
double | getMaxCorrespondenceDistance () |
Get the maximum distance threshold between two correspondent points in source <-> target. More... | |
void | setTransformationEpsilon (double epsilon) |
Set the transformation epsilon (maximum allowable difference between two consecutive transformations) in order for an optimization to be considered as having converged to the final solution. More... | |
double | getTransformationEpsilon () |
Get the transformation epsilon (maximum allowable difference between two consecutive transformations) as set by the user. More... | |
void | setEuclideanFitnessEpsilon (double epsilon) |
Set the maximum allowed Euclidean error between two consecutive steps in the ICP loop, before the algorithm is considered to have converged. More... | |
double | getEuclideanFitnessEpsilon () |
Get the maximum allowed distance error before the algorithm will be considered to have converged, as set by the user. More... | |
void | setPointRepresentation (const PointRepresentationConstPtr &point_representation) |
Provide a boost shared pointer to the PointRepresentation to be used when comparing points. More... | |
bool | registerVisualizationCallback (boost::function< FunctionSignature > &visualizerCallback) |
Register the user callback function which will be called from registration thread in order to update point cloud obtained after each iteration. More... | |
double | getFitnessScore (double max_range=std::numeric_limits< double >::max()) |
Obtain the Euclidean fitness score (e.g., sum of squared distances from the source to the target) More... | |
double | getFitnessScore (const std::vector< float > &distances_a, const std::vector< float > &distances_b) |
Obtain the Euclidean fitness score (e.g., sum of squared distances from the source to the target) from two sets of correspondence distances (distances between source and target points) More... | |
bool | hasConverged () |
Return the state of convergence after the last align run. More... | |
void | align (PointCloudSource &output) |
Call the registration algorithm which estimates the transformation and returns the transformed source (input) as output. More... | |
void | align (PointCloudSource &output, const Matrix4 &guess) |
Call the registration algorithm which estimates the transformation and returns the transformed source (input) as output. More... | |
const std::string & | getClassName () const |
Abstract class get name method. More... | |
bool | initCompute () |
Internal computation initalization. More... | |
bool | initComputeReciprocal () |
Internal computation when reciprocal lookup is needed. More... | |
void | addCorrespondenceRejector (const CorrespondenceRejectorPtr &rejector) |
Add a new correspondence rejector to the list. More... | |
std::vector< CorrespondenceRejectorPtr > | getCorrespondenceRejectors () |
Get the list of correspondence rejectors. More... | |
bool | removeCorrespondenceRejector (unsigned int i) |
Remove the i-th correspondence rejector in the list. More... | |
void | clearCorrespondenceRejectors () |
Clear the list of correspondence rejectors. More... | |
![]() | |
PCLBase () | |
Empty constructor. More... | |
PCLBase (const PCLBase &base) | |
Copy constructor. More... | |
virtual | ~PCLBase () |
Destructor. More... | |
virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
Provide a pointer to the input dataset. More... | |
PointCloudConstPtr const | getInputCloud () const |
Get a pointer to the input point cloud dataset. More... | |
virtual void | setIndices (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (const IndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (const PointIndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols) |
Set the indices for the points laying within an interest region of the point cloud. More... | |
IndicesPtr const | getIndices () |
Get a pointer to the vector of indices used. More... | |
IndicesConstPtr const | getIndices () const |
Get a pointer to the vector of indices used. More... | |
const PointSource & | operator[] (size_t pos) const |
Override PointCloud operator[] to shorten code. More... | |
Static Public Member Functions | |
static void | convertTransform (const Eigen::Matrix< double, 6, 1 > &x, Eigen::Affine3f &trans) |
Convert 6 element transformation vector to affine transformation. More... | |
static void | convertTransform (const Eigen::Matrix< double, 6, 1 > &x, Eigen::Matrix4f &trans) |
Convert 6 element transformation vector to transformation matrix. More... | |
Protected Types | |
typedef Registration< PointSource, PointTarget >::PointCloudSource | PointCloudSource |
typedef PointCloudSource::Ptr | PointCloudSourcePtr |
typedef PointCloudSource::ConstPtr | PointCloudSourceConstPtr |
typedef Registration< PointSource, PointTarget >::PointCloudTarget | PointCloudTarget |
typedef PointCloudTarget::Ptr | PointCloudTargetPtr |
typedef PointCloudTarget::ConstPtr | PointCloudTargetConstPtr |
typedef PointIndices::Ptr | PointIndicesPtr |
typedef PointIndices::ConstPtr | PointIndicesConstPtr |
typedef VoxelGridCovariance< PointTarget > | TargetGrid |
Typename of searchable voxel grid containing mean and covariance. More... | |
typedef TargetGrid * | TargetGridPtr |
Typename of pointer to searchable voxel grid. More... | |
typedef const TargetGrid * | TargetGridConstPtr |
Typename of const pointer to searchable voxel grid. More... | |
typedef TargetGrid::LeafConstPtr | TargetGridLeafConstPtr |
Typename of const pointer to searchable voxel grid leaf. More... | |
Protected Member Functions | |
virtual void | computeTransformation (PointCloudSource &output) |
Estimate the transformation and returns the transformed source (input) as output. More... | |
virtual void | computeTransformation (PointCloudSource &output, const Eigen::Matrix4f &guess) |
Estimate the transformation and returns the transformed source (input) as output. More... | |
void | init () |
Initiate covariance voxel structure. More... | |
double | computeDerivatives (Eigen::Matrix< double, 6, 1 > &score_gradient, Eigen::Matrix< double, 6, 6 > &hessian, PointCloudSource &trans_cloud, Eigen::Matrix< double, 6, 1 > &p, bool compute_hessian=true) |
Compute derivatives of probability function w.r.t. More... | |
double | updateDerivatives (Eigen::Matrix< double, 6, 1 > &score_gradient, Eigen::Matrix< double, 6, 6 > &hessian, Eigen::Vector3d &x_trans, Eigen::Matrix3d &c_inv, bool compute_hessian=true) |
Compute individual point contirbutions to derivatives of probability function w.r.t. More... | |
void | computeAngleDerivatives (Eigen::Matrix< double, 6, 1 > &p, bool compute_hessian=true) |
Precompute anglular components of derivatives. More... | |
void | computePointDerivatives (Eigen::Vector3d &x, bool compute_hessian=true) |
Compute point derivatives. More... | |
void | computeHessian (Eigen::Matrix< double, 6, 6 > &hessian, PointCloudSource &trans_cloud, Eigen::Matrix< double, 6, 1 > &p) |
Compute hessian of probability function w.r.t. More... | |
void | updateHessian (Eigen::Matrix< double, 6, 6 > &hessian, Eigen::Vector3d &x_trans, Eigen::Matrix3d &c_inv) |
Compute individual point contirbutions to hessian of probability function w.r.t. More... | |
double | computeStepLengthMT (const Eigen::Matrix< double, 6, 1 > &x, Eigen::Matrix< double, 6, 1 > &step_dir, double step_init, double step_max, double step_min, double &score, Eigen::Matrix< double, 6, 1 > &score_gradient, Eigen::Matrix< double, 6, 6 > &hessian, PointCloudSource &trans_cloud) |
Compute line search step length and update transform and probability derivatives using More-Thuente method. More... | |
bool | updateIntervalMT (double &a_l, double &f_l, double &g_l, double &a_u, double &f_u, double &g_u, double a_t, double f_t, double g_t) |
Update interval of possible step lengths for More-Thuente method, ![]() | |
double | trialValueSelectionMT (double a_l, double f_l, double g_l, double a_u, double f_u, double g_u, double a_t, double f_t, double g_t) |
Select new trial value for More-Thuente method. More... | |
double | auxilaryFunction_PsiMT (double a, double f_a, double f_0, double g_0, double mu=1.e-4) |
Auxilary function used to determin endpoints of More-Thuente interval. More... | |
double | auxilaryFunction_dPsiMT (double g_a, double g_0, double mu=1.e-4) |
Auxilary function derivative used to determin endpoints of More-Thuente interval. More... | |
![]() | |
bool | searchForNeighbors (const PointCloudSource &cloud, int index, std::vector< int > &indices, std::vector< float > &distances) |
Search for the closest nearest neighbor of a given point. More... | |
virtual void | computeTransformation (PointCloudSource &output, const Matrix4 &guess)=0 |
Abstract transformation computation method with initial guess. More... | |
![]() | |
bool | initCompute () |
This method should get called before starting the actual computation. More... | |
bool | deinitCompute () |
This method should get called after finishing the actual computation. More... | |
Protected Attributes | |
TargetGrid | target_cells_ |
The voxel grid generated from target cloud containing point means and covariances. More... | |
float | resolution_ |
The side length of voxels. More... | |
double | step_size_ |
The maximum step length. More... | |
double | outlier_ratio_ |
The ratio of outliers of points w.r.t. More... | |
double | gauss_d1_ |
The normalization constants used fit the point distribution to a normal distribution, Equation 6.8 [Magnusson 2009]. More... | |
double | gauss_d2_ |
double | trans_probability_ |
The probability score of the transform applied to the input cloud, Equation 6.9 and 6.10 [Magnusson 2009]. More... | |
Eigen::Vector3d | j_ang_a_ |
Precomputed Angular Gradient. More... | |
Eigen::Vector3d | j_ang_b_ |
Eigen::Vector3d | j_ang_c_ |
Eigen::Vector3d | j_ang_d_ |
Eigen::Vector3d | j_ang_e_ |
Eigen::Vector3d | j_ang_f_ |
Eigen::Vector3d | j_ang_g_ |
Eigen::Vector3d | j_ang_h_ |
Eigen::Vector3d | h_ang_a2_ |
Precomputed Angular Hessian. More... | |
Eigen::Vector3d | h_ang_a3_ |
Eigen::Vector3d | h_ang_b2_ |
Eigen::Vector3d | h_ang_b3_ |
Eigen::Vector3d | h_ang_c2_ |
Eigen::Vector3d | h_ang_c3_ |
Eigen::Vector3d | h_ang_d1_ |
Eigen::Vector3d | h_ang_d2_ |
Eigen::Vector3d | h_ang_d3_ |
Eigen::Vector3d | h_ang_e1_ |
Eigen::Vector3d | h_ang_e2_ |
Eigen::Vector3d | h_ang_e3_ |
Eigen::Vector3d | h_ang_f1_ |
Eigen::Vector3d | h_ang_f2_ |
Eigen::Vector3d | h_ang_f3_ |
Eigen::Matrix< double, 3, 6 > | point_gradient_ |
The first order derivative of the transformation of a point w.r.t. More... | |
Eigen::Matrix< double, 18, 6 > | point_hessian_ |
The second order derivative of the transformation of a point w.r.t. More... | |
![]() | |
std::string | reg_name_ |
The registration method name. More... | |
KdTreePtr | tree_ |
A pointer to the spatial search object. More... | |
KdTreeReciprocalPtr | tree_reciprocal_ |
A pointer to the spatial search object of the source. More... | |
int | nr_iterations_ |
The number of iterations the internal optimization ran for (used internally). More... | |
int | max_iterations_ |
The maximum number of iterations the internal optimization should run for. More... | |
int | ransac_iterations_ |
The number of iterations RANSAC should run for. More... | |
PointCloudTargetConstPtr | target_ |
The input point cloud dataset target. More... | |
Matrix4 | final_transformation_ |
The final transformation matrix estimated by the registration method after N iterations. More... | |
Matrix4 | transformation_ |
The transformation matrix estimated by the registration method. More... | |
Matrix4 | previous_transformation_ |
The previous transformation matrix estimated by the registration method (used internally). More... | |
double | transformation_epsilon_ |
The maximum difference between two consecutive transformations in order to consider convergence (user defined). More... | |
double | euclidean_fitness_epsilon_ |
The maximum allowed Euclidean error between two consecutive steps in the ICP loop, before the algorithm is considered to have converged. More... | |
double | corr_dist_threshold_ |
The maximum distance threshold between two correspondent points in source <-> target. More... | |
double | inlier_threshold_ |
The inlier distance threshold for the internal RANSAC outlier rejection loop. More... | |
bool | converged_ |
Holds internal convergence state, given user parameters. More... | |
int | min_number_correspondences_ |
The minimum number of correspondences that the algorithm needs before attempting to estimate the transformation. More... | |
CorrespondencesPtr | correspondences_ |
The set of correspondences determined at this ICP step. More... | |
TransformationEstimationPtr | transformation_estimation_ |
A TransformationEstimation object, used to calculate the 4x4 rigid transformation. More... | |
CorrespondenceEstimationPtr | correspondence_estimation_ |
A CorrespondenceEstimation object, used to estimate correspondences between the source and the target cloud. More... | |
std::vector< CorrespondenceRejectorPtr > | correspondence_rejectors_ |
The list of correspondence rejectors to use. More... | |
bool | target_cloud_updated_ |
Variable that stores whether we have a new target cloud, meaning we need to pre-process it again. More... | |
bool | source_cloud_updated_ |
Variable that stores whether we have a new source cloud, meaning we need to pre-process it again. More... | |
bool | force_no_recompute_ |
A flag which, if set, means the tree operating on the target cloud will never be recomputed. More... | |
bool | force_no_recompute_reciprocal_ |
A flag which, if set, means the tree operating on the source cloud will never be recomputed. More... | |
boost::function< void(const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const std::vector< int > &indices_tgt)> | update_visualizer_ |
Callback function to update intermediate source point cloud position during it's registration to the target point cloud. More... | |
![]() | |
PointCloudConstPtr | input_ |
The input point cloud dataset. More... | |
IndicesPtr | indices_ |
A pointer to the vector of point indices to use. More... | |
bool | use_indices_ |
Set to true if point indices are used. More... | |
bool | fake_indices_ |
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More... | |
A 3D Normal Distribution Transform registration implementation for point cloud data.
typedef boost::shared_ptr< const NormalDistributionsTransform<PointSource, PointTarget> > pcl::NormalDistributionsTransform< PointSource, PointTarget >::ConstPtr |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
typedef boost::shared_ptr< NormalDistributionsTransform<PointSource, PointTarget> > pcl::NormalDistributionsTransform< PointSource, PointTarget >::Ptr |
|
protected |
|
protected |
|
protected |
|
protected |
pcl::NormalDistributionsTransform< PointSource, PointTarget >::NormalDistributionsTransform | ( | ) |
Constructor.
Sets outlier_ratio_ to 0.35, step_size_ to 0.05 and resolution_ to 1.0
Definition at line 46 of file ndt.hpp.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::gauss_d1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::gauss_d2_, pcl::Registration< PointSource, PointTarget >::max_iterations_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::outlier_ratio_, pcl::Registration< PointSource, PointTarget >::reg_name_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::resolution_, and pcl::Registration< PointSource, PointTarget >::transformation_epsilon_.
|
inlinevirtual |
|
inlineprotected |
Auxilary function derivative used to determin endpoints of More-Thuente interval.
[in] | g_a | function gradient at step length a, ![]() |
[in] | g_0 | initial function gradiant, ![]() |
[in] | mu | the step length, constant ![]() |
Definition at line 412 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeStepLengthMT().
|
inlineprotected |
Auxilary function used to determin endpoints of More-Thuente interval.
[in] | a | the step length, ![]() |
[in] | f_a | function value at step length a, ![]() |
[in] | f_0 | initial function value, ![]() |
[in] | g_0 | initial function gradiant, ![]() |
[in] | mu | the step length, constant ![]() |
Definition at line 399 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeStepLengthMT().
|
protected |
Precompute anglular components of derivatives.
[in] | p | the current transform vector |
[in] | compute_hessian | flag to calculate hessian, unnessissary for step calculation. |
Definition at line 233 of file ndt.hpp.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_a2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_a3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_b2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_b3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_c2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_c3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_d1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_d2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_d3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_e1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_e2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_e3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_f1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_f2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_f3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_a_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_b_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_c_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_d_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_e_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_f_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_g_, and pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_h_.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
protected |
Compute derivatives of probability function w.r.t.
the transformation vector.
[out] | score_gradient | the gradient vector of the probability function w.r.t. the transformation vector |
[out] | hessian | the hessian matrix of the probability function w.r.t. the transformation vector |
[in] | trans_cloud | transformed point cloud |
[in] | p | the current transform vector |
[in] | compute_hessian | flag to calculate hessian, unnessissary for step calculation. |
Definition at line 176 of file ndt.hpp.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives(), pcl::PCLBase< PointSource >::input_, pcl::VoxelGridCovariance< PointT >::radiusSearch(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::resolution_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::target_cells_, and pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateDerivatives().
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeStepLengthMT(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
protected |
Compute hessian of probability function w.r.t.
the transformation vector.
[out] | hessian | the hessian matrix of the probability function w.r.t. the transformation vector |
[in] | trans_cloud | transformed point cloud |
[in] | p | the current transform vector |
Definition at line 397 of file ndt.hpp.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives(), pcl::PCLBase< PointSource >::input_, pcl::VoxelGridCovariance< PointT >::radiusSearch(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::resolution_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::target_cells_, and pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateHessian().
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeStepLengthMT(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
protected |
Compute point derivatives.
[in] | x | point from the input cloud |
[in] | compute_hessian | flag to calculate hessian, unnessissary for step calculation. |
Definition at line 310 of file ndt.hpp.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_a2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_a3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_b2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_b3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_c2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_c3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_d1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_d2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_d3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_e1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_e2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_e3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_f1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_f2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::h_ang_f3_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_a_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_b_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_c_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_d_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_e_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_f_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_g_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::j_ang_h_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::point_gradient_, and pcl::NormalDistributionsTransform< PointSource, PointTarget >::point_hessian_.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeHessian(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
protected |
Compute line search step length and update transform and probability derivatives using More-Thuente method.
[in] | x | initial transformation vector, ![]() ![]() |
[in] | step_dir | descent direction, ![]() ![]() |
[in] | step_init | initial step length estimate, ![]() ![]() |
[in] | step_max | maximum step length, ![]() |
[in] | step_min | minimum step length, ![]() |
[out] | score | final score function value, ![]() ![]() |
[in,out] | score_gradient | gradient of score function w.r.t. transformation vector, ![]() ![]() |
[out] | hessian | hessian of score function w.r.t. transformation vector, ![]() ![]() |
[in,out] | trans_cloud | transformed point cloud, ![]() ![]() |
Definition at line 604 of file ndt.hpp.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::auxilaryFunction_dPsiMT(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::auxilaryFunction_PsiMT(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeHessian(), pcl::Registration< PointSource, PointTarget >::final_transformation_, pcl::PCLBase< PointSource >::input_, pcl::transformPointCloud(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::trialValueSelectionMT(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateIntervalMT().
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
inlineprotectedvirtual |
|
protectedvirtual |
Estimate the transformation and returns the transformed source (input) as output.
[out] | output | the resultant input transfomed point cloud dataset |
[in] | guess | the initial gross estimation of the transformation |
Definition at line 77 of file ndt.hpp.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeStepLengthMT(), pcl::Registration< PointSource, PointTarget >::converged_, pcl::Registration< PointSource, PointTarget >::final_transformation_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::gauss_d1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::gauss_d2_, pcl::PCLBase< PointSource >::input_, pcl::Registration< PointSource, PointTarget >::max_iterations_, pcl::Registration< PointSource, PointTarget >::nr_iterations_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::outlier_ratio_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::point_gradient_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::point_hessian_, pcl::Registration< PointSource, PointTarget >::previous_transformation_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::resolution_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::step_size_, pcl::Registration< PointSource, PointTarget >::target_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::trans_probability_, pcl::Registration< PointSource, PointTarget >::transformation_, pcl::Registration< PointSource, PointTarget >::transformation_epsilon_, pcl::transformPointCloud(), and pcl::Registration< PointSource, PointTarget >::update_visualizer_.
|
inlinestatic |
Convert 6 element transformation vector to affine transformation.
[in] | x | transformation vector of the form [x, y, z, roll, pitch, yaw] |
[out] | trans | affine transform corresponding to given transfomation vector |
Definition at line 195 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::convertTransform().
|
inlinestatic |
Convert 6 element transformation vector to transformation matrix.
[in] | x | transformation vector of the form [x, y, z, roll, pitch, yaw] |
[out] | trans | 4x4 transformation matrix corresponding to given transfomation vector |
Definition at line 208 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::convertTransform().
|
inline |
Get the number of iterations required to calculate alignment.
Definition at line 185 of file ndt.h.
References pcl::Registration< PointSource, PointTarget >::nr_iterations_.
|
inline |
Get the point cloud outlier ratio.
Definition at line 158 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::outlier_ratio_.
|
inline |
Get voxel grid resolution.
Definition at line 131 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::resolution_.
|
inline |
Get the newton line search maximum step length.
Definition at line 140 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::step_size_.
|
inline |
Get the registration alignment probability.
Definition at line 176 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::trans_probability_.
|
inlineprotected |
Initiate covariance voxel structure.
Definition at line 252 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeHessian(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeStepLengthMT(), pcl::VoxelGridCovariance< PointT >::filter(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::resolution_, pcl::PCLBase< PointT >::setInputCloud(), pcl::VoxelGrid< PointT >::setLeafSize(), pcl::Registration< PointSource, PointTarget >::target_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::target_cells_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::trialValueSelectionMT(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateHessian(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateIntervalMT().
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::setInputTarget(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::setResolution().
|
inline |
Provide a pointer to the input target (e.g., the point cloud that we want to align the input source to).
[in] | cloud | the input point cloud target |
Definition at line 106 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::init(), and pcl::Registration< PointSource, PointTarget, Scalar >::setInputTarget().
|
inline |
Set/change the point cloud outlier ratio.
[in] | outlier_ratio | outlier ratio |
Definition at line 167 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::outlier_ratio_.
|
inline |
Set/change the voxel grid resolution.
[in] | resolution | side length of voxels |
Definition at line 116 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::init(), pcl::PCLBase< PointSource >::input_, and pcl::NormalDistributionsTransform< PointSource, PointTarget >::resolution_.
|
inline |
Set/change the newton line search maximum step length.
[in] | step_size | maximum step length |
Definition at line 149 of file ndt.h.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::step_size_.
|
protected |
Select new trial value for More-Thuente method.
[in] | a_l | first endpoint of interval ![]() ![]() |
[in] | f_l | value at first endpoint, ![]() |
[in] | g_l | derivative at first endpoint, ![]() |
[in] | a_u | second endpoint of interval ![]() ![]() |
[in] | f_u | value at second endpoint, ![]() |
[in] | g_u | derivative at second endpoint, ![]() |
[in] | a_t | previous trial value, ![]() |
[in] | f_t | value at previous trial value, ![]() |
[in] | g_t | derivative at previous trial value, ![]() |
Definition at line 521 of file ndt.hpp.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeStepLengthMT(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
protected |
Compute individual point contirbutions to derivatives of probability function w.r.t.
the transformation vector.
[in,out] | score_gradient | the gradient vector of the probability function w.r.t. the transformation vector |
[in,out] | hessian | the hessian matrix of the probability function w.r.t. the transformation vector |
[in] | x_trans | transformed point minus mean of occupied covariance voxel |
[in] | c_inv | covariance of occupied covariance voxel |
[in] | compute_hessian | flag to calculate hessian, unnessissary for step calculation. |
Definition at line 351 of file ndt.hpp.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::gauss_d1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::gauss_d2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::point_gradient_, and pcl::NormalDistributionsTransform< PointSource, PointTarget >::point_hessian_.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
protected |
Compute individual point contirbutions to hessian of probability function w.r.t.
the transformation vector.
[in,out] | hessian | the hessian matrix of the probability function w.r.t. the transformation vector |
[in] | x_trans | transformed point minus mean of occupied covariance voxel |
[in] | c_inv | covariance of occupied covariance voxel |
Definition at line 449 of file ndt.hpp.
References pcl::NormalDistributionsTransform< PointSource, PointTarget >::gauss_d1_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::gauss_d2_, pcl::NormalDistributionsTransform< PointSource, PointTarget >::point_gradient_, and pcl::NormalDistributionsTransform< PointSource, PointTarget >::point_hessian_.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeHessian(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
protected |
Update interval of possible step lengths for More-Thuente method, in More-Thuente (1994)
[in,out] | a_l | first endpoint of interval ![]() ![]() |
[in,out] | f_l | value at first endpoint, ![]() ![]() ![]() |
[in,out] | g_l | derivative at first endpoint, ![]() ![]() ![]() |
[in,out] | a_u | second endpoint of interval ![]() ![]() |
[in,out] | f_u | value at second endpoint, ![]() ![]() ![]() |
[in,out] | g_u | derivative at second endpoint, ![]() ![]() ![]() |
[in] | a_t | trial value, ![]() |
[in] | f_t | value at trial value, ![]() ![]() ![]() |
[in] | g_t | derivative at trial value, ![]() ![]() ![]() |
Definition at line 480 of file ndt.hpp.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeStepLengthMT(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
protected |
The normalization constants used fit the point distribution to a normal distribution, Equation 6.8 [Magnusson 2009].
Definition at line 432 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::NormalDistributionsTransform(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateHessian().
|
protected |
Definition at line 432 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::NormalDistributionsTransform(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateHessian().
|
protected |
Precomputed Angular Hessian.
The precomputed angular derivatives for the hessian of a transformation vector, Equation 6.19 [Magnusson 2009].
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 447 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Precomputed Angular Gradient.
The precomputed angular derivatives for the jacobian of a transformation vector, Equation 6.19 [Magnusson 2009].
Definition at line 441 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 441 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 441 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 441 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 441 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 441 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 441 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
Definition at line 441 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeAngleDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives().
|
protected |
The ratio of outliers of points w.r.t.
a normal distribution, Equation 6.7 [Magnusson 2009].
Definition at line 429 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::getOulierRatio(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::NormalDistributionsTransform(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::setOulierRatio().
|
protected |
The first order derivative of the transformation of a point w.r.t.
the transform vector, in Equation 6.18 [Magnusson 2009].
Definition at line 455 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateHessian().
|
protected |
The second order derivative of the transformation of a point w.r.t.
the transform vector, in Equation 6.20 [Magnusson 2009].
Definition at line 458 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computePointDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateDerivatives(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::updateHessian().
|
protected |
The side length of voxels.
Definition at line 423 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeHessian(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::getResolution(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::init(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::NormalDistributionsTransform(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::setResolution().
|
protected |
The maximum step length.
Definition at line 426 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::getStepSize(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::setStepSize().
|
protected |
The voxel grid generated from target cloud containing point means and covariances.
Definition at line 418 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeDerivatives(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeHessian(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().
|
protected |
The probability score of the transform applied to the input cloud, Equation 6.9 and 6.10 [Magnusson 2009].
Definition at line 435 of file ndt.h.
Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), and pcl::NormalDistributionsTransform< PointSource, PointTarget >::getTransformationProbability().