Point Cloud Library (PCL)
1.15.0-dev
|
#include <pcl/recognition/ransac_based/trimmed_icp.h>
Public Types | |
using | PointCloud = pcl::PointCloud< PointT > |
using | PointCloudConstPtr = typename PointCloud::ConstPtr |
using | Matrix4 = typename Eigen::Matrix< Scalar, 4, 4 > |
![]() | |
using | Ptr = shared_ptr< TransformationEstimationSVD< PointT, PointT, Scalar > > |
using | ConstPtr = shared_ptr< const TransformationEstimationSVD< PointT, PointT, Scalar > > |
using | Matrix4 = typename TransformationEstimation< PointT, PointT, Scalar >::Matrix4 |
![]() | |
using | Matrix4 = Eigen::Matrix< Scalar, 4, 4 > |
using | Ptr = shared_ptr< TransformationEstimation< PointSource, PointTarget, Scalar > > |
using | ConstPtr = shared_ptr< const TransformationEstimation< PointSource, PointTarget, Scalar > > |
Public Member Functions | |
TrimmedICP ()=default | |
~TrimmedICP () override=default | |
void | init (const PointCloudConstPtr &target) |
Call this method before calling align(). More... | |
void | align (const PointCloud &source_points, int num_source_points_to_use, Matrix4 &guess_and_result) const |
The method performs trimmed ICP, i.e., it rigidly registers the source to the target (passed to the init() method). More... | |
void | setNewToOldEnergyRatio (float ratio) |
![]() | |
TransformationEstimationSVD (bool use_umeyama=true) | |
Constructor. More... | |
~TransformationEstimationSVD () override=default | |
void | estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const pcl::PointCloud< PointT > &cloud_tgt, Matrix4 &transformation_matrix) const override |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More... | |
void | estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointT > &cloud_tgt, Matrix4 &transformation_matrix) const override |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More... | |
void | estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointT > &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 SVD. More... | |
void | estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const pcl::PointCloud< PointT > &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 SVD. More... | |
![]() | |
TransformationEstimation ()=default | |
virtual | ~TransformationEstimation ()=default |
Static Protected Member Functions | |
static bool | compareCorrespondences (const pcl::Correspondence &a, const pcl::Correspondence &b) |
Protected Attributes | |
PointCloudConstPtr | target_points_ |
pcl::KdTreeFLANN< PointT > | kdtree_ |
float | new_to_old_energy_ratio_ {0.99f} |
![]() | |
bool | use_umeyama_ |
Additional Inherited Members | |
![]() | |
void | estimateRigidTransformation (ConstCloudIterator< PointT > &source_it, ConstCloudIterator< PointT > &target_it, Matrix4 &transformation_matrix) const |
Estimate a rigid rotation transformation between a source and a target. More... | |
virtual void | getTransformationFromCorrelation (const Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_src_demean, const Eigen::Matrix< Scalar, 4, 1 > ¢roid_src, const Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_tgt_demean, const Eigen::Matrix< Scalar, 4, 1 > ¢roid_tgt, Matrix4 &transformation_matrix) const |
Obtain a 4x4 rigid transformation matrix from a correlation matrix H = src. More... | |
Definition at line 62 of file trimmed_icp.h.
using pcl::recognition::TrimmedICP< PointT, Scalar >::Matrix4 = typename Eigen::Matrix<Scalar, 4, 4> |
Definition at line 68 of file trimmed_icp.h.
using pcl::recognition::TrimmedICP< PointT, Scalar >::PointCloud = pcl::PointCloud<PointT> |
Definition at line 65 of file trimmed_icp.h.
using pcl::recognition::TrimmedICP< PointT, Scalar >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Definition at line 66 of file trimmed_icp.h.
|
default |
|
overridedefault |
|
inline |
The method performs trimmed ICP, i.e., it rigidly registers the source to the target (passed to the init() method).
[in] | source_points | is the point cloud to be registered to the target. |
[in] | num_source_points_to_use | gives the number of closest source points taken into account for registration. By closest source points we mean the source points closest to the target. These points are computed anew at each iteration. |
[in,out] | guess_and_result | is the estimated rigid transform. IMPORTANT: this matrix is also taken as the initial guess for the alignment. If there is no guess, set the matrix to identity! |
Definition at line 96 of file trimmed_icp.h.
References pcl::recognition::TrimmedICP< PointT, Scalar >::compareCorrespondences(), pcl::PointCloud< PointT >::size(), and pcl::recognition::aux::transform().
|
inlinestaticprotected |
Definition at line 170 of file trimmed_icp.h.
References pcl::Correspondence::distance.
Referenced by pcl::recognition::TrimmedICP< PointT, Scalar >::align().
|
inline |
Call this method before calling align().
[in] | target | is target point cloud. The method builds a kd-tree based on 'target' for performing fast closest point search. The source point cloud will be registered to 'target' (see align() method). |
Definition at line 81 of file trimmed_icp.h.
|
inline |
Definition at line 160 of file trimmed_icp.h.
|
protected |
Definition at line 177 of file trimmed_icp.h.
|
protected |
Definition at line 178 of file trimmed_icp.h.
|
protected |
Definition at line 176 of file trimmed_icp.h.