6 #include <pcl/registration/ia_ransac.h> 7 #include <pcl/registration/icp.h> 29 computeInitialAlignment (
const PointCloudPtr & source_points,
const LocalDescriptorsPtr & source_descriptors,
30 const PointCloudPtr & target_points,
const LocalDescriptorsPtr & target_descriptors,
31 float min_sample_distance,
float max_correspondence_distance,
int nr_iterations)
45 sac_ia.
align (registration_output);
71 refineAlignment (
const PointCloudPtr & source_points,
const PointCloudPtr & target_points,
72 const Eigen::Matrix4f &initial_alignment,
float max_correspondence_distance,
73 float outlier_rejection_threshold,
float transformation_epsilon,
float max_iterations)
82 PointCloudPtr source_points_transformed (
new PointCloud);
89 icp.
align (registration_output);
virtual void setInputTarget(const PointCloudTargetConstPtr &cloud)
Provide a pointer to the input target (e.g., the point cloud that we want to align to the target) ...
void align(PointCloudSource &output)
Call the registration algorithm which estimates the transformation and returns the transformed source...
void setInputCloud(const PointCloudSourceConstPtr &cloud)
Provide a pointer to the input source (e.g., the point cloud that we want to align to the target) ...
void setRANSACOutlierRejectionThreshold(double inlier_threshold)
Set the inlier distance threshold for the internal RANSAC outlier rejection loop. ...
Matrix4 getFinalTransformation()
Get the final transformation matrix estimated by the registration method.
virtual void setInputTarget(const PointCloudTargetConstPtr &cloud)
Provide a pointer to the input target (e.g., the point cloud that we want to align the input source t...
void setTargetFeatures(const FeatureCloudConstPtr &features)
Provide a boost shared pointer to the target point cloud's feature descriptors.
void setSourceFeatures(const FeatureCloudConstPtr &features)
Provide a boost shared pointer to the source point cloud's feature descriptors.
void setMaximumIterations(int nr_iterations)
Set the maximum number of iterations the internal optimization should run for.
void transformPointCloud(const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform, bool copy_all_fields=true)
Apply an affine transform defined by an Eigen Transform.
void setTransformationEpsilon(double epsilon)
Set the transformation epsilon (maximum allowable difference between two consecutive transformations)...
IterativeClosestPoint provides a base implementation of the Iterative Closest Point algorithm...
PointCloud represents the base class in PCL for storing collections of 3D points. ...
SampleConsensusInitialAlignment is an implementation of the initial alignment algorithm described in ...
void setMaxCorrespondenceDistance(double distance_threshold)
Set the maximum distance threshold between two correspondent points in source <-> target...
void setMinSampleDistance(float min_sample_distance)
Set the minimum distances between samples.