Point Cloud Library (PCL)
1.13.1dev

Combining several datasets into a global consistent model is usually performed using a technique called registration. The key idea is to identify corresponding points between the data sets and find a transformation that minimizes the distance (alignment error) between corresponding points. This process is repeated, since correspondence search is affected by the relative position and orientation of the data sets. Once the alignment errors fall below a given threshold, the registration is said to be complete.
The pcl_registration library implements a plethora of point cloud registration algorithms for both organized and unorganized (general purpose) datasets.
Classes  
class  pcl::registration::ConvergenceCriteria 
ConvergenceCriteria represents an abstract base class for different convergence criteria used in registration loops. More...  
class  pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar > 
Abstract CorrespondenceEstimationBase class. More...  
class  pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar > 
CorrespondenceEstimation represents the base class for determining correspondences between target and query point sets/features. More...  
class  pcl::registration::CorrespondenceEstimationBackProjection< PointSource, PointTarget, NormalT, Scalar > 
CorrespondenceEstimationBackprojection computes correspondences as points in the target cloud which have minimum More...  
class  pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar > 
CorrespondenceEstimationNormalShooting computes correspondences as points in the target cloud which have minimum distance to normals computed on the input cloud More...  
class  pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar > 
CorrespondenceEstimationOrganizedProjection computes correspondences by projecting the source point cloud onto the target point cloud using the camera intrinsic and extrinsic parameters. More...  
class  pcl::registration::CorrespondenceRejector 
CorrespondenceRejector represents the base class for correspondence rejection methods More...  
class  pcl::registration::DataContainerInterface 
DataContainerInterface provides a generic interface for computing correspondence scores between correspondent points in the input and target clouds More...  
class  pcl::registration::DataContainer< PointT, NormalT > 
DataContainer is a container for the input and target point clouds and implements the interface to compute correspondence scores between correspondent points in the input and target clouds More...  
class  pcl::registration::CorrespondenceRejectorDistance 
CorrespondenceRejectorDistance implements a simple correspondence rejection method based on thresholding the distances between the correspondences. More...  
class  pcl::registration::CorrespondenceRejectorFeatures 
CorrespondenceRejectorFeatures implements a correspondence rejection method based on a set of feature descriptors. More...  
class  pcl::registration::CorrespondenceRejectorMedianDistance 
CorrespondenceRejectorMedianDistance implements a simple correspondence rejection method based on thresholding based on the median distance between the correspondences. More...  
class  pcl::registration::CorrespondenceRejectorOneToOne 
CorrespondenceRejectorOneToOne implements a correspondence rejection method based on eliminating duplicate match indices in the correspondences. More...  
class  pcl::registration::CorrespondenceRejectionOrganizedBoundary 
The CorrespondenceRejectionOrganizedBoundary class implements a simple correspondence rejection measure. More...  
class  pcl::registration::CorrespondenceRejectorPoly< SourceT, TargetT > 
CorrespondenceRejectorPoly implements a correspondence rejection method that exploits lowlevel and poseinvariant geometric constraints between two point sets by forming virtual polygons of a userspecifiable cardinality on each model using the input correspondences. More...  
class  pcl::registration::CorrespondenceRejectorSampleConsensus< PointT > 
CorrespondenceRejectorSampleConsensus implements a correspondence rejection using Random Sample Consensus to identify inliers (and reject outliers) More...  
class  pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT > 
CorrespondenceRejectorSampleConsensus2D implements a pixelbased correspondence rejection using Random Sample Consensus to identify inliers (and reject outliers) More...  
class  pcl::registration::CorrespondenceRejectorSurfaceNormal 
CorrespondenceRejectorSurfaceNormal implements a simple correspondence rejection method based on the angle between the normals at correspondent points. More...  
class  pcl::registration::CorrespondenceRejectorTrimmed 
CorrespondenceRejectorTrimmed implements a correspondence rejection for ICPlike registration algorithms that uses only the best 'k' correspondences where 'k' is some estimate of the overlap between the two point clouds being registered. More...  
class  pcl::registration::CorrespondenceRejectorVarTrimmed 
CorrespondenceRejectoVarTrimmed implements a simple correspondence rejection method by considering as inliers a certain percentage of correspondences with the least distances. More...  
struct  pcl::registration::sortCorrespondencesByQueryIndex 
sortCorrespondencesByQueryIndex : a functor for sorting correspondences by query index More...  
struct  pcl::registration::sortCorrespondencesByMatchIndex 
sortCorrespondencesByMatchIndex : a functor for sorting correspondences by match index More...  
struct  pcl::registration::sortCorrespondencesByDistance 
sortCorrespondencesByDistance : a functor for sorting correspondences by distance More...  
struct  pcl::registration::sortCorrespondencesByQueryIndexAndDistance 
sortCorrespondencesByQueryIndexAndDistance : a functor for sorting correspondences by query index and distance More...  
struct  pcl::registration::sortCorrespondencesByMatchIndexAndDistance 
sortCorrespondencesByMatchIndexAndDistance : a functor for sorting correspondences by match index and distance More...  
class  pcl::registration::DefaultConvergenceCriteria< Scalar > 
DefaultConvergenceCriteria represents an instantiation of ConvergenceCriteria, and implements the following criteria for registration loop evaluation: More...  
struct  pcl::registration::NullMeasurement 
NullMeasurement struct More...  
struct  pcl::registration::PoseMeasurement< VertexT, InformationT > 
PoseMeasurement struct More...  
class  pcl::registration::ELCH< PointT > 
ELCH (Explicit Loop Closing Heuristic) class More...  
class  pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget, Scalar > 
GeneralizedIterativeClosestPoint is an ICP variant that implements the generalized iterative closest point algorithm as described by Alex Segal et al. More...  
class  pcl::GeneralizedIterativeClosestPoint6D 
GeneralizedIterativeClosestPoint6D integrates L*a*b* color space information into the Generalized Iterative Closest Point (GICP) algorithm. More...  
class  pcl::registration::GraphHandler< GraphT > 
GraphHandler class is a wrapper for a general SLAM graph The actual graph class must fulfill the following boost::graph concepts: More...  
class  pcl::registration::GraphOptimizer< GraphT > 
GraphOptimizer class; derive and specialize for each graph type More...  
class  pcl::GraphRegistration< GraphT > 
GraphRegistration class is the base class for graphbased registration methods More...  
class  pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar > 
FPCSInitialAlignment computes corresponding four point congruent sets as described in: "4points congruent sets for robust pairwise surface registration", Dror Aiger, Niloy Mitra, Daniel CohenOr. More...  
class  pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar > 
KFPCSInitialAlignment computes corresponding four point congruent sets based on keypoints as described in: "Markerless point cloud registration with
keypointbased 4points congruent sets", Pascal Theiler, Jan Dirk Wegner, Konrad Schindler. More...  
class  pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT > 
SampleConsensusInitialAlignment is an implementation of the initial alignment algorithm described in section IV of "Fast Point Feature Histograms (FPFH)
for 3D Registration," Rusu et al. More...  
class  pcl::IterativeClosestPoint< PointSource, PointTarget, Scalar > 
IterativeClosestPoint provides a base implementation of the Iterative Closest Point algorithm. More...  
class  pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar > 
IterativeClosestPointWithNormals is a special case of IterativeClosestPoint, that uses a transformation estimated based on Point to Plane distances by default. More...  
class  pcl::IterativeClosestPointNonLinear< PointSource, PointTarget, Scalar > 
IterativeClosestPointNonLinear is an ICP variant that uses LevenbergMarquardt optimization backend. More...  
class  pcl::registration::IncrementalRegistration< PointT, Scalar > 
Incremental IterativeClosestPoint class. More...  
class  pcl::JointIterativeClosestPoint< PointSource, PointTarget, Scalar > 
JointIterativeClosestPoint extends ICP to multiple frames which share the same transform. More...  
class  pcl::registration::LUM< PointT > 
Globally Consistent Scan Matching based on an algorithm by Lu and Milios. More...  
class  pcl::registration::MetaRegistration< PointT, Scalar > 
Meta Registration class. More...  
class  pcl::PairwiseGraphRegistration< GraphT, PointT > 
PairwiseGraphRegistration class aligns the clouds two by two More...  
class  pcl::Registration< PointSource, PointTarget, Scalar > 
Registration represents the base registration class for general purpose, ICPlike methods. More...  
class  pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT > 
Pose estimation and alignment class using a prerejective RANSAC routine. More...  
class  pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar > 
TransformationEstimation represents the base class for methods for transformation estimation based on: More...  
class  pcl::registration::TransformationEstimation2D< PointSource, PointTarget, Scalar > 
TransformationEstimation2D implements a simple 2D rigid transformation estimation (x, y, theta) for a given pair of datasets. More...  
class  pcl::registration::TransformationEstimation3Point< PointSource, PointTarget, Scalar > 
TransformationEstimation3Points represents the class for transformation estimation based on: More...  
class  pcl::registration::TransformationEstimationDQ< PointSource, PointTarget, Scalar > 
TransformationEstimationDQ implements dual quaternion based estimation of the transformation aligning the given correspondences. More...  
class  pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar > 
TransformationEstimationDualQuaternion implements dual quaternion based estimation of the transformation aligning the given correspondences. More...  
class  pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar > 
TransformationEstimationLM implements Levenberg Marquardtbased estimation of the transformation aligning the given correspondences. More...  
class  pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar > 
TransformationEstimationPointToPlane uses Levenberg Marquardt optimization to find the transformation that minimizes the pointtoplane distance between the given correspondences. More...  
class  pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar > 
TransformationEstimationPointToPlaneLLS implements a Linear Least Squares (LLS) approximation for minimizing the pointtoplane distance between two clouds of corresponding points with normals. More...  
class  pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > 
TransformationEstimationPointToPlaneLLSWeighted implements a Linear Least Squares (LLS) approximation for minimizing the pointtoplane distance between two clouds of corresponding points with normals, with the possibility of assigning weights to the correspondences. More...  
class  pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar > 
TransformationEstimationPointToPlaneWeighted uses Levenberg Marquardt optimization to find the transformation that minimizes the pointtoplane distance between the given correspondences. More...  
class  pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar > 
TransformationEstimationSVD implements SVDbased estimation of the transformation aligning the given correspondences. More...  
class  pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar > 
TransformationEstimationSVD implements SVDbased estimation of the transformation aligning the given correspondences. More...  
class  pcl::registration::TransformationEstimationSymmetricPointToPlaneLLS< PointSource, PointTarget, Scalar > 
TransformationEstimationSymmetricPointToPlaneLLS implements a Linear Least Squares (LLS) approximation for minimizing the symmetric pointtoplane distance between two clouds of corresponding points with normals. More...  
class  pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar > 
TransformationValidation represents the base class for methods that validate the correctness of a transformation found through TransformationEstimation. More...  
class  pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar > 
TransformationValidationEuclidean computes an L2SQR norm between a source and target dataset. More...  
struct  pcl::registration::NullEstimate 
NullEstimate struct More...  
struct  pcl::registration::PoseEstimate< PointT > 
PoseEstimate struct More...  
class  pcl::registration::WarpPointRigid< PointSourceT, PointTargetT, Scalar > 
Base warp point class. More...  
class  pcl::registration::WarpPointRigid3D< PointSourceT, PointTargetT, Scalar > 
WarpPointRigid3D enables 3D (1D rotation + 2D translation) transformations for points. More...  
class  pcl::registration::WarpPointRigid6D< PointSourceT, PointTargetT, Scalar > 
WarpPointRigid3D enables 6D (3D rotation + 3D translation) transformations for points. More...  