Skip to main content

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.txt
  • stamped_traj_estimate.txt

Outputs

Single epa run:

  • creates one outputs/run_YYYYMMDD_HHMMSS/ folder
  • typical files inside:
  • plots/
  • metrics.json
  • metrics_summary.csv
  • report_en.md
  • report_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-dir is provided

Multi-case benchmark with epa_bench:

  • creates outputs/<cases_root_name>_bench/run_YYYYMMDD_HHMMSS/
  • typical files and folders inside:
  • summary.csv
  • summary.md
  • paper_tables/
  • cases/
  • logs/
  • prepared_tum/
  • unresolved_cases.csv if some GT mappings cannot be resolved

Common CLI Toolchain

  • epa / epica: run the main 3-step EPA pipeline for one GT/EST pair
  • epa_all: run the single-case full workflow in one command
  • epa_bench: run the multi-case benchmark harness over a cases root
  • epa_benchall: run the multi-case full workflow, including summary plots and LaTeX tables
  • epa_ape: compute APE for one trajectory pair
  • epa_rpe: compute RPE for one trajectory pair
  • epa_traj: inspect, align, sync, and visualize trajectories
  • epa_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

epica-0.1.6.tar.gz (125.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

epica-0.1.6-py3-none-any.whl (139.8 kB view details)

Uploaded Python 3

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

Hashes for epica-0.1.6.tar.gz
Algorithm Hash digest
SHA256 eaa2e1808b0911fd788b31a9176be08cfb04e1d87ea7d796f2b25471f8322814
MD5 ffa0d942e9402521c4560414800aabaa
BLAKE2b-256 982e5a839e0e721b6f1226eb68d4fcbde562522d080807b49be458e5fe775f0d

See more details on using hashes here.

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

Hashes for epica-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 605f17459e56189d1d6bde347da26f6159320586f316f92825fadb0d59586708
MD5 30244aaf4d834038b0d25bb2912535ff
BLAKE2b-256 34388c9c102a9dd3e3ce4f27b26bc70b4be479e68fb6cc9eeee5b91d200eacff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page