Open3D (C++ API)  0.18.0
FastGlobalRegistration.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - Open3D: www.open3d.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2023 www.open3d.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <Eigen/Core>
11 #include <Eigen/Geometry>
12 #include <tuple>
13 #include <vector>
14 
17 
18 namespace open3d {
19 
20 namespace geometry {
21 class PointCloud;
22 }
23 
24 namespace pipelines {
25 namespace registration {
26 
27 class Feature;
28 class RegistrationResult;
29 
34 public:
50  FastGlobalRegistrationOption(double division_factor = 1.4,
51  bool use_absolute_scale = false,
52  bool decrease_mu = true,
53  double maximum_correspondence_distance = 0.025,
54  int iteration_number = 64,
55  double tuple_scale = 0.95,
56  int maximum_tuple_count = 1000,
57  bool tuple_test = true)
58  : division_factor_(division_factor),
59  use_absolute_scale_(use_absolute_scale),
60  decrease_mu_(decrease_mu),
61  maximum_correspondence_distance_(maximum_correspondence_distance),
62  iteration_number_(iteration_number),
63  tuple_scale_(tuple_scale),
64  maximum_tuple_count_(maximum_tuple_count),
65  tuple_test_(tuple_test) {}
67 
68 public:
83  double tuple_scale_;
89 };
90 
98  const geometry::PointCloud &source,
99  const geometry::PointCloud &target,
100  const CorrespondenceSet &corres,
101  const FastGlobalRegistrationOption &option =
103 
111  const geometry::PointCloud &source,
112  const geometry::PointCloud &target,
113  const Feature &source_feature,
114  const Feature &target_feature,
115  const FastGlobalRegistrationOption &option =
117 
118 } // namespace registration
119 } // namespace pipelines
120 } // namespace open3d
A point cloud consists of point coordinates, and optionally point colors and point normals.
Definition: PointCloud.h:36
Options for FastGlobalRegistration.
Definition: FastGlobalRegistration.h:33
bool tuple_test_
Definition: FastGlobalRegistration.h:88
bool use_absolute_scale_
Definition: FastGlobalRegistration.h:73
int maximum_tuple_count_
Maximum number of tuples..
Definition: FastGlobalRegistration.h:85
bool decrease_mu_
Definition: FastGlobalRegistration.h:76
FastGlobalRegistrationOption(double division_factor=1.4, bool use_absolute_scale=false, bool decrease_mu=true, double maximum_correspondence_distance=0.025, int iteration_number=64, double tuple_scale=0.95, int maximum_tuple_count=1000, bool tuple_test=true)
Parameterized Constructor.
Definition: FastGlobalRegistration.h:50
double maximum_correspondence_distance_
Definition: FastGlobalRegistration.h:79
~FastGlobalRegistrationOption()
Definition: FastGlobalRegistration.h:66
double division_factor_
Division factor used for graduated non-convexity.
Definition: FastGlobalRegistration.h:70
int iteration_number_
Maximum number of iterations.
Definition: FastGlobalRegistration.h:81
double tuple_scale_
Similarity measure used for tuples of feature points.
Definition: FastGlobalRegistration.h:83
Class to store featrues for registration.
Definition: Feature.h:30
RegistrationResult FastGlobalRegistrationBasedOnCorrespondence(const geometry::PointCloud &source, const geometry::PointCloud &target, const CorrespondenceSet &corres, const FastGlobalRegistrationOption &option)
Fast Global Registration based on a given set of correspondences.
Definition: FastGlobalRegistration.cpp:275
std::vector< Eigen::Vector2i > CorrespondenceSet
Definition: Feature.h:25
RegistrationResult FastGlobalRegistrationBasedOnFeatureMatching(const geometry::PointCloud &source, const geometry::PointCloud &target, const Feature &source_feature, const Feature &target_feature, const FastGlobalRegistrationOption &option)
Fast Global Registration based on a given set of FPFH features.
Definition: FastGlobalRegistration.cpp:316
Definition: PinholeCameraIntrinsic.cpp:16