trajectopy 4.2.2__tar.gz → 4.2.4__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-4.2.2 → trajectopy-4.2.4}/PKG-INFO +3 -4
- {trajectopy-4.2.2 → trajectopy-4.2.4}/pyproject.toml +1 -4
- {trajectopy-4.2.2 → trajectopy-4.2.4}/requirements.txt +4 -126
- trajectopy-4.2.4/trajectopy/__version__.py +1 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/themes.py +8 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/main_window.py +11 -2
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/result_table_view.py +1 -1
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/trajectory_table_view.py +1 -1
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/user_guide.md +25 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy.spec +1 -1
- {trajectopy-4.2.2 → trajectopy-4.2.4}/uv.lock +2819 -2821
- trajectopy-4.2.2/trajectopy/__version__.py +0 -1
- {trajectopy-4.2.2 → trajectopy-4.2.4}/.gitattributes +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/.gitignore +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/.pre-commit-config.yaml +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/.pylintrc +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/CITATION.cff +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/LICENSE +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/README.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_data/KITTI_ORB.traj +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_data/KITTI_SPTAM.traj +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_data/KITTI_gt.traj +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_data/default.mplstyle +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_data/matplotlib_settings.json +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_data/report_settings.json +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_scripts/align.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_scripts/alignment.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_scripts/ate.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_scripts/mpl_plot.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_scripts/multi_report.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_scripts/rpe.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_scripts/single_report.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/example_scripts/trajectory_plot.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/data/abs_dev.result +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/data/align_entry.result +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/data/generated_trajectory.traj +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/data/noisy_trajectory.traj +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/data/open_loop_trajectory.traj +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/data/rel_dev_meter.result +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/data/rel_dev_second.result +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_alignment.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_approximation.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_comparison.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_io.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_matching.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_merging.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_pipeline.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_positions_rotations.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_processing_edge_cases.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_processing_errors.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_readers_edge_cases.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_readers_errors.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_settings.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_settings_edge_cases.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_settings_validation.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_sorting.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_trajectory.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/test_trajectory_validation.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/testdata.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/test/util.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/LICENSE +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/__main__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/cli/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/cli/main.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/core/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/core/positions.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/core/rotations.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/core/settings.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/core/trajectory.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/exceptions.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/app.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/managers/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/managers/file_manager.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/managers/plot_manager.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/managers/requests.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/managers/session_manager.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/managers/trajectory_manager.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/managers/ui_manager.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/models/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/models/entries.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/models/property_model.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/models/result_model.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/models/selection.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/models/table_model.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/models/trajectory_model.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/resources/full-icon-poppins.png +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/resources/icon-bg.ico +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/resources/icon-bg.png +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/resources/icon.png +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/utils.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/about_window.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/alignment_edit_window.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/dof_organizer.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/json_settings_view.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/mpl_plot_tabs.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/playback_window.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/progress_window.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/properties_window.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/result_context_menu.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/result_selection_window.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/timeline_widget.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/gui/views/trajectory_context_menu.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/alignment.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/approximation.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/evaluation.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/interpolation.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/alignment/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/alignment/data.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/alignment/direct.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/alignment/egrad_interface.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/alignment/equations.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/alignment/estimation.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/alignment/parameters.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/approximation/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/approximation/cubic_approximation.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/approximation/line_approximation.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/lib/approximation/voxelizer.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/matching.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/merging.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/processing/sorting.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/py.typed +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/readers/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/readers/ascii.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/readers/rosbag.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/readers/rosmsg.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/readers/utils.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/results/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/results/alignment_result.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/results/ate_result.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/results/rpe_result.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/utils/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/utils/common.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/utils/definitions.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/__init__.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/assets/icon.png +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/assets/style.css +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/default.mplstyle +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/mpl_plots.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/plotly_plots.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/plotly_reports.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/report_data.py +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/templates/generic.html +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/templates/multi_template.html +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy/visualization/templates/single_template.html +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/core/positions.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/core/rotations.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/core/settings.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/core/trajectory.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/index.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/processing/alignment.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/processing/approximation.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/processing/evaluation.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/processing/interpolation.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/processing/matching.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/processing/merging.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/processing/parameters.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/processing/sorting.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/results/alignment_result.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/results/ate_result.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/results/rpe_result.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/visualization/mpl_plots.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/visualization/plotly_plots.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/api/visualization/plotly_reports.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/assets/icon.png +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/file_formats.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/index.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/javascripts/mathjax.js +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/settings.md +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/docs/stylesheets/extra.css +0 -0
- {trajectopy-4.2.2 → trajectopy-4.2.4}/trajectopy-docs/mkdocs.yml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trajectopy
|
|
3
|
-
Version: 4.2.
|
|
3
|
+
Version: 4.2.4
|
|
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/
|
|
@@ -28,14 +28,13 @@ Requires-Dist: numpy>=2.0.2
|
|
|
28
28
|
Requires-Dist: pandas>=2.2.3
|
|
29
29
|
Requires-Dist: plotly>=6.1.0
|
|
30
30
|
Requires-Dist: pyproj>=3.6.1
|
|
31
|
-
Requires-Dist: pyside6>=6.11.0
|
|
32
|
-
Requires-Dist: pyvista>=0.47.2
|
|
33
|
-
Requires-Dist: pyvistaqt>=0.11.4
|
|
34
31
|
Requires-Dist: rich>=14.0.0
|
|
35
32
|
Requires-Dist: rosbags>=0.9.23
|
|
36
33
|
Requires-Dist: scipy>=1.13.1
|
|
37
34
|
Provides-Extra: gui
|
|
38
35
|
Requires-Dist: pyside6; extra == 'gui'
|
|
36
|
+
Requires-Dist: pyvista; extra == 'gui'
|
|
37
|
+
Requires-Dist: pyvistaqt; extra == 'gui'
|
|
39
38
|
Description-Content-Type: text/markdown
|
|
40
39
|
|
|
41
40
|
<div align="center">
|
|
@@ -53,9 +53,6 @@ dependencies = [
|
|
|
53
53
|
"pandas>=2.2.3",
|
|
54
54
|
"plotly>=6.1.0",
|
|
55
55
|
"pyproj>=3.6.1",
|
|
56
|
-
"pyside6>=6.11.0",
|
|
57
|
-
"pyvista>=0.47.2",
|
|
58
|
-
"pyvistaqt>=0.11.4",
|
|
59
56
|
"rich>=14.0.0",
|
|
60
57
|
"rosbags>=0.9.23",
|
|
61
58
|
"scipy>=1.13.1",
|
|
@@ -63,7 +60,7 @@ dependencies = [
|
|
|
63
60
|
|
|
64
61
|
|
|
65
62
|
[project.optional-dependencies]
|
|
66
|
-
gui = ["PySide6"]
|
|
63
|
+
gui = ["PySide6", "pyvista", "pyvistaqt"]
|
|
67
64
|
|
|
68
65
|
[project.urls]
|
|
69
66
|
Homepage = "https://gereon-t.github.io/trajectopy/"
|
|
@@ -7,10 +7,6 @@ altgraph==0.17.5 \
|
|
|
7
7
|
# via
|
|
8
8
|
# macholib
|
|
9
9
|
# pyinstaller
|
|
10
|
-
attrs==26.1.0 \
|
|
11
|
-
--hash=sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309 \
|
|
12
|
-
--hash=sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32
|
|
13
|
-
# via cyclopts
|
|
14
10
|
autograd==1.8.0 \
|
|
15
11
|
--hash=sha256:107374ded5b09fc8643ac925348c0369e7b0e73bbed9565ffd61b8fd04425683 \
|
|
16
12
|
--hash=sha256:4ab9084294f814cf56c280adbe19612546a35574d67c574b04933c7d2ecb7d78
|
|
@@ -425,22 +421,10 @@ cycler==0.12.1 \
|
|
|
425
421
|
--hash=sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30 \
|
|
426
422
|
--hash=sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c
|
|
427
423
|
# via matplotlib
|
|
428
|
-
cyclopts==4.10.2 \
|
|
429
|
-
--hash=sha256:a1f2d6f8f7afac9456b48f75a40b36658778ddc9c6d406b520d017ae32c990fe \
|
|
430
|
-
--hash=sha256:d7b950457ef2563596d56331f80cbbbf86a2772535fb8b315c4f03bc7e6127f1
|
|
431
|
-
# via pyvista
|
|
432
424
|
distlib==0.4.0 \
|
|
433
425
|
--hash=sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16 \
|
|
434
426
|
--hash=sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d
|
|
435
427
|
# via virtualenv
|
|
436
|
-
docstring-parser==0.17.0 \
|
|
437
|
-
--hash=sha256:583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912 \
|
|
438
|
-
--hash=sha256:cf2569abd23dce8099b300f9b4fa8191e9582dda731fd533daf54c4551658708
|
|
439
|
-
# via cyclopts
|
|
440
|
-
docutils==0.22.4 \
|
|
441
|
-
--hash=sha256:4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968 \
|
|
442
|
-
--hash=sha256:d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de
|
|
443
|
-
# via rich-rst
|
|
444
428
|
exceptiongroup==1.3.1 ; python_full_version < '3.11' \
|
|
445
429
|
--hash=sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219 \
|
|
446
430
|
--hash=sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598
|
|
@@ -858,10 +842,7 @@ matplotlib==3.10.8 \
|
|
|
858
842
|
--hash=sha256:f97aeb209c3d2511443f8797e3e5a569aebb040d4f8bc79aa3ee78a8fb9e3dd8 \
|
|
859
843
|
--hash=sha256:f9b587c9c7274c1613a30afabf65a272114cd6cdbe67b3406f818c79d7ab2e2a \
|
|
860
844
|
--hash=sha256:fb061f596dad3a0f52b60dc6a5dec4a0c300dec41e058a7efe09256188d170b7
|
|
861
|
-
# via
|
|
862
|
-
# pyvista
|
|
863
|
-
# trajectopy
|
|
864
|
-
# vtk
|
|
845
|
+
# via trajectopy
|
|
865
846
|
mdurl==0.1.2 \
|
|
866
847
|
--hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
|
|
867
848
|
--hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
|
|
@@ -977,7 +958,6 @@ numpy==2.2.6 ; python_full_version < '3.11' \
|
|
|
977
958
|
# contourpy
|
|
978
959
|
# matplotlib
|
|
979
960
|
# pandas
|
|
980
|
-
# pyvista
|
|
981
961
|
# rosbags
|
|
982
962
|
# scipy
|
|
983
963
|
# trajectopy
|
|
@@ -1059,7 +1039,6 @@ numpy==2.4.4 ; python_full_version >= '3.11' \
|
|
|
1059
1039
|
# contourpy
|
|
1060
1040
|
# matplotlib
|
|
1061
1041
|
# pandas
|
|
1062
|
-
# pyvista
|
|
1063
1042
|
# rosbags
|
|
1064
1043
|
# scipy
|
|
1065
1044
|
# trajectopy
|
|
@@ -1071,11 +1050,9 @@ packaging==26.0 \
|
|
|
1071
1050
|
# matplotlib
|
|
1072
1051
|
# mkdocs
|
|
1073
1052
|
# plotly
|
|
1074
|
-
# pooch
|
|
1075
1053
|
# pyinstaller
|
|
1076
1054
|
# pyinstaller-hooks-contrib
|
|
1077
1055
|
# pytest
|
|
1078
|
-
# qtpy
|
|
1079
1056
|
paginate==0.5.7 \
|
|
1080
1057
|
--hash=sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945 \
|
|
1081
1058
|
--hash=sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591
|
|
@@ -1282,16 +1259,13 @@ pillow==12.2.0 \
|
|
|
1282
1259
|
--hash=sha256:f490f9368b6fc026f021db16d7ec2fbf7d89e2edb42e8ec09d2c60505f5729c7 \
|
|
1283
1260
|
--hash=sha256:fb043ee2f06b41473269765c2feae53fc2e2fbf96e5e22ca94fb5ad677856f06 \
|
|
1284
1261
|
--hash=sha256:fc3d34d4a8fbec3e88a79b92e5465e0f9b842b628675850d860b8bd300b159f5
|
|
1285
|
-
# via
|
|
1286
|
-
# matplotlib
|
|
1287
|
-
# pyvista
|
|
1262
|
+
# via matplotlib
|
|
1288
1263
|
platformdirs==4.9.6 \
|
|
1289
1264
|
--hash=sha256:3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a \
|
|
1290
1265
|
--hash=sha256:e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917
|
|
1291
1266
|
# via
|
|
1292
1267
|
# black
|
|
1293
1268
|
# mkdocs-get-deps
|
|
1294
|
-
# pooch
|
|
1295
1269
|
# python-discovery
|
|
1296
1270
|
# virtualenv
|
|
1297
1271
|
plotly==6.7.0 \
|
|
@@ -1304,10 +1278,6 @@ pluggy==1.6.0 \
|
|
|
1304
1278
|
# via
|
|
1305
1279
|
# pytest
|
|
1306
1280
|
# pytest-cov
|
|
1307
|
-
pooch==1.9.0 \
|
|
1308
|
-
--hash=sha256:de46729579b9857ffd3e741987a2f6d5e0e03219892c167c6578c0091fb511ed \
|
|
1309
|
-
--hash=sha256:f265597baa9f760d25ceb29d0beb8186c243d6607b0f60b83ecf14078dbc703b
|
|
1310
|
-
# via pyvista
|
|
1311
1281
|
pre-commit==4.5.1 \
|
|
1312
1282
|
--hash=sha256:3b3afd891e97337708c1674210f8eba659b52a38ea5f822ff142d10786221f77 \
|
|
1313
1283
|
--hash=sha256:eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61
|
|
@@ -1437,29 +1407,6 @@ pyproj==3.7.2 ; python_full_version >= '3.11' \
|
|
|
1437
1407
|
--hash=sha256:f9428b318530625cb389b9ddc9c51251e172808a4af79b82809376daaeabe5e9 \
|
|
1438
1408
|
--hash=sha256:fc52ba896cfc3214dc9f9ca3c0677a623e8fdd096b257c14a31e719d21ff3fdd
|
|
1439
1409
|
# via trajectopy
|
|
1440
|
-
pyside6==6.11.0 \
|
|
1441
|
-
--hash=sha256:1f2735dc4f2bd4ec452ae50502c8a22128bba0aced35358a2bbc58384b820c6f \
|
|
1442
|
-
--hash=sha256:267b344c73580ac938ca63c611881fb42a3922ebfe043e271005f4f06c372c4e \
|
|
1443
|
-
--hash=sha256:9092cb002ca43c64006afb2e0d0f6f51aef17aa737c33a45e502326a081ddcbc \
|
|
1444
|
-
--hash=sha256:b15f39acc2b8f46251a630acad0d97f9a0a0461f2baffcd66d7adfada8eb641e \
|
|
1445
|
-
--hash=sha256:c642e2d25704ca746fd37f56feacf25c5aecc4cd40bef23d18eec81f87d9dc00
|
|
1446
|
-
# via trajectopy
|
|
1447
|
-
pyside6-addons==6.11.0 \
|
|
1448
|
-
--hash=sha256:413e6121c24f5ffdce376298059eddecff74aa6d638e94e0f6015b33d29b889e \
|
|
1449
|
-
--hash=sha256:8ffb40222456078930816ebcac2f2511716d2acbc11716dd5acc5c365179a753 \
|
|
1450
|
-
--hash=sha256:aaaee83385977a0fe134b2f4fbfb92b45a880d5b656e4d90a708eef10b1b6de8 \
|
|
1451
|
-
--hash=sha256:ac6fe3d4ef4497dde3efc5e896b0acd53ff6c93be4bf485f045690f919419f35 \
|
|
1452
|
-
--hash=sha256:d5eaa4643302e3a0fa94c5766234bee4073d7d5ab9c2b7fd222692a176faf182
|
|
1453
|
-
# via pyside6
|
|
1454
|
-
pyside6-essentials==6.11.0 \
|
|
1455
|
-
--hash=sha256:3b3362882ad9389357a80504e600180006a957731fec05786fced7b038461fdf \
|
|
1456
|
-
--hash=sha256:4854cb0a1b061e7a576d8fb7bb7cf9f49540d558b1acb7df0742a7afefe61e4e \
|
|
1457
|
-
--hash=sha256:81ca603dbf21bc39f89bb42db215c25ebe0c879a1a4c387625c321d2730ec187 \
|
|
1458
|
-
--hash=sha256:85d6ca87ef35fa6565d385ede72ae48420dd3f63113929d10fc800f6b0360e01 \
|
|
1459
|
-
--hash=sha256:dc20e7afd5fc6fe51297db91cef997ce60844be578f7a49fc61b7ab9657a8849
|
|
1460
|
-
# via
|
|
1461
|
-
# pyside6
|
|
1462
|
-
# pyside6-addons
|
|
1463
1410
|
pytest==9.0.3 \
|
|
1464
1411
|
--hash=sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9 \
|
|
1465
1412
|
--hash=sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c
|
|
@@ -1516,16 +1463,6 @@ pytz==2026.1.post1 ; python_full_version < '3.11' \
|
|
|
1516
1463
|
--hash=sha256:3378dde6a0c3d26719182142c56e60c7f9af7e968076f31aae569d72a0358ee1 \
|
|
1517
1464
|
--hash=sha256:f2fd16142fda348286a75e1a524be810bb05d444e5a081f37f7affc635035f7a
|
|
1518
1465
|
# via pandas
|
|
1519
|
-
pyvista==0.47.2 \
|
|
1520
|
-
--hash=sha256:24e84687b2028a28717108cfc5b808d5903dc865593389090c016c197f4310ce \
|
|
1521
|
-
--hash=sha256:dbcec458d5ac37439e86c14794eb922c9fe127c084b07181c1111a1413ec0568
|
|
1522
|
-
# via
|
|
1523
|
-
# pyvistaqt
|
|
1524
|
-
# trajectopy
|
|
1525
|
-
pyvistaqt==0.11.4 \
|
|
1526
|
-
--hash=sha256:b2bc92ac34e2bbd729c55fb27719684d4b518a593fce9c877621020d050b4bd5 \
|
|
1527
|
-
--hash=sha256:f24b166c6835ef3100c1562b6bba411e2a79715cda7fa9f7da999169d2a125de
|
|
1528
|
-
# via trajectopy
|
|
1529
1466
|
pywin32-ctypes==0.2.3 ; sys_platform == 'win32' \
|
|
1530
1467
|
--hash=sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8 \
|
|
1531
1468
|
--hash=sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755
|
|
@@ -1598,27 +1535,14 @@ pyyaml-env-tag==1.1 \
|
|
|
1598
1535
|
--hash=sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04 \
|
|
1599
1536
|
--hash=sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff
|
|
1600
1537
|
# via mkdocs
|
|
1601
|
-
qtpy==2.4.3 \
|
|
1602
|
-
--hash=sha256:72095afe13673e017946cc258b8d5da43314197b741ed2890e563cf384b51aa1 \
|
|
1603
|
-
--hash=sha256:db744f7832e6d3da90568ba6ccbca3ee2b3b4a890c3d6fbbc63142f6e4cdf5bb
|
|
1604
|
-
# via pyvistaqt
|
|
1605
1538
|
requests==2.33.1 \
|
|
1606
1539
|
--hash=sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517 \
|
|
1607
1540
|
--hash=sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a
|
|
1608
|
-
# via
|
|
1609
|
-
# mkdocs-material
|
|
1610
|
-
# pooch
|
|
1541
|
+
# via mkdocs-material
|
|
1611
1542
|
rich==14.3.3 \
|
|
1612
1543
|
--hash=sha256:793431c1f8619afa7d3b52b2cdec859562b950ea0d4b6b505397612db8d5362d \
|
|
1613
1544
|
--hash=sha256:b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b
|
|
1614
|
-
# via
|
|
1615
|
-
# cyclopts
|
|
1616
|
-
# rich-rst
|
|
1617
|
-
# trajectopy
|
|
1618
|
-
rich-rst==1.3.2 \
|
|
1619
|
-
--hash=sha256:a1196fdddf1e364b02ec68a05e8ff8f6914fee10fbca2e6b6735f166bb0da8d4 \
|
|
1620
|
-
--hash=sha256:a99b4907cbe118cf9d18b0b44de272efa61f15117c61e39ebdc431baf5df722a
|
|
1621
|
-
# via cyclopts
|
|
1545
|
+
# via trajectopy
|
|
1622
1546
|
rosbags==0.11.0 \
|
|
1623
1547
|
--hash=sha256:2ce27d8dc37f554f10bf5962f665331ce16f43aba304c6c233eb15fab05b61ab \
|
|
1624
1548
|
--hash=sha256:e73bbe79a15d7f539653375278ffca6c48e56b5c2ada4a4531de0b17737cbc46
|
|
@@ -1768,26 +1692,12 @@ scipy==1.17.1 ; python_full_version >= '3.11' \
|
|
|
1768
1692
|
--hash=sha256:f8885db0bc2bffa59d5c1b72fad7a6a92d3e80e7257f967dd81abb553a90d293 \
|
|
1769
1693
|
--hash=sha256:fcb310ddb270a06114bb64bbe53c94926b943f5b7f0842194d585c65eb4edd76
|
|
1770
1694
|
# via trajectopy
|
|
1771
|
-
scooby==0.11.0 \
|
|
1772
|
-
--hash=sha256:3dfacc6becf2d6558efa4b625bae3b844ced5d256f3143ebf774e005367e712a \
|
|
1773
|
-
--hash=sha256:a79663d1a7711eb104e4b2935988ea1ed5f7be6b7288fad23b4fba7462832f9d
|
|
1774
|
-
# via pyvista
|
|
1775
1695
|
setuptools==82.0.1 \
|
|
1776
1696
|
--hash=sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9 \
|
|
1777
1697
|
--hash=sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb
|
|
1778
1698
|
# via
|
|
1779
1699
|
# pyinstaller
|
|
1780
1700
|
# pyinstaller-hooks-contrib
|
|
1781
|
-
shiboken6==6.11.0 \
|
|
1782
|
-
--hash=sha256:3bd76cf56105ab2d62ecaff630366f11264f69b88d488f10f048da9a065781f4 \
|
|
1783
|
-
--hash=sha256:483ff78a73c7b3189ca924abc694318084f078bcfeaffa68e32024ff2d025ee1 \
|
|
1784
|
-
--hash=sha256:a10dc7718104ea2dc15d5b0b96909b77162ce1c76fcc6968e6df692b947a00e9 \
|
|
1785
|
-
--hash=sha256:ad54e64f8192ddbdff0c54ac82b89edcd62ed623f502ea21c960541d19514053 \
|
|
1786
|
-
--hash=sha256:d88e8a1eb705f2b9ad21db08a61ae1dc0c773e5cd86a069de0754c4cf1f9b43b
|
|
1787
|
-
# via
|
|
1788
|
-
# pyside6
|
|
1789
|
-
# pyside6-addons
|
|
1790
|
-
# pyside6-essentials
|
|
1791
1701
|
six==1.17.0 \
|
|
1792
1702
|
--hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
|
|
1793
1703
|
--hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
|
|
@@ -1843,17 +1753,14 @@ tomli==2.4.1 ; python_full_version <= '3.11' \
|
|
|
1843
1753
|
# via
|
|
1844
1754
|
# black
|
|
1845
1755
|
# coverage
|
|
1846
|
-
# cyclopts
|
|
1847
1756
|
# pytest
|
|
1848
1757
|
typing-extensions==4.15.0 \
|
|
1849
1758
|
--hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
|
|
1850
1759
|
--hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548
|
|
1851
1760
|
# via
|
|
1852
1761
|
# black
|
|
1853
|
-
# cyclopts
|
|
1854
1762
|
# exceptiongroup
|
|
1855
1763
|
# mkdocstrings-python
|
|
1856
|
-
# pyvista
|
|
1857
1764
|
# rosbags
|
|
1858
1765
|
# virtualenv
|
|
1859
1766
|
tzdata==2026.1 ; python_full_version < '3.11' or sys_platform == 'emscripten' or sys_platform == 'win32' \
|
|
@@ -1868,35 +1775,6 @@ virtualenv==21.2.1 \
|
|
|
1868
1775
|
--hash=sha256:b66ffe81301766c0d5e2208fc3576652c59d44e7b731fc5f5ed701c9b537fa78 \
|
|
1869
1776
|
--hash=sha256:bd16b49c53562b28cf1a3ad2f36edb805ad71301dee70ddc449e5c88a9f919a2
|
|
1870
1777
|
# via pre-commit
|
|
1871
|
-
vtk==9.6.0 \
|
|
1872
|
-
--hash=sha256:04a37b251d8a2baba85848f43ae15a40140a7fd25de5e0034e17b15a6e179b66 \
|
|
1873
|
-
--hash=sha256:09ceedfb4e49db477aa40ae83d7578c1007387205463504e63b560e7c56219f3 \
|
|
1874
|
-
--hash=sha256:14ef4d2bb32ee4322145d07d76ac587d6030cff03765fb15c0209b7aabdef7ff \
|
|
1875
|
-
--hash=sha256:1598a524f2b8355be2e369f43343adecbea8ade826f5ba63c29421570b7a8cd3 \
|
|
1876
|
-
--hash=sha256:16075dab279cf079e7d1a52d27219eee0a89f0d7f13a5c1130fa2c0acba100fc \
|
|
1877
|
-
--hash=sha256:1a67c3b1cf1d89e83e6d4cd6e6b070ea5e979477bbc881daf19729b8a8e2cfd7 \
|
|
1878
|
-
--hash=sha256:1af7f194e5b5c665343a41280834aab5d6ba803594032d837ab0710e974339bf \
|
|
1879
|
-
--hash=sha256:1b1f0537c7886d671bd3cb3c09409e2a6565444ccee96dc5a12d19252a1755bf \
|
|
1880
|
-
--hash=sha256:1e59c5badb1c3b86f784db761a86ddc0bcb4a15640a17b64ec5fd0710ed5edf3 \
|
|
1881
|
-
--hash=sha256:351f023eadcd095838e4e3a7bc12b1b80abe3d7a77b9473ddeeefe065ec42cbe \
|
|
1882
|
-
--hash=sha256:3cdc37959e9195c02452cbd6ddee8cb463931fe3a6fcd698ec5cd25c1f15aaba \
|
|
1883
|
-
--hash=sha256:4ea035a360ab3ff3fcc6e9e34e2b7c5d8440d442b4d2f2ec68834dd241d1e45b \
|
|
1884
|
-
--hash=sha256:5b1262a67e358b59c5ae82f136a6515980fbb1a3cf8329dd36b07dcb31c81227 \
|
|
1885
|
-
--hash=sha256:82936685bc64ba4b206e60d67355c75ff6eb80f9e0154a931b4f4a2989bc103f \
|
|
1886
|
-
--hash=sha256:8613b91c9e7d3de3905a9801be646863c93df797facd22b5070c95de6a1d77a4 \
|
|
1887
|
-
--hash=sha256:8df76d131c284e99aac2e76055e5f0a8c94d54197089f8bd2f67213f51de6333 \
|
|
1888
|
-
--hash=sha256:93bd59d309e9ec7a9b6c64142a3e227bc487c065be1bdc45c7c725099c9234e3 \
|
|
1889
|
-
--hash=sha256:951837676f5ce294651f1e051a0581db2d6b0e519d0ce0ebc77ff2f446028a64 \
|
|
1890
|
-
--hash=sha256:a82d59c4119aadd2885e4174432ff87f94320ba38aaeb7e2282ba0e6e3d09e0e \
|
|
1891
|
-
--hash=sha256:aeb84471ef22fffb9120284af2cb0bda6af0b4ca421b9b8cb0741f1ca52930a2 \
|
|
1892
|
-
--hash=sha256:b0b5a3480769439ed9ea393bf7cb474a974550565a39ce9e9586438a24b46b1d \
|
|
1893
|
-
--hash=sha256:ca02262e60d2891d83f64e979a66e303809b182b47fc1c21ca6bbc4041b12419 \
|
|
1894
|
-
--hash=sha256:d06fe9b5a9786165a59f494f801f35ad37018e45cfa91060ff025719a2f1e387 \
|
|
1895
|
-
--hash=sha256:e3368371403d57108471431811851a82ad73524f31b684491eee2c9aef122632 \
|
|
1896
|
-
--hash=sha256:e404d66c11476cfac2781025c29e9518ffbfa9a760ced419e5b34640d437f4dc \
|
|
1897
|
-
--hash=sha256:ebea2a1d6ec6e04822e805acfd3119437ce9728b6807fa707c3ba0dc0de6c90a \
|
|
1898
|
-
--hash=sha256:fcbfa103fb817a7c7564d32b0572c11d301542e860a9bf0592f5f9dd25cdff55
|
|
1899
|
-
# via pyvista
|
|
1900
1778
|
watchdog==6.0.0 \
|
|
1901
1779
|
--hash=sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a \
|
|
1902
1780
|
--hash=sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2 \
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "4.2.4"
|
|
@@ -234,6 +234,10 @@ DARK_STYLESHEET = """
|
|
|
234
234
|
selection-color: #ffffff;
|
|
235
235
|
outline: none;
|
|
236
236
|
}
|
|
237
|
+
QTableView::item:selected {
|
|
238
|
+
background-color: #094771;
|
|
239
|
+
color: #ffffff;
|
|
240
|
+
}
|
|
237
241
|
QTextEdit, QPlainTextEdit {
|
|
238
242
|
background-color: #1e1e1e;
|
|
239
243
|
color: #cccccc;
|
|
@@ -342,6 +346,10 @@ LIGHT_STYLESHEET = """
|
|
|
342
346
|
selection-color: #ffffff;
|
|
343
347
|
outline: none;
|
|
344
348
|
}
|
|
349
|
+
QTableView::item:selected {
|
|
350
|
+
background-color: #0078d4;
|
|
351
|
+
color: #ffffff;
|
|
352
|
+
}
|
|
345
353
|
QTextEdit, QPlainTextEdit {
|
|
346
354
|
background-color: #ffffff;
|
|
347
355
|
color: #333333;
|
|
@@ -77,6 +77,7 @@ class TrajectopyGUI(QtWidgets.QMainWindow):
|
|
|
77
77
|
self.trajectory_table_model = TrajectoryTableModel()
|
|
78
78
|
self.result_table_model = ResultTableModel()
|
|
79
79
|
self.setupUi()
|
|
80
|
+
self._update_preview_colors()
|
|
80
81
|
self.computation_thread: QtCore.QThread | None = None
|
|
81
82
|
|
|
82
83
|
self.trajectory_manager = TrajectoryManager()
|
|
@@ -446,8 +447,13 @@ class TrajectopyGUI(QtWidgets.QMainWindow):
|
|
|
446
447
|
# Draw 2D XY preview
|
|
447
448
|
self._preview_ax.set_visible(True)
|
|
448
449
|
_MAX_PREVIEW_POINTS = 2000
|
|
450
|
+
local_transformer = None
|
|
449
451
|
for entry in entries:
|
|
450
452
|
t = entry.trajectory
|
|
453
|
+
|
|
454
|
+
if local_transformer is None and t.positions.local_transformer is not None:
|
|
455
|
+
local_transformer = t.positions.local_transformer
|
|
456
|
+
|
|
451
457
|
try:
|
|
452
458
|
n = len(t.positions.xyz)
|
|
453
459
|
if n > _MAX_PREVIEW_POINTS:
|
|
@@ -455,7 +461,9 @@ class TrajectopyGUI(QtWidgets.QMainWindow):
|
|
|
455
461
|
pos_subset = t.positions.copy()
|
|
456
462
|
pos_subset.xyz = t.positions.xyz[idx]
|
|
457
463
|
else:
|
|
458
|
-
pos_subset = t.positions
|
|
464
|
+
pos_subset = t.positions.copy()
|
|
465
|
+
|
|
466
|
+
pos_subset.local_transformer = local_transformer
|
|
459
467
|
local_xyz = pos_subset.to_local(inplace=False).xyz
|
|
460
468
|
self._preview_ax.plot(local_xyz[:, 0], local_xyz[:, 1], linewidth=1.0, label=t.name)
|
|
461
469
|
except Exception:
|
|
@@ -653,7 +661,8 @@ class TrajectopyGUI(QtWidgets.QMainWindow):
|
|
|
653
661
|
details_v_splitter.addWidget(self.details_text)
|
|
654
662
|
|
|
655
663
|
# Matplotlib 2D preview canvas
|
|
656
|
-
|
|
664
|
+
preview_colors = MPL_COLORS["dark" if self._dark_theme else "light"]
|
|
665
|
+
self._preview_fig = Figure(figsize=(4, 3), tight_layout=True, facecolor=preview_colors["bg"])
|
|
657
666
|
self._preview_ax = self._preview_fig.add_subplot(111)
|
|
658
667
|
self._preview_ax.set_visible(False)
|
|
659
668
|
self._preview_canvas = FigureCanvas(self._preview_fig)
|
|
@@ -128,7 +128,7 @@ class ResultTableView(QtWidgets.QTableView):
|
|
|
128
128
|
self.ui_request.emit(UIRequest(type=UIRequestType.RES_PROPERTIES, result_selection=self.selection))
|
|
129
129
|
elif len(self.selected_entries) > 1:
|
|
130
130
|
return
|
|
131
|
-
elif e.key()
|
|
131
|
+
elif e.key() in (Qt.Key.Key_U, Qt.Key.Key_F2):
|
|
132
132
|
self.result_model_request.emit(
|
|
133
133
|
ResultModelRequest(type=ResultModelRequestType.RENAME, selection=self.selection)
|
|
134
134
|
)
|
|
@@ -175,7 +175,7 @@ class TrajectoryTableView(QtWidgets.QTableView):
|
|
|
175
175
|
trajectory_selection=self.selection,
|
|
176
176
|
)
|
|
177
177
|
)
|
|
178
|
-
elif e.key()
|
|
178
|
+
elif e.key() in (Qt.Key.Key_U, Qt.Key.Key_F2):
|
|
179
179
|
self.trajectory_model_request.emit(
|
|
180
180
|
TrajectoryModelRequest(type=TrajectoryModelRequestType.RENAME, selection=self.selection)
|
|
181
181
|
)
|
|
@@ -205,3 +205,28 @@ trajectopy
|
|
|
205
205
|
```
|
|
206
206
|
|
|
207
207
|
This opens the application where you can drag & drop files, align them, and view results interactively.
|
|
208
|
+
|
|
209
|
+
### Keyboard Shortcuts
|
|
210
|
+
|
|
211
|
+
Keyboard shortcuts are active when the corresponding table has focus and at least one row is selected.
|
|
212
|
+
|
|
213
|
+
| Shortcut | Context | Action | Availability |
|
|
214
|
+
| --- | --- | --- | --- |
|
|
215
|
+
| `Delete` | Trajectories table | Remove selected trajectories | Single and multi selection |
|
|
216
|
+
| `T` | Trajectories table | Transform to EPSG | Single and multi selection |
|
|
217
|
+
| `Ctrl+C` | Trajectories table | Copy selected trajectories | Single and multi selection |
|
|
218
|
+
| `P` | Trajectories table | Open trajectory properties | Single and multi selection |
|
|
219
|
+
| `V` | Trajectories table | Plot selected trajectories (2D) | Single and multi selection |
|
|
220
|
+
| `M` | Trajectories table | Merge selected trajectories | Single and multi selection |
|
|
221
|
+
| `R` | Trajectories table | Set selected trajectory as reference | Single selection only |
|
|
222
|
+
| `Shift+R` | Trajectories table | Unset reference trajectory | Single selection only |
|
|
223
|
+
| `S` | Trajectories table | Open trajectory settings | Single selection only |
|
|
224
|
+
| `U` | Trajectories table | Rename selected trajectory | Single selection only |
|
|
225
|
+
| `F2` | Trajectories table | Rename selected trajectory | Single selection only |
|
|
226
|
+
| `E` | Trajectories table | Export selected trajectory | Single selection only |
|
|
227
|
+
| `Delete` | Results table | Remove selected results | Single and multi selection |
|
|
228
|
+
| `Ctrl+C` | Results table | Copy selected results | Single and multi selection |
|
|
229
|
+
| `P` | Results table | Open result properties | Single and multi selection |
|
|
230
|
+
| `U` | Results table | Rename selected result | Single selection only |
|
|
231
|
+
| `F2` | Results table | Rename selected result | Single selection only |
|
|
232
|
+
| `E` | Results table | Export selected result | Single selection only |
|