ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
GlobalOptimizationConvergenceCriteria.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 namespace cloudViewer {
11 namespace pipelines {
12 namespace registration {
13 
18 public:
32  double edge_prune_threshold = 0.25,
33  double preference_loop_closure = 1.0,
34  int reference_node = -1)
36  edge_prune_threshold_(edge_prune_threshold),
37  preference_loop_closure_(preference_loop_closure),
38  reference_node_(reference_node) {
40  ? 0.075
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 cloudViewer
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.
int reference_node_
The pose of this node is unchanged after optimization.
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.
static const double max_correspondence_distance
Generic file read and write utility for python interface.