8#include <opencv2/core/mat.hpp>
41 using Pair = std::pair<std::unique_ptr<IData>,
size_t>;
51 explicit IDataset(std::shared_ptr<io::RTABMapDatabase> database);
62 explicit IDataset(std::filesystem::path dbPath);
89 virtual Pair get(
const std::size_t index)
const = 0;
104 virtual bool save(
const std::span<Pair> &data) = 0;
132 bool saveImage(
const std::size_t index,
const cv::Mat &image);
148 std::shared_ptr<io::RTABMapDatabase> db_;
154 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)