Trajectory alignment and evaluation toolkit
Project description
EPIC-Alignment (epica)
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
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
Each run generates a run folder with:
plots/metrics.jsonmetrics_summary.csvreport_en.mdreport_zh.md
Benchmark LaTeX Tables
For benchmark summary CSV files, generate paper tables with:
epa_latex_summary --summary-csv /path/to/summary.csv
This creates:
main_table.texdataset_table.texappendix_full_table.tex
Full CLI Toolchain
epa/epica/epic-alignment: Run the main 3-step EPA pipeline for alignment and metric export; usage:epa --gt-csv gt.tum --gt-format tum --est-path est.tum --est-format tum --plot.epa_config: Manage global or per-tool default config values; usage:epa_config set --tool epa_ape plot_mode xy.epa_ape: Compute APE in EVO-style format with optional alignment and plots; usage:epa_ape tum gt.tum est.tum --align --plot.epa_rpe: Compute RPE in EVO-style format with configurable delta settings; usage:epa_rpe tum gt.tum est.tum --delta 1 --delta_unit f --plot.epa_traj: Compare, align, sync, and visualize trajectories in EVO-style workflow; usage:epa_traj tum gt.tum est.tum --sync --align --plot.epa_fig: Re-render saved plotting specs without recomputing metrics; usage:epa_fig outputs/ape_plot.json --save_plot outputs/ape.png.epa_res: Compare multiple result bundles or EVO zip results; usage:epa_res run_a.zip run_b.zip --metric all --plot.epa_benchmark: Run batch benchmark harness for EPA/EVO-style comparison over many cases; usage:epa_benchmark --cases-csv cases.csv --out-dir outputs/bench.epa_plot_summary: Generate benchmark summary figures from harness outputs; usage:epa_plot_summary --summary-csv outputs/bench/run_xxx/summary.csv.epa_latex_summary: Generate paper-ready LaTeX tables from benchmarksummary.csv; usage:epa_latex_summary --summary-csv outputs/bench/run_xxx/summary.csv.epa_metric_res: Aggregate or compare one or moremetrics.jsonfiles directly; usage:epa_metric_res --inputs run1/metrics.json run2/metrics.json.epa_case_rerun/epa_rerun: Replay one case with rerun-based visual diagnostics; usage:epa_case_rerun --case-json outputs/bench/run_xxx/cases_json/case_001.json.epa_ipython: Launch EPA tools in IPython-friendly entry mode; usage:epa_ipython.epa_ov_eval: OpenVINSov_evalcompatibility umbrella entrypoint; usage:epa_ov_eval --help.epa_ov_format_converter: Convert trajectory formats inov_eval-compatible style; usage:epa_ov_format_converter --help.epa_ov_plot_trajectories: Plot trajectories inov_eval-compatible style; usage:epa_ov_plot_trajectories --help.epa_ov_error_singlerun: Run single-run error evaluation inov_eval-compatible style; usage:epa_ov_error_singlerun --help.epa_ov_error_dataset: Run dataset-level error summary inov_eval-compatible style; usage:epa_ov_error_dataset --help.epa_ov_error_comparison: Run algorithm comparison summary inov_eval-compatible style; usage:epa_ov_error_comparison --help.epa_openvins: Run EPA on one or multiple OpenVINS case folders with minimal integration flow; usage:epa_openvins /path/to/case_dir se3 --keep-output.
Project Links
- Source and full project docs: Docs
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.4.tar.gz.
File metadata
- Download URL: epica-0.1.4.tar.gz
- Upload date:
- Size: 121.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cc24a40a3ebbf0b89cd31d35544682d9a8e6e1eada1f9a1f214b763ff4c418b
|
|
| MD5 |
b0b457e23855d83fa14fdcc583886afb
|
|
| BLAKE2b-256 |
b1c5c13199a496792714e3dd6fb2fff773ef1de656974e9b3b09161161525f2a
|
File details
Details for the file epica-0.1.4-py3-none-any.whl.
File metadata
- Download URL: epica-0.1.4-py3-none-any.whl
- Upload date:
- Size: 134.2 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 |
9516cc66fa06d8687d91552f49faeca23ad7d750225d7a21e56d5cfd923f040b
|
|
| MD5 |
f189385b7b76546ba6d096198e7fef61
|
|
| BLAKE2b-256 |
9335a7031dff9626c2648354546f855cf10b132f83dc84a3a8b624b4ba9e4bc5
|