cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
kitti_extended.hpp File Reference
#include <cpp-toolbox/io/formats/kitti.hpp>
#include <cpp-toolbox/types/point.hpp>
#include <Eigen/Dense>
#include <filesystem>
#include <string>
#include <vector>
#include <cstdint>
#include <optional>
#include <cpp-toolbox/io/formats/detail/kitti_extended_impl.hpp>
Include dependency graph for kitti_extended.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  toolbox::io::kitti_calibration_t< DataType >
 KITTI calibration data structure. More...
 
struct  toolbox::io::kitti_sequence_info_t
 Information about a KITTI sequence. More...
 

Namespaces

namespace  toolbox
 
namespace  toolbox::io
 < 用于列出目录下的文件/For listing files in a directory
 
namespace  toolbox::io::kitti_semantic_labels
 

Functions

std::vector< uint32_t > toolbox::io::read_kitti_labels (const std::string &file_path)
 Read Semantic KITTI label file.
 
bool toolbox::io::write_kitti_labels (const std::string &file_path, const std::vector< uint32_t > &labels)
 Write labels to Semantic KITTI format.
 
template<typename DataType >
Eigen::Matrix< DataType, 4, 4 > toolbox::io::parse_kitti_pose_line (const std::string &line)
 Parse a single line from KITTI poses file.
 
template<typename DataType >
std::vector< Eigen::Matrix< DataType, 4, 4 > > toolbox::io::read_kitti_poses (const std::string &file_path)
 Read all poses from KITTI poses file.
 
template<typename DataType >
std::string toolbox::io::format_kitti_pose (const Eigen::Matrix< DataType, 4, 4 > &pose)
 Format pose matrix as KITTI string.
 
template<typename DataType >
bool toolbox::io::write_kitti_poses (const std::string &file_path, const std::vector< Eigen::Matrix< DataType, 4, 4 > > &poses)
 Write poses to KITTI format file.
 
template<typename DataType >
kitti_calibration_t< DataType > toolbox::io::read_kitti_calibration (const std::string &file_path)
 Read KITTI calibration file.
 
template<typename DataType >
bool toolbox::io::write_kitti_calibration (const std::string &file_path, const kitti_calibration_t< DataType > &calib)
 Write KITTI calibration file.
 
template<typename DataType >
Eigen::Matrix< DataType, 4, 4 > toolbox::io::compute_relative_transform (const Eigen::Matrix< DataType, 4, 4 > &from_pose, const Eigen::Matrix< DataType, 4, 4 > &to_pose)
 Compute relative transformation between two poses.
 
template<typename DataType >
std::unique_ptr< point_cloud_t< DataType > > toolbox::io::transform_point_cloud (const point_cloud_t< DataType > &cloud, const Eigen::Matrix< DataType, 4, 4 > &transform)
 Transform point cloud using transformation matrix.
 
template<typename DataType >
std::unique_ptr< point_cloud_t< DataType > > toolbox::io::read_kitti_with_labels (const std::string &bin_path, const std::string &label_path, std::vector< uint32_t > &labels)
 Read KITTI point cloud with semantic labels.
 
std::vector< std::string > toolbox::io::list_kitti_cloud_files (const std::string &velodyne_path)
 List all KITTI point cloud files in a directory.
 
std::vector< std::string > toolbox::io::list_kitti_label_files (const std::string &labels_path)
 List all KITTI label files in a directory.
 
int toolbox::io::parse_kitti_frame_index (const std::string &filename)
 Get frame index from KITTI filename (e.g., "000123.bin" -> 123)
 
std::string toolbox::io::format_kitti_frame_index (std::size_t index, int digits=6)
 Format frame index as KITTI filename (e.g., 123 -> "000123")
 
kitti_sequence_info_t toolbox::io::get_kitti_sequence_info (const std::string &sequence_path)
 Get information about a KITTI sequence directory.
 
bool toolbox::io::validate_kitti_sequence_directory (const std::string &sequence_path)
 Validate KITTI sequence directory structure.
 
bool toolbox::io::kitti_semantic_labels::is_static (uint16_t label)
 Check if a label is static (non-moving)
 
bool toolbox::io::kitti_semantic_labels::is_dynamic (uint16_t label)
 Check if a label is dynamic (moving)
 
std::string toolbox::io::kitti_semantic_labels::get_label_name (uint16_t label)
 Get human-readable label name.
 
std::map< uint16_t, std::string > toolbox::io::kitti_semantic_labels::get_label_map ()
 Get all label names mapping.
 
uint16_t toolbox::io::get_kitti_label_id (uint32_t full_label)
 Extract label ID from full label (ignoring instance ID)
 
uint16_t toolbox::io::get_kitti_instance_id (uint32_t full_label)
 Extract instance ID from full label.
 
uint32_t toolbox::io::make_kitti_full_label (uint16_t label_id, uint16_t instance_id)
 Combine label and instance IDs.
 

Variables

constexpr uint16_t toolbox::io::kitti_semantic_labels::UNLABELED = 0
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::OUTLIER = 1
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::CAR = 10
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::BICYCLE = 11
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::BUS = 13
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::MOTORCYCLE = 15
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::TRUCK = 18
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::OTHER_VEHICLE = 20
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::PERSON = 30
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::BICYCLIST = 31
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::MOTORCYCLIST = 32
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::ROAD = 40
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::PARKING = 44
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::SIDEWALK = 48
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::OTHER_GROUND = 49
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::BUILDING = 50
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::FENCE = 51
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::OTHER_STRUCTURE = 52
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::VEGETATION = 70
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::TRUNK = 71
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::TERRAIN = 72
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::POLE = 80
 
constexpr uint16_t toolbox::io::kitti_semantic_labels::TRAFFIC_SIGN = 81