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>
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< TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar > > |
using | ConstPtr = shared_ptr< const TransformationEstimationPointToPlaneWeighted< 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 |
Public Types inherited from pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, float > | |
using | Ptr = shared_ptr< TransformationEstimationPointToPlane< PointSource, PointTarget, float > > |
using | ConstPtr = shared_ptr< const TransformationEstimationPointToPlane< PointSource, PointTarget, float > > |
using | PointCloudSource = pcl::PointCloud< PointSource > |
using | PointCloudSourcePtr = typename PointCloudSource::Ptr |
using | PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr |
using | PointCloudTarget = pcl::PointCloud< PointTarget > |
using | PointIndicesPtr = PointIndices::Ptr |
using | PointIndicesConstPtr = PointIndices::ConstPtr |
using | Vector4 = Eigen::Matrix< float, 4, 1 > |
Public Types inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, float > | |
using | Ptr = shared_ptr< TransformationEstimationLM< PointSource, PointTarget, float > > |
using | ConstPtr = shared_ptr< const TransformationEstimationLM< PointSource, PointTarget, float > > |
using | VectorX = Eigen::Matrix< float, Eigen::Dynamic, 1 > |
using | Vector4 = Eigen::Matrix< float, 4, 1 > |
using | Matrix4 = typename TransformationEstimation< PointSource, PointTarget, float >::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 |
|
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 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 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 |
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 typename WarpPointRigid< PointSource, PointTarget, MatScalar >::Ptr &warp_fcn) |
Set the function we use to warp points. More... |
|
Public Member Functions inherited from pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, float > | |
TransformationEstimationPointToPlane () | |
~TransformationEstimationPointToPlane () | |
Public Member Functions inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, float > | |
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, float >::Ptr &warp_fcn) |
Set the function we use to warp points. More... |
|
Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, float > | |
TransformationEstimation () | |
virtual | ~TransformationEstimation () |
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 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... |
|
Protected Attributes inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, float > | |
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, float >::Ptr | 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, float > | |
float | computeDistance (const PointSource &p_src, const PointTarget &p_tgt) const override |
Compute the distance between a source point and its corresponding target point. More... |
|
float | computeDistance (const Vector4 &p_src, const PointTarget &p_tgt) const override |
Detailed Description
template<typename PointSource, typename PointTarget, typename MatScalar = float>
class pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >
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.
Member Typedef Documentation
ConstPtr
using pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::ConstPtr = shared_ptr<const TransformationEstimationPointToPlaneWeighted<PointSource, PointTarget, MatScalar> > |
Definition at line 77 of file transformation_estimation_point_to_plane_weighted.h.
Matrix4
using pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::Matrix4 = typename TransformationEstimation<PointSource, PointTarget, MatScalar>::Matrix4 |
Definition at line 82 of file transformation_estimation_point_to_plane_weighted.h.
Ptr
using pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::Ptr = shared_ptr<TransformationEstimationPointToPlaneWeighted<PointSource, PointTarget, MatScalar> > |
Definition at line 73 of file transformation_estimation_point_to_plane_weighted.h.
Vector4
using pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::Vector4 = Eigen::Matrix<MatScalar, 4, 1> |
Definition at line 80 of file transformation_estimation_point_to_plane_weighted.h.
VectorX
using pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::VectorX = Eigen::Matrix<MatScalar, Eigen::Dynamic, 1> |
Definition at line 79 of file transformation_estimation_point_to_plane_weighted.h.
Constructor & Destructor Documentation
TransformationEstimationPointToPlaneWeighted() [1/2]
pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::TransformationEstimationPointToPlaneWeighted |
Constructor.
Definition at line 53 of file transformation_estimation_point_to_plane_weighted.hpp.
TransformationEstimationPointToPlaneWeighted() [2/2]
|
inline |
Copy constructor.
- Parameters
-
[in] src the TransformationEstimationPointToPlaneWeighted object to copy into this
Definition at line 91 of file transformation_estimation_point_to_plane_weighted.h.
~TransformationEstimationPointToPlaneWeighted()
|
inlinevirtual |
Destructor.
Definition at line 118 of file transformation_estimation_point_to_plane_weighted.h.
Member Function Documentation
estimateRigidTransformation() [1/4]
|
inline |
Estimate a rigid rotation transformation between a source and a target point cloud using LM.
- Parameters
-
[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
- Note
- Uses the weights given by setWeights.
Definition at line 178 of file transformation_estimation_point_to_plane_weighted.hpp.
estimateRigidTransformation() [2/4]
|
inline |
Estimate a rigid rotation transformation between a source and a target point cloud using LM.
- Parameters
-
[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
- Note
- Uses the weights given by setWeights.
Definition at line 137 of file transformation_estimation_point_to_plane_weighted.hpp.
References pcl::PointCloud< PointT >::size().
estimateRigidTransformation() [3/4]
|
inline |
Estimate a rigid rotation transformation between a source and a target point cloud using LM.
- Parameters
-
[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
- Note
- Uses the weights given by setWeights.
Definition at line 253 of file transformation_estimation_point_to_plane_weighted.hpp.
estimateRigidTransformation() [4/4]
|
inline |
Estimate a rigid rotation transformation between a source and a target point cloud using LM.
- Parameters
-
[in] cloud_src the source point cloud dataset [in] cloud_tgt the target point cloud dataset [out] transformation_matrix the resultant transformation matrix
- Note
- Uses the weights given by setWeights.
Definition at line 66 of file transformation_estimation_point_to_plane_weighted.hpp.
References pcl::PointCloud< PointT >::size().
operator=()
|
inline |
Copy operator.
- Parameters
-
[in] src the TransformationEstimationPointToPlaneWeighted object to copy into this
Definition at line 106 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_.
setUseCorrespondenceWeights()
|
inline |
use the weights given in the pcl::CorrespondencesPtr for one of the estimateTransformation (...) methods
Definition at line 184 of file transformation_estimation_point_to_plane_weighted.h.
setWarpFunction()
|
inline |
Set the function we use to warp points.
Defaults to rigid 6D warp.
- Parameters
-
[in] warp_fcn a shared pointer to an object that warps points
Definition at line 193 of file transformation_estimation_point_to_plane_weighted.h.
setWeights()
|
inline |
Member Data Documentation
correspondence_weights_
|
mutableprotected |
Definition at line 201 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().
tmp_idx_src_
|
mutableprotected |
Temporary pointer to the source dataset indices.
Definition at line 210 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=().
tmp_idx_tgt_
|
mutableprotected |
Temporary pointer to the target dataset indices.
Definition at line 213 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=().
tmp_src_
|
mutableprotected |
Temporary pointer to the source dataset.
Definition at line 204 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=().
tmp_tgt_
|
mutableprotected |
Temporary pointer to the target dataset.
Definition at line 207 of file transformation_estimation_point_to_plane_weighted.h.
Referenced by pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator=().
use_correspondence_weights_
|
protected |
Definition at line 200 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().
warp_point_
|
protected |
The parameterized function used to warp the source to the target.
Definition at line 217 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().
The documentation for this class was generated from the following files:
- pcl/registration/transformation_estimation_point_to_plane_weighted.h
- pcl/registration/impl/transformation_estimation_point_to_plane_weighted.hpp
© 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_weighted.html