32 assert(timestamps[pair.first].size() ==
uvs[pair.first].size());
33 assert(timestamps[pair.first].size() ==
uvs_norm[pair.first].size());
36 auto it1 = timestamps[pair.first].begin();
37 auto it2 =
uvs[pair.first].begin();
38 auto it3 =
uvs_norm[pair.first].begin();
41 while (it1 != timestamps[pair.first].end()) {
42 if (std::find(valid_times.begin(), valid_times.end(), *it1) == valid_times.end()) {
43 it1 = timestamps[pair.first].erase(it1);
44 it2 =
uvs[pair.first].erase(it2);
45 it3 =
uvs_norm[pair.first].erase(it3);
61 assert(timestamps[pair.first].size() ==
uvs[pair.first].size());
62 assert(timestamps[pair.first].size() ==
uvs_norm[pair.first].size());
65 auto it1 = timestamps[pair.first].begin();
66 auto it2 =
uvs[pair.first].begin();
67 auto it3 =
uvs_norm[pair.first].begin();
70 while (it1 != timestamps[pair.first].end()) {
71 if (std::find(invalid_times.begin(), invalid_times.end(), *it1) != invalid_times.end()) {
72 it1 = timestamps[pair.first].erase(it1);
73 it2 =
uvs[pair.first].erase(it2);
74 it3 =
uvs_norm[pair.first].erase(it3);
90 assert(timestamps[pair.first].size() ==
uvs[pair.first].size());
91 assert(timestamps[pair.first].size() ==
uvs_norm[pair.first].size());
94 auto it1 = timestamps[pair.first].begin();
95 auto it2 =
uvs[pair.first].begin();
96 auto it3 =
uvs_norm[pair.first].begin();
99 while (it1 != timestamps[pair.first].end()) {
100 if (*it1 <= timestamp) {
101 it1 = timestamps[pair.first].erase(it1);
102 it2 =
uvs[pair.first].erase(it2);
103 it3 =
uvs_norm[pair.first].erase(it3);
std::unordered_map< size_t, std::vector< double > > timestamps
Timestamps of each UV measurement (mapped by camera ID)
void clean_older_measurements(double timestamp)
Remove measurements that are older then the specified timestamp.
std::unordered_map< size_t, std::vector< Eigen::VectorXf > > uvs_norm
UV normalized coordinates that this feature has been seen from (mapped by camera ID) ...
Core algorithms for OpenVINS.
void clean_old_measurements(const std::vector< double > &valid_times)
Remove measurements that do not occur at passed timestamps.
void clean_invalid_measurements(const std::vector< double > &invalid_times)
Remove measurements that occur at the invalid timestamps.
std::unordered_map< size_t, std::vector< Eigen::VectorXf > > uvs
UV coordinates that this feature has been seen from (mapped by camera ID)