Noise.h
Go to the documentation of this file.
00001 
00028 #pragma once
00029 
00030 #include <Eigen/Dense>
00031 #include <Eigen/LU> 
00032 
00033 namespace isam {
00034 
00035 // general noise model class
00036 class Noise {
00037 public:
00038   Eigen::MatrixXd _sqrtinf;
00039   const Eigen::MatrixXd& sqrtinf() const {return _sqrtinf;}
00040 };
00041 
00042 // noise model based on square root information matrix
00043 class SqrtInformation : public Noise {
00044 public:
00045   SqrtInformation(const Eigen::MatrixXd& sqrtinf) {_sqrtinf = sqrtinf;}
00046 };
00047 
00048 // noise model based on information matrix
00049 class Information : public Noise {
00050 public:
00051   Information(const Eigen::MatrixXd& inf) {
00052     _sqrtinf = inf.llt().matrixU();
00053   }
00054 };
00055 
00056 // noise model based on covariance matrix
00057 class Covariance : public Noise {
00058 public:
00059   Covariance(const Eigen::MatrixXd& cov) {
00060     _sqrtinf = cov.inverse().llt().matrixU();
00061   }
00062 };
00063 
00064 }


demo_lidar
Author(s): Ji Zhang
autogenerated on Sun Oct 5 2014 23:22:43