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