cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
kitti_pcd.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4#include <optional>
5
6#include <cpp-toolbox/cpp-toolbox_export.hpp>
10
11namespace toolbox::io
12{
13
30class CPP_TOOLBOX_EXPORT kitti_pcd_dataset_t
31 : public dataset_t<kitti_pcd_dataset_t,
32 std::unique_ptr<toolbox::types::point_cloud_t<float>>>
33{
34public:
45 explicit kitti_pcd_dataset_t(const std::string& velodye_dir);
46
55 [[nodiscard]] std::size_t size_impl() const;
56
70 [[nodiscard]] std::optional<
71 std::unique_ptr<toolbox::types::point_cloud_t<float>>>
72 at_impl(std::size_t index) const;
73
74private:
78 std::vector<std::filesystem::path> m_binary_paths;
79};
80
97class CPP_TOOLBOX_EXPORT kitti_pcd_pair_t
98 : public dataset_t<
99 kitti_pcd_pair_t,
100 std::pair<std::unique_ptr<toolbox::types::point_cloud_t<float>>,
101 std::unique_ptr<toolbox::types::point_cloud_t<float>>>>
102{
103public:
115 explicit kitti_pcd_pair_t(const std::string& velodye_dir,
116 std::size_t skip = 0);
117
126 [[nodiscard]] std::size_t size_impl() const;
127
141 [[nodiscard]] std::optional<
142 std::pair<std::unique_ptr<toolbox::types::point_cloud_t<float>>,
143 std::unique_ptr<toolbox::types::point_cloud_t<float>>>>
144 at_impl(std::size_t index) const;
145
146private:
150 std::vector<std::filesystem::path> m_binary_paths;
151
155 std::size_t m_skip;
156};
157
158} // namespace toolbox::io
数据集基类/Abstract base class for datasets
Definition dataset.hpp:33
KITTI点云数据集类/KITTI point cloud dataset class.
Definition kitti_pcd.hpp:33
std::size_t size_impl() const
获取数据集中的点云数量/Get the number of point clouds in the dataset
kitti_pcd_dataset_t(const std::string &velodye_dir)
构造函数,加载指定目录下的所有KITTI点云/Constructor, loads all KITTI point clouds in the given directory
std::optional< std::unique_ptr< toolbox::types::point_cloud_t< float > > > at_impl(std::size_t index) const
按索引访问点云/Access a point cloud by index
KITTI点云对数据集类/KITTI point cloud pair dataset class.
Definition kitti_pcd.hpp:102
std::optional< std::pair< std::unique_ptr< toolbox::types::point_cloud_t< float > >, std::unique_ptr< toolbox::types::point_cloud_t< float > > > > at_impl(std::size_t index) const
按索引访问点云对/Access a point cloud pair by index
std::size_t size_impl() const
获取点云对的数量/Get the number of point cloud pairs
kitti_pcd_pair_t(const std::string &velodye_dir, std::size_t skip=0)
构造函数,加载指定目录下的KITTI点云对/Constructor, loads KITTI point cloud pairs from the given directory
< 用于列出目录下的文件/For listing files in a directory
Definition dataloader.hpp:15