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.

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 5.1.2

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 5.1.2
File Size Uploaded Provenance Actions
trajectopy-5.1.2.tar.gz 3.1 MB Without provenance Details for trajectopy-5.1.2.tar.gz

Built distribution (wheel)

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

Total release size: 3.6 MB

Release files / trajectopy-5.1.2.tar.gz

Download URL trajectopy-5.1.2.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
4d3a5ac403c5def863edbe7717f3416c6f4dc0e15b8fb4b21e1adc8a3b470e23
BLAKE2b-256 checksum
How to use checksums
fa8dd2e7a427710f5b322ebe39c2818718995598ec14ac0348de94088cd1d2a0
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-5.1.2-py3-none-any.whl

Download URL trajectopy-5.1.2-py3-none-any.whl
Size 445.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ad437aa575a40c6d644ba3a997ccd5da62cf63a6ef214a0c1e00153f702dbb7e
BLAKE2b-256 checksum
How to use checksums
1ed85973610d4bab613ed6cc18a749e4a3919f11414a9af6810b2f55dacb5bae
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 5.1.2

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

5.1.2 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