10 #include <unordered_map>
58 std::unordered_map<image_pair_t, point2D_t>
95 const size_t transitivity)
const;
122 std::vector<std::vector<Correspondence>> corrs;
130 std::unordered_map<image_t, Image> images_;
131 std::unordered_map<image_pair_t, ImagePair> image_pairs_;
141 return image_pairs_.size();
145 return images_.find(image_id) != images_.end();
149 const image_t image_id)
const {
150 return images_.at(image_id).num_observations;
154 const image_t image_id)
const {
155 return images_.at(image_id).num_correspondences;
162 const auto it = image_pairs_.find(pair_id);
163 if (it == image_pairs_.end()) {
166 return static_cast<point2D_t>(it->second.num_correspondences);
170 const std::vector<CorrespondenceGraph::Correspondence>&
173 return images_.at(image_id).corrs.at(point2D_idx);
178 return !images_.at(image_id).corrs.at(point2D_idx).empty();
bool HasCorrespondences(const image_t image_id, const point2D_t point2D_idx) const
bool ExistsImage(const image_t image_id) const
const std::vector< Correspondence > & FindCorrespondences(const image_t image_id, const point2D_t point2D_idx) const
void AddImage(const image_t image_id, const size_t num_points2D)
FeatureMatches FindCorrespondencesBetweenImages(const image_t image_id1, const image_t image_id2) const
std::vector< Correspondence > FindTransitiveCorrespondences(const image_t image_id, const point2D_t point2D_idx, const size_t transitivity) const
point2D_t NumCorrespondencesForImage(const image_t image_id) const
bool IsTwoViewObservation(const image_t image_id, const point2D_t point2D_idx) const
size_t NumImagePairs() const
void AddCorrespondences(const image_t image_id1, const image_t image_id2, const FeatureMatches &matches)
point2D_t NumObservationsForImage(const image_t image_id) const
std::unordered_map< image_pair_t, point2D_t > NumCorrespondencesBetweenImages() const
static image_pair_t ImagePairToPairId(const image_t image_id1, const image_t image_id2)
const point2D_t kInvalidPoint2DIdx
const image_t kInvalidImageId
std::vector< FeatureMatch > FeatureMatches
Correspondence(const image_t image_id, const point2D_t point2D_idx)