5#include "reusex/vision/IData.hpp"
7#include <opencv2/core/mat.hpp>
43 using Pair = std::pair<std::unique_ptr<IData>,
size_t>;
53 explicit IDataset(std::shared_ptr<io::RTABMapDatabase> database);
64 explicit IDataset(std::filesystem::path dbPath);
91 virtual Pair get(
const std::size_t index)
const = 0;
106 virtual bool save(
const std::span<Pair> &data) = 0;
134 bool saveImage(
const std::size_t index,
const cv::Mat &image);
150 std::shared_ptr<io::RTABMapDatabase> db_;
156 std::vector<int> ids_;
Core database class that wraps RTABMap's database functionality.
IDataset(std::filesystem::path dbPath)
cv::Mat getImage(const std::size_t index) const
std::shared_ptr< io::RTABMapDatabase > getDatabase() const
virtual bool save(const std::span< Pair > &data)=0
virtual Pair get(const std::size_t index) const =0
virtual ~IDataset()=default
bool saveImage(const std::size_t index, const cv::Mat &image)
std::pair< std::unique_ptr< IData >, size_t > Pair
IDataset(std::shared_ptr< io::RTABMapDatabase > database)