Open3D (C++ API)  0.17.0
GlobalOptimizationConvergenceCriteria.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 namespace open3d {
11 namespace pipelines {
12 namespace registration {
13 
18 public:
31  GlobalOptimizationOption(double max_correspondence_distance = 0.075,
32  double edge_prune_threshold = 0.25,
33  double preference_loop_closure = 1.0,
34  int reference_node = -1)
35  : max_correspondence_distance_(max_correspondence_distance),
36  edge_prune_threshold_(edge_prune_threshold),
37  preference_loop_closure_(preference_loop_closure),
38  reference_node_(reference_node) {
39  max_correspondence_distance_ = max_correspondence_distance < 0.0
40  ? 0.075
41  : max_correspondence_distance;
43  edge_prune_threshold < 0.0 || edge_prune_threshold > 1.0
44  ? 0.25
45  : edge_prune_threshold;
47  preference_loop_closure < 0.0 ? 1.0 : preference_loop_closure;
48  };
50 
51 public:
67 };
68 
73 public:
85  int max_iteration = 100,
86  double min_relative_increment = 1e-6,
87  double min_relative_residual_increment = 1e-6,
88  double min_right_term = 1e-6,
89  double min_residual = 1e-6,
90  int max_iteration_lm = 20,
91  double upper_scale_factor = 2. / 3.,
92  double lower_scale_factor = 1. / 3.)
93  : max_iteration_(max_iteration),
94  min_relative_increment_(min_relative_increment),
95  min_relative_residual_increment_(min_relative_residual_increment),
96  min_right_term_(min_right_term),
97  min_residual_(min_residual),
98  max_iteration_lm_(max_iteration_lm),
99  upper_scale_factor_(upper_scale_factor),
100  lower_scale_factor_(lower_scale_factor) {
102  upper_scale_factor < 0.0 || upper_scale_factor > 1.0
103  ? 2. / 3.
104  : upper_scale_factor;
106  lower_scale_factor < 0.0 || lower_scale_factor > 1.0
107  ? 1. / 3.
108  : lower_scale_factor;
109  };
111 
112 public:
139 };
140 
141 } // namespace registration
142 } // namespace pipelines
143 } // namespace open3d
Convergence criteria of GlobalOptimization.
Definition: GlobalOptimizationConvergenceCriteria.h:72
double upper_scale_factor_
Upper scale factor value.
Definition: GlobalOptimizationConvergenceCriteria.h:136
~GlobalOptimizationConvergenceCriteria()
Definition: GlobalOptimizationConvergenceCriteria.h:110
double min_right_term_
Minimum right term value.
Definition: GlobalOptimizationConvergenceCriteria.h:123
double min_relative_increment_
Minimum relative increments.
Definition: GlobalOptimizationConvergenceCriteria.h:119
int max_iteration_
Maximum iteration number for iterative optimization module.
Definition: GlobalOptimizationConvergenceCriteria.h:114
double lower_scale_factor_
Lower scale factor value.
Definition: GlobalOptimizationConvergenceCriteria.h:138
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:84
int max_iteration_lm_
Maximum iteration number for Levenberg Marquardt method.
Definition: GlobalOptimizationConvergenceCriteria.h:130
double min_residual_
Minimum residual value.
Definition: GlobalOptimizationConvergenceCriteria.h:125
double min_relative_residual_increment_
Minimum relative residual increments.
Definition: GlobalOptimizationConvergenceCriteria.h:121
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:31
~GlobalOptimizationOption()
Definition: GlobalOptimizationConvergenceCriteria.h:49
double preference_loop_closure_
Definition: GlobalOptimizationConvergenceCriteria.h:64
double edge_prune_threshold_
Definition: GlobalOptimizationConvergenceCriteria.h:59
double max_correspondence_distance_
Definition: GlobalOptimizationConvergenceCriteria.h:56
int reference_node_
The pose of this node is unchanged after optimization.
Definition: GlobalOptimizationConvergenceCriteria.h:66
Definition: PinholeCameraIntrinsic.cpp:16