Trajectory alignment and evaluation toolkit
Project description
EPICA: Epic Trajectory Alignment and Evaluation Toolkit
EPICA is a trajectory alignment and evaluation toolkit.
It provides:
- 3-step alignment pipeline (time offset, extrinsic, world alignment)
- a set of CLI tools (
traj,ape,rpe,res,config) - OpenVINS compatibility entrypoints
- optional plotting and rerun-based visualization
Installation
Create and activate a virtual environment first (recommended):
conda create -n epa python=3.10 -y
conda activate epa
Then install:
pip install epica
Optional extras:
pip install "epica[rerun]" # rerun visualization
pip install "epica[ros]" # bag / bag2 / mcap support
pip install "epica[geo]" # map-related tools
Quick Start
For General Workspace:
epa --gt-csv <gt_file> --gt-format <gt_format> --est-path <est_file> --est-format <est_format> --plot
Example:
epa \
--gt-csv ./example_data/example_groundtruth.csv --gt-format csv \
--est-path ./example_data/example_estimation.txt --est-format tum \
--plot
Single-case full workflow:
epa_all --gt <gt_file> --est <est_file> --format tum
Multi-case benchmark:
epa_bench --cases-root /path/to/cases_root
Multi-case full workflow:
epa_benchall --cases-root /path/to/cases_root
OpenVINS examples:
Single case:
epa_openvins /path/to/case_dir se3 --keep-output
Multiple cases:
epa_openvins /path/to/case_a /path/to/case_b --align-mode se3
Run from OpenVINS repo root:
epa_openvins ./ov_eval/example none --keep-output
Each case directory should contain:
stamped_groundtruth.txtstamped_traj_estimate.txt
Outputs
Single epa run:
- creates one
outputs/run_YYYYMMDD_HHMMSS/folder - typical files inside:
plots/metrics.jsonmetrics_summary.csvreport_en.mdreport_zh.md
Single-case full workflow with epa_all:
- creates one
outputs/epa_all/run_YYYYMMDD_HHMMSS/folder - typical subfolders inside:
main_workspace/ape/rpe/traj/openvins/if--case-diris provided
Multi-case benchmark with epa_bench:
- creates
outputs/<cases_root_name>_bench/run_YYYYMMDD_HHMMSS/ - typical files and folders inside:
summary.csvsummary.mdpaper_tables/cases/logs/prepared_tum/unresolved_cases.csvif some GT mappings cannot be resolved
Common CLI Toolchain
epa/epica: run the main 3-step EPA pipeline for one GT/EST pairepa_all: run the single-case full workflow in one commandepa_bench: run the multi-case benchmark harness over a cases rootepa_benchall: run the multi-case full workflow, including summary plots and LaTeX tablesepa_ape: compute APE for one trajectory pairepa_rpe: compute RPE for one trajectory pairepa_traj: inspect, align, sync, and visualize trajectoriesepa_openvins: run EPA on one or multiple OpenVINS case folders
Documentation Link
For more commands and detailed usage, see the docs:
Maintenance and Contact
This project is still actively maintained.
If you run into any issues, please open an issue at:
Or contact:
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 epica-0.1.6.tar.gz.
File metadata
- Download URL: epica-0.1.6.tar.gz
- Upload date:
- Size: 125.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eaa2e1808b0911fd788b31a9176be08cfb04e1d87ea7d796f2b25471f8322814
|
|
| MD5 |
ffa0d942e9402521c4560414800aabaa
|
|
| BLAKE2b-256 |
982e5a839e0e721b6f1226eb68d4fcbde562522d080807b49be458e5fe775f0d
|
File details
Details for the file epica-0.1.6-py3-none-any.whl.
File metadata
- Download URL: epica-0.1.6-py3-none-any.whl
- Upload date:
- Size: 139.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
605f17459e56189d1d6bde347da26f6159320586f316f92825fadb0d59586708
|
|
| MD5 |
30244aaf4d834038b0d25bb2912535ff
|
|
| BLAKE2b-256 |
34388c9c102a9dd3e3ce4f27b26bc70b4be479e68fb6cc9eeee5b91d200eacff
|