diff --git a/python/README.md b/python/README.md index 1157a28..2011949 100644 --- a/python/README.md +++ b/python/README.md @@ -1,6 +1,11 @@
-

VBR Development Kit

- +

VBR Development Kit

+ + PyPI - Version + PyPI - Downloads +
+
+
This kit contains utilities to work on the VBR SLAM dataset @@ -10,14 +15,107 @@ This kit contains utilities to work on the VBR SLAM dataset pip install vbr-devkit ``` -# Usage -You will find here the list of available commands to interact with our dataset +You can install autocompletion for our package by typing: + +```shell +vbr --install-completion +``` +you might need to restart the shell for the autocompletion to take effect. + +# Usage ## Download sequences +You can list the available sequences you can download by typing: + +```shell +vbr list +``` +You should see something similar to this +![list](https://github.com/rvp-group/vbr-devkit/assets/5305530/c195e5b0-c5ee-4abb-a7f5-2ce97474ac4f) + +After choosing your sequence, you can type + +```shell +vbr download +``` + +For instance, we could save `campus_train0` as follows: + +```shell +vbr download campus_train0 ~/data/ +``` +**N.B.** The script will actually save the sequence at `/vbr_slam//`. Moreover, by calling the previous command, we expect the following directory: +``` +data + - vbr_slam + - campus + - campus_train0 + - vbr_calib.yaml + - campus_train0_gt.txt + - campus_train0_00.bag + - campus_train0_01.bag + - campus_train0_02.bag + - campus_train0_03.bag + - campus_train0_04.bag +``` + +## Convert format + +The sequences are provided in ROS1 format. We offer a convenient tool to change representation if you prefer working on a different format. +You can see the supported formats by typing: + +```shell +vbr convert --help +``` + +To convert a bag or a sequence of bags, type: ```shell -vbr_download --dataset --save-dir +vbr convert ``` -You can get the list of all the available sequences by using the `-h | --help` flag +for instance, we could convert the `campus_train0` sequence to `kitti` format as follows: + +```shell +vbr convert kitti ~/data/vbr_slam/campus/campus_train0/campus_train0_00.bag ~/data/campus_train0_00_kitti/ +``` + +We can expect the following result: + +``` +data + - campus_train0_00_kitti + - camera_left + - timestamps.txt + - data + - 0000000000.png + - 0000000001.png + - ... + - camera_right + - timestamps.txt + - data + - 0000000000.png + - 0000000001.png + - ... + - ouster_points + - timestamps.txt + - data + - .dtype.pkl + - 0000000000.bin + - 0000000001.bin + - ... + - ... +``` + +**N.B.** In KITTI format, point clouds are embedded in binary files that can be opened using `Numpy` and `pickle` as follows: + +```python +import numpy as np +import pickle + +with open("campus_train0_00_kitti/ouster_points/data/.dtype.pkl", "rb") as f: + cdtype = pickle.load(f) + +cloud_numpy = np.fromfile("/campus_train0_00_kitti/ouster_points/data/0000000000.bin", dtype=cdtype) +```