8#include <Eigen/Geometry>
10#include <gtsam_points/types/point_cloud.hpp>
11#include <gtsam_points/ann/nearest_neighbor_search.hpp>
12#include <gtsam_points/registration/registration_result.hpp>
14namespace gtsam_points {
23 std::uint64_t
seed = 5489u;
40template <
typename Po
intCloud,
typename Features>
44 const Features& target_features,
45 const Features& source_features,
54 const Eigen::Matrix<double, 33, 1>* target_features,
55 const Eigen::Matrix<double, 33, 1>* source_features,
59 using ConstFeaturePtr =
const Eigen::Matrix<double, 33, 1>*;
60 return estimate_pose_ransac_<PointCloud, ConstFeaturePtr>(
70RegistrationResult estimate_pose_ransac(
71 const PointCloud& target,
72 const PointCloud& source,
73 const Eigen::Matrix<double, 125, 1>* target_features,
74 const Eigen::Matrix<double, 125, 1>* source_features,
75 const NearestNeighborSearch& target_tree,
76 const NearestNeighborSearch& target_features_tree,
77 const RANSACParams& params = RANSACParams()) {
78 using ConstFeaturePtr =
const Eigen::Matrix<double, 125, 1>*;
79 return estimate_pose_ransac_<PointCloud, ConstFeaturePtr>(
89RegistrationResult estimate_pose_ransac(
90 const PointCloud& target,
91 const PointCloud& source,
92 const Eigen::VectorXd* target_features,
93 const Eigen::VectorXd* source_features,
94 const NearestNeighborSearch& target_tree,
95 const NearestNeighborSearch& target_features_tree,
96 const RANSACParams& params = RANSACParams()) {
97 using ConstFeaturePtr =
const Eigen::VectorXd*;
98 return estimate_pose_ransac_<PointCloud, ConstFeaturePtr>(
104 target_features_tree,
Nearest neighbor search interface.
Definition nearest_neighbor_search.hpp:16
Standard point cloud class that holds only pointers to point attributes.
Definition point_cloud.hpp:19
RANSAC parameters.
Definition ransac.hpp:17
int dof
Degrees of freedom (must be 6 (SE3) or 4 (XYZ+RZ))
Definition ransac.hpp:22
std::vector< Eigen::Isometry3d > taboo_list
Taboo list.
Definition ransac.hpp:28
double poly_error_thresh
Polynomial error threshold.
Definition ransac.hpp:20
double inlier_voxel_resolution
Inlier voxel resolution.
Definition ransac.hpp:21
double taboo_thresh_rot
Taboo threshold in radian.
Definition ransac.hpp:26
int num_threads
Number of threads.
Definition ransac.hpp:24
int max_iterations
Maximum number of iterations.
Definition ransac.hpp:18
double early_stop_inlier_rate
Maximum inlier rate for early stopping.
Definition ransac.hpp:19
double taboo_thresh_trans
Taboo threshold in meter.
Definition ransac.hpp:27
std::uint64_t seed
Random seed.
Definition ransac.hpp:23
Registration result.
Definition registration_result.hpp:11