X-4D dataset format SDK — load, validate, evaluate, and convert autonomous driving datasets
Project description
x4d-devkit
X-4D dataset format SDK for autonomous driving — load, validate, evaluate, and convert datasets.
Installation
pip install x4d-devkit
With optional dependencies:
# NuScenes format converter
pip install x4d-devkit[converters]
# Platform API client
pip install x4d-devkit[client]
Quick Start
Load a clip
from x4d_devkit import ClipLoader
loader = ClipLoader("/path/to/clip")
print(loader.meta)
for sample in loader.samples:
for sd in loader.sample_data_for_sample(sample.token):
print(sd.channel, sd.file_path)
Coordinate frame transforms
Point clouds and annotations can be loaded in different coordinate frames:
loader = ClipLoader("/path/to/clip")
sd = loader.sample_data_for_channel("LIDAR_TOP")[0]
# Load point cloud in different frames
pts_sensor = loader.load_point_cloud(sd, frame="sensor") # raw (default)
pts_ego = loader.load_point_cloud(sd, frame="ego") # sensor → ego
pts_world = loader.load_point_cloud(sd, frame="world") # sensor → world
# Get annotations in ego frame (for training)
anns_ego = loader.annotations_for_sample(sample.token, frame="ego")
# Get the transform matrix directly
T = loader.get_transform(sd, from_frame="sensor", to_frame="world")
pts_world = T.apply(pts_sensor[:, :3]) # or use T.as_matrix for 4x4
Validate a clip
x4d validate /path/to/clip
from x4d_devkit import validate_clip
report = validate_clip("/path/to/clip")
print(report)
Detection evaluation
from x4d_devkit import DetectionEval, DetectionConfig
config = DetectionConfig(
class_names=["car", "pedestrian", "bicycle"],
dist_thresholds=[0.5, 1.0, 2.0, 4.0],
)
evaluator = DetectionEval(config, gt_clips=[...], pred_clips=[...])
result = evaluator.evaluate()
print(f"mAP: {result.mAP:.3f}, NDS: {result.NDS:.3f}")
Convert from NuScenes
from x4d_devkit.converters import NuScenesConverter
converter = NuScenesConverter("/path/to/nuscenes")
converter.convert_scene("scene-0001", output_dir="/path/to/output")
Modules
| Module | Description |
|---|---|
core |
Data models, token generation, coordinate transforms, clip loader |
eval |
Detection evaluation (mAP, TP metrics, NDS) |
converters |
Format converters (NuScenes → X4D) |
validation |
Clip structure and data validation |
client |
X-4D platform API client |
License
Apache License 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file x4d_devkit-0.6.0.tar.gz.
File metadata
- Download URL: x4d_devkit-0.6.0.tar.gz
- Upload date:
- Size: 56.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
773c24c6db8f9aa79e97a195c1b9a8a40660a085daa54e8d981cf4ec2ad95892
|
|
| MD5 |
a1d1769f3ed30ed9039c383c0aa88016
|
|
| BLAKE2b-256 |
84effcfdda24e7d69b2df4c4aa4fbce1f6fc051443b592d68c62f4d68df82c00
|
File details
Details for the file x4d_devkit-0.6.0-py3-none-any.whl.
File metadata
- Download URL: x4d_devkit-0.6.0-py3-none-any.whl
- Upload date:
- Size: 46.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8e35601e7c74cce31bde3e7005c77b1cc00da4b4026811aac06600611188975
|
|
| MD5 |
98b54b6cbfdca0ac1af71368ca420627
|
|
| BLAKE2b-256 |
dda3c471b2964d6f477e09d04c32e47398e38eaefdeb259cb0ed1ee5f5cb21b3
|