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 20 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 12 of file edge_labeler.cpp.
|
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 41 of file edge_labeler.cpp.
References g2o::OptimizableGraph::Vertex::hessianIndex(), and g2o::HyperGraph::Edge::vertices().
|
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 59 of file edge_labeler.cpp.
|
protected |
helper function that labes a specific edge based on the marginals in the sparse block inverse
Definition at line 73 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().
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 16 of file edge_labeler.cpp.
Referenced by g2o::Star::labelStarEdges().
|
protected |
Definition at line 47 of file edge_labeler.h.