From 2db955d9e841a914707ef6b5d0fc8f6c488a556f Mon Sep 17 00:00:00 2001
From: Joan Sola <jsola@iri.upc.edu>
Date: Sat, 16 Apr 2022 23:23:59 +0200
Subject: [PATCH] Remove lost keypoints from the book/keepoing variable

---
 src/processor/processor_visual_odometry.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/processor/processor_visual_odometry.cpp b/src/processor/processor_visual_odometry.cpp
index b0d02ec63..8a6dd8fdc 100644
--- a/src/processor/processor_visual_odometry.cpp
+++ b/src/processor/processor_visual_odometry.cpp
@@ -190,13 +190,18 @@ void ProcessorVisualOdometry::preProcess()
     }
     WOLF_INFO( "Retained " , tracks_last_incoming_filtered.size(), " inliers..." );
 
+    // Remove from mwkps_incoming all the keypoints that have not been tracked
+    // TODO: there might be a faster way than creating a new map from scratch?
+    KeyPointsMap mwkps_incoming_fitered;
+    for (auto track : tracks_last_incoming_filtered)
+        mwkps_incoming_fitered[track.second] = mwkps_incoming[track.second];
+
     // Update captures
-    capture_image_incoming_->addKeyPoints(mwkps_incoming);
+    capture_image_incoming_->addKeyPoints(mwkps_incoming_fitered);
     capture_image_incoming_->setTracksPrev(tracks_last_incoming_filtered);
     capture_image_incoming_->setTracksOrigin(tracks_origin_incoming);
 
 
-    // Add valid 
 
     ////////////////////////////////
     // if too few tracks left in incoming
-- 
GitLab