OKVIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
okvis::ceres::ParameterBlockSized< Dim, MinDim, T > Class Template Referenceabstract

Base class providing the interface for parameter blocks. More...

#include <ParameterBlockSized.hpp>

Inheritance diagram for okvis::ceres::ParameterBlockSized< Dim, MinDim, T >:
okvis::ceres::ParameterBlock

Public Types

typedef T parameter_t
 Make the parameter type accessible. More...
 

Public Member Functions

 ParameterBlockSized ()
 Default constructor – initialises elements in parametes_ to zero. More...
 
virtual ~ParameterBlockSized ()
 Trivial destructor. More...
 
Setters
virtual void setEstimate (const parameter_t &estimate)=0
 Set estimate of this parameter block. More...
 
virtual void setParameters (const double *parameters)
 Set exact parameters of this parameter block. More...
 
Getters
virtual parameter_t estimate () const =0
 Get estimate. More...
 
virtual double * parameters ()
 Get parameters – as a pointer. More...
 
virtual const double * parameters () const
 Get parameters – as a pointer. More...
 
virtual size_t dimension () const
 Get the parameter dimension. More...
 
virtual size_t minimalDimension () const
 Get the internal minimal parameter dimension. More...
 
File read/write - implement in derived class, if needed

Reading from file – not implemented

virtual bool read (std::istream &)
 
virtual bool write (std::ostream &) const
 Writing to file – not implemented. More...
 
- Public Member Functions inherited from okvis::ceres::ParameterBlock
 ParameterBlock ()
 Default constructor, assumes not fixed and no local parameterisation. More...
 
virtual ~ParameterBlock ()
 Trivial destructor. More...
 
virtual void plus (const double *x0, const double *Delta_Chi, double *x0_plus_Delta) const =0
 Generalization of the addition operation, x_plus_delta = Plus(x, delta) with the condition that Plus(x, 0) = x. More...
 
virtual void plusJacobian (const double *x0, double *jacobian) const =0
 The jacobian of Plus(x, delta) w.r.t delta at delta = 0. More...
 
virtual void minus (const double *x0, const double *x0_plus_Delta, double *Delta_Chi) const =0
 Computes the minimal difference between a variable x and a perturbed variable x_plus_delta. More...
 
virtual void liftJacobian (const double *x0, double *jacobian) const =0
 Computes the Jacobian from minimal space to naively overparameterised space as used by ceres. More...
 
virtual std::string typeInfo () const =0
 Return parameter block type as string. More...
 
void setId (uint64_t id)
 Set parameter block ID. More...
 
void setFixed (bool fixed)
 Whether or not this should be optimised at all. More...
 
uint64_t id () const
 Get parameter block ID. More...
 
bool fixed () const
 Whether or not this is optimised at all. More...
 
virtual void setLocalParameterizationPtr (const ::ceres::LocalParameterization *localParameterizationPtr)
 Set which local parameterisation object to use. More...
 
virtual const
::ceres::LocalParameterization * 
localParameterizationPtr () const
 The local parameterisation object to use. More...
 

Static Public Attributes

static
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
const int 
Dimension = Dim
 Dimension of the parameter block. More...
 
static const int MinimalDimension = MinDim
 Internal (minimal) dimension. More...
 

Protected Attributes

double parameters_ [Dimension]
 Parameters. More...
 
- Protected Attributes inherited from okvis::ceres::ParameterBlock
uint64_t id_
 ID of the parameter block. More...
 
bool fixed_
 Whether or not this should be optimised at all (ceres::problem::setFixed) More...
 
const
::ceres::LocalParameterization * 
localParameterizationPtr_
 The local parameterisation object to use. More...
 

Detailed Description

template<int Dim, int MinDim, class T>
class okvis::ceres::ParameterBlockSized< Dim, MinDim, T >

Base class providing the interface for parameter blocks.

Template Parameters
DimDimension of parameter block
MinDimMinimal dimension of parameter block
TThe type of the estimate

Member Typedef Documentation

template<int Dim, int MinDim, class T>
typedef T okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::parameter_t

Make the parameter type accessible.

Constructor & Destructor Documentation

template<int Dim, int MinDim, class T>
okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::ParameterBlockSized ( )
inline

Default constructor – initialises elements in parametes_ to zero.

template<int Dim, int MinDim, class T>
virtual okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::~ParameterBlockSized ( )
inlinevirtual

Trivial destructor.

Member Function Documentation

template<int Dim, int MinDim, class T>
virtual size_t okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::dimension ( ) const
inlinevirtual

Get the parameter dimension.

Returns
The parameter dimension.

Implements okvis::ceres::ParameterBlock.

template<int Dim, int MinDim, class T>
virtual parameter_t okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::estimate ( ) const
pure virtual
template<int Dim, int MinDim, class T>
virtual size_t okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::minimalDimension ( ) const
inlinevirtual

Get the internal minimal parameter dimension.

Returns
The internal minimal parameter dimension.

Implements okvis::ceres::ParameterBlock.

template<int Dim, int MinDim, class T>
virtual double* okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::parameters ( )
inlinevirtual

Get parameters – as a pointer.

Returns
Pointer to the parameters allocated in here.

Implements okvis::ceres::ParameterBlock.

template<int Dim, int MinDim, class T>
virtual const double* okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::parameters ( ) const
inlinevirtual

Get parameters – as a pointer.

Returns
Pointer to the parameters allocated in here.

Implements okvis::ceres::ParameterBlock.

template<int Dim, int MinDim, class T>
virtual bool okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::read ( std::istream &  )
inlinevirtual
template<int Dim, int MinDim, class T>
virtual void okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::setEstimate ( const parameter_t estimate)
pure virtual

Set estimate of this parameter block.

Parameters
[in]estimateThe estimate to set this to.

Implemented in okvis::ceres::HomogeneousPointParameterBlock, okvis::ceres::SpeedAndBiasParameterBlock, and okvis::ceres::PoseParameterBlock.

template<int Dim, int MinDim, class T>
virtual void okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::setParameters ( const double *  parameters)
inlinevirtual

Set exact parameters of this parameter block.

Parameters
[in]parametersThe parameters to set this to.

Implements okvis::ceres::ParameterBlock.

template<int Dim, int MinDim, class T>
virtual bool okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::write ( std::ostream &  ) const
inlinevirtual

Writing to file – not implemented.

Member Data Documentation

template<int Dim, int MinDim, class T>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW const int okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::Dimension = Dim
static

Dimension of the parameter block.

template<int Dim, int MinDim, class T>
const int okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::MinimalDimension = MinDim
static

Internal (minimal) dimension.

template<int Dim, int MinDim, class T>
double okvis::ceres::ParameterBlockSized< Dim, MinDim, T >::parameters_[Dimension]
protected

Parameters.


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