Open3D (C++ API)  0.18.0
GlobalOptimizationMethod.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 <memory>
11 
12 namespace open3d {
13 namespace pipelines {
14 namespace registration {
15 
16 class PoseGraph;
17 
18 class GlobalOptimizationOption;
19 
20 class GlobalOptimizationConvergenceCriteria;
21 
22 class GlobalOptimizationOption;
23 
28 public:
32 
33 public:
39  virtual void OptimizePoseGraph(
40  PoseGraph &pose_graph,
42  const GlobalOptimizationOption &option) const = 0;
43 };
44 
49 public:
53 
54 public:
55  void OptimizePoseGraph(
56  PoseGraph &pose_graph,
58  const GlobalOptimizationOption &option) const override;
59 };
60 
68 public:
72 
73 public:
74  void OptimizePoseGraph(
75  PoseGraph &pose_graph,
77  const GlobalOptimizationOption &option) const override;
78 };
79 
80 } // namespace registration
81 } // namespace pipelines
82 } // namespace open3d
Convergence criteria of GlobalOptimization.
Definition: GlobalOptimizationConvergenceCriteria.h:72
Global optimization with Gauss-Newton algorithm.
Definition: GlobalOptimizationMethod.h:48
~GlobalOptimizationGaussNewton() override
Definition: GlobalOptimizationMethod.h:52
void OptimizePoseGraph(PoseGraph &pose_graph, const GlobalOptimizationConvergenceCriteria &criteria, const GlobalOptimizationOption &option) const override
Run pose graph optimization method.
Definition: GlobalOptimization.cpp:471
GlobalOptimizationGaussNewton()
Default Constructor.
Definition: GlobalOptimizationMethod.h:51
Global optimization with Levenberg-Marquardt algorithm.
Definition: GlobalOptimizationMethod.h:67
GlobalOptimizationLevenbergMarquardt()
Default Constructor.
Definition: GlobalOptimizationMethod.h:70
~GlobalOptimizationLevenbergMarquardt() override
Definition: GlobalOptimizationMethod.h:71
void OptimizePoseGraph(PoseGraph &pose_graph, const GlobalOptimizationConvergenceCriteria &criteria, const GlobalOptimizationOption &option) const override
Run pose graph optimization method.
Definition: GlobalOptimization.cpp:563
Base class for global optimization method.
Definition: GlobalOptimizationMethod.h:27
GlobalOptimizationMethod()
Default Constructor.
Definition: GlobalOptimizationMethod.h:30
virtual void OptimizePoseGraph(PoseGraph &pose_graph, const GlobalOptimizationConvergenceCriteria &criteria, const GlobalOptimizationOption &option) const =0
Run pose graph optimization method.
virtual ~GlobalOptimizationMethod()
Definition: GlobalOptimizationMethod.h:31
Option for GlobalOptimization.
Definition: GlobalOptimizationConvergenceCriteria.h:17
Data structure defining the pose graph.
Definition: PoseGraph.h:96
open3d::pipelines::registration::PoseGraph PoseGraph
Definition: SLACOptimizer.h:22
Definition: PinholeCameraIntrinsic.cpp:16