Skip to main content

Trajectopy - Trajectory Evaluation in Python

Code style: ruff

Trajectopy is a Python package with an optional graphical user interface for empirical trajectory evaluation.

Trajectopy GUI showing the ATE of a trajectory in the 3D preview
ATE plot over time ATE map plot

Installation

Windows app: download Trajectopy-<version>-setup.exe from the latest release and run it. No Python installation or administrator rights are needed; .traj files can then be opened by double-click, and the app reports new versions (Help → Check for Updates).

Python package (Python 3.10 or newer):

Command Contents
pip install "trajectopy[gui]" Python package and GUI (recommended)
pip install "trajectopy[plot]" Python package with plotting, without the GUI
pip install trajectopy Python package only

Loading large trajectory files (millions of poses) is several times faster with the fast extra, which can be combined with the others: pip install "trajectopy[gui,fast]".

Quick Start

import trajectopy as tpy

reference = tpy.Trajectory.from_file("./example_data/KITTI_gt.traj")
estimate = tpy.Trajectory.from_file("./example_data/KITTI_ORB.traj")

ate_result = tpy.ate(trajectory=estimate, other=reference)  # aligns the estimate first
print(f"Position ATE: {ate_result.pos_ate:.3f} m")

Or start the GUI with trajectopy (or from the Start menu), drop trajectory files onto it, right-click the ground truth → Set as Reference, then right-click another trajectory → Compare with Reference.

Documentation

https://gereon-t.github.io/trajectopy/

Key Features

  • Interactive GUI: Load, plot, align and compare trajectories without writing code. Every action explains itself in the context menus, and trajectories can be aligned interactively if an automatic alignment is not possible.
  • Alignment: A spatio-temporal least squares alignment that can be tailored to the application: similarity transformation, leverarm and time shift, each of them optional.
  • Comparison: Absolute and relative trajectory error (ATE and RPE), computed with various pose-matching methods.
  • Data Import/Export: ASCII files with configurable columns, time formats and coordinate systems (any EPSG code), and ROS bags.
  • Fast, Interactive Visualization: Powered by pyqtgraph, the same plots are available in the GUI and in Python scripts, stay fluid for large trajectories, and can be exported to PNG, JPG or SVG. Georeferenced trajectories and ATE results can be exported to Google Earth, colored by speed, height or deviations, on the terrain or at their own heights, with playback.

Web Application (Docker)

A simple web application is available at gereon-t/trajectopy-web that allows you to use the core functionality of Trajectopy using Docker.

Citation

If you use this library for any academic work, please cite our original paper.

@article{Tombrink2024,
url = {https://doi.org/10.1515/jag-2024-0040},
title = {Spatio-temporal trajectory alignment for trajectory evaluation},
author = {Gereon Tombrink and Ansgar Dreier and Lasse Klingbeil and Heiner Kuhlmann},
journal = {Journal of Applied Geodesy},
doi = {doi:10.1515/jag-2024-0040},
year = {2024},
codeurl = {https://github.com/gereon-t/trajectopy},
}

Metadata

Release files for trajectopy 6.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trajectopy 6.0.0
File Size Uploaded Provenance Actions
trajectopy-6.0.0.tar.gz 3.2 MB Without provenance Details for trajectopy-6.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for trajectopy 6.0.0
File Interpreter ABI Platform Actions
trajectopy-6.0.0-py3-none-any.whl Python 3 none any Details for trajectopy-6.0.0-py3-none-any.whl

Total release size: 3.7 MB

Release files / trajectopy-6.0.0.tar.gz

Download URL trajectopy-6.0.0.tar.gz
Size 3.2 MB
Tags Source
SHA-256 checksum
How to use checksums
a878686cec5c74a16f2521a03f5866c3040856e5e4b2fa5769b196303022db31
BLAKE2b-256 checksum
How to use checksums
7c03ec0ddd95df49f8b4937c34f86204cfb0169390cfd3119e06a3fe61865bf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / trajectopy-6.0.0-py3-none-any.whl

Download URL trajectopy-6.0.0-py3-none-any.whl
Size 473.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e40dff5ed429e4aff6a89ac1498d78bc3ac6fa003a690a158c1c85846d1b672a
BLAKE2b-256 checksum
How to use checksums
11c7a6471c2e10df705cd0c9178200e991a888e130c6890f1374736b037b1b27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for trajectopy 6.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

6.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page