registration.h
Go to the documentation of this file.
00001 #ifndef REGISTRATION_H
00002 #define REGISTRATION_H
00003 
00004 #include "typedefs.h"
00005 
00006 #include <pcl/registration/ia_ransac.h>
00007 #include <pcl/registration/icp.h>
00008 
00009 /* Use SampleConsensusInitialAlignment to find a rough alignment from the source cloud to the target cloud by finding
00010  * correspondences between two sets of local features
00011  * Inputs:
00012  *   source_points
00013  *     The "source" points, i.e., the points that must be transformed to align with the target point cloud
00014  *   source_descriptors
00015  *     The local descriptors for each source point
00016  *   target_points
00017  *     The "target" points, i.e., the points to which the source point cloud will be aligned
00018  *   target_descriptors
00019  *     The local descriptors for each target point
00020  *   min_sample_distance
00021  *     The minimum distance between any two random samples
00022  *   max_correspondence_distance
00023  *     The 
00024  *   nr_interations
00025  *     The number of RANSAC iterations to perform
00026  * Return: A transformation matrix that will roughly align the points in source to the points in target
00027  */
00028 Eigen::Matrix4f
00029 computeInitialAlignment (const PointCloudPtr & source_points, const LocalDescriptorsPtr & source_descriptors,
00030                          const PointCloudPtr & target_points, const LocalDescriptorsPtr & target_descriptors,
00031                          float min_sample_distance, float max_correspondence_distance, int nr_iterations)
00032 {
00033   return (Eigen::Matrix4f::Identity ());
00034 }
00035 
00036 
00037 /* Use IterativeClosestPoint to find a precise alignment from the source cloud to the target cloud, 
00038  * starting with an intial guess
00039  * Inputs:
00040  *   source_points
00041  *     The "source" points, i.e., the points that must be transformed to align with the target point cloud
00042  *   target_points
00043  *     The "target" points, i.e., the points to which the source point cloud will be aligned
00044  *   intial_alignment
00045  *     An initial estimate of the transformation matrix that aligns the source points to the target points
00046  *   max_correspondence_distance
00047  *     A threshold on the distance between any two corresponding points.  Any corresponding points that are further 
00048  *     apart than this threshold will be ignored when computing the source-to-target transformation
00049  *   outlier_rejection_threshold
00050  *     A threshold used to define outliers during RANSAC outlier rejection
00051  *   transformation_epsilon
00052  *     The smallest iterative transformation allowed before the algorithm is considered to have converged
00053  *   max_iterations
00054  *     The maximum number of ICP iterations to perform
00055  * Return: A transformation matrix that will precisely align the points in source to the points in target
00056  */
00057 Eigen::Matrix4f
00058 refineAlignment (const PointCloudPtr & source_points, const PointCloudPtr & target_points, 
00059                  const Eigen::Matrix4f initial_alignment, float max_correspondence_distance,
00060                  float outlier_rejection_threshold, float transformation_epsilon, float max_iterations)
00061 {
00062   return (Eigen::Matrix4f::Identity ());
00063 }
00064 
00065 #endif


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:32:03