#include <transformation_estimation_lm.h>
Classes | |
struct | Functor |
struct | OptimizationFunctor |
struct | OptimizationFunctorWithIndices |
Public Types | |
typedef boost::shared_ptr < const TransformationEstimationLM < PointSource, PointTarget, MatScalar > > | ConstPtr |
typedef TransformationEstimation < PointSource, PointTarget, MatScalar >::Matrix4 | Matrix4 |
typedef boost::shared_ptr < TransformationEstimationLM < PointSource, PointTarget, MatScalar > > | Ptr |
typedef Eigen::Matrix < MatScalar, 4, 1 > | Vector4 |
typedef Eigen::Matrix < MatScalar, Eigen::Dynamic, 1 > | VectorX |
Public Member Functions | |
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. | |
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. | |
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. | |
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. | |
TransformationEstimationLM & | operator= (const TransformationEstimationLM &src) |
Copy operator. | |
void | setWarpFunction (const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget, MatScalar > > &warp_fcn) |
Set the function we use to warp points. Defaults to rigid 6D warp. | |
TransformationEstimationLM () | |
Constructor. | |
TransformationEstimationLM (const TransformationEstimationLM &src) | |
Copy constructor. | |
virtual | ~TransformationEstimationLM () |
Destructor. | |
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. | |
virtual MatScalar | computeDistance (const Vector4 &p_src, const PointTarget &p_tgt) const |
Compute the distance between a source point and its corresponding target point. | |
Protected Attributes | |
const std::vector< int > * | tmp_idx_src_ |
Temporary pointer to the source dataset indices. | |
const std::vector< int > * | tmp_idx_tgt_ |
Temporary pointer to the target dataset indices. | |
const PointCloudSource * | tmp_src_ |
Temporary pointer to the source dataset. | |
const PointCloudTarget * | tmp_tgt_ |
Temporary pointer to the target dataset. | |
boost::shared_ptr < pcl::registration::WarpPointRigid < PointSource, PointTarget, MatScalar > > | warp_point_ |
The parameterized function used to warp the source to the target. | |
Private Types | |
typedef pcl::PointCloud < PointSource > | PointCloudSource |
typedef PointCloudSource::ConstPtr | PointCloudSourceConstPtr |
typedef PointCloudSource::Ptr | PointCloudSourcePtr |
typedef pcl::PointCloud < PointTarget > | PointCloudTarget |
typedef PointIndices::ConstPtr | PointIndicesConstPtr |
typedef PointIndices::Ptr | PointIndicesPtr |
TransformationEstimationLM implements Levenberg Marquardt-based estimation of the transformation aligning the given correspondences.
Definition at line 59 of file transformation_estimation_lm.h.
typedef boost::shared_ptr<const TransformationEstimationLM<PointSource, PointTarget, MatScalar> > pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::ConstPtr |
Reimplemented from pcl::registration::TransformationEstimation< PointSource, PointTarget, MatScalar >.
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, and pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >.
Definition at line 72 of file transformation_estimation_lm.h.
typedef TransformationEstimation<PointSource, PointTarget, MatScalar>::Matrix4 pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Matrix4 |
Reimplemented from pcl::registration::TransformationEstimation< PointSource, PointTarget, MatScalar >.
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 76 of file transformation_estimation_lm.h.
typedef pcl::PointCloud<PointSource> pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::PointCloudSource [private] |
Reimplemented in pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >, and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 61 of file transformation_estimation_lm.h.
typedef PointCloudSource::ConstPtr pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::PointCloudSourceConstPtr [private] |
Reimplemented in pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >, and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 63 of file transformation_estimation_lm.h.
typedef PointCloudSource::Ptr pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::PointCloudSourcePtr [private] |
Reimplemented in pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >, and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 62 of file transformation_estimation_lm.h.
typedef pcl::PointCloud<PointTarget> pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::PointCloudTarget [private] |
Reimplemented in pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >, and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 65 of file transformation_estimation_lm.h.
typedef PointIndices::ConstPtr pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::PointIndicesConstPtr [private] |
Reimplemented in pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >, and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 68 of file transformation_estimation_lm.h.
typedef PointIndices::Ptr pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::PointIndicesPtr [private] |
Reimplemented in pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >, and pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 67 of file transformation_estimation_lm.h.
typedef boost::shared_ptr<TransformationEstimationLM<PointSource, PointTarget, MatScalar> > pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Ptr |
Reimplemented from pcl::registration::TransformationEstimation< PointSource, PointTarget, MatScalar >.
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, and pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >.
Definition at line 71 of file transformation_estimation_lm.h.
typedef Eigen::Matrix<MatScalar, 4, 1> pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Vector4 |
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, and pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >.
Definition at line 75 of file transformation_estimation_lm.h.
typedef Eigen::Matrix<MatScalar, Eigen::Dynamic, 1> pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::VectorX |
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 74 of file transformation_estimation_lm.h.
pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::TransformationEstimationLM | ( | ) |
Constructor.
Definition at line 51 of file transformation_estimation_lm.hpp.
pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::TransformationEstimationLM | ( | const TransformationEstimationLM< PointSource, PointTarget, MatScalar > & | src | ) | [inline] |
Copy constructor.
[in] | src | the TransformationEstimationLM object to copy into this |
Definition at line 84 of file transformation_estimation_lm.h.
virtual pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::~TransformationEstimationLM | ( | ) | [inline, virtual] |
Destructor.
Definition at line 106 of file transformation_estimation_lm.h.
virtual MatScalar pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::computeDistance | ( | const PointSource & | p_src, |
const PointTarget & | p_tgt | ||
) | const [inline, protected, virtual] |
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, MatScalar >.
Definition at line 182 of file transformation_estimation_lm.h.
virtual MatScalar pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::computeDistance | ( | const Vector4 & | p_src, |
const PointTarget & | p_tgt | ||
) | const [inline, protected, virtual] |
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, MatScalar >.
Definition at line 199 of file transformation_estimation_lm.h.
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation | ( | const pcl::PointCloud< PointSource > & | cloud_src, |
const pcl::PointCloud< PointTarget > & | cloud_tgt, | ||
Matrix4 & | transformation_matrix | ||
) | const [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 |
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 62 of file transformation_estimation_lm.hpp.
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation | ( | const pcl::PointCloud< PointSource > & | cloud_src, |
const std::vector< int > & | indices_src, | ||
const pcl::PointCloud< PointTarget > & | cloud_tgt, | ||
Matrix4 & | transformation_matrix | ||
) | const [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 |
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 116 of file transformation_estimation_lm.hpp.
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::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 [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 |
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 142 of file transformation_estimation_lm.hpp.
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation | ( | const pcl::PointCloud< PointSource > & | cloud_src, |
const pcl::PointCloud< PointTarget > & | cloud_tgt, | ||
const pcl::Correspondences & | correspondences, | ||
Matrix4 & | transformation_matrix | ||
) | const [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 |
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 197 of file transformation_estimation_lm.hpp.
TransformationEstimationLM& pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator= | ( | const TransformationEstimationLM< PointSource, PointTarget, MatScalar > & | src | ) | [inline] |
Copy operator.
[in] | src | the TransformationEstimationLM object to copy into this |
Definition at line 96 of file transformation_estimation_lm.h.
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::setWarpFunction | ( | const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget, MatScalar > > & | warp_fcn | ) | [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 |
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 165 of file transformation_estimation_lm.h.
const std::vector<int>* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_src_ [mutable, protected] |
Temporary pointer to the source dataset indices.
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 212 of file transformation_estimation_lm.h.
const std::vector<int>* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_tgt_ [mutable, protected] |
Temporary pointer to the target dataset indices.
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 215 of file transformation_estimation_lm.h.
const PointCloudSource* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_src_ [mutable, protected] |
Temporary pointer to the source dataset.
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 206 of file transformation_estimation_lm.h.
const PointCloudTarget* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_tgt_ [mutable, protected] |
Temporary pointer to the target dataset.
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 209 of file transformation_estimation_lm.h.
boost::shared_ptr<pcl::registration::WarpPointRigid<PointSource, PointTarget, MatScalar> > pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::warp_point_ [protected] |
The parameterized function used to warp the source to the target.
Reimplemented in pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >.
Definition at line 218 of file transformation_estimation_lm.h.