pymvis 0.1.0__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.
- pymvis-0.1.0/COMMERCIAL-LICENSE.md +40 -0
- pymvis-0.1.0/LICENSE +674 -0
- pymvis-0.1.0/PKG-INFO +625 -0
- pymvis-0.1.0/README.md +578 -0
- pymvis-0.1.0/pyproject.toml +103 -0
- pymvis-0.1.0/setup.cfg +4 -0
- pymvis-0.1.0/src/mvis/__init__.py +20 -0
- pymvis-0.1.0/src/mvis/analysis/__init__.py +22 -0
- pymvis-0.1.0/src/mvis/analysis/cam_imu_report.py +1046 -0
- pymvis-0.1.0/src/mvis/analysis/display_frame.py +58 -0
- pymvis-0.1.0/src/mvis/analysis/generate_report.py +309 -0
- pymvis-0.1.0/src/mvis/analysis/html_report.py +898 -0
- pymvis-0.1.0/src/mvis/analysis/imu_correlation.py +128 -0
- pymvis-0.1.0/src/mvis/analysis/motion_analysis.py +277 -0
- pymvis-0.1.0/src/mvis/analysis/plot_3d.py +1136 -0
- pymvis-0.1.0/src/mvis/analysis/plot_errors.py +1116 -0
- pymvis-0.1.0/src/mvis/analysis/pose_images.py +245 -0
- pymvis-0.1.0/src/mvis/analysis/reference.py +100 -0
- pymvis-0.1.0/src/mvis/analysis/regenerate_html.py +500 -0
- pymvis-0.1.0/src/mvis/analysis/report.py +97 -0
- pymvis-0.1.0/src/mvis/analysis/report_shell.py +1067 -0
- pymvis-0.1.0/src/mvis/analysis/reprojection_error.py +83 -0
- pymvis-0.1.0/src/mvis/analysis/rerun_viz.py +298 -0
- pymvis-0.1.0/src/mvis/analysis/verdict.py +251 -0
- pymvis-0.1.0/src/mvis/analysis/views/__init__.py +26 -0
- pymvis-0.1.0/src/mvis/analysis/views/assets/views.css +76 -0
- pymvis-0.1.0/src/mvis/analysis/views/assets/views.js +495 -0
- pymvis-0.1.0/src/mvis/analysis/views/geometry.py +174 -0
- pymvis-0.1.0/src/mvis/analysis/views/html.py +60 -0
- pymvis-0.1.0/src/mvis/analysis/views/legacy.py +152 -0
- pymvis-0.1.0/src/mvis/analysis/views/spec.py +385 -0
- pymvis-0.1.0/src/mvis/calibration/__init__.py +21 -0
- pymvis-0.1.0/src/mvis/calibration/board_shape.py +39 -0
- pymvis-0.1.0/src/mvis/calibration/cam_imu_init.py +1092 -0
- pymvis-0.1.0/src/mvis/calibration/cam_run.py +754 -0
- pymvis-0.1.0/src/mvis/calibration/corner_accounting.py +272 -0
- pymvis-0.1.0/src/mvis/calibration/factors/__init__.py +20 -0
- pymvis-0.1.0/src/mvis/calibration/factors/_calib_memo.py +137 -0
- pymvis-0.1.0/src/mvis/calibration/factors/aci.py +640 -0
- pymvis-0.1.0/src/mvis/calibration/factors/camera_calib.py +161 -0
- pymvis-0.1.0/src/mvis/calibration/factors/camera_feature_factor.py +224 -0
- pymvis-0.1.0/src/mvis/calibration/factors/camera_imu_factor.py +427 -0
- pymvis-0.1.0/src/mvis/calibration/factors/camera_interp_factor.py +259 -0
- pymvis-0.1.0/src/mvis/calibration/factors/camera_intrinsics.py +49 -0
- pymvis-0.1.0/src/mvis/calibration/factors/camera_projection.py +218 -0
- pymvis-0.1.0/src/mvis/calibration/factors/corner_reproj.py +85 -0
- pymvis-0.1.0/src/mvis/calibration/factors/custom_projections.py +916 -0
- pymvis-0.1.0/src/mvis/calibration/factors/imu_calib.py +84 -0
- pymvis-0.1.0/src/mvis/calibration/factors/imu_factor.py +231 -0
- pymvis-0.1.0/src/mvis/calibration/factors/imu_factor_gyro.py +179 -0
- pymvis-0.1.0/src/mvis/calibration/factors/imu_factor_multi.py +213 -0
- pymvis-0.1.0/src/mvis/calibration/factors/imu_segment.py +261 -0
- pymvis-0.1.0/src/mvis/calibration/factors/lie_groups.py +301 -0
- pymvis-0.1.0/src/mvis/calibration/factors/numdiff.py +72 -0
- pymvis-0.1.0/src/mvis/calibration/factors/pose_interpolation.py +173 -0
- pymvis-0.1.0/src/mvis/calibration/factors/projection.py +74 -0
- pymvis-0.1.0/src/mvis/calibration/init_frame_selector.py +184 -0
- pymvis-0.1.0/src/mvis/calibration/initializer.py +1125 -0
- pymvis-0.1.0/src/mvis/calibration/lm_params.py +97 -0
- pymvis-0.1.0/src/mvis/calibration/lm_progress.py +113 -0
- pymvis-0.1.0/src/mvis/calibration/lm_rescue.py +99 -0
- pymvis-0.1.0/src/mvis/calibration/mono_sfm.py +507 -0
- pymvis-0.1.0/src/mvis/calibration/multi_board_init.py +178 -0
- pymvis-0.1.0/src/mvis/calibration/multi_board_pipeline.py +159 -0
- pymvis-0.1.0/src/mvis/calibration/omni_schedule.py +120 -0
- pymvis-0.1.0/src/mvis/calibration/optimizer.py +1056 -0
- pymvis-0.1.0/src/mvis/calibration/outlier_rejection.py +223 -0
- pymvis-0.1.0/src/mvis/calibration/pipeline_cam.py +2236 -0
- pymvis-0.1.0/src/mvis/calibration/pipeline_cam_imu.py +2365 -0
- pymvis-0.1.0/src/mvis/calibration/pose_alignment.py +955 -0
- pymvis-0.1.0/src/mvis/calibration/reproj_stats.py +58 -0
- pymvis-0.1.0/src/mvis/calibration/result_projector.py +179 -0
- pymvis-0.1.0/src/mvis/calibration/selection_ledger.py +188 -0
- pymvis-0.1.0/src/mvis/calibration/sensor_clock.py +153 -0
- pymvis-0.1.0/src/mvis/calibration/state_dump.py +441 -0
- pymvis-0.1.0/src/mvis/calibration/tga_relin.py +168 -0
- pymvis-0.1.0/src/mvis/camera/__init__.py +28 -0
- pymvis-0.1.0/src/mvis/camera/camera_model.py +241 -0
- pymvis-0.1.0/src/mvis/camera/double_sphere.py +80 -0
- pymvis-0.1.0/src/mvis/camera/eucm.py +78 -0
- pymvis-0.1.0/src/mvis/camera/fov_model.py +76 -0
- pymvis-0.1.0/src/mvis/camera/kb4.py +69 -0
- pymvis-0.1.0/src/mvis/camera/kb_domain.py +115 -0
- pymvis-0.1.0/src/mvis/camera/normalized_points.py +64 -0
- pymvis-0.1.0/src/mvis/camera/omni_radtan.py +75 -0
- pymvis-0.1.0/src/mvis/camera/pinhole_equidistant.py +115 -0
- pymvis-0.1.0/src/mvis/camera/pinhole_radtan.py +113 -0
- pymvis-0.1.0/src/mvis/camera/ucm.py +87 -0
- pymvis-0.1.0/src/mvis/cli/__init__.py +27 -0
- pymvis-0.1.0/src/mvis/cli/blas_threads.py +142 -0
- pymvis-0.1.0/src/mvis/cli/main.py +1101 -0
- pymvis-0.1.0/src/mvis/core/__init__.py +26 -0
- pymvis-0.1.0/src/mvis/core/camera_models.py +231 -0
- pymvis-0.1.0/src/mvis/core/config.py +754 -0
- pymvis-0.1.0/src/mvis/core/config_parser.py +479 -0
- pymvis-0.1.0/src/mvis/core/config_validator.py +122 -0
- pymvis-0.1.0/src/mvis/core/eigen_cache.py +132 -0
- pymvis-0.1.0/src/mvis/core/paths.py +34 -0
- pymvis-0.1.0/src/mvis/core/rotation.py +31 -0
- pymvis-0.1.0/src/mvis/core/shutter.py +69 -0
- pymvis-0.1.0/src/mvis/core/system_info.py +161 -0
- pymvis-0.1.0/src/mvis/core/timing.py +173 -0
- pymvis-0.1.0/src/mvis/core/types.py +171 -0
- pymvis-0.1.0/src/mvis/datasets/__init__.py +27 -0
- pymvis-0.1.0/src/mvis/datasets/catalog.py +323 -0
- pymvis-0.1.0/src/mvis/datasets/cli.py +121 -0
- pymvis-0.1.0/src/mvis/datasets/conversion.py +150 -0
- pymvis-0.1.0/src/mvis/datasets/converters/__init__.py +44 -0
- pymvis-0.1.0/src/mvis/datasets/converters/archive.py +99 -0
- pymvis-0.1.0/src/mvis/datasets/converters/euroc_folder_to_rosbag.py +183 -0
- pymvis-0.1.0/src/mvis/datasets/converters/gilabs_mcap.py +195 -0
- pymvis-0.1.0/src/mvis/datasets/converters/image_folder_to_rosbag.py +78 -0
- pymvis-0.1.0/src/mvis/datasets/converters/looper_mav0.py +221 -0
- pymvis-0.1.0/src/mvis/datasets/converters/mcap_to_euroc_folder.py +41 -0
- pymvis-0.1.0/src/mvis/datasets/converters/penncosyvio_to_rosbag.py +129 -0
- pymvis-0.1.0/src/mvis/datasets/converters/rosbag_mono16_to_mono8.py +74 -0
- pymvis-0.1.0/src/mvis/datasets/converters/rosbag_to_mcap.py +39 -0
- pymvis-0.1.0/src/mvis/datasets/converters/tumvie_to_euroc_folder.py +76 -0
- pymvis-0.1.0/src/mvis/datasets/dataset_catalog.json +2015 -0
- pymvis-0.1.0/src/mvis/datasets/download.py +192 -0
- pymvis-0.1.0/src/mvis/datasets/huggingface.py +214 -0
- pymvis-0.1.0/src/mvis/datasets/recipe_export.py +217 -0
- pymvis-0.1.0/src/mvis/detection/__init__.py +36 -0
- pymvis-0.1.0/src/mvis/detection/apriltag_board.py +644 -0
- pymvis-0.1.0/src/mvis/detection/apriltag_features.py +159 -0
- pymvis-0.1.0/src/mvis/detection/aruco_board.py +236 -0
- pymvis-0.1.0/src/mvis/detection/aruco_features.py +168 -0
- pymvis-0.1.0/src/mvis/detection/board.py +112 -0
- pymvis-0.1.0/src/mvis/detection/board_factory.py +86 -0
- pymvis-0.1.0/src/mvis/detection/boards.py +33 -0
- pymvis-0.1.0/src/mvis/detection/chessboard.py +130 -0
- pymvis-0.1.0/src/mvis/detection/corner_subsample.py +236 -0
- pymvis-0.1.0/src/mvis/detection/detectors.py +92 -0
- pymvis-0.1.0/src/mvis/detection/frame_quality.py +499 -0
- pymvis-0.1.0/src/mvis/detection/frontend.py +43 -0
- pymvis-0.1.0/src/mvis/detection/quality.py +24 -0
- pymvis-0.1.0/src/mvis/detection/quality_gate.py +346 -0
- pymvis-0.1.0/src/mvis/detection/sweep.py +60 -0
- pymvis-0.1.0/src/mvis/doctor/__init__.py +17 -0
- pymvis-0.1.0/src/mvis/doctor/check_config.py +337 -0
- pymvis-0.1.0/src/mvis/doctor/findings.py +44 -0
- pymvis-0.1.0/src/mvis/doctor/inspect.py +292 -0
- pymvis-0.1.0/src/mvis/imu/__init__.py +31 -0
- pymvis-0.1.0/src/mvis/imu/allan.py +79 -0
- pymvis-0.1.0/src/mvis/imu/calyx.py +54 -0
- pymvis-0.1.0/src/mvis/imu/imu_model.py +517 -0
- pymvis-0.1.0/src/mvis/imu/kalibr.py +52 -0
- pymvis-0.1.0/src/mvis/imu/resample.py +61 -0
- pymvis-0.1.0/src/mvis/imu/rpng.py +52 -0
- pymvis-0.1.0/src/mvis/io/__init__.py +42 -0
- pymvis-0.1.0/src/mvis/io/basalt.py +185 -0
- pymvis-0.1.0/src/mvis/io/cam_imu_loader.py +357 -0
- pymvis-0.1.0/src/mvis/io/cam_imu_output.py +258 -0
- pymvis-0.1.0/src/mvis/io/camera_input.py +181 -0
- pymvis-0.1.0/src/mvis/io/capture_key.py +58 -0
- pymvis-0.1.0/src/mvis/io/compressed_image.py +85 -0
- pymvis-0.1.0/src/mvis/io/data_loader.py +97 -0
- pymvis-0.1.0/src/mvis/io/data_source.py +93 -0
- pymvis-0.1.0/src/mvis/io/detection_cache.py +208 -0
- pymvis-0.1.0/src/mvis/io/detection_pipeline.py +867 -0
- pymvis-0.1.0/src/mvis/io/euroc_image_source.py +100 -0
- pymvis-0.1.0/src/mvis/io/fileutil.py +44 -0
- pymvis-0.1.0/src/mvis/io/frame_detector.py +64 -0
- pymvis-0.1.0/src/mvis/io/frame_selector.py +314 -0
- pymvis-0.1.0/src/mvis/io/image_decode.py +158 -0
- pymvis-0.1.0/src/mvis/io/image_source.py +75 -0
- pymvis-0.1.0/src/mvis/io/imu_reader.py +43 -0
- pymvis-0.1.0/src/mvis/io/kalibr.py +312 -0
- pymvis-0.1.0/src/mvis/io/output_writer.py +291 -0
- pymvis-0.1.0/src/mvis/io/result_schema.py +139 -0
- pymvis-0.1.0/src/mvis/io/ros1_bag_source.py +70 -0
- pymvis-0.1.0/src/mvis/io/ros2_bag_source.py +92 -0
- pymvis-0.1.0/src/mvis/io/ros_stamp.py +40 -0
- pymvis-0.1.0/src/mvis/io/safe_yaml.py +102 -0
- pymvis-0.1.0/src/mvis/io/segment_select.py +66 -0
- pymvis-0.1.0/src/mvis/io/sensor_clock.py +98 -0
- pymvis-0.1.0/src/mvis/io/stream_store.py +184 -0
- pymvis-0.1.0/src/mvis/io/timestamped_image_source.py +65 -0
- pymvis-0.1.0/src/mvis/mvisdb/__init__.py +28 -0
- pymvis-0.1.0/src/mvis/mvisdb/bridge.py +192 -0
- pymvis-0.1.0/src/mvis/mvisdb/estimates.py +284 -0
- pymvis-0.1.0/src/mvis/mvisdb/exports.py +140 -0
- pymvis-0.1.0/src/mvis/mvisdb/manager.py +719 -0
- pymvis-0.1.0/src/mvis/mvisdb/migrations/__init__.py +61 -0
- pymvis-0.1.0/src/mvis/mvisdb/migrations/m0001_initial.py +26 -0
- pymvis-0.1.0/src/mvis/mvisdb/migrations/m0002_cam_only_base_state.py +45 -0
- pymvis-0.1.0/src/mvis/mvisdb/migrations/m0003_reproj_stats.py +34 -0
- pymvis-0.1.0/src/mvis/mvisdb/mvisdatabase.py +775 -0
- pymvis-0.1.0/src/mvis/mvisdb/schema.sql +303 -0
- pymvis-0.1.0/src/mvis/mvisdb/shim.py +159 -0
- pymvis-0.1.0/src/mvis/mvisdb/spec.py +143 -0
- pymvis-0.1.0/src/mvis/recalib/__init__.py +29 -0
- pymvis-0.1.0/src/mvis/recalib/apply.py +381 -0
- pymvis-0.1.0/src/mvis/recalib/bagio.py +84 -0
- pymvis-0.1.0/src/mvis/recalib/calib_spec.py +174 -0
- pymvis-0.1.0/src/mvis/recalib/correct_imu.py +35 -0
- pymvis-0.1.0/src/mvis/recalib/prior.py +90 -0
- pymvis-0.1.0/src/mvis/recalib/provenance.py +59 -0
- pymvis-0.1.0/src/mvis/recalib/restamp.py +36 -0
- pymvis-0.1.0/src/mvis/recalib/restamp_sensor_clock.py +329 -0
- pymvis-0.1.0/src/mvis/recalib/result_metrics.py +149 -0
- pymvis-0.1.0/src/mvis/recalib/roundtrip.py +227 -0
- pymvis-0.1.0/src/mvis/recalib/sensor_map.py +97 -0
- pymvis-0.1.0/src/mvis/recalib/undistort.py +65 -0
- pymvis-0.1.0/src/mvis/simulation/__init__.py +68 -0
- pymvis-0.1.0/src/mvis/simulation/bspline_se3.py +184 -0
- pymvis-0.1.0/src/mvis/simulation/camera_measurements.py +183 -0
- pymvis-0.1.0/src/mvis/simulation/config.py +198 -0
- pymvis-0.1.0/src/mvis/simulation/data/examples/twin_gs/README.md +33 -0
- pymvis-0.1.0/src/mvis/simulation/data/examples/twin_gs/setup.yaml +78 -0
- pymvis-0.1.0/src/mvis/simulation/data/examples/twin_gs/trajectory.txt +1522 -0
- pymvis-0.1.0/src/mvis/simulation/data/gt_3cam.json +1 -0
- pymvis-0.1.0/src/mvis/simulation/data/trajectories/sine_3d.txt +5983 -0
- pymvis-0.1.0/src/mvis/simulation/examples.py +183 -0
- pymvis-0.1.0/src/mvis/simulation/from_result.py +220 -0
- pymvis-0.1.0/src/mvis/simulation/imu_measurements.py +168 -0
- pymvis-0.1.0/src/mvis/simulation/multi_board.py +482 -0
- pymvis-0.1.0/src/mvis/simulation/multicam.py +132 -0
- pymvis-0.1.0/src/mvis/simulation/noise.py +95 -0
- pymvis-0.1.0/src/mvis/simulation/report.py +221 -0
- pymvis-0.1.0/src/mvis/simulation/run.py +169 -0
- pymvis-0.1.0/src/mvis/simulation/scenario.py +150 -0
- pymvis-0.1.0/src/mvis/simulation/synth.py +237 -0
- pymvis-0.1.0/src/mvis/simulation/trajectories.py +65 -0
- pymvis-0.1.0/src/mvis/simulation/trajectory_io.py +107 -0
- pymvis-0.1.0/src/mvis/simulation/twin.py +515 -0
- pymvis-0.1.0/src/mvis/simulation/video.py +735 -0
- pymvis-0.1.0/src/mvis/simulation/visualization.py +124 -0
- pymvis-0.1.0/src/pymvis.egg-info/PKG-INFO +625 -0
- pymvis-0.1.0/src/pymvis.egg-info/SOURCES.txt +236 -0
- pymvis-0.1.0/src/pymvis.egg-info/dependency_links.txt +1 -0
- pymvis-0.1.0/src/pymvis.egg-info/entry_points.txt +2 -0
- pymvis-0.1.0/src/pymvis.egg-info/requires.txt +30 -0
- pymvis-0.1.0/src/pymvis.egg-info/top_level.txt +1 -0
- pymvis-0.1.0/tests/test_eigen_cache.py +172 -0
- pymvis-0.1.0/tests/test_intr_bounds.py +81 -0
- pymvis-0.1.0/tests/test_spdx_headers.py +82 -0
- pymvis-0.1.0/tests/test_system_info.py +45 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Licensing
|
|
2
|
+
|
|
3
|
+
MVIS is Copyright (C) 2026 Yulin Yang and the MVIS contributors (see `AUTHORS`).
|
|
4
|
+
|
|
5
|
+
MVIS is dual-licensed:
|
|
6
|
+
|
|
7
|
+
1. **GPL-3.0-only** (see `LICENSE`). Free for everyone, including companies,
|
|
8
|
+
for research, teaching, and internal use. If you distribute software that
|
|
9
|
+
includes or is derived from MVIS, you must release it under GPL-3.0.
|
|
10
|
+
|
|
11
|
+
2. **Commercial licence.** If you want to use MVIS in a closed-source product,
|
|
12
|
+
or otherwise cannot meet GPL-3.0 terms, a commercial licence is available.
|
|
13
|
+
Contact: licensing@openmvis.com
|
|
14
|
+
|
|
15
|
+
## Calibration results
|
|
16
|
+
|
|
17
|
+
The GPL covers the MVIS code, not what it computes. Calibration results you
|
|
18
|
+
produce by running MVIS on your own recordings (intrinsics, extrinsics, time
|
|
19
|
+
offsets, residuals, plots, reports) are yours. You may publish them anywhere,
|
|
20
|
+
including on commercial product pages, without a commercial licence.
|
|
21
|
+
|
|
22
|
+
Results computed on a dataset follow that dataset's licence. For example,
|
|
23
|
+
results from the CC BY-NC 4.0 VI-Rig data may not be used commercially
|
|
24
|
+
without a dataset licence (licensing@openmvis.com).
|
|
25
|
+
|
|
26
|
+
## Names
|
|
27
|
+
|
|
28
|
+
You may say that results were computed with MVIS (for example, "Calibrated
|
|
29
|
+
with MVIS", with a link to https://openmvis.com). Do not use the MVIS or
|
|
30
|
+
OpenMVIS names or logos in a way that suggests the project endorses or
|
|
31
|
+
certifies your product without written permission.
|
|
32
|
+
|
|
33
|
+
## Datasets
|
|
34
|
+
|
|
35
|
+
Datasets referenced by MVIS have their own licences. The VI-Rig and Looper
|
|
36
|
+
recordings are CC BY-NC 4.0 with gated access on Hugging Face; commercial use
|
|
37
|
+
is available by request (licensing@openmvis.com). The converted third-party
|
|
38
|
+
sets hosted there are CC BY 4.0, and TUM-VI is CC BY 4.0. Other third-party
|
|
39
|
+
datasets are not distributed here; download them from their owners under the
|
|
40
|
+
owners' terms.
|