trajectopy 2.2.2__tar.gz → 2.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- trajectopy-2.2.3/CITATION.cff +18 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/PKG-INFO +18 -2
- {trajectopy-2.2.2 → trajectopy-2.2.3}/README.md +17 -1
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/__init__.py +1 -1
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/managers/trajectory_manager.py +6 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/index.md +17 -2
- trajectopy-2.2.2/CITATION.cff +0 -10
- {trajectopy-2.2.2 → trajectopy-2.2.3}/.gitattributes +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/.gitignore +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/.images/trajectopy_gif_low_quality.gif +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/.pre-commit-config.yaml +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/.pylintrc +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/LICENSE +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/Trajectopy.spec +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_data/KITTI_ORB.traj +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_data/KITTI_SPTAM.traj +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_data/KITTI_gt.traj +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_data/custom.json +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_data/report.html +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_scripts/alignment.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_scripts/ate.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_scripts/mpl_plot.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_scripts/multi_report.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_scripts/rpe.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_scripts/single_report.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/example_scripts/trajectory_plot.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/generate_api_docs.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/pyproject.toml +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/data/abs_dev.result +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/data/align_entry.result +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/data/generated_trajectory.traj +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/data/noisy_trajectory.traj +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/data/open_loop_trajectory.traj +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/data/rel_dev_meter.result +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/data/rel_dev_second.result +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/test_alignment.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/test_comparison.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/test_io.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/test_pipeline.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/test_settings.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/test_trajectory.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/testdata.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/test/util.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/tox.ini +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/LICENSE +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/__main__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/alignment.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/evaluation.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/matching.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/merging.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/plotting.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/report.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/result.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/settings.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/api/sorting.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/LICENSE +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/alignment/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/alignment/data.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/alignment/direct.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/alignment/egrad_interface.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/alignment/equations.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/alignment/estimation.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/alignment/parameters.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/alignment/result.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/alignment/utils.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/approximation/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/approximation/cubic_approximation.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/approximation/mls_approximation.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/approximation/rot_approximation.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/approximation/voxelizer.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/definitions.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/evaluation/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/evaluation/ate_result.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/evaluation/comparison.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/evaluation/deviations.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/evaluation/metrics.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/evaluation/rpe_result.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/evaluation/utils.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/input_output/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/input_output/header.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/input_output/rosbag.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/input_output/rosmsg.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/input_output/trajectory_io.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/input_output/utils.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/kml.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/matching.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/merging.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/mpl/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/mpl/alignment.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/mpl/default.mplstyle +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/mpl/plot_tabs.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/mpl/results.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/mpl/trajectory.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/plotly/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/plotly/bar_plots.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/plotly/heatmaps.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/plotly/histograms.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/plotly/line_plots.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/plotly/multi_line_plots.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/plotly/scatter_plots.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/plotly/tables.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/plotting/utils.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/alignment.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/assets/icon.png +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/assets/style.css +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/data.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/deviations.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/multi.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/single.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/templates/generic.html +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/templates/multi_template.html +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/templates/single_template.html +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/trajectory.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/report/utils.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/rotationset.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/alignment.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/approximation.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/base.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/comparison.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/matching.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/mpl_settings.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/plot_backend.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/processing.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/report.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/settings/sorting.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/sorting.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/trajectory.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/core/utils.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/managers/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/managers/file_manager.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/managers/plot_manager.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/managers/requests.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/managers/session_manager.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/managers/ui_manager.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/models/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/models/entries.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/models/property_model.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/models/result_model.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/models/selection.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/models/table_model.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/models/trajectory_model.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/resources/full-icon-poppins.png +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/resources/icon-bg.ico +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/resources/icon-bg.png +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/resources/icon.png +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/__init__.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/about_window.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/alignment_edit_window.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/json_settings_view.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/main_window.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/progress_window.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/properties_window.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/result_context_menu.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/result_selection_window.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/result_table_view.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/trajectory_context_menu.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/gui/views/trajectory_table_view.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/path.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy/util.py +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Documentation/Alignment.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Documentation/Evaluation.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Documentation/Matching.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Documentation/Merging.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Documentation/Plotting.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Documentation/Report.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Documentation/Result.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Documentation/Sorting.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Documentation/Trajectory.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Getting_Started.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/Python_Package_Usage.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/assets/icon.png +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/docs/settings.md +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/trajectopy-docs/mkdocs.yml +0 -0
- {trajectopy-2.2.2 → trajectopy-2.2.3}/uv.lock +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
cff-version: 1.2.1
|
|
2
|
+
preferred-citation:
|
|
3
|
+
title: "Spatio-temporal trajectory alignment for trajectory evaluation"
|
|
4
|
+
doi: "10.1515/jag-2024-0040"
|
|
5
|
+
year: "2024"
|
|
6
|
+
type: article
|
|
7
|
+
journal: "Journal of Applied Geodesy"
|
|
8
|
+
url: https://www.degruyter.com/document/doi/10.1515/jag-2024-0040/html
|
|
9
|
+
codeurl: https://github.com/gereon-t/trajectopy
|
|
10
|
+
authors:
|
|
11
|
+
- family-names: Tombrink
|
|
12
|
+
given-names: Gereon
|
|
13
|
+
- family-names: Dreier
|
|
14
|
+
given-names: Ansgar
|
|
15
|
+
- family-names: Klingbeil
|
|
16
|
+
given-names: Lasse
|
|
17
|
+
- family-names: Kuhlmann
|
|
18
|
+
given-names: Heiner
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trajectopy
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.3
|
|
4
4
|
Summary: Trajectory Evaluation in Python
|
|
5
5
|
Project-URL: Homepage, https://gereon-t.github.io/trajectopy/
|
|
6
6
|
Project-URL: Documentation, https://gereon-t.github.io/trajectopy/
|
|
@@ -69,4 +69,20 @@ Trajectopy offers a range of features, including:
|
|
|
69
69
|
- __Alignment__: An advanced trajectory alignment algorithm that can be tailored to the specific application and supports a similarity transformation, a leverarm and a time shift estimation.
|
|
70
70
|
- __Comparison__: Absolute and relative trajectory comparison metrics (__ATE and RPE__) that can be computed using various pose-matching methods.
|
|
71
71
|
- __Data Import/Export__: Support for importing and exporting data, ensuring compatibility with your existing workflows.
|
|
72
|
-
- __Customizable
|
|
72
|
+
- __Customizable Visualization__: Powered by [Plotly](https://plotly.com/) or [Matplotlib](https://matplotlib.org/), trajectopy offers a range of interactive plots that can be customized to your needs. ([Demo](https://htmlpreview.github.io/?https://github.com/gereon-t/trajectopy/blob/main/example_data/report.html))
|
|
73
|
+
|
|
74
|
+
## Citation
|
|
75
|
+
|
|
76
|
+
If you use this library for any academic work, please cite our original [paper](https://www.degruyter.com/document/doi/10.1515/jag-2024-0040/html).
|
|
77
|
+
|
|
78
|
+
```bibtex
|
|
79
|
+
@article{Tombrink2024,
|
|
80
|
+
url = {https://doi.org/10.1515/jag-2024-0040},
|
|
81
|
+
title = {Spatio-temporal trajectory alignment for trajectory evaluation},
|
|
82
|
+
author = {Gereon Tombrink and Ansgar Dreier and Lasse Klingbeil and Heiner Kuhlmann},
|
|
83
|
+
journal = {Journal of Applied Geodesy},
|
|
84
|
+
doi = {doi:10.1515/jag-2024-0040},
|
|
85
|
+
year = {2024},
|
|
86
|
+
codeurl = {https://github.com/gereon-t/trajectopy},
|
|
87
|
+
}
|
|
88
|
+
```
|
|
@@ -29,4 +29,20 @@ Trajectopy offers a range of features, including:
|
|
|
29
29
|
- __Alignment__: An advanced trajectory alignment algorithm that can be tailored to the specific application and supports a similarity transformation, a leverarm and a time shift estimation.
|
|
30
30
|
- __Comparison__: Absolute and relative trajectory comparison metrics (__ATE and RPE__) that can be computed using various pose-matching methods.
|
|
31
31
|
- __Data Import/Export__: Support for importing and exporting data, ensuring compatibility with your existing workflows.
|
|
32
|
-
- __Customizable
|
|
32
|
+
- __Customizable Visualization__: Powered by [Plotly](https://plotly.com/) or [Matplotlib](https://matplotlib.org/), trajectopy offers a range of interactive plots that can be customized to your needs. ([Demo](https://htmlpreview.github.io/?https://github.com/gereon-t/trajectopy/blob/main/example_data/report.html))
|
|
33
|
+
|
|
34
|
+
## Citation
|
|
35
|
+
|
|
36
|
+
If you use this library for any academic work, please cite our original [paper](https://www.degruyter.com/document/doi/10.1515/jag-2024-0040/html).
|
|
37
|
+
|
|
38
|
+
```bibtex
|
|
39
|
+
@article{Tombrink2024,
|
|
40
|
+
url = {https://doi.org/10.1515/jag-2024-0040},
|
|
41
|
+
title = {Spatio-temporal trajectory alignment for trajectory evaluation},
|
|
42
|
+
author = {Gereon Tombrink and Ansgar Dreier and Lasse Klingbeil and Heiner Kuhlmann},
|
|
43
|
+
journal = {Journal of Applied Geodesy},
|
|
44
|
+
doi = {doi:10.1515/jag-2024-0040},
|
|
45
|
+
year = {2024},
|
|
46
|
+
codeurl = {https://github.com/gereon-t/trajectopy},
|
|
47
|
+
}
|
|
48
|
+
```
|
|
@@ -48,6 +48,12 @@ class TrajectoryEntryPair:
|
|
|
48
48
|
reference_entry: Union[TrajectoryEntry, None] = None
|
|
49
49
|
|
|
50
50
|
def __post_init__(self) -> None:
|
|
51
|
+
if self.request.type in [
|
|
52
|
+
TrajectoryManagerRequestType.ATE,
|
|
53
|
+
TrajectoryManagerRequestType.RPE,
|
|
54
|
+
]: # pipeline requests use matching setting from trajectory
|
|
55
|
+
return
|
|
56
|
+
|
|
51
57
|
self.entry.settings.matching.method = self.request.matching_method
|
|
52
58
|
|
|
53
59
|
|
|
@@ -26,5 +26,20 @@ Trajectopy offers a range of features, including:
|
|
|
26
26
|
- __Alignment__: An advanced trajectory alignment algorithm that can be tailored to the specific application and supports a similarity transformation, a leverarm and a time shift estimation.
|
|
27
27
|
- __Comparison__: Absolute and relative trajectory comparison metrics (__ATE and RPE__) that can be computed using various pose-matching methods.
|
|
28
28
|
- __Data Import/Export__: Support for importing and exporting data, ensuring compatibility with your existing workflows.
|
|
29
|
-
- __Customizable
|
|
30
|
-
|
|
29
|
+
- __Customizable Visualization__: Powered by [Plotly](https://plotly.com/) or [Matplotlib](https://matplotlib.org/), trajectopy offers a range of interactive plots that can be customized to your needs. ([Demo](https://htmlpreview.github.io/?https://github.com/gereon-t/trajectopy/blob/main/example_data/report.html))
|
|
30
|
+
|
|
31
|
+
## Citation
|
|
32
|
+
|
|
33
|
+
If you use this library for any academic work, please cite our original [paper](https://www.degruyter.com/document/doi/10.1515/jag-2024-0040/html).
|
|
34
|
+
|
|
35
|
+
```bibtex
|
|
36
|
+
@article{Tombrink2024,
|
|
37
|
+
url = {https://doi.org/10.1515/jag-2024-0040},
|
|
38
|
+
title = {Spatio-temporal trajectory alignment for trajectory evaluation},
|
|
39
|
+
author = {Gereon Tombrink and Ansgar Dreier and Lasse Klingbeil and Heiner Kuhlmann},
|
|
40
|
+
journal = {Journal of Applied Geodesy},
|
|
41
|
+
doi = {doi:10.1515/jag-2024-0040},
|
|
42
|
+
year = {2024},
|
|
43
|
+
codeurl = {https://github.com/gereon-t/trajectopy},
|
|
44
|
+
}
|
|
45
|
+
```
|
trajectopy-2.2.2/CITATION.cff
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
cff-version: 1.2.0
|
|
2
|
-
message: "If you use this software, please cite it as below."
|
|
3
|
-
authors:
|
|
4
|
-
- family-names: Tombrink
|
|
5
|
-
given-names: Gereon
|
|
6
|
-
orcid: https://orcid.org/0009-0005-3240-1006
|
|
7
|
-
title: "Trajectopy - Trajectory Evaluation in Python"
|
|
8
|
-
version: 2
|
|
9
|
-
doi: 10.5281/zenodo.14591660
|
|
10
|
-
date-released: 2025
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|