|
Point Cloud Library (PCL)
1.7.2
|
TransformationEstimationPointToPlaneWeighted uses Levenberg Marquardt optimization to find the transformation that minimizes the point-to-plane distance between the given correspondences. More...
#include <pcl/registration/transformation_estimation_point_to_plane_weighted.h>
Inheritance diagram for pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >:
Collaboration diagram for pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >: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) dependening on the choosen _Scalar. More... | |
| struct | OptimizationFunctor |
| struct | OptimizationFunctorWithIndices |
Public Types | |
| typedef boost::shared_ptr < TransformationEstimationPointToPlaneWeighted < PointSource, PointTarget, MatScalar > > | Ptr |
| typedef boost::shared_ptr < const TransformationEstimationPointToPlaneWeighted < PointSource, PointTarget, MatScalar > > | ConstPtr |
| typedef Eigen::Matrix < MatScalar, Eigen::Dynamic, 1 > | VectorX |
| typedef Eigen::Matrix < MatScalar, 4, 1 > | Vector4 |
| typedef TransformationEstimation < PointSource, PointTarget, MatScalar >::Matrix4 | Matrix4 |
Public Types inherited from pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar > | |
| typedef boost::shared_ptr < TransformationEstimationPointToPlane < PointSource, PointTarget, MatScalar > > | Ptr |
| typedef boost::shared_ptr < const TransformationEstimationPointToPlane < PointSource, PointTarget, MatScalar > > | ConstPtr |
| typedef pcl::PointCloud < PointSource > | PointCloudSource |
| typedef PointCloudSource::Ptr | PointCloudSourcePtr |
| typedef PointCloudSource::ConstPtr | PointCloudSourceConstPtr |
| typedef pcl::PointCloud < PointTarget > | PointCloudTarget |
| typedef PointIndices::Ptr | PointIndicesPtr |
| typedef PointIndices::ConstPtr | PointIndicesConstPtr |
| typedef Eigen::Matrix < MatScalar, 4, 1 > | Vector4 |
Public Types inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar > | |
| typedef boost::shared_ptr < TransformationEstimationLM < PointSource, PointTarget, MatScalar > > | Ptr |
| typedef boost::shared_ptr < const TransformationEstimationLM < PointSource, PointTarget, MatScalar > > | ConstPtr |
| typedef Eigen::Matrix < MatScalar, Eigen::Dynamic, 1 > | VectorX |
| typedef Eigen::Matrix < MatScalar, 4, 1 > | Vector4 |
| typedef TransformationEstimation < PointSource, PointTarget, MatScalar >::Matrix4 | Matrix4 |
Public Types inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, MatScalar > | |
| typedef Eigen::Matrix < MatScalar, 4, 4 > | Matrix4 |
| typedef boost::shared_ptr < TransformationEstimation < PointSource, PointTarget, MatScalar > > | Ptr |
| typedef boost::shared_ptr < const TransformationEstimation < PointSource, PointTarget, MatScalar > > | ConstPtr |
Public Member Functions | |
| TransformationEstimationPointToPlaneWeighted () | |
| Constructor. More... | |
| TransformationEstimationPointToPlaneWeighted (const TransformationEstimationPointToPlaneWeighted &src) | |
| Copy constructor. More... | |
| TransformationEstimationPointToPlaneWeighted & | operator= (const TransformationEstimationPointToPlaneWeighted &src) |
| Copy operator. More... | |
| virtual | ~TransformationEstimationPointToPlaneWeighted () |
| Destructor. More... | |
| 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 LM. More... | |
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &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 LM. More... | |
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const std::vector< int > &indices_tgt, Matrix4 &transformation_matrix) const |
| 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 |
| Estimate a rigid rotation transformation between a source and a target point cloud using LM. More... | |
| void | setWeights (const std::vector< double > &weights) |
| void | setUseCorrespondenceWeights (bool use_correspondence_weights) |
| use the weights given in the pcl::CorrespondencesPtr for one of the estimateTransformation (...) methods More... | |
| void | setWarpFunction (const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget, MatScalar > > &warp_fcn) |
| Set the function we use to warp points. More... | |
Public Member Functions inherited from pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar > | |
| TransformationEstimationPointToPlane () | |
| virtual | ~TransformationEstimationPointToPlane () |
Public Member Functions inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar > | |
| TransformationEstimationLM () | |
| Constructor. More... | |
| TransformationEstimationLM (const TransformationEstimationLM &src) | |
| Copy constructor. More... | |
| TransformationEstimationLM & | operator= (const TransformationEstimationLM &src) |
| Copy operator. More... | |
| virtual | ~TransformationEstimationLM () |
| Destructor. More... | |
| 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 LM. More... | |
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &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 LM. More... | |
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const std::vector< int > &indices_tgt, Matrix4 &transformation_matrix) const |
| 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 |
| Estimate a rigid rotation transformation between a source and a target point cloud using LM. More... | |
| void | setWarpFunction (const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget, MatScalar > > &warp_fcn) |
| Set the function we use to warp points. More... | |
Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, MatScalar > | |
| 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 std::vector< int > &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 std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const std::vector< int > &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 Attributes | |
| bool | use_correspondence_weights_ |
| std::vector< double > | correspondence_weights_ |
| const PointCloudSource * | tmp_src_ |
| Temporary pointer to the source dataset. More... | |
| const PointCloudTarget * | tmp_tgt_ |
| Temporary pointer to the target dataset. More... | |
| const std::vector< int > * | tmp_idx_src_ |
| Temporary pointer to the source dataset indices. More... | |
| const std::vector< int > * | tmp_idx_tgt_ |
| Temporary pointer to the target dataset indices. More... | |
| boost::shared_ptr < pcl::registration::WarpPointRigid < PointSource, PointTarget, MatScalar > > | warp_point_ |
| The parameterized function used to warp the source to the target. More... | |
Protected Attributes inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar > | |
| const PointCloudSource * | tmp_src_ |
| Temporary pointer to the source dataset. More... | |
| const PointCloudTarget * | tmp_tgt_ |
| Temporary pointer to the target dataset. More... | |
| const std::vector< int > * | tmp_idx_src_ |
| Temporary pointer to the source dataset indices. More... | |
| const std::vector< int > * | tmp_idx_tgt_ |
| Temporary pointer to the target dataset indices. More... | |
| boost::shared_ptr < pcl::registration::WarpPointRigid < PointSource, PointTarget, MatScalar > > | warp_point_ |
| The parameterized function used to warp the source to the target. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar > | |
| 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... | |
TransformationEstimationPointToPlaneWeighted uses Levenberg Marquardt optimization to find the transformation that minimizes the point-to-plane distance between the given correspondences.
In addition to the TransformationEstimationPointToPlane class, this version takes per-correspondence weights and optimizes accordingly.
Definition at line 59 of file transformation_estimation_point_to_plane_weighted.h.
| typedef boost::shared_ptr<const TransformationEstimationPointToPlaneWeighted<PointSource, PointTarget, MatScalar> > pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::ConstPtr |
Definition at line 72 of file transformation_estimation_point_to_plane_weighted.h.
| typedef TransformationEstimation<PointSource, PointTarget, MatScalar>::Matrix4 pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::Matrix4 |
Definition at line 76 of file transformation_estimation_point_to_plane_weighted.h.
| typedef boost::shared_ptr<TransformationEstimationPointToPlaneWeighted<PointSource, PointTarget, MatScalar> > pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::Ptr |
Definition at line 71 of file transformation_estimation_point_to_plane_weighted.h.
| typedef Eigen::Matrix<MatScalar, 4, 1> pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::Vector4 |
Definition at line 75 of file transformation_estimation_point_to_plane_weighted.h.
| typedef Eigen::Matrix<MatScalar, Eigen::Dynamic, 1> pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::VectorX |
Definition at line 74 of file transformation_estimation_point_to_plane_weighted.h.
| pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::TransformationEstimationPointToPlaneWeighted | ( | ) |
Constructor.
Definition at line 50 of file transformation_estimation_point_to_plane_weighted.hpp.
|
inline |
Copy constructor.
| [in] | src | the TransformationEstimationPointToPlaneWeighted object to copy into this |
Definition at line 84 of file transformation_estimation_point_to_plane_weighted.h.
|
inlinevirtual |
Destructor.
Definition at line 110 of file transformation_estimation_point_to_plane_weighted.h.
|
inline |
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 63 of file transformation_estimation_point_to_plane_weighted.hpp.
References pcl::PointCloud< T >::points, and pcl::PointCloud< T >::size().
|
inline |
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_point_to_plane_weighted.hpp.
References pcl::PointCloud< T >::points.
|
inline |
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 interst points from indices_src |
| [out] | transformation_matrix | the resultant transformation matrix |
Definition at line 159 of file transformation_estimation_point_to_plane_weighted.hpp.
|
inline |
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_point_to_plane_weighted.hpp.
|
inline |
Copy operator.
| [in] | src | the TransformationEstimationPointToPlaneWeighted object to copy into this |
Definition at line 98 of file transformation_estimation_point_to_plane_weighted.h.
References pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::correspondence_weights_, pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::tmp_idx_src_, pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::tmp_idx_tgt_, pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::tmp_src_, pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::tmp_tgt_, pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::use_correspondence_weights_, and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::warp_point_.
|
inline |
use the weights given in the pcl::CorrespondencesPtr for one of the estimateTransformation (...) methods
Definition at line 176 of file transformation_estimation_point_to_plane_weighted.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 183 of file transformation_estimation_point_to_plane_weighted.h.
|
inline |
|
mutableprotected |
Definition at line 188 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=(), and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::setWeights().
|
mutableprotected |
Temporary pointer to the source dataset indices.
Definition at line 197 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=().
|
mutableprotected |
Temporary pointer to the target dataset indices.
Definition at line 200 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=().
|
mutableprotected |
Temporary pointer to the source dataset.
Definition at line 191 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=().
|
mutableprotected |
Temporary pointer to the target dataset.
Definition at line 194 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=().
|
protected |
Definition at line 187 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=(), and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::setUseCorrespondenceWeights().
|
protected |
The parameterized function used to warp the source to the target.
Definition at line 203 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=(), and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::setWarpFunction().