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

Method predict_scale_level

src/PLPSLAM/data/landmark.cc:319–340  ·  view source on GitHub ↗

____ Nearer /____\ level:n-1 --> dmin /______\ d/dmin = 1.2^(n-1-m) /________\ level:predicted --> d = cam_to_lm_dist /__________\ dmax/d = 1.2^m Farther /____________\ level:0 --> dmax log(dmax/d) predicted_scale_level = ceil(------------) log(1.2)

Source from the content-addressed store, hash-verified

317 // predicted_scale_level = ceil(------------)
318 // log(1.2)
319 unsigned int landmark::predict_scale_level(const float cam_to_lm_dist, const frame *frm) const
320 {
321 float ratio;
322 {
323 std::lock_guard<std::mutex> lock(mtx_position_);
324 ratio = max_valid_dist_ / cam_to_lm_dist;
325 }
326
327 const auto pred_scale_level = static_cast<int>(std::ceil(std::log(ratio) / frm->log_scale_factor_));
328 if (pred_scale_level < 0)
329 {
330 return 0;
331 }
332 else if (frm->num_scale_levels_ <= static_cast<unsigned int>(pred_scale_level))
333 {
334 return frm->num_scale_levels_ - 1;
335 }
336 else
337 {
338 return static_cast<unsigned int>(pred_scale_level);
339 }
340 }
341
342 unsigned int landmark::predict_scale_level(const float cam_to_lm_dist, const keyframe *keyfrm) const
343 {

Callers 9

detect_duplicationMethod · 0.45
replace_duplicationMethod · 0.45
can_observeMethod · 0.45
can_observe_lineMethod · 0.45

Calls 1

logFunction · 0.85

Tested by

no test coverage detected