TransformationEstimationLM implements Levenberg Marquardt-based estimation of the transformation aligning the given correspondences. More...
#include <pcl/registration/transformation_estimation_lm.h>
Classes | |
| struct | Functor |
| Base functor all the models that need non linear optimization must define their own one and implement operator() (const Eigen::VectorXd& x, Eigen::VectorXd& fvec) or operator() (const Eigen::VectorXf& x, Eigen::VectorXf& fvec) depending on the chosen _Scalar. More... |
|
| struct | OptimizationFunctor |
| struct | OptimizationFunctorWithIndices |
Public Types | |
| using | Ptr = shared_ptr< TransformationEstimationLM< PointSource, PointTarget, MatScalar > > |
| using | ConstPtr = shared_ptr< const TransformationEstimationLM< PointSource, PointTarget, MatScalar > > |
| using | VectorX = Eigen::Matrix< MatScalar, Eigen::Dynamic, 1 > |
| using | Vector4 = Eigen::Matrix< MatScalar, 4, 1 > |
| using | Matrix4 = typename TransformationEstimation< PointSource, PointTarget, MatScalar >::Matrix4 |
|
| |
| 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 | |
| TransformationEstimationLM () | |
| Constructor. More... |
|
| TransformationEstimationLM (const TransformationEstimationLM &src) | |
| Copy constructor. More... |
|
| TransformationEstimationLM & | operator= (const TransformationEstimationLM &src) |
| Copy operator. More... |
|
| ~TransformationEstimationLM () | |
| Destructor. More... |
|
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const override |
| Estimate a rigid rotation transformation between a source and a target point cloud using LM. More... |
|
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const override |
| Estimate a rigid rotation transformation between a source and a target point cloud using LM. 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 override |
| Estimate a rigid rotation transformation between a source and a target point cloud using LM. More... |
|
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const override |
| Estimate a rigid rotation transformation between a source and a target point cloud using LM. More... |
|
| void | setWarpFunction (const typename WarpPointRigid< PointSource, PointTarget, MatScalar >::Ptr &warp_fcn) |
| Set the function we use to warp points. More... |
|
|
| |
| 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 | |
| virtual MatScalar | computeDistance (const PointSource &p_src, const PointTarget &p_tgt) const |
| Compute the distance between a source point and its corresponding target point. More... |
|
| virtual MatScalar | computeDistance (const Vector4 &p_src, const PointTarget &p_tgt) const |
| Compute the distance between a source point and its corresponding target point. More... |
|
Protected Attributes | |
| const PointCloudSource * | tmp_src_ |
| Temporary pointer to the source dataset. More... |
|
| const PointCloudTarget * | tmp_tgt_ |
| Temporary pointer to the target dataset. More... |
|
| const pcl::Indices * | tmp_idx_src_ |
| Temporary pointer to the source dataset indices. More... |
|
| const pcl::Indices * | tmp_idx_tgt_ |
| Temporary pointer to the target dataset indices. More... |
|
| pcl::registration::WarpPointRigid< PointSource, PointTarget, MatScalar >::Ptr | warp_point_ |
| The parameterized function used to warp the source to the target. More... |
|
TransformationEstimationLM implements Levenberg Marquardt-based estimation of the transformation aligning the given correspondences.
Definition at line 58 of file transformation_estimation_lm.h.
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::ConstPtr = shared_ptr<const TransformationEstimationLM<PointSource, PointTarget, MatScalar> > |
Definition at line 73 of file transformation_estimation_lm.h.
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Matrix4 = typename TransformationEstimation<PointSource, PointTarget, MatScalar>::Matrix4 |
Definition at line 78 of file transformation_estimation_lm.h.
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Ptr = shared_ptr<TransformationEstimationLM<PointSource, PointTarget, MatScalar> > |
Definition at line 71 of file transformation_estimation_lm.h.
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Vector4 = Eigen::Matrix<MatScalar, 4, 1> |
Definition at line 76 of file transformation_estimation_lm.h.
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::VectorX = Eigen::Matrix<MatScalar, Eigen::Dynamic, 1> |
Definition at line 75 of file transformation_estimation_lm.h.
| pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::TransformationEstimationLM |
Constructor.
Definition at line 50 of file transformation_estimation_lm.hpp.
| inline |
Copy constructor.
| [in] | src | the TransformationEstimationLM object to copy into this |
Definition at line 86 of file transformation_estimation_lm.h.
| inline |
Destructor.
Definition at line 107 of file transformation_estimation_lm.h.
| inlineprotectedvirtual |
Compute the distance between a source point and its corresponding target point.
| [in] | p_src | The source point |
| [in] | p_tgt | The target point |
Reimplemented in pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, and pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, float >.
Definition at line 181 of file transformation_estimation_lm.h.
| inlineprotectedvirtual |
Compute the distance between a source point and its corresponding target point.
| [in] | p_src | The source point |
| [in] | p_tgt | The target point |
Reimplemented in pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, float >.
Definition at line 197 of file transformation_estimation_lm.h.
| inlineoverride |
Estimate a rigid rotation transformation between a source and a target point cloud using LM.
| [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 155 of file transformation_estimation_lm.hpp.
| inlineoverride |
Estimate a rigid rotation transformation between a source and a target point cloud using LM.
| [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 124 of file transformation_estimation_lm.hpp.
| inlineoverride |
Estimate a rigid rotation transformation between a source and a target point cloud using LM.
| [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 222 of file transformation_estimation_lm.hpp.
| inlineoverride |
Estimate a rigid rotation transformation between a source and a target point cloud using LM.
| [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 61 of file transformation_estimation_lm.hpp.
| inline |
Copy operator.
| [in] | src | the TransformationEstimationLM object to copy into this |
Definition at line 97 of file transformation_estimation_lm.h.
| inline |
Set the function we use to warp points.
Defaults to rigid 6D warp.
| [in] | warp_fcn | a shared pointer to an object that warps points |
Definition at line 164 of file transformation_estimation_lm.h.
| mutableprotected |
Temporary pointer to the source dataset indices.
Definition at line 210 of file transformation_estimation_lm.h.
Referenced by pcl::registration::TransformationEstimationLM< PointSource, PointTarget, float >::operator=().
| mutableprotected |
Temporary pointer to the target dataset indices.
Definition at line 213 of file transformation_estimation_lm.h.
Referenced by pcl::registration::TransformationEstimationLM< PointSource, PointTarget, float >::operator=().
| mutableprotected |
Temporary pointer to the source dataset.
Definition at line 204 of file transformation_estimation_lm.h.
Referenced by pcl::registration::TransformationEstimationLM< PointSource, PointTarget, float >::operator=().
| mutableprotected |
Temporary pointer to the target dataset.
Definition at line 207 of file transformation_estimation_lm.h.
Referenced by pcl::registration::TransformationEstimationLM< PointSource, PointTarget, float >::operator=().
| protected |
The parameterized function used to warp the source to the target.
Definition at line 217 of file transformation_estimation_lm.h.
Referenced by pcl::registration::TransformationEstimationLM< PointSource, PointTarget, float >::operator=(), and pcl::registration::TransformationEstimationLM< PointSource, PointTarget, float >::setWarpFunction().
© 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_l_m.html