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 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 translation squared difference between two consecut...
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 ...
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
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.