Point Cloud Library (PCL)
1.7.1
|
#include <pcl/recognition/ransac_based/trimmed_icp.h>
Public Types | |
typedef pcl::PointCloud< PointT > | PointCloud |
typedef PointCloud::ConstPtr | PointCloudConstPtr |
typedef Eigen::Matrix< Scalar, 4, 4 > | Matrix4 |
![]() | |
typedef boost::shared_ptr < TransformationEstimationSVD < PointT, PointT, Scalar > > | Ptr |
typedef boost::shared_ptr < const TransformationEstimationSVD < PointT, PointT, Scalar > > | ConstPtr |
typedef TransformationEstimation < PointT, PointT, Scalar > ::Matrix4 | Matrix4 |
![]() | |
typedef Eigen::Matrix< Scalar, 4, 4 > | Matrix4 |
typedef boost::shared_ptr < TransformationEstimation < PointT, PointT, Scalar > > | Ptr |
typedef boost::shared_ptr < const TransformationEstimation < PointT, PointT, Scalar > > | ConstPtr |
Public Member Functions | |
TrimmedICP () | |
virtual | ~TrimmedICP () |
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... | |
virtual | ~TransformationEstimationSVD () |
void | estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const pcl::PointCloud< PointT > &cloud_tgt, Matrix4 &transformation_matrix) const |
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 std::vector< int > &indices_src, const pcl::PointCloud< PointT > &cloud_tgt, Matrix4 &transformation_matrix) const |
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 std::vector< int > &indices_src, const pcl::PointCloud< PointT > &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 SVD. More... | |
void | estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const pcl::PointCloud< PointT > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const |
Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More... | |
![]() | |
TransformationEstimation () | |
virtual | ~TransformationEstimation () |
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_ |
![]() | |
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 * tgt'. More... | |
Definition at line 62 of file trimmed_icp.h.
typedef Eigen::Matrix<Scalar, 4, 4> pcl::recognition::TrimmedICP< PointT, Scalar >::Matrix4 |
Definition at line 68 of file trimmed_icp.h.
typedef pcl::PointCloud<PointT> pcl::recognition::TrimmedICP< PointT, Scalar >::PointCloud |
Definition at line 65 of file trimmed_icp.h.
typedef PointCloud::ConstPtr pcl::recognition::TrimmedICP< PointT, Scalar >::PointCloudConstPtr |
Definition at line 66 of file trimmed_icp.h.
|
inline |
Definition at line 71 of file trimmed_icp.h.
|
inlinevirtual |
Definition at line 75 of file trimmed_icp.h.
|
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 99 of file trimmed_icp.h.
|
inlinestaticprotected |
Definition at line 173 of file trimmed_icp.h.
Referenced by pcl::recognition::TrimmedICP< pcl::pcl::PointXYZ, float >::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 84 of file trimmed_icp.h.
|
inline |
Definition at line 163 of file trimmed_icp.h.
|
protected |
Definition at line 180 of file trimmed_icp.h.
|
protected |
Definition at line 181 of file trimmed_icp.h.
|
protected |
Definition at line 179 of file trimmed_icp.h.