| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #ifndef COLMAP_SRC_BASE_DATABASE_CACHE_H_ |
| | #define COLMAP_SRC_BASE_DATABASE_CACHE_H_ |
| |
|
| | #include <string> |
| | #include <unordered_map> |
| | #include <unordered_set> |
| | #include <vector> |
| |
|
| | #include <Eigen/Core> |
| |
|
| | #include "base/camera.h" |
| | #include "base/camera_models.h" |
| | #include "base/correspondence_graph.h" |
| | #include "base/database.h" |
| | #include "base/image.h" |
| | #include "util/alignment.h" |
| | #include "util/types.h" |
| |
|
| | namespace colmap { |
| |
|
| | |
| | |
| | class DatabaseCache { |
| | public: |
| | DatabaseCache(); |
| |
|
| | |
| | inline size_t NumCameras() const; |
| | inline size_t NumImages() const; |
| |
|
| | |
| | inline class Camera& Camera(const camera_t camera_id); |
| | inline const class Camera& Camera(const camera_t camera_id) const; |
| | inline class Image& Image(const image_t image_id); |
| | inline const class Image& Image(const image_t image_id) const; |
| |
|
| | |
| | inline const EIGEN_STL_UMAP(camera_t, class Camera) & Cameras() const; |
| | inline const EIGEN_STL_UMAP(image_t, class Image) & Images() const; |
| |
|
| | |
| | inline bool ExistsCamera(const camera_t camera_id) const; |
| | inline bool ExistsImage(const image_t image_id) const; |
| |
|
| | |
| | inline const class CorrespondenceGraph& CorrespondenceGraph() const; |
| |
|
| | |
| | void AddCamera(class Camera camera); |
| | void AddImage(class Image image); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | void Load(const Database& database, const size_t min_num_matches, |
| | const bool ignore_watermarks, |
| | const std::unordered_set<std::string>& image_names); |
| |
|
| | |
| | const class Image* FindImageWithName(const std::string& name) const; |
| |
|
| | private: |
| | class CorrespondenceGraph correspondence_graph_; |
| |
|
| | EIGEN_STL_UMAP(camera_t, class Camera) cameras_; |
| | EIGEN_STL_UMAP(image_t, class Image) images_; |
| | }; |
| |
|
| | |
| | |
| | |
| |
|
| | size_t DatabaseCache::NumCameras() const { return cameras_.size(); } |
| | size_t DatabaseCache::NumImages() const { return images_.size(); } |
| |
|
| | class Camera& DatabaseCache::Camera(const camera_t camera_id) { |
| | return cameras_.at(camera_id); |
| | } |
| |
|
| | const class Camera& DatabaseCache::Camera(const camera_t camera_id) const { |
| | return cameras_.at(camera_id); |
| | } |
| |
|
| | class Image& DatabaseCache::Image(const image_t image_id) { |
| | return images_.at(image_id); |
| | } |
| |
|
| | const class Image& DatabaseCache::Image(const image_t image_id) const { |
| | return images_.at(image_id); |
| | } |
| |
|
| | const EIGEN_STL_UMAP(camera_t, class Camera) & DatabaseCache::Cameras() const { |
| | return cameras_; |
| | } |
| |
|
| | const EIGEN_STL_UMAP(image_t, class Image) & DatabaseCache::Images() const { |
| | return images_; |
| | } |
| |
|
| | bool DatabaseCache::ExistsCamera(const camera_t camera_id) const { |
| | return cameras_.find(camera_id) != cameras_.end(); |
| | } |
| |
|
| | bool DatabaseCache::ExistsImage(const image_t image_id) const { |
| | return images_.find(image_id) != images_.end(); |
| | } |
| |
|
| | inline const class CorrespondenceGraph& DatabaseCache::CorrespondenceGraph() |
| | const { |
| | return correspondence_graph_; |
| | } |
| |
|
| | } |
| |
|
| | #endif |
| |
|