g2o
Toggle main menu visibility
Loading...
Searching...
No Matches
g2o
core
batch_stats.h
Go to the documentation of this file.
1
// g2o - General Graph Optimization
2
// Copyright (C) 2011 R. Kuemmerle, G. Grisetti, W. Burgard
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright notice,
10
// this list of conditions and the following disclaimer.
11
// * Redistributions in binary form must reproduce the above copyright
12
// notice, this list of conditions and the following disclaimer in the
13
// documentation and/or other materials provided with the distribution.
14
//
15
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
16
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
18
// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
21
// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
27
#ifndef G2O_BATCH_STATS_H_
28
#define G2O_BATCH_STATS_H_
29
30
#include <iostream>
31
#include <vector>
32
33
#include "
g2o_core_api.h
"
34
35
namespace
g2o
{
36
40
struct
G2O_CORE_API
G2OBatchStatistics
{
41
G2OBatchStatistics
();
42
int
iteration
;
43
int
numVertices
;
44
int
numEdges
;
45
double
chi2
;
46
48
// nonlinear part
49
double
timeResiduals
;
50
double
timeLinearize
;
51
double
timeQuadraticForm
;
52
int
levenbergIterations
;
53
// block_solver (constructs Ax=b, plus maybe schur)
54
double
timeSchurComplement
;
55
56
// linear solver (computes Ax=b);
57
double
timeSymbolicDecomposition
;
58
double
timeNumericDecomposition
;
59
double
timeLinearSolution
;
61
double
timeLinearSolver
;
62
int
iterationsLinearSolver
;
64
double
timeUpdate
;
65
double
timeIteration
;
66
67
double
timeMarginals
;
69
70
// information about the Hessian matrix
71
size_t
hessianDimension
;
72
size_t
hessianPoseDimension
;
73
size_t
74
hessianLandmarkDimension
;
75
size_t
choleskyNNZ
;
76
77
static
G2OBatchStatistics
*
globalStats
() {
return
_globalStats
; }
78
static
void
setGlobalStats(
G2OBatchStatistics
* b);
79
80
protected
:
81
static
G2OBatchStatistics
*
_globalStats
;
82
};
83
84
G2O_CORE_API
std::ostream&
operator<<
(std::ostream&,
const
G2OBatchStatistics
&);
85
86
typedef
std::vector<G2OBatchStatistics>
BatchStatisticsContainer
;
87
}
// namespace g2o
88
89
#endif
g2o_core_api.h
G2O_CORE_API
#define G2O_CORE_API
Definition
g2o_core_api.h:29
g2o
Definition
dl_wrapper.cpp:55
g2o::BatchStatisticsContainer
std::vector< G2OBatchStatistics > BatchStatisticsContainer
Definition
batch_stats.h:86
g2o::operator<<
std::ostream & operator<<(std::ostream &os, const G2OBatchStatistics &st)
Definition
batch_stats.cpp:48
g2o::G2OBatchStatistics
statistics about the optimization
Definition
batch_stats.h:40
g2o::G2OBatchStatistics::timeLinearSolution
double timeLinearSolution
Definition
batch_stats.h:59
g2o::G2OBatchStatistics::hessianLandmarkDimension
size_t hessianLandmarkDimension
dimension of the landmark matrix in Schur
Definition
batch_stats.h:74
g2o::G2OBatchStatistics::iterationsLinearSolver
int iterationsLinearSolver
Definition
batch_stats.h:62
g2o::G2OBatchStatistics::timeResiduals
double timeResiduals
residuals
Definition
batch_stats.h:49
g2o::G2OBatchStatistics::globalStats
static G2OBatchStatistics * globalStats()
Definition
batch_stats.h:77
g2o::G2OBatchStatistics::numVertices
int numVertices
how many vertices are involved
Definition
batch_stats.h:43
g2o::G2OBatchStatistics::timeNumericDecomposition
double timeNumericDecomposition
numeric decomposition (0 if not done)
Definition
batch_stats.h:58
g2o::G2OBatchStatistics::timeSymbolicDecomposition
double timeSymbolicDecomposition
symbolic decomposition (0 if not done)
Definition
batch_stats.h:57
g2o::G2OBatchStatistics::timeUpdate
double timeUpdate
time to apply the update
Definition
batch_stats.h:64
g2o::G2OBatchStatistics::timeMarginals
double timeMarginals
Definition
batch_stats.h:67
g2o::G2OBatchStatistics::choleskyNNZ
size_t choleskyNNZ
number of non-zeros in the cholesky factor
Definition
batch_stats.h:75
g2o::G2OBatchStatistics::timeIteration
double timeIteration
total time;
Definition
batch_stats.h:65
g2o::G2OBatchStatistics::hessianDimension
size_t hessianDimension
rows / cols of the Hessian
Definition
batch_stats.h:71
g2o::G2OBatchStatistics::iteration
int iteration
which iteration
Definition
batch_stats.h:42
g2o::G2OBatchStatistics::chi2
double chi2
total chi2
Definition
batch_stats.h:45
g2o::G2OBatchStatistics::timeSchurComplement
double timeSchurComplement
compute schur complement (0 if not done)
Definition
batch_stats.h:54
g2o::G2OBatchStatistics::G2OBatchStatistics
G2OBatchStatistics()
Definition
batch_stats.cpp:40
g2o::G2OBatchStatistics::_globalStats
static G2OBatchStatistics * _globalStats
Definition
batch_stats.h:81
g2o::G2OBatchStatistics::timeLinearize
double timeLinearize
jacobians
Definition
batch_stats.h:50
g2o::G2OBatchStatistics::levenbergIterations
int levenbergIterations
number of iterations performed by LM
Definition
batch_stats.h:52
g2o::G2OBatchStatistics::timeLinearSolver
double timeLinearSolver
time for solving, excluding Schur setup
Definition
batch_stats.h:61
g2o::G2OBatchStatistics::hessianPoseDimension
size_t hessianPoseDimension
dimension of the pose matrix in Schur
Definition
batch_stats.h:72
g2o::G2OBatchStatistics::numEdges
int numEdges
how many edges
Definition
batch_stats.h:44
g2o::G2OBatchStatistics::timeQuadraticForm
double timeQuadraticForm
construct the quadratic form in the graph
Definition
batch_stats.h:51
Generated on
for g2o by
1.17.0