| Crates.io | uvt-viz3d |
| lib.rs | uvt-viz3d |
| version | 0.1.1 |
| created_at | 2025-08-28 23:26:38.376336+00 |
| updated_at | 2025-08-28 23:26:38.376336+00 |
| description | Utilities for visualizing UVT data in 3D |
| homepage | |
| repository | https://github.com/IamPhytan/uvt-rs |
| max_upload_size | |
| id | 1814861 |
| size | 2,581,794 |
|
|
This crate provides utilities to visualize the content of an Uncrewed Vehicle Trajectory (UVT) file in 3D, with rerun. The UVT format is an extension of the LTR file format introduced in Kilometer-Scale Autonomous Navigation in Subarctic Forests: Challenges and Lessons Learned.
A UVT file contains:
VTK format.An example UVT file is available on Zenodo.
Since uvt-viz3d relies on rerun, you might need to install Rerun Viewer. Installations infos are available here
To use uvt-viz3d as a CLI tool, you can install this crate with:
cargo install uvt-viz3d
You can run uvt-viz3d from the terminal:
$ uvt-viz3d --help
Utilities for visualizing UVT data in 3D
Usage: uvt-viz3d [OPTIONS] --input-file <INPUT_FILE>
Options:
-i, --input-file <INPUT_FILE> Input file path
-m, --mode <MODE> File mode [default: uvt] [possible values: uvt, rosbag, mcap]
--map-topic <MAP_TOPIC> Map topic [default: /map]
--traj-topic <TRAJ_TOPIC> Trajectory topic [default: /odom]
-h, --help Print help
-V, --version Print version
uvt-viz3d can be used with .uvt files and with rosbags, both with ROS (.bag) and with ROS 2 (.mcap):
# With a UVT file
uvt-viz3d -- --input-file example.uvt
# With a ROS bag file
uvt-viz3d -- --input-file example.bag --m rosbag --map-topic /my-map-topic --traj-topic /my-traj-topic
# With a ROS MCAP file
uvt-viz3d -- --input-file example.mcap --m mcap --map-topic /my-map-topic --traj-topic /my-traj-topic
To use uvt-viz3d as a library, simply add the crate name to your Cargo.toml file:
[dependencies]
uvt-viz3d = "0.1"
uvt-viz3d provides a function to visualize the content of a UVT file:
use std::io;
use uvt;
use uvt_viz3d;
fn main() -> Result<(), io::Error> {
// Open a UVT file
let my_uvt = uvt::Uvt::read_file("example.uvt")?;
// Visualize uvt with rerun
uvt_viz3d::show_uvt(my_uvt);
Ok(())
}
If you use the code or data in an academic context, please cite the following work:
@article{Baril2022,
title = {Kilometer-Scale Autonomous Navigation in Subarctic Forests: Challenges and Lessons Learned},
volume = {2},
ISSN = {2771-3989},
url = {http://dx.doi.org/10.55417/fr.2022050},
DOI = {10.55417/fr.2022050},
journal = {Field Robotics},
publisher = {Institute of Electrical and Electronics Engineers (IEEE)},
author = {Baril, Dominic and Desch\^enes, Simon-Pierre and Gamache, Olivier and Vaidis, Maxime and LaRocque, Damien and Laconte, Johann and Kubelka, Vladimír and Giguère, Philippe and Pomerleau, Fran\c{c}ois},
year = {2022},
month = jul,
pages = {1628–1660}
}
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.