|
g2o
|
#include <edge_labeler.h>

Public Member Functions | |
| EdgeLabeler (SparseOptimizer *optimizer) | |
| int | labelEdges (std::set< OptimizableGraph::Edge * > &edges) |
Protected Member Functions | |
| void | augmentSparsePattern (std::set< std::pair< int, int > > &pattern, OptimizableGraph::Edge *e) |
| bool | computePartialInverse (SparseBlockMatrix< Eigen::MatrixXd > &spinv, const std::set< std::pair< int, int > > &pattern) |
| bool | labelEdge (const SparseBlockMatrix< Eigen::MatrixXd > &spinv, OptimizableGraph::Edge *e) |
Protected Attributes | |
| SparseOptimizer * | _optimizer |
This class implements the functions to label an edge (measurement) based on the actual configuration of the nodes. It does so by
Definition at line 46 of file edge_labeler.h.
| g2o::EdgeLabeler::EdgeLabeler | ( | SparseOptimizer * | optimizer | ) |
constructs an edge labeler that operates on the optimizer passed as argument
| optimizer | the optimizer |
Definition at line 41 of file edge_labeler.cpp.
References _optimizer.
|
protected |
helper function that augments the sparse pattern of the inverse based on an edge
| pattern | the blocks of the inverse covered by the edge |
| e | the edge |
Definition at line 69 of file edge_labeler.cpp.
References g2o::OptimizableGraph::Vertex::hessianIndex(), and g2o::HyperGraph::Edge::vertices().
Referenced by labelEdges().
|
protected |
helper function that computes the inverse based on the sparse pattenrn
| spinv | the output block inverse |
| pattern | the blocks of the inverse covered by the edge |
Definition at line 87 of file edge_labeler.cpp.
References _optimizer, and g2o::SparseOptimizer::computeMarginals().
Referenced by labelEdges().
|
protected |
helper function that labes a specific edge based on the marginals in the sparse block inverse
Definition at line 105 of file edge_labeler.cpp.
References g2o::SparseBlockMatrix< MatrixType >::block(), g2o::OptimizableGraph::Edge::computeError(), g2o::OptimizableGraph::Edge::dimension(), g2o::OptimizableGraph::Edge::errorData(), g2o::OptimizableGraph::Vertex::hessianIndex(), g2o::OptimizableGraph::Edge::informationData(), g2o::OptimizableGraph::Vertex::minimalEstimateDimension(), g2o::OptimizableGraph::Vertex::oplus(), g2o::OptimizableGraph::Vertex::pop(), g2o::OptimizableGraph::Vertex::push(), g2o::reconstructGaussian(), g2o::sampleUnscented(), g2o::OptimizableGraph::Edge::setMeasurementFromState(), and g2o::HyperGraph::Edge::vertices().
Referenced by labelEdges().
| int g2o::EdgeLabeler::labelEdges | ( | std::set< OptimizableGraph::Edge * > & | edges | ) |
Labels the set of edges passed as argument. It computes the cholesky information matrix. This method only woorks aftec having called an optimize(...) in the connected optimizer. The labeling is performed based on the actual configuration of the nodes in the optimized subgraph.
| edges | the edges to label |
Definition at line 43 of file edge_labeler.cpp.
References augmentSparsePattern(), computePartialInverse(), and labelEdge().
Referenced by g2o::Star::labelStarEdges().
|
protected |
Definition at line 81 of file edge_labeler.h.
Referenced by computePartialInverse(), and EdgeLabeler().