39 #ifndef INCLUDE_OKVIS_CERES_POSELOCALPARAMETERIZATION_HPP_
40 #define INCLUDE_OKVIS_CERES_POSELOCALPARAMETERIZATION_HPP_
42 #include "ceres/ceres.h"
66 virtual bool Plus(
const double* x,
const double* delta,
67 double* x_plus_delta)
const;
74 virtual bool Minus(
const double* x,
const double* x_plus_delta,
96 static bool plus(
const double* x,
const double* delta,
double* x_plus_delta);
101 static bool plusJacobian(
const double* x,
double* jacobian);
108 static bool minus(
const double* x,
const double* x_plus_delta,
double* delta);
114 static bool liftJacobian(
const double* x,
double* jacobian);
128 double* jacobianNumDiff);
147 virtual bool Plus(
const double* x,
const double* delta,
148 double* x_plus_delta)
const;
155 virtual bool Minus(
const double* x,
const double* x_plus_delta,
156 double* delta)
const;
173 static bool plusJacobian(
const double* x,
double* jacobian);
179 static bool liftJacobian(
const double* x,
double* jacobian);
208 virtual bool Plus(
const double* x,
const double* delta,
209 double* x_plus_delta)
const;
216 virtual bool Minus(
const double* x,
const double* x_plus_delta,
217 double* delta)
const;
234 static bool plusJacobian(
const double* x,
double* jacobian);
240 static bool liftJacobian(
const double* x,
double* jacobian);
269 virtual bool Plus(
const double* x,
const double* delta,
270 double* x_plus_delta)
const;
277 virtual bool Minus(
const double* x,
const double* x_plus_delta,
278 double* delta)
const;
295 static bool plusJacobian(
const double* x,
double* jacobian);
301 static bool liftJacobian(
const double* x,
double* jacobian);
static bool liftJacobian(const double *x, double *jacobian)
Computes the Jacobian from minimal space to naively overparameterised space as used by ceres...
Definition: PoseLocalParameterization.cpp:350
virtual bool Plus(const double *x, const double *delta, double *x_plus_delta) const
Generalization of the addition operation, x_plus_delta = Plus(x, delta) with the condition that Plus(...
Definition: PoseLocalParameterization.cpp:52
virtual bool ComputeJacobian(const double *x, double *jacobian) const
The jacobian of Plus(x, delta) w.r.t delta at delta = 0.
Definition: PoseLocalParameterization.cpp:366
virtual int LocalSize() const
The parameter block local dimension.
Definition: PoseLocalParameterization.hpp:248
virtual ~PoseLocalParameterization()
Trivial destructor.
Definition: PoseLocalParameterization.hpp:57
virtual int LocalSize() const
The parameter block local dimension.
Definition: PoseLocalParameterization.hpp:308
virtual ~PoseLocalParameterization2d()
Trivial destructor.
Definition: PoseLocalParameterization.hpp:260
Provides some additional interfaces to ceres' LocalParamization than are needed in the generic margin...
Definition: LocalParamizationAdditionalInterfaces.hpp:52
virtual bool Plus(const double *x, const double *delta, double *x_plus_delta) const
Generalization of the addition operation, x_plus_delta = Plus(x, delta) with the condition that Plus(...
Definition: PoseLocalParameterization.cpp:281
virtual bool ComputeLiftJacobian(const double *x, double *jacobian) const
Computes the Jacobian from minimal space to naively overparameterised space as used by ceres...
Definition: PoseLocalParameterization.cpp:330
Header file for the LocalParamizationAdditionalInterfaces class.
virtual bool ComputeLiftJacobian(const double *x, double *jacobian) const
Computes the Jacobian from minimal space to naively overparameterised space as used by ceres...
Definition: PoseLocalParameterization.cpp:97
virtual int LocalSize() const
The parameter block local dimension.
Definition: PoseLocalParameterization.hpp:122
virtual bool ComputeJacobian(const double *x, double *jacobian) const
The jacobian of Plus(x, delta) w.r.t delta at delta = 0.
Definition: PoseLocalParameterization.cpp:148
virtual bool ComputeLiftJacobian(const double *x, double *jacobian) const
Computes the Jacobian from minimal space to naively overparameterised space as used by ceres...
Definition: PoseLocalParameterization.cpp:422
Pose local parameterisation, i.e. for orientation dq(dalpha) x q_bar. Here, we only perturb roll and ...
Definition: PoseLocalParameterization.hpp:255
virtual bool Plus(const double *x, const double *delta, double *x_plus_delta) const
Generalization of the addition operation, x_plus_delta = Plus(x, delta) with the condition that Plus(...
Definition: PoseLocalParameterization.cpp:374
virtual bool Plus(const double *x, const double *delta, double *x_plus_delta) const
Generalization of the addition operation, x_plus_delta = Plus(x, delta) with the condition that Plus(...
Definition: PoseLocalParameterization.cpp:182
static bool plusJacobian(const double *x, double *jacobian)
The jacobian of Plus(x, delta) w.r.t delta at delta = 0.
Definition: PoseLocalParameterization.cpp:238
static bool plusJacobian(const double *x, double *jacobian)
The jacobian of Plus(x, delta) w.r.t delta at delta = 0.
Definition: PoseLocalParameterization.cpp:336
virtual bool ComputeJacobian(const double *x, double *jacobian) const
The jacobian of Plus(x, delta) w.r.t delta at delta = 0.
Definition: PoseLocalParameterization.cpp:273
Pose local parameterisation, i.e. for orientation dq(dalpha) x q_bar. Here, we only perturb the trans...
Definition: PoseLocalParameterization.hpp:194
virtual int GlobalSize() const
The parameter block dimension.
Definition: PoseLocalParameterization.hpp:243
static bool liftJacobian(const double *x, double *jacobian)
Computes the Jacobian from minimal space to naively overparameterised space as used by ceres...
Definition: PoseLocalParameterization.cpp:255
virtual ~PoseLocalParameterization3d()
Trivial destructor.
Definition: PoseLocalParameterization.hpp:138
static bool liftJacobian(const double *x, double *jacobian)
Computes the Jacobian from minimal space to naively overparameterised space as used by ceres...
Definition: PoseLocalParameterization.cpp:445
This file contains some useful assert macros.
virtual bool Minus(const double *x, const double *x_plus_delta, double *delta) const
Computes the minimal difference between a variable x and a perturbed variable x_plus_delta.
Definition: PoseLocalParameterization.cpp:314
virtual int GlobalSize() const
The parameter block dimension.
Definition: PoseLocalParameterization.hpp:117
virtual int GlobalSize() const
The parameter block dimension.
Definition: PoseLocalParameterization.hpp:182
static bool minus(const double *x, const double *x_plus_delta, double *delta)
Computes the minimal difference between a variable x and a perturbed variable x_plus_delta.
Definition: PoseLocalParameterization.cpp:103
Pose local parameterisation, i.e. for orientation dq(dalpha) x q_bar.
Definition: PoseLocalParameterization.hpp:52
virtual bool ComputeJacobian(const double *x, double *jacobian) const
The jacobian of Plus(x, delta) w.r.t delta at delta = 0.
Definition: PoseLocalParameterization.cpp:462
virtual bool ComputeLiftJacobian(const double *x, double *jacobian) const
Computes the Jacobian from minimal space to naively overparameterised space as used by ceres...
Definition: PoseLocalParameterization.cpp:232
virtual bool Minus(const double *x, const double *x_plus_delta, double *delta) const
Computes the minimal difference between a variable x and a perturbed variable x_plus_delta.
Definition: PoseLocalParameterization.cpp:90
static bool liftJacobian(const double *x, double *jacobian)
Computes the Jacobian from minimal space to naively overparameterised space as used by ceres...
Definition: PoseLocalParameterization.cpp:131
virtual bool Minus(const double *x, const double *x_plus_delta, double *delta) const
Computes the minimal difference between a variable x and a perturbed variable x_plus_delta.
Definition: PoseLocalParameterization.cpp:214
virtual int LocalSize() const
The parameter block local dimension.
Definition: PoseLocalParameterization.hpp:187
static bool plusJacobian(const double *x, double *jacobian)
The jacobian of Plus(x, delta) w.r.t delta at delta = 0.
Definition: PoseLocalParameterization.cpp:428
virtual int GlobalSize() const
The parameter block dimension.
Definition: PoseLocalParameterization.hpp:304
bool VerifyJacobianNumDiff(const double *x, double *jacobian, double *jacobianNumDiff)
Definition: PoseLocalParameterization.cpp:154
virtual bool Minus(const double *x, const double *x_plus_delta, double *delta) const
Computes the minimal difference between a variable x and a perturbed variable x_plus_delta.
Definition: PoseLocalParameterization.cpp:405
static bool plus(const double *x, const double *delta, double *x_plus_delta)
Generalization of the addition operation, x_plus_delta = Plus(x, delta) with the condition that Plus(...
Definition: PoseLocalParameterization.cpp:60
Pose local parameterisation, i.e. for orientation dq(dalpha) x q_bar. Here, we only perturb the trans...
Definition: PoseLocalParameterization.hpp:133
virtual ~PoseLocalParameterization4d()
Trivial destructor.
Definition: PoseLocalParameterization.hpp:199
static bool plusJacobian(const double *x, double *jacobian)
The jacobian of Plus(x, delta) w.r.t delta at delta = 0.
Definition: PoseLocalParameterization.cpp:119