| Classes | |
| class | Anchor2d_Node | 
| class | Anchor3d_Node | 
| class | Cholesky | 
| class | CholeskyImpl | 
| class | CholeskyImplCSparse | 
| class | ChowLiuTree | 
| class | ChowLiuTreeInfo | 
| class | ChowLiuTreeNode | 
| class | Covariance | 
| class | CovarianceCache | 
| class | Covariances | 
| struct | DeleteOnReturn | 
| class | Depthmono_Factor | 
| class | DepthmonoCamera | 
| class | DepthmonoMeasurement | 
| class | Element | 
| class | Factor | 
| class | FactorT | 
| class | Function | 
| class | GLC_Factor | 
| class | GLC_Reparam | 
| class | GLC_RootShift | 
| class | Graph | 
| class | Information | 
| class | Jacobian | 
| class | MI | 
| class | Monocular_Factor | 
| class | MonocularCamera | 
| class | MonocularMeasurement | 
| class | Node | 
| class | NodeT | 
| class | Noise | 
| class | OptimizationInterface | 
| class | Optimizer | 
| class | OrderedSparseMatrix | 
| class | Point2d | 
| class | Point2d_Factor | 
| class | Point3d | 
| class | Point3dh | 
| class | Point3dT_Node | 
| class | Pose2d | 
| class | Pose2d_Factor | 
| class | Pose2d_Point2d_Factor | 
| class | Pose2d_Pose2d_Factor | 
| class | Pose3d | 
| class | Pose3d_Factor | 
| class | Pose3d_Point3d_Factor | 
| class | Pose3d_Pose3d_Factor | 
| class | Properties | 
| class | Rot3d | 
| class | Slam | 
| class | SparseMatrix | 
| class | SparseSystem | 
| class | SparseVector | 
| class | SparseVectorIter | 
| class | SqrtInformation | 
| class | Stereo_Factor | 
| class | StereoCamera | 
| class | StereoMeasurement | 
| class | Term | 
| class | Timing | 
| class | UpdateStats | 
| Typedefs | |
| typedef double(* | cost_func_t )(double) | 
| typedef std::vector< std::pair < int, int > > | entry_list_t | 
| typedef std::vector < std::vector< int > > | index_lists_t | 
| typedef NodeT< Point2d > | Point2d_Node | 
| typedef Point3dT_Node< Point3d > | Point3d_Node | 
| typedef Point3dT_Node< Point3dh > | Point3dh_Node | 
| typedef NodeT< Pose2d > | Pose2d_Node | 
| typedef NodeT< Pose3d > | Pose3d_Node | 
| typedef SparseVector * | SparseVector_p | 
| typedef std::list< Term > | Terms | 
| typedef std::tr1::unordered_map< int, double > | umap | 
| typedef Eigen::Matrix< double, 6, 1 > | Vector6d | 
| Enumerations | |
| enum | Method { GAUSS_NEWTON, LEVENBERG_MARQUARDT, DOG_LEG } | 
| enum | Selector { LINPOINT, ESTIMATE } | 
| Functions | |
| double | cost_blake_zisserman (double d, double e) | 
| double | cost_cauchy (double d, double b=1.) | 
| double | cost_corrupted_gaussian (double d, double w, double a) | 
| double | cost_huber (double d, double b) | 
| double | cost_l1 (double d, double b=0.5) | 
| double | cost_pseudo_huber (double d, double b) | 
| double | cost_squared (double d) | 
| std::list< Eigen::MatrixXd > | cov_marginal (const SparseMatrix &R, CovarianceCache &cache, const index_lists_t &index_lists, bool debug=false, int step=-1) | 
| std::list< double > | cov_marginal (const SparseMatrix &R, CovarianceCache &cache, const entry_list_t &entry_list) | 
| double | deg_to_rad (double d) | 
| Eigen::MatrixXd | exmap_jacobian (const std::vector< Node * > &nodes) | 
| Eigen::MatrixXd | eye (int num) | 
| const SparseVector & | get_row (const SparseMatrix &R, CovarianceCache &cache, int i) | 
| void | givens (const double a, const double b, double &c, double &s) | 
| MatrixXd | glc_cholcov (MatrixXd A, double eps=numeric_limits< float >::epsilon()) | 
| std::vector< isam::Node * > | glc_elim_clique_nodes (Node *node) | 
| std::vector< Factor * > | glc_elim_factors (Node *node) | 
| Factor * | glc_factor (const MatrixXd &L, const vector< Node * > &clique_nodes, GLC_Reparam *rp) | 
| MatrixXd | glc_get_weighted_jacobian (isam::Factor *f) | 
| vector< Factor * > | glc_intra_clique_factors (vector< Node * > clique_nodes, Node *node) | 
| vector< Factor * > | glc_lift_factors (const MatrixXd &L, const vector< Node * > &clique_nodes, bool sparse, GLC_Reparam *rp) | 
| std::vector< Factor * > | glc_remove_node (Slam &slam, Node *node, bool sparse=false, GLC_Reparam *rp=NULL) | 
| MatrixXd | glc_target_info (Node *node, vector< Node * > &clique_nodes, vector< Factor * > &ic_factors) | 
| Eigen::MatrixXd | matrix_of_sparseMatrix (const SparseMatrix &s) | 
| MatrixXd | matslice (const MatrixXd A, vector< int > ii, vector< int > jj) | 
| bool | mi_sort (MI &first, MI &second) | 
| Eigen::VectorXd | mul_SparseMatrixTrans_Vector (const SparseMatrix &lhs, const Eigen::VectorXd &rhs) | 
| VectorXd | mul_SparseMatrixTrans_Vector (const SparseMatrix &lhs, const VectorXd &rhs) | 
| std::string | noise_to_string (const Noise &noise) | 
| Eigen::MatrixXd | numericalDiff (Function &func) | 
| const Eigen::VectorXd | operator* (const SparseMatrix &lhs, const Eigen::VectorXd &rhs) | 
| const VectorXd | operator* (const SparseMatrix &lhs, const VectorXd &rhs) | 
| template<typename T > | |
| T | pinv (const T &a, double eps=std::numeric_limits< typename T::Scalar >::epsilon()) | 
| template<typename T > | |
| T | posdef_pinv (const T &a, double eps=std::numeric_limits< typename T::Scalar >::epsilon()) | 
| void | prepare (const SparseMatrix &R, CovarianceCache &cache) | 
| double | rad_to_deg (double r) | 
| double | recover (const SparseMatrix &R, CovarianceCache &cache, int n, int i, int l) | 
| SparseMatrix | sparseMatrix_of_matrix (const Eigen::MatrixXd &m) | 
| SparseMatrix | sparseMatrix_of_matrix (const MatrixXd &m) | 
| double | standardRad (double t) | 
| double | sum_j (const SparseMatrix &R, CovarianceCache &cache, int n, int l, int i) | 
| double | tic () | 
| double | tic (std::string id) | 
| double | tic (string id) | 
| double | tictoc (std::string id) | 
| double | tictoc (string id) | 
| void | tictoc_print () | 
| double | toc (double t0) | 
| double | toc (std::string id) | 
| double | toc (string id) | 
| Variables | |
| const double | epsilon = 0.0001 | 
| const double | HALFPI = PI/2.0 | 
| const int | INITIAL_ENTRIES = 50 | 
| const int | MIN_NUM_COLS = 10 | 
| const int | MIN_NUM_ROWS = 10 | 
| const double | NUMERICAL_ZERO = 1e-12 | 
| const double | PI = 3.14159265358979323846 | 
| Timing | timing | 
| const double | TWOPI = 2.0*PI | 
| typedef double(* isam::cost_func_t)(double) | 
Definition at line 34 of file Jacobian.h.
| typedef std::vector< std::pair<int, int> > isam::entry_list_t | 
Definition at line 74 of file covariance.h.
| typedef std::vector< std::vector<int> > isam::index_lists_t | 
Definition at line 73 of file covariance.h.
| typedef NodeT<Point2d> isam::Point2d_Node | 
| typedef Point3dT_Node<Point3d> isam::Point3d_Node | 
| typedef Point3dT_Node<Point3dh> isam::Point3dh_Node | 
| typedef NodeT< Pose2d > isam::Pose2d_Node | 
| typedef NodeT< Pose3d > isam::Pose3d_Node | 
| typedef SparseVector* isam::SparseVector_p | 
Definition at line 37 of file SparseMatrix.h.
| typedef std::list<Term> isam::Terms | 
Definition at line 70 of file Jacobian.h.
| typedef std::tr1::unordered_map<int, double> isam::umap | 
Definition at line 49 of file covariance.h.
| typedef Eigen::Matrix< double, 6, 1> isam::Vector6d | 
| enum isam::Method | 
Definition at line 32 of file Properties.h.
| enum isam::Selector | 
| double isam::cost_blake_zisserman | ( | double | d, | 
| double | e | ||
| ) |  [inline] | 
| double isam::cost_cauchy | ( | double | d, | 
| double | b = 1. | ||
| ) |  [inline] | 
| double isam::cost_corrupted_gaussian | ( | double | d, | 
| double | w, | ||
| double | a | ||
| ) |  [inline] | 
| double isam::cost_huber | ( | double | d, | 
| double | b | ||
| ) |  [inline] | 
| double isam::cost_l1 | ( | double | d, | 
| double | b = 0.5 | ||
| ) |  [inline] | 
| double isam::cost_pseudo_huber | ( | double | d, | 
| double | b | ||
| ) |  [inline] | 
| double isam::cost_squared | ( | double | d | ) |  [inline] | 
| list< MatrixXd > isam::cov_marginal | ( | const SparseMatrix & | R, | 
| CovarianceCache & | cache, | ||
| const index_lists_t & | index_lists, | ||
| bool | debug = false, | ||
| int | step = -1 | ||
| ) | 
Takes a list of variable indices, and returns the marginal covariance matrix.
| R | Sparse factor matrix. | 
| cache | Covariance cache object. | 
| index_lists | List of lists of indices; a block will be recovered for each list. | 
| debug | Optional parameter to print timing information. | 
| step | Optional parameter to print statistics (default=-1, no stats printed). | 
Definition at line 119 of file covariance.cpp.
| list< double > isam::cov_marginal | ( | const SparseMatrix & | R, | 
| CovarianceCache & | cache, | ||
| const entry_list_t & | entry_list | ||
| ) | 
Takes a list of pairs of integers and returns the corresonding entries of the covariance matrix.
| R | Sparse factor matrix. | 
| cache | Covariance cache object. | 
| entry_lists | List of pairs of integers refering to covariance matrix entries. | 
| debug | Optional parameter to print timing information. | 
| step | Optional parameter to print statistics (default=-1, no stats printed). | 
Definition at line 170 of file covariance.cpp.
| double isam::deg_to_rad | ( | double | d | ) |  [inline] | 
| Eigen::MatrixXd isam::exmap_jacobian | ( | const std::vector< Node * > & | nodes | ) | 
| Eigen::MatrixXd isam::eye | ( | int | num | ) | 
| const SparseVector& isam::get_row | ( | const SparseMatrix & | R, | 
| CovarianceCache & | cache, | ||
| int | i | ||
| ) | 
Definition at line 64 of file covariance.cpp.
| void isam::givens | ( | const double | a, | 
| const double | b, | ||
| double & | c, | ||
| double & | s | ||
| ) | 
| MatrixXd isam::glc_cholcov | ( | MatrixXd | A, | 
| double | eps = numeric_limits<float>::epsilon() | ||
| ) | 
| std::vector<isam::Node*> isam::glc_elim_clique_nodes | ( | Node * | node | ) | 
| vector< Factor * > isam::glc_elim_factors | ( | Node * | node | ) | 
Find the factors that will be eliminated and replaced when node is removed IMPORTANT: must be called before node is removed using glc_remove_node()
| node | Pointer to node to be removed. | 
| Factor* isam::glc_factor | ( | const MatrixXd & | L, | 
| const vector< Node * > & | clique_nodes, | ||
| GLC_Reparam * | rp | ||
| ) | 
| MatrixXd isam::glc_get_weighted_jacobian | ( | isam::Factor * | f | ) | 
| vector<Factor*> isam::glc_intra_clique_factors | ( | vector< Node * > | clique_nodes, | 
| Node * | node | ||
| ) | 
| vector<Factor*> isam::glc_lift_factors | ( | const MatrixXd & | L, | 
| const vector< Node * > & | clique_nodes, | ||
| bool | sparse, | ||
| GLC_Reparam * | rp | ||
| ) | 
| vector< Factor * > isam::glc_remove_node | ( | Slam & | slam, | 
| Node * | node, | ||
| bool | sparse = false, | ||
| GLC_Reparam * | rp = NULL | ||
| ) | 
Removes a node (variable) and all factors within in its elimination clique replaces these factors with either a dense GLC factor or a set of sparse GLC factors Note that the node itself and the removed factors are not deallocated.
We usually use GLC with USE_QUATERNIONS turned off in Rot3d.h. This avoids having to account for the state transformation between euler and angle axis representations. This is currently done numerically (see exmap_jacobian()) and produces slightly higher KLD in the GLC results.
| node | Pointer to node to be removed. | 
| sparse | Bool flag if new factors should be sparse approximate or dense | 
| rp | functor to reparamertize variables before linearization | 
| MatrixXd isam::glc_target_info | ( | Node * | node, | 
| vector< Node * > & | clique_nodes, | ||
| vector< Factor * > & | ic_factors | ||
| ) | 
| MatrixXd isam::matrix_of_sparseMatrix | ( | const SparseMatrix & | s | ) | 
Definition at line 424 of file SparseMatrix.cpp.
| MatrixXd isam::matslice | ( | const MatrixXd | A, | 
| vector< int > | ii, | ||
| vector< int > | jj | ||
| ) | 
Definition at line 37 of file ChowLiuTree.cpp.
| bool isam::mi_sort | ( | MI & | first, | 
| MI & | second | ||
| ) | 
Definition at line 135 of file ChowLiuTree.cpp.
| Eigen::VectorXd isam::mul_SparseMatrixTrans_Vector | ( | const SparseMatrix & | lhs, | 
| const Eigen::VectorXd & | rhs | ||
| ) | 
| VectorXd isam::mul_SparseMatrixTrans_Vector | ( | const SparseMatrix & | lhs, | 
| const VectorXd & | rhs | ||
| ) | 
Definition at line 400 of file SparseMatrix.cpp.
| std::string isam::noise_to_string | ( | const Noise & | noise | ) |  [inline] | 
| MatrixXd isam::numericalDiff | ( | Function & | func | ) | 
Takes a general vector valued function and returns the Jacobian at the linearization point given by x0.
| func | Function object with evaluation function that takes and returns vectors. | 
Definition at line 41 of file numericalDiff.cpp.
| const Eigen::VectorXd isam::operator* | ( | const SparseMatrix & | lhs, | 
| const Eigen::VectorXd & | rhs | ||
| ) | 
| const VectorXd isam::operator* | ( | const SparseMatrix & | lhs, | 
| const VectorXd & | rhs | ||
| ) | 
Definition at line 386 of file SparseMatrix.cpp.
| T isam::pinv | ( | const T & | a, | 
| double | eps = std::numeric_limits<typename T::Scalar>::epsilon() | ||
| ) | 
| T isam::posdef_pinv | ( | const T & | a, | 
| double | eps = std::numeric_limits<typename T::Scalar>::epsilon() | ||
| ) | 
| void isam::prepare | ( | const SparseMatrix & | R, | 
| CovarianceCache & | cache | ||
| ) | 
Definition at line 40 of file covariance.cpp.
| double isam::rad_to_deg | ( | double | r | ) |  [inline] | 
| double isam::recover | ( | const SparseMatrix & | R, | 
| CovarianceCache & | cache, | ||
| int | n, | ||
| int | i, | ||
| int | l | ||
| ) | 
Definition at line 94 of file covariance.cpp.
| SparseMatrix isam::sparseMatrix_of_matrix | ( | const Eigen::MatrixXd & | m | ) | 
| SparseMatrix isam::sparseMatrix_of_matrix | ( | const MatrixXd & | m | ) | 
Definition at line 414 of file SparseMatrix.cpp.
| double isam::standardRad | ( | double | t | ) |  [inline] | 
| double isam::sum_j | ( | const SparseMatrix & | R, | 
| CovarianceCache & | cache, | ||
| int | n, | ||
| int | l, | ||
| int | i | ||
| ) |  [inline] | 
Definition at line 76 of file covariance.cpp.
| double isam::tic | ( | std::string | id | ) | 
Remember and return system time in seconds.
| id | Name of time slot. | 
| double isam::tictoc | ( | std::string | id | ) | 
Return the accumulated time.
| id | Name of time slot. | 
| double isam::tictoc | ( | string | id | ) | 
| void isam::tictoc_print | ( | ) | 
| double isam::toc | ( | double | t0 | ) | 
| double isam::toc | ( | std::string | id | ) | 
Return difference between current system time and remembered time in seconds, and add to accumulated time.
| id | Name of time slot. | 
| const double isam::epsilon = 0.0001 | 
Definition at line 115 of file GLCReparam.cpp.
| const double isam::HALFPI = PI/2.0 | 
| const int isam::INITIAL_ENTRIES = 50 | 
Definition at line 46 of file SparseVector.cpp.
| const int isam::MIN_NUM_COLS = 10 | 
Definition at line 44 of file SparseMatrix.cpp.
| const int isam::MIN_NUM_ROWS = 10 | 
Definition at line 45 of file SparseMatrix.cpp.
| const double isam::NUMERICAL_ZERO = 1e-12 | 
| const double isam::TWOPI = 2.0*PI |