Basic Image AlgorithmS Library
2.8.0
Main Page
Related Pages
Modules
Classes
Examples
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
MathAlgo
GaussHelmert.hh
1
#ifndef _GaussHelmert_hh_
2
#define _GaussHelmert_hh_
3
#include <bias_config.h>
4
5
#include <Base/Debug/Debug.hh>
6
7
8
#include <Base/Math/Vector.hh>
9
#include <Base/Math/Matrix.hh>
10
//template <class T> class Vector;
11
//template <class T> class Matrix;
12
13
14
namespace
BIAS {
15
16
//template <class T> class Vector;
17
//template <class T> class Matrix;
18
19
/** @class GaussHelmert
20
* @ingroup g_mathalgo
21
@brief see Foerstner, 2004, "Uncertainty And Projective Geometry"
22
! untested !
23
@author woelk 04/2006
24
*/
25
class
BIASMathAlgo_EXPORT
GaussHelmert
26
:
public
Debug
27
{
28
public
:
29
30
virtual
~
GaussHelmert
();
31
32
int
Solve(
BIAS::Vector<double>
& observations,
33
const
BIAS::Matrix<double>
& obs_cov,
34
BIAS::Vector<double>
& x,
35
BIAS::Matrix<double>
& cov);
36
37
38
protected
:
39
int
MaxNumIter_
;
40
double
Precision_
;
41
42
/// protected constructor to prohibit instantiation of class
43
GaussHelmert
();
44
45
void
ComputeNormalSystem_(
const
Matrix<double>
& A,
const
Matrix<double>
& B,
46
const
Matrix<double>
& H,
47
const
Matrix<double>
& Sigma_ll,
48
const
Vector<double>
& x_hat,
49
const
Vector<double>
& l_hat,
50
const
Vector<double>
& v_hat,
51
Matrix<double>
& normal_matrix,
52
Vector<double>
& normal_vector);
53
54
/// jacobian of g_() with respect to x at x, l
55
virtual
Matrix<double>
& GetA_(
const
Vector<double>
& l,
56
const
Vector<double>
& x) = 0;
57
58
/// transposed of jacobian of g_() with respect to l at x, l
59
virtual
Matrix<double>
& GetB_(
const
Vector<double>
& l,
60
const
Vector<double>
& x) = 0;
61
62
/// transposed of jacobian of h_() with respect to x at x
63
virtual
Matrix<double>
& GetH_(
const
Vector<double>
& x) = 0;
64
65
/// joint constraints on obseravtions and unknowns
66
virtual
Vector<double>
& g_(
const
Vector<double>
& l,
67
const
Vector<double>
& x) = 0;
68
69
/// constraints on the unknowns
70
virtual
Vector<double>
& h_(
const
Vector<double>
& x) = 0;
71
72
};
// class
73
74
}
// namespace
75
76
#endif // _GaussHelmert_hh_
BIAS::Vector< double >
BIAS::GaussHelmert
see Foerstner, 2004, "Uncertainty And Projective Geometry" ! untested !
Definition:
GaussHelmert.hh:25
BIAS::GaussHelmert::MaxNumIter_
int MaxNumIter_
Definition:
GaussHelmert.hh:39
BIAS::Matrix< double >
BIAS::GaussHelmert::Precision_
double Precision_
Definition:
GaussHelmert.hh:40
BIAS::Debug
Definition:
Debug.hh:298
Generated on Tue Feb 6 2018 02:01:41 for Basic Image AlgorithmS Library by
1.8.5