g2o
Toggle main menu visibility
Loading...
Searching...
No Matches
g2o
core
robust_kernel_impl.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_ROBUST_KERNEL_IMPL_H
28
#define G2O_ROBUST_KERNEL_IMPL_H
29
30
#include "
g2o_core_api.h
"
31
#include "
robust_kernel.h
"
32
33
namespace
g2o
{
34
42
class
G2O_CORE_API
RobustKernelScaleDelta
:
public
RobustKernel
{
43
public
:
48
explicit
RobustKernelScaleDelta
(
const
RobustKernelPtr
&
kernel
,
49
double
delta
= 1.);
50
explicit
RobustKernelScaleDelta
(
double
delta
= 1.);
51
53
const
RobustKernelPtr
kernel
()
const
{
return
_kernel
; }
55
void
setKernel(
const
RobustKernelPtr
& ptr);
56
57
void
robustify(
double
error,
Vector3
& rho)
const
;
58
59
protected
:
60
RobustKernelPtr
_kernel
;
61
};
62
77
class
G2O_CORE_API
RobustKernelHuber
:
public
RobustKernel
{
78
public
:
79
virtual
void
robustify
(
double
e2,
Vector3
& rho)
const
;
80
};
81
93
class
G2O_CORE_API
RobustKernelPseudoHuber
:
public
RobustKernel
{
94
public
:
95
virtual
void
robustify
(
double
e2,
Vector3
& rho)
const
;
96
};
97
106
class
G2O_CORE_API
RobustKernelCauchy
:
public
RobustKernel
{
107
public
:
108
virtual
void
robustify
(
double
e2,
Vector3
& rho)
const
;
109
};
110
122
class
G2O_CORE_API
RobustKernelGemanMcClure
:
public
RobustKernel
{
123
public
:
124
virtual
void
robustify
(
double
e2,
Vector3
& rho)
const
;
125
};
126
136
class
G2O_CORE_API
RobustKernelWelsch
:
public
RobustKernel
{
137
public
:
138
virtual
void
robustify
(
double
e2,
Vector3
& rho)
const
;
139
};
140
150
class
G2O_CORE_API
RobustKernelFair
:
public
RobustKernel
{
151
public
:
152
virtual
void
robustify
(
double
e2,
Vector3
& rho)
const
;
153
};
154
168
class
G2O_CORE_API
RobustKernelTukey
:
public
RobustKernel
{
169
public
:
170
virtual
void
robustify
(
double
e2,
Vector3
& rho)
const
;
171
};
172
178
class
G2O_CORE_API
RobustKernelSaturated
:
public
RobustKernel
{
179
public
:
180
virtual
void
robustify
(
double
e2,
Vector3
& rho)
const
;
181
};
182
190
class
G2O_CORE_API
RobustKernelDCS
:
public
RobustKernel
{
191
public
:
192
virtual
void
robustify
(
double
e2,
Vector3
& rho)
const
;
193
};
194
}
// end namespace g2o
195
196
#endif
g2o::RobustKernelCauchy
Cauchy cost function.
Definition
robust_kernel_impl.h:106
g2o::RobustKernelCauchy::robustify
virtual void robustify(double e2, Vector3 &rho) const
Definition
robust_kernel_impl.cpp:86
g2o::RobustKernelDCS
Dynamic covariance scaling - DCS.
Definition
robust_kernel_impl.h:190
g2o::RobustKernelDCS::robustify
virtual void robustify(double e2, Vector3 &rho) const
Definition
robust_kernel_impl.cpp:155
g2o::RobustKernelFair
Fair cost function.
Definition
robust_kernel_impl.h:150
g2o::RobustKernelFair::robustify
virtual void robustify(double e2, Vector3 &rho) const
Definition
robust_kernel_impl.cpp:111
g2o::RobustKernelGemanMcClure
Geman-McClure cost function.
Definition
robust_kernel_impl.h:122
g2o::RobustKernelGemanMcClure::robustify
virtual void robustify(double e2, Vector3 &rho) const
Definition
robust_kernel_impl.cpp:95
g2o::RobustKernelHuber
Huber Cost Function.
Definition
robust_kernel_impl.h:77
g2o::RobustKernelHuber::robustify
virtual void robustify(double e2, Vector3 &rho) const
Definition
robust_kernel_impl.cpp:60
g2o::RobustKernelPseudoHuber
Pseudo Huber Cost Function.
Definition
robust_kernel_impl.h:93
g2o::RobustKernelPseudoHuber::robustify
virtual void robustify(double e2, Vector3 &rho) const
Definition
robust_kernel_impl.cpp:76
g2o::RobustKernelSaturated
Saturated cost function.
Definition
robust_kernel_impl.h:178
g2o::RobustKernelSaturated::robustify
virtual void robustify(double e2, Vector3 &rho) const
Definition
robust_kernel_impl.cpp:141
g2o::RobustKernelScaleDelta::kernel
const RobustKernelPtr kernel() const
return the underlying kernel
Definition
robust_kernel_impl.h:53
g2o::RobustKernelScaleDelta::_kernel
RobustKernelPtr _kernel
Definition
robust_kernel_impl.h:60
g2o::RobustKernelScaleDelta::RobustKernelScaleDelta
RobustKernelScaleDelta(const RobustKernelPtr &kernel, double delta=1.)
Definition
robust_kernel_impl.cpp:35
g2o::RobustKernelTukey
Tukey Cost Function.
Definition
robust_kernel_impl.h:168
g2o::RobustKernelTukey::robustify
virtual void robustify(double e2, Vector3 &rho) const
Definition
robust_kernel_impl.cpp:127
g2o::RobustKernelWelsch
Welsch cost function.
Definition
robust_kernel_impl.h:136
g2o::RobustKernelWelsch::robustify
virtual void robustify(double e2, Vector3 &rho) const
Definition
robust_kernel_impl.cpp:102
g2o::RobustKernel::RobustKernel
RobustKernel()
Definition
robust_kernel.cpp:31
g2o::RobustKernel::delta
double delta() const
Definition
robust_kernel.h:68
g2o_core_api.h
G2O_CORE_API
#define G2O_CORE_API
Definition
g2o_core_api.h:29
g2o
Definition
dl_wrapper.cpp:55
g2o::Vector3
VectorN< 3 > Vector3
Definition
eigen_types.h:51
g2o::RobustKernelPtr
std::shared_ptr< RobustKernel > RobustKernelPtr
Definition
robust_kernel.h:73
robust_kernel.h
Generated on
for g2o by
1.17.0