Declaration of the pose-graph Data types and implementation of NodeBuilder and EdgeBuilder interfaces. More...
Classes | |
class | vslam::AllWeightsOneWeightMap< PoseGraphT > |
property map that represents edge weights in the graph, where all edges have weight 1. More... | |
class | vslam::FeatureID< G > |
unique identification af landmark observation (feature) in the pose-graph. More... | |
class | vslam::PerformanceLogger< G > |
Records time elapsed between construction and destruction of this object. More... | |
class | vslam::Points< G > |
struct | boost::property_traits< vslam::AllWeightsOneWeightMap< PoseGraphT > > |
property map that represents edge weights in the graph, where all edges have weight 1. More... | |
class | vslam::VertexDebugInfo |
Debugging info for a vertex. More... | |
Namespaces | |
namespace | vslam::lmdetails |
Implementation details of Landmark Manager module. | |
Modules | |
Utils | |
Set of utilities useful across multiple modules that operate on pose-graph. | |
BGL Graph Properties | |
Boost Graph Library (BGL) properties for BGL graph PoseGraph forms the representation of of pose-graph part of our Main Data Structure (MDS). | |
Node Builder | |
Edge Builder | |
Files | |
file | graph_builder.h |
Contains code that performs functionality of Node Builder, Node Destroyer, Edge Builder and Landmark Manager (which are components of Main Data Structure). | |
file | graph_utils.h |
file | pose_graph.h |
Interface for Main Data Structure. | |
Typedefs | |
typedef readable_property_map_tag | boost::property_traits< vslam::AllWeightsOneWeightMap< PoseGraphT > >::category |
typedef graph_traits< G > ::edge_descriptor | vslam::EdgeBuilder< G >::EdgeD |
typedef graph_traits< G > ::edge_descriptor | vslam::MonoFtrClassEdgeBuilder< G >::EdgeD |
typedef ALIGNED< pair< int, Vector3d > >::vector | vslam::IdxPoint3dVec |
typedef cv::Mat | vslam::OneDetectorNodeBuilder< PoseGraphT >::InputType |
typedef cv::Mat | vslam::CustomOneDetectorNodeBuilder< PoseGraphT >::InputType |
typedef cv::Mat | vslam::CustomOneDetectorNodeBuilderFeature2D< PoseGraphT >::InputType |
typedef graph_traits < PoseGraphT > ::edge_descriptor | boost::property_traits< vslam::AllWeightsOneWeightMap< PoseGraphT > >::key_type |
typedef graph_traits < PoseGraph >::edge_descriptor | vslam::PGEdgeD |
typedef graph_traits < PoseGraph > ::vertex_descriptor | vslam::PGVertexD |
typedef boost::adjacency_list < boost::vecS, boost::vecS, boost::directedS, boost::property< vertex_kp_t, std::vector< cv::KeyPoint > , boost::property < vertex_desc_t, cv::Mat, boost::property < vertex_fix_idx_t, vector < int >, boost::property < vertex_seq_t, int, boost::property < boost::vertex_keyframe_flag_t, int, boost::property < boost::vertex_debug_info_t, VertexDebugInfo, boost::property < boost::vertex_timestamp_t, uint64_t, boost::property < vertex_transform_t, SE3 > > > > > > > >, boost::property < edge_kp_idx_map_t, map< int, int >, boost::property < edge_transform_t, SE3, boost::property < edge_rel_scale_error_t, double > > > > | vslam::PoseGraph |
representation of a pose-graph. | |
typedef int | boost::property_traits< vslam::AllWeightsOneWeightMap< PoseGraphT > >::reference |
typedef int | boost::property_traits< vslam::AllWeightsOneWeightMap< PoseGraphT > >::value_type |
typedef boost::graph_traits< G > ::vertex_descriptor | vslam::PerformanceLogger< G >::VDT |
typedef graph_traits< G > ::vertex_descriptor | vslam::EdgeBuilder< G >::VertexD |
typedef graph_traits< G > ::vertex_descriptor | vslam::MonoFtrClassEdgeBuilder< G >::VertexD |
Functions | |
bool | vslam::EdgeBuilder< G >::build (const VertexD &src, const VertexD &dst, Points< G > &points, G &g) |
Constructs edge between nodes in the pose-graph. | |
bool | vslam::OneDetectorNodeBuilder< PoseGraphT >::build (const cv::Mat &image, int image_seq_num, uint64_t pose_timestamp, typename graph_traits< PoseGraphT >::vertex_descriptor &vd, PoseGraphT &g) |
virtual bool | vslam::EdgeBuilder< G >::buildImpl (const VertexD &src, const VertexD &dst, Points< G > &points, G &g)=0 |
virtual bool | vslam::MonoFtrClassEdgeBuilder< G >::buildImpl (const VertexD &src, const VertexD &dst, Points< G > &points, G &g) |
vslam::CustomOneDetectorNodeBuilder< PoseGraphT >::CustomOneDetectorNodeBuilder (std::tr1::shared_ptr< cv::FeatureDetector > _detector, std::tr1::shared_ptr< cv::DescriptorExtractor > _extractor) | |
vslam::CustomOneDetectorNodeBuilderFeature2D< PoseGraphT >::CustomOneDetectorNodeBuilderFeature2D (std::tr1::shared_ptr< cv::ORB > _feature_2d_detector) | |
void | vslam::OneDetectorNodeBuilder< PoseGraphT >::demolish (PoseGraphT &g, Points< PoseGraphT > &points, typename graph_traits< PoseGraphT >::vertex_descriptor &vd) |
vslam::FeatureID< G >::FeatureID (typename graph_traits< G >::vertex_descriptor _vd, int _vidx) | |
void | vslam::PerformanceLogger< G >::forceStop () |
template<class PoseGraphT > | |
int | vslam::get (AllWeightsOneWeightMap< PoseGraphT > pmap, typename boost::property_traits< AllWeightsOneWeightMap< PoseGraphT > >::key_type vd) |
interface for property map that represents edge weights in the graph, where all edges have weight 1. | |
cv::Mat | vslam::OneDetectorNodeBuilder< PoseGraphT >::getPoseImage (const InputType &in) |
template<class G > | |
bool | vslam::isLandmakFeature (const G &g, const FeatureID< G > &fid) |
Test if given feature has landmark associated with it. | |
vslam::MonoFtrClassEdgeBuilder< G >::MonoFtrClassEdgeBuilder (std::tr1::shared_ptr< RobustFeatureMatcher > _rmatcher) | |
vslam::NMSOptions::NMSOptions () | |
turn-off NMS. | |
vslam::NMSOptions::NMSOptions (int _target_num_points) | |
vslam::OneDetectorNodeBuilder< PoseGraphT >::OneDetectorNodeBuilder (NMSOptions _nms_options=NMSOptions()) | |
vslam::PerformanceLogger< G >::PerformanceLogger (G &_g, VDT _vd, std::string name_tag) | |
vslam::PerformanceLogger< G >::~PerformanceLogger () | |
Variables | |
double | vslam::VertexDebugInfo::avg_reprojection_error |
const int | vslam::BAD_INDEX = -1 |
value for undefined array index. | |
shared_ptr< cv::FeatureDetector > | vslam::OneDetectorNodeBuilder< PoseGraphT >::detector |
bool | vslam::NMSOptions::do_nms |
map< std::string, double > | vslam::VertexDebugInfo::double_propmap |
PoseGraphT * | vslam::AllWeightsOneWeightMap< PoseGraphT >::dummy |
shared_ptr < cv::DescriptorExtractor > | vslam::OneDetectorNodeBuilder< PoseGraphT >::extractor |
shared_ptr< cv::ORB > | vslam::OneDetectorNodeBuilder< PoseGraphT >::feature_2d_detector |
G & | vslam::PerformanceLogger< G >::g |
SE3 | vslam::VertexDebugInfo::gt_T_wc |
bool | vslam::VertexDebugInfo::is_kf |
cv::Mat | vslam::OneDetectorNodeBuilder< PoseGraphT >::mask |
double | vslam::VertexDebugInfo::max_reprojection_error |
NMSOptions | vslam::OneDetectorNodeBuilder< PoseGraphT >::nms_options |
int | vslam::VertexDebugInfo::num_discontinued_landmarks |
int | vslam::VertexDebugInfo::num_extended_landmarks |
int | vslam::VertexDebugInfo::num_init_landmarks |
int | vslam::VertexDebugInfo::num_uinit_landmarks |
lmdetails::PointsLoc< G > | vslam::Points< G >::points |
std::tr1::shared_ptr < RobustFeatureMatcher > | vslam::MonoFtrClassEdgeBuilder< G >::rmatcher |
uint64_t | vslam::VertexDebugInfo::seq |
ros::WallTime | vslam::PerformanceLogger< G >::start_time |
bool | vslam::PerformanceLogger< G >::stop_forced |
std::string | vslam::PerformanceLogger< G >::str |
int | vslam::NMSOptions::target_num_points |
uint64_t | vslam::VertexDebugInfo::timestamp |
graph_traits< G > ::vertex_descriptor | vslam::FeatureID< G >::vd |
VDT | vslam::PerformanceLogger< G >::vd |
int | vslam::FeatureID< G >::vidx |
Declaration of the pose-graph Data types and implementation of NodeBuilder and EdgeBuilder interfaces.
Defines pose-graph part of Main Data Structure. This is discussed here BGL Graph Properties [here].
typedef readable_property_map_tag boost::property_traits< vslam::AllWeightsOneWeightMap< PoseGraphT > >::category |
Definition at line 517 of file pose_graph.h.
typedef graph_traits<G>::edge_descriptor vslam::EdgeBuilder< G >::EdgeD |
Reimplemented in vslam::MonoFtrClassEdgeBuilder< G >.
Definition at line 330 of file pose_graph.h.
typedef graph_traits<G>::edge_descriptor vslam::MonoFtrClassEdgeBuilder< G >::EdgeD |
Reimplemented from vslam::EdgeBuilder< G >.
Definition at line 366 of file pose_graph.h.
typedef ALIGNED<pair<int, Vector3d> >::vector vslam::IdxPoint3dVec |
Definition at line 276 of file pose_graph.h.
typedef cv::Mat vslam::OneDetectorNodeBuilder< PoseGraphT >::InputType |
Reimplemented in vslam::CustomOneDetectorNodeBuilderFeature2D< PoseGraphT >, and vslam::CustomOneDetectorNodeBuilder< PoseGraphT >.
Definition at line 443 of file pose_graph.h.
typedef cv::Mat vslam::CustomOneDetectorNodeBuilder< PoseGraphT >::InputType |
Reimplemented from vslam::OneDetectorNodeBuilder< PoseGraphT >.
Definition at line 471 of file pose_graph.h.
typedef cv::Mat vslam::CustomOneDetectorNodeBuilderFeature2D< PoseGraphT >::InputType |
Reimplemented from vslam::OneDetectorNodeBuilder< PoseGraphT >.
Definition at line 483 of file pose_graph.h.
typedef graph_traits<PoseGraphT>::edge_descriptor boost::property_traits< vslam::AllWeightsOneWeightMap< PoseGraphT > >::key_type |
Definition at line 516 of file pose_graph.h.
typedef graph_traits<PoseGraph>::edge_descriptor vslam::PGEdgeD |
Definition at line 274 of file pose_graph.h.
typedef graph_traits<PoseGraph>::vertex_descriptor vslam::PGVertexD |
Definition at line 273 of file pose_graph.h.
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::directedS, boost::property<vertex_kp_t, std::vector<cv::KeyPoint>, boost::property<vertex_desc_t, cv::Mat, boost::property<vertex_fix_idx_t, vector<int>, boost::property<vertex_seq_t, int, boost::property<boost::vertex_keyframe_flag_t, int, boost::property<boost::vertex_debug_info_t, VertexDebugInfo, boost::property<boost::vertex_timestamp_t, uint64_t, boost::property<vertex_transform_t, SE3> > > > > > > >, boost::property<edge_kp_idx_map_t, map<int,int>, boost::property<edge_transform_t, SE3, boost::property<edge_rel_scale_error_t, double> > > > vslam::PoseGraph |
representation of a pose-graph.
Definition at line 271 of file pose_graph.h.
typedef int boost::property_traits< vslam::AllWeightsOneWeightMap< PoseGraphT > >::reference |
Definition at line 515 of file pose_graph.h.
typedef int boost::property_traits< vslam::AllWeightsOneWeightMap< PoseGraphT > >::value_type |
Definition at line 514 of file pose_graph.h.
typedef boost::graph_traits<G>::vertex_descriptor vslam::PerformanceLogger< G >::VDT |
Definition at line 287 of file pose_graph.h.
typedef graph_traits<G>::vertex_descriptor vslam::EdgeBuilder< G >::VertexD |
Reimplemented in vslam::MonoFtrClassEdgeBuilder< G >.
Definition at line 329 of file pose_graph.h.
typedef graph_traits<G>::vertex_descriptor vslam::MonoFtrClassEdgeBuilder< G >::VertexD |
Reimplemented from vslam::EdgeBuilder< G >.
Definition at line 365 of file pose_graph.h.
bool vslam::EdgeBuilder< G >::build | ( | const VertexD & | src, |
const VertexD & | dst, | ||
Points< G > & | points, | ||
G & | g | ||
) | [inline] |
Constructs edge between nodes in the pose-graph.
Definition at line 350 of file pose_graph.h.
bool vslam::OneDetectorNodeBuilder< PoseGraphT >::build | ( | const cv::Mat & | image, |
int | image_seq_num, | ||
uint64_t | pose_timestamp, | ||
typename graph_traits< PoseGraphT >::vertex_descriptor & | vd, | ||
PoseGraphT & | g | ||
) |
image | camera image recorded at the node |
image_seq_num | unique node id, it is requred for debugging and for identifying vertices in graph-opt.h |
vd | vertex descriptor for newly constructed vertex. |
Definition at line 178 of file graph_builder.h.
virtual bool vslam::EdgeBuilder< G >::buildImpl | ( | const VertexD & | src, |
const VertexD & | dst, | ||
Points< G > & | points, | ||
G & | g | ||
) | [pure virtual] |
Implemented in vslam::MonoFtrClassEdgeBuilder< G >.
bool vslam::MonoFtrClassEdgeBuilder< G >::buildImpl | ( | const VertexD & | src, |
const VertexD & | dst, | ||
Points< G > & | points, | ||
G & | g | ||
) | [virtual] |
Implements vslam::EdgeBuilder< G >.
Definition at line 668 of file graph_builder.h.
vslam::CustomOneDetectorNodeBuilder< PoseGraphT >::CustomOneDetectorNodeBuilder | ( | std::tr1::shared_ptr< cv::FeatureDetector > | _detector, |
std::tr1::shared_ptr< cv::DescriptorExtractor > | _extractor | ||
) | [inline] |
Definition at line 472 of file pose_graph.h.
vslam::CustomOneDetectorNodeBuilderFeature2D< PoseGraphT >::CustomOneDetectorNodeBuilderFeature2D | ( | std::tr1::shared_ptr< cv::ORB > | _feature_2d_detector | ) | [inline] |
Definition at line 484 of file pose_graph.h.
void vslam::OneDetectorNodeBuilder< PoseGraphT >::demolish | ( | PoseGraphT & | g, |
Points< PoseGraphT > & | points, | ||
typename graph_traits< PoseGraphT >::vertex_descriptor & | vd | ||
) |
Definition at line 221 of file graph_builder.h.
vslam::FeatureID< G >::FeatureID | ( | typename graph_traits< G >::vertex_descriptor | _vd, |
int | _vidx | ||
) | [inline] |
Definition at line 177 of file pose_graph.h.
void vslam::PerformanceLogger< G >::forceStop | ( | ) | [inline] |
Definition at line 305 of file pose_graph.h.
int vslam::get | ( | AllWeightsOneWeightMap< PoseGraphT > | pmap, |
typename boost::property_traits< AllWeightsOneWeightMap< PoseGraphT > >::key_type | vd | ||
) |
interface for property map that represents edge weights in the graph, where all edges have weight 1.
Definition at line 526 of file pose_graph.h.
cv::Mat vslam::OneDetectorNodeBuilder< PoseGraphT >::getPoseImage | ( | const InputType & | in | ) | [inline] |
Definition at line 445 of file pose_graph.h.
bool vslam::isLandmakFeature | ( | const G & | g, |
const FeatureID< G > & | fid | ||
) |
Test if given feature has landmark associated with it.
Definition at line 182 of file pose_graph.h.
vslam::MonoFtrClassEdgeBuilder< G >::MonoFtrClassEdgeBuilder | ( | std::tr1::shared_ptr< RobustFeatureMatcher > | _rmatcher | ) | [inline] |
Definition at line 389 of file pose_graph.h.
vslam::NMSOptions::NMSOptions | ( | ) | [inline] |
turn-off NMS.
Definition at line 417 of file pose_graph.h.
vslam::NMSOptions::NMSOptions | ( | int | _target_num_points | ) | [inline] |
_target_num_points | approximate number of points to retain after NMS. |
Definition at line 419 of file pose_graph.h.
vslam::OneDetectorNodeBuilder< PoseGraphT >::OneDetectorNodeBuilder | ( | NMSOptions | _nms_options = NMSOptions() | ) | [inline, protected] |
Definition at line 438 of file pose_graph.h.
vslam::PerformanceLogger< G >::PerformanceLogger | ( | G & | _g, |
VDT | _vd, | ||
std::string | name_tag | ||
) | [inline] |
Definition at line 295 of file pose_graph.h.
vslam::PerformanceLogger< G >::~PerformanceLogger | ( | ) | [inline] |
Definition at line 301 of file pose_graph.h.
Definition at line 245 of file pose_graph.h.
const int vslam::BAD_INDEX = -1 |
value for undefined array index.
Definition at line 168 of file pose_graph.h.
shared_ptr<cv::FeatureDetector> vslam::OneDetectorNodeBuilder< PoseGraphT >::detector [protected] |
Definition at line 433 of file pose_graph.h.
Definition at line 413 of file pose_graph.h.
map<std::string, double> vslam::VertexDebugInfo::double_propmap |
Definition at line 250 of file pose_graph.h.
PoseGraphT* vslam::AllWeightsOneWeightMap< PoseGraphT >::dummy [private] |
Definition at line 507 of file pose_graph.h.
shared_ptr<cv::DescriptorExtractor> vslam::OneDetectorNodeBuilder< PoseGraphT >::extractor [protected] |
Definition at line 432 of file pose_graph.h.
shared_ptr<cv::ORB> vslam::OneDetectorNodeBuilder< PoseGraphT >::feature_2d_detector [protected] |
Definition at line 434 of file pose_graph.h.
G& vslam::PerformanceLogger< G >::g [private] |
Definition at line 289 of file pose_graph.h.
Definition at line 249 of file pose_graph.h.
Definition at line 238 of file pose_graph.h.
cv::Mat vslam::OneDetectorNodeBuilder< PoseGraphT >::mask [protected] |
Definition at line 435 of file pose_graph.h.
Definition at line 246 of file pose_graph.h.
NMSOptions vslam::OneDetectorNodeBuilder< PoseGraphT >::nms_options [protected] |
Definition at line 436 of file pose_graph.h.
Definition at line 247 of file pose_graph.h.
Definition at line 248 of file pose_graph.h.
Definition at line 243 of file pose_graph.h.
Definition at line 244 of file pose_graph.h.
lmdetails::PointsLoc<G> vslam::Points< G >::points [private] |
Definition at line 204 of file pose_graph.h.
std::tr1::shared_ptr<RobustFeatureMatcher> vslam::MonoFtrClassEdgeBuilder< G >::rmatcher [protected] |
Definition at line 368 of file pose_graph.h.
uint64_t vslam::VertexDebugInfo::seq |
Definition at line 236 of file pose_graph.h.
ros::WallTime vslam::PerformanceLogger< G >::start_time [private] |
Definition at line 292 of file pose_graph.h.
bool vslam::PerformanceLogger< G >::stop_forced [private] |
Definition at line 293 of file pose_graph.h.
std::string vslam::PerformanceLogger< G >::str [private] |
Definition at line 291 of file pose_graph.h.
Definition at line 414 of file pose_graph.h.
uint64_t vslam::VertexDebugInfo::timestamp |
Definition at line 237 of file pose_graph.h.
graph_traits<G>::vertex_descriptor vslam::FeatureID< G >::vd |
Definition at line 174 of file pose_graph.h.
VDT vslam::PerformanceLogger< G >::vd [private] |
Definition at line 290 of file pose_graph.h.
int vslam::FeatureID< G >::vidx |
Definition at line 175 of file pose_graph.h.