MCPcopy Create free account
hub / github.com/PeterFWS/Structure-PLP-SLAM / keyframe

Method keyframe

src/PLPSLAM/data/keyframe.cc:46–85  ·  view source on GitHub ↗

FW: from a frame

Source from the content-addressed store, hash-verified

44
45 // FW: from a frame
46 keyframe::keyframe(const frame &frm, map_database *map_db, bow_database *bow_db)
47 : // meta information
48 id_(next_id_++), src_frm_id_(frm.id_), timestamp_(frm.timestamp_),
49 // camera parameters
50 camera_(frm.camera_), depth_thr_(frm.depth_thr_),
51 // constant observations
52 num_keypts_(frm.num_keypts_), keypts_(frm.keypts_), undist_keypts_(frm.undist_keypts_), bearings_(frm.bearings_),
53 keypt_indices_in_cells_(frm.keypt_indices_in_cells_),
54 stereo_x_right_(frm.stereo_x_right_), depths_(frm.depths_), descriptors_(frm.descriptors_.clone()),
55 // BoW
56 bow_vec_(frm.bow_vec_), bow_feat_vec_(frm.bow_feat_vec_),
57 // covisibility graph node (connections is not assigned yet)
58 graph_node_(std::unique_ptr<graph_node>(new graph_node(this, true))),
59 // ORB scale pyramid
60 num_scale_levels_(frm.num_scale_levels_), scale_factor_(frm.scale_factor_),
61 log_scale_factor_(frm.log_scale_factor_), scale_factors_(frm.scale_factors_),
62 level_sigma_sq_(frm.level_sigma_sq_), inv_level_sigma_sq_(frm.inv_level_sigma_sq_),
63 // FW:
64 _keylsd(frm._keylsd), _lbd_descr(frm._lbd_descr.clone()),
65 _keyline_functions(frm._keyline_functions), _num_keylines(frm._num_keylines),
66 _depths_cooresponding_to_keylines(frm._depths_cooresponding_to_keylines),
67 _stereo_x_right_cooresponding_to_keylines(frm._stereo_x_right_cooresponding_to_keylines),
68 // FW:
69 _keylsd_right(frm._keylsd_right), _lbd_descr_right(frm._lbd_descr_right),
70 _keyline_functions_right(frm._keyline_functions_right), _good_matches_stereo(frm._good_matches_stereo),
71 // FW:
72 _num_scale_levels_lsd(frm._num_scale_levels_lsd), _scale_factor_lsd(frm._scale_factor_lsd),
73 _log_scale_factor_lsd(frm._log_scale_factor_lsd), _scale_factors_lsd(frm._scale_factors_lsd),
74 _inv_scale_factors_lsd(frm._inv_scale_factors_lsd), _level_sigma_sq_lsd(frm._level_sigma_sq_lsd),
75 _inv_level_sigma_sq_lsd(frm._inv_level_sigma_sq_lsd),
76 // observations
77 landmarks_(frm.landmarks_),
78 // FW:
79 _landmarks_line(frm._landmarks_line),
80 // databases
81 map_db_(map_db), bow_db_(bow_db), bow_vocab_(frm.bow_vocab_)
82 {
83 // set pose parameters (cam_pose_wc_, cam_center_) using frm.cam_pose_cw_
84 set_cam_pose(frm.cam_pose_cw_);
85 }
86
87 // FW: from map loading
88 keyframe::keyframe(const unsigned int id, const unsigned int src_frm_id, const double timestamp,

Callers

nothing calls this directly

Calls 3

assign_keypoints_to_gridFunction · 0.85
logFunction · 0.85
cloneMethod · 0.45

Tested by

no test coverage detected