TransformationEstimationPointToPlaneLLSWeighted implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals, with the possibility of assigning weights to the correspondences. More...
#include <pcl/registration/transformation_estimation_point_to_plane_lls_weighted.h>
Public Types | |
using | Ptr = shared_ptr< TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > > |
using | ConstPtr = shared_ptr< const TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > > |
using | Matrix4 = typename TransformationEstimation< PointSource, PointTarget, Scalar >::Matrix4 |
Public Types inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, float > | |
using | Matrix4 = Eigen::Matrix< float, 4, 4 > |
using | Ptr = shared_ptr< TransformationEstimation< PointSource, PointTarget, float > > |
using | ConstPtr = shared_ptr< const TransformationEstimation< PointSource, PointTarget, float > > |
Public Member Functions | |
TransformationEstimationPointToPlaneLLSWeighted () | |
virtual | ~TransformationEstimationPointToPlaneLLSWeighted () |
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More... |
|
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More... |
|
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) const |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More... |
|
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More... |
|
void | setCorrespondenceWeights (const std::vector< Scalar > &weights) |
Set the weights for the correspondences. More... |
|
Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, float > | |
TransformationEstimation () | |
virtual | ~TransformationEstimation () |
virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const=0 |
Estimate a rigid rotation transformation between a source and a target point cloud. More... |
|
virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const=0 |
Estimate a rigid rotation transformation between a source and a target point cloud. More... |
|
virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) const=0 |
Estimate a rigid rotation transformation between a source and a target point cloud. More... |
|
virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const=0 |
Estimate a rigid rotation transformation between a source and a target point cloud. More... |
|
Protected Member Functions | |
void | estimateRigidTransformation (ConstCloudIterator< PointSource > &source_it, ConstCloudIterator< PointTarget > &target_it, typename std::vector< Scalar >::const_iterator &weights_it, Matrix4 &transformation_matrix) const |
Estimate a rigid rotation transformation between a source and a target. More... |
|
void | constructTransformationMatrix (const double &alpha, const double &beta, const double &gamma, const double &tx, const double &ty, const double &tz, Matrix4 &transformation_matrix) const |
Construct a 4 by 4 transformation matrix from the provided rotation and translation. More... |
|
Protected Attributes | |
std::vector< Scalar > | weights_ |
TransformationEstimationPointToPlaneLLSWeighted implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals, with the possibility of assigning weights to the correspondences.
For additional details, see "Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration", Kok-Lim Low, 2004
Definition at line 63 of file transformation_estimation_point_to_plane_lls_weighted.h.
using pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const TransformationEstimationPointToPlaneLLSWeighted<PointSource, PointTarget, Scalar> > |
Definition at line 72 of file transformation_estimation_point_to_plane_lls_weighted.h.
using pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationEstimation<PointSource, PointTarget, Scalar>::Matrix4 |
Definition at line 75 of file transformation_estimation_point_to_plane_lls_weighted.h.
using pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<TransformationEstimationPointToPlaneLLSWeighted<PointSource, PointTarget, Scalar> > |
Definition at line 68 of file transformation_estimation_point_to_plane_lls_weighted.h.
| inline |
Definition at line 77 of file transformation_estimation_point_to_plane_lls_weighted.h.
| inlinevirtual |
Definition at line 78 of file transformation_estimation_point_to_plane_lls_weighted.h.
| inlineprotected |
Construct a 4 by 4 transformation matrix from the provided rotation and translation.
[in] | alpha | the rotation about the x-axis |
[in] | beta | the rotation about the y-axis |
[in] | gamma | the rotation about the z-axis |
[in] | tx | the x translation |
[in] | ty | the y translation |
[in] | tz | the z translation |
[out] | transformation_matrix | the resultant transformation matrix |
Definition at line 162 of file transformation_estimation_point_to_plane_lls_weighted.hpp.
| inline |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD.
[in] | cloud_src | the source point cloud dataset |
[in] | indices_src | the vector of indices describing the points of interest in cloud_src |
[in] | cloud_tgt | the target point cloud dataset |
[in] | indices_tgt | the vector of indices describing the correspondences of the interest points from indices_src |
[out] | transformation_matrix | the resultant transformation matrix |
Definition at line 113 of file transformation_estimation_point_to_plane_lls_weighted.hpp.
| inline |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD.
[in] | cloud_src | the source point cloud dataset |
[in] | indices_src | the vector of indices describing the points of interest in cloud_src |
[in] | cloud_tgt | the target point cloud dataset |
[out] | transformation_matrix | the resultant transformation matrix |
Definition at line 82 of file transformation_estimation_point_to_plane_lls_weighted.hpp.
References pcl::PointCloud< PointT >::size().
| inline |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD.
[in] | cloud_src | the source point cloud dataset |
[in] | cloud_tgt | the target point cloud dataset |
[in] | correspondences | the vector of correspondences between source and target point cloud |
[out] | transformation_matrix | the resultant transformation matrix |
Definition at line 145 of file transformation_estimation_point_to_plane_lls_weighted.hpp.
| inline |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD.
[in] | cloud_src | the source point cloud dataset |
[in] | cloud_tgt | the target point cloud dataset |
[out] | transformation_matrix | the resultant transformation matrix |
Definition at line 52 of file transformation_estimation_point_to_plane_lls_weighted.hpp.
References pcl::PointCloud< PointT >::size().
| inlineprotected |
Estimate a rigid rotation transformation between a source and a target.
[in] | source_it | an iterator over the source point cloud dataset |
[in] | target_it | an iterator over the target point cloud dataset |
weights_it | ||
[out] | transformation_matrix | the resultant transformation matrix |
Definition at line 195 of file transformation_estimation_point_to_plane_lls_weighted.hpp.
References pcl::ConstCloudIterator< PointT >::isValid().
| inline |
Set the weights for the correspondences.
[in] | weights | the weights for each correspondence |
Definition at line 135 of file transformation_estimation_point_to_plane_lls_weighted.h.
| protected |
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1registration_1_1_transformation_estimation_point_to_plane_l_l_s_weighted.html