SLAMflex SE  0.1.0
SLAMflex provides detection and tracking of dominant planes for smartphone devices. This plane can then be used to show AR content relative to the plane orientation. The detection of plane is performed in the field of view of the smartphone camera. In subsequent frames it is tracked. The interface returns the plane position and orientation.
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TooN::IRLS< Size, Precision, Reweight > Class Template Reference

#include <irls.h>

Inheritance diagram for TooN::IRLS< Size, Precision, Reweight >:
TooN::WLS< Size, Precision >

Public Member Functions

 IRLS (int size=Size)
 
template<int Size2, typename Precision2 , typename Base2 >
void add_mJ (Precision m, const Vector< Size2, Precision2, Base2 > &J)
 
void operator+= (const IRLS &meas)
 
Matrix< Size, Size, Precision > & get_true_C_inv ()
 
const Matrix< Size, Size, Precision > & get_true_C_inv () const
 
Precision get_residual ()
 
void clear ()
 
- Public Member Functions inherited from TooN::WLS< Size, Precision >
 WLS (int size=0)
 Default constructor or construct with the number of dimensions for the Dynamic case. More...
 
void clear ()
 Clear all the measurements and apply a constant regularisation term. More...
 
void add_prior (Precision val)
 
void add_prior (const Vector< Size, Precision, B2 > &v)
 
void add_prior (const Matrix< Size, Size, Precision, B2 > &m)
 
void add_mJ (Precision m, const Vector< Size, Precision, B2 > &J, Precision weight=1)
 
void add_mJ (const Vector< N, Precision, B1 > &m, const Matrix< Size, N, Precision, B2 > &J, const Matrix< N, N, Precision, B3 > &invcov)
 
void add_mJ_rows (const Vector< N, Precision, B1 > &m, const Matrix< N, Size, Precision, B2 > &J, const Matrix< N, N, Precision, B3 > &invcov)
 
void add_sparse_mJ_rows (const Vector< N, Precision, B1 > &m, const Matrix< N, S1, Precision, B2 > &J1, const int index1, const Matrix< N, N, Precision, B3 > &invcov)
 
void add_sparse_mJ_rows (const Vector< N, Precision, B1 > &m, const Matrix< N, S1, Precision, B2 > &J1, const int index1, const Matrix< N, S2, Precision, B3 > &J2, const int index2, const Matrix< N, N, Precision, B4 > &invcov)
 
void compute ()
 
void operator+= (const WLS &meas)
 
Matrix< Size, Size, Precision > & get_C_inv ()
 Returns the inverse covariance matrix. More...
 
const Matrix< Size, Size, Precision > & get_C_inv () const
 Returns the inverse covariance matrix. More...
 
Vector< Size, Precision > & get_mu ()
 Returns the update. With no prior, this is the result of $J^\dagger e$. More...
 
const Vector< Size, Precision > & get_mu () const
 Returns the update. With no prior, this is the result of $J^\dagger e$. More...
 
Vector< Size, Precision > & get_vector ()
 Returns the vector $J^{\mathsf T} e$. More...
 
const Vector< Size, Precision > & get_vector () const
 Returns the vector $J^{\mathsf T} e$. More...
 
Cholesky< Size, Precision > & get_decomposition ()
 Return the decomposition object used to compute $(J^{\mathsf T} J + P)^{-1}$. More...
 
const Cholesky< Size, Precision > & get_decomposition () const
 Return the decomposition object used to compute $(J^{\mathsf T} J + P)^{-1}$. More...
 

Private Member Functions

 IRLS (IRLS &copyof)
 
int operator= (IRLS &copyof)
 

Private Attributes

Precision my_residual
 
Matrix< Size, Size, Precision > my_true_C_inv
 

Detailed Description

template<int Size, typename Precision, template< typename Precision > class Reweight>
class TooN::IRLS< Size, Precision, Reweight >

Performs iterative reweighted least squares.

Parameters
Sizethe size
ReweightThe reweighting functor. This structure must provide reweight(), true-scale() and objective() methods. Existing examples are Robust I, Robust II and ILinear.

Definition at line 107 of file irls.h.

Constructor & Destructor Documentation

template<int Size, typename Precision , template< typename Precision > class Reweight>
TooN::IRLS< Size, Precision, Reweight >::IRLS ( int  size = Size)
inline

Definition at line 112 of file irls.h.

template<int Size, typename Precision , template< typename Precision > class Reweight>
TooN::IRLS< Size, Precision, Reweight >::IRLS ( IRLS< Size, Precision, Reweight > &  copyof)
private

Member Function Documentation

template<int Size, typename Precision , template< typename Precision > class Reweight>
template<int Size2, typename Precision2 , typename Base2 >
void TooN::IRLS< Size, Precision, Reweight >::add_mJ ( Precision  m,
const Vector< Size2, Precision2, Base2 > &  J 
)
inline

Definition at line 120 of file irls.h.

template<int Size, typename Precision , template< typename Precision > class Reweight>
void TooN::IRLS< Size, Precision, Reweight >::clear ( )
inline

Definition at line 146 of file irls.h.

template<int Size, typename Precision , template< typename Precision > class Reweight>
Precision TooN::IRLS< Size, Precision, Reweight >::get_residual ( )
inline

Definition at line 144 of file irls.h.

template<int Size, typename Precision , template< typename Precision > class Reweight>
Matrix<Size,Size,Precision>& TooN::IRLS< Size, Precision, Reweight >::get_true_C_inv ( )
inline

Definition at line 141 of file irls.h.

template<int Size, typename Precision , template< typename Precision > class Reweight>
const Matrix<Size,Size,Precision>& TooN::IRLS< Size, Precision, Reweight >::get_true_C_inv ( ) const
inline

Definition at line 142 of file irls.h.

template<int Size, typename Precision , template< typename Precision > class Reweight>
void TooN::IRLS< Size, Precision, Reweight >::operator+= ( const IRLS< Size, Precision, Reweight > &  meas)
inline

Definition at line 135 of file irls.h.

template<int Size, typename Precision , template< typename Precision > class Reweight>
int TooN::IRLS< Size, Precision, Reweight >::operator= ( IRLS< Size, Precision, Reweight > &  copyof)
private

Member Data Documentation

template<int Size, typename Precision , template< typename Precision > class Reweight>
Precision TooN::IRLS< Size, Precision, Reweight >::my_residual
private

Definition at line 154 of file irls.h.

template<int Size, typename Precision , template< typename Precision > class Reweight>
Matrix<Size,Size,Precision> TooN::IRLS< Size, Precision, Reweight >::my_true_C_inv
private

Definition at line 156 of file irls.h.


The documentation for this class was generated from the following file: