Open3D (C++ API)  0.19.0
GlobalOptimizationConvergenceCriteria.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - Open3D: www.open3d.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.open3d.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 namespace open3d {
11 namespace pipelines {
12 namespace registration {
13 
18 public:
33  GlobalOptimizationOption(double max_correspondence_distance = 0.075,
34  double edge_prune_threshold = 0.25,
35  double preference_loop_closure = 1.0,
36  int reference_node = -1)
37  : max_correspondence_distance_(max_correspondence_distance),
38  edge_prune_threshold_(edge_prune_threshold),
39  preference_loop_closure_(preference_loop_closure),
40  reference_node_(reference_node) {
41  max_correspondence_distance_ = max_correspondence_distance < 0.0
42  ? 0.075
43  : max_correspondence_distance;
45  edge_prune_threshold < 0.0 || edge_prune_threshold > 1.0
46  ? 0.25
47  : edge_prune_threshold;
49  preference_loop_closure < 0.0 ? 1.0 : preference_loop_closure;
50  };
52 
53 public:
69 };
70 
75 public:
89  int max_iteration = 100,
90  double min_relative_increment = 1e-6,
91  double min_relative_residual_increment = 1e-6,
92  double min_right_term = 1e-6,
93  double min_residual = 1e-6,
94  int max_iteration_lm = 20,
95  double upper_scale_factor = 2. / 3.,
96  double lower_scale_factor = 1. / 3.)
97  : max_iteration_(max_iteration),
98  min_relative_increment_(min_relative_increment),
99  min_relative_residual_increment_(min_relative_residual_increment),
100  min_right_term_(min_right_term),
101  min_residual_(min_residual),
102  max_iteration_lm_(max_iteration_lm),
103  upper_scale_factor_(upper_scale_factor),
104  lower_scale_factor_(lower_scale_factor) {
106  upper_scale_factor < 0.0 || upper_scale_factor > 1.0
107  ? 2. / 3.
108  : upper_scale_factor;
110  lower_scale_factor < 0.0 || lower_scale_factor > 1.0
111  ? 1. / 3.
112  : lower_scale_factor;
113  };
115 
116 public:
143 };
144 
145 } // namespace registration
146 } // namespace pipelines
147 } // namespace open3d
Convergence criteria of GlobalOptimization.
Definition: GlobalOptimizationConvergenceCriteria.h:74
double upper_scale_factor_
Upper scale factor value.
Definition: GlobalOptimizationConvergenceCriteria.h:140
~GlobalOptimizationConvergenceCriteria()
Definition: GlobalOptimizationConvergenceCriteria.h:114
double min_right_term_
Minimum right term value.
Definition: GlobalOptimizationConvergenceCriteria.h:127
double min_relative_increment_
Minimum relative increments.
Definition: GlobalOptimizationConvergenceCriteria.h:123
int max_iteration_
Maximum iteration number for iterative optimization module.
Definition: GlobalOptimizationConvergenceCriteria.h:118
double lower_scale_factor_
Lower scale factor value.
Definition: GlobalOptimizationConvergenceCriteria.h:142
GlobalOptimizationConvergenceCriteria(int max_iteration=100, double min_relative_increment=1e-6, double min_relative_residual_increment=1e-6, double min_right_term=1e-6, double min_residual=1e-6, int max_iteration_lm=20, double upper_scale_factor=2./3., double lower_scale_factor=1./3.)
Parameterized Constructor.
Definition: GlobalOptimizationConvergenceCriteria.h:88
int max_iteration_lm_
Maximum iteration number for Levenberg Marquardt method.
Definition: GlobalOptimizationConvergenceCriteria.h:134
double min_residual_
Minimum residual value.
Definition: GlobalOptimizationConvergenceCriteria.h:129
double min_relative_residual_increment_
Minimum relative residual increments.
Definition: GlobalOptimizationConvergenceCriteria.h:125
Option for GlobalOptimization.
Definition: GlobalOptimizationConvergenceCriteria.h:17
GlobalOptimizationOption(double max_correspondence_distance=0.075, double edge_prune_threshold=0.25, double preference_loop_closure=1.0, int reference_node=-1)
Parameterized Constructor.
Definition: GlobalOptimizationConvergenceCriteria.h:33
~GlobalOptimizationOption()
Definition: GlobalOptimizationConvergenceCriteria.h:51
double preference_loop_closure_
Definition: GlobalOptimizationConvergenceCriteria.h:66
double edge_prune_threshold_
Definition: GlobalOptimizationConvergenceCriteria.h:61
double max_correspondence_distance_
Definition: GlobalOptimizationConvergenceCriteria.h:58
int reference_node_
The pose of this node is unchanged after optimization.
Definition: GlobalOptimizationConvergenceCriteria.h:68
Definition: PinholeCameraIntrinsic.cpp:16