gri-plot 0.2.1__tar.gz → 0.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.
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.docs_other_projects.md +10 -6
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.init_venv.sh +8 -3
- {gri_plot-0.2.1 → gri_plot-0.2.3}/PKG-INFO +15 -4
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/__init__.py +3 -0
- gri_plot-0.2.3/gri_plot/figure_map.py +714 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/pyproject.toml +18 -3
- gri_plot-0.2.3/report.xml +1 -0
- gri_plot-0.2.3/test/test_figure_map.py +338 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/uv.lock +193 -1
- gri_plot-0.2.1/report.xml +0 -1
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.coveragerc +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.gitignore +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.gitlab-ci-deps.yml +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.gitlab-ci.yml +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.pre-commit-config.yaml +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.pre-commit-unskipped.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.python-version +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.ruff.toml +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/.vscode/settings.json +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/CONTRIBUTING.md +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/LICENSE +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/README.md +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/figure3d.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/frames.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/observables/__init__.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/observables/aoa.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/observables/fdoa.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/observables/los.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/observables/range_sphere.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/observables/tdoa.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/observables/terrain.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/plot_ellipse.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/py.typed +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/scatter.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/scatter_map.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/shapes/__init__.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/shapes/cone.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/shapes/cylinder.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/shapes/ellipse.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/shapes/ellipsoid.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/shapes/meshgen.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/shapes/sphere.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/surfaces/__init__.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/surfaces/gradients/__init__.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/surfaces/gradients/axis.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/surfaces/gradients/line.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/surfaces/gradients/plane.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/surfaces/gradients/point.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/surfaces/intersection.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/gri_plot/surfaces/mesh.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/notes.txt +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/__init__.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_figure3d.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_frames.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_observables/__init__.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_observables/test_aoa.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_observables/test_fdoa.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_observables/test_los.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_observables/test_range_sphere.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_observables/test_tdoa.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_observables/test_terrain.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_plot_ellipse.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_plot_scattermap.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_scatter.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_shapes/__init__.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_shapes/test_cone.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_shapes/test_cylinder.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_shapes/test_ellipse.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_shapes/test_ellipsoid.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_shapes/test_sphere.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_surfaces/__init__.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_surfaces/test_intersection.py +0 -0
- {gri_plot-0.2.1 → gri_plot-0.2.3}/test/test_surfaces/test_mesh.py +0 -0
|
@@ -16,10 +16,6 @@ Equation fitting wrapper around scipy.optimize.curve\_fit. Simplifies curve fitt
|
|
|
16
16
|
|
|
17
17
|
Class-based memoization with full type hints and IDE integration. Provides caching decorators for performance optimization.
|
|
18
18
|
|
|
19
|
-
### [GRI Plot](https://gitlab.com/geosol-foss/python/gri-plot)
|
|
20
|
-
|
|
21
|
-
Plotting utilities for Plotly and Matplotlib. Provides consistent styling and common plot types for geospatial visualization.
|
|
22
|
-
|
|
23
19
|
### [GRI Signal](https://gitlab.com/geosol-foss/python/gri-signal)
|
|
24
20
|
|
|
25
21
|
Functional signal processing library with pure functions operating on numpy arrays. Includes signal generation (tones, PRN, pulsed), channel simulation (delay, AWGN, Doppler, multipath), modulation (AM/FM/PM, BPSK/QPSK/QAM), sampling (ADC), filtering (lowpass, highpass, bandpass, notch, analytic), spectral analysis (PSD, SNR, THD, time-bandwidth product), cross-correlation, and beamforming.
|
|
@@ -46,6 +42,14 @@ Solar flux and NeQuickG coefficient data pipeline for ionospheric modeling.
|
|
|
46
42
|
|
|
47
43
|
A lot of the work we do is down to nanosecond or tens of nanosecond accuracy. We needed an object that could both handle that level of precision as well as do a lot of the string <=> time conversions for the many semi-standards formats we run into in this field.
|
|
48
44
|
|
|
45
|
+
### [GRI Obs](https://gitlab.com/geosol-foss/python/gri-obs)
|
|
46
|
+
|
|
47
|
+
Typed observation objects (TDOA, FDOA, AOA, Range, PDOA) for geolocation measurements. Each observation carries measurement data, noise characterization, sensor geometry, and measurement math (predicted values, Jacobians, noise covariance) for EKF integration with Kalman filters.
|
|
48
|
+
|
|
49
|
+
### [GRI Plot](https://gitlab.com/geosol-foss/python/gri-plot)
|
|
50
|
+
|
|
51
|
+
Plotting utilities for Plotly and Matplotlib. Provides consistent styling and common plot types for geospatial visualization.
|
|
52
|
+
|
|
49
53
|
### [GRI Pos](https://gitlab.com/geosol-foss/python/gri-pos)
|
|
50
54
|
|
|
51
55
|
A position object that greatly simplifies handling coordinates, distances, and memory, mostly on the WGS-84 ellipsoid.
|
|
@@ -66,7 +70,7 @@ ERA5 data pipeline for downloading and processing tropospheric refractivity data
|
|
|
66
70
|
|
|
67
71
|
### [GRI Convolve](https://gitlab.com/geosol-foss/python/gri-convolve)
|
|
68
72
|
|
|
69
|
-
Ellipsoid convolution with outlier detection and clustering. Combines multiple statistical position estimates into refined solutions.
|
|
73
|
+
Ellipsoid convolution with outlier detection and clustering, plus Kalman tracking via Interacting Multiple Model (IMM) filter. Combines multiple statistical position estimates into refined solutions. The Kalman tracker supports both ellipsoid-based and raw observable (EKF) updates, bidirectional outlier detection, and online track segmentation.
|
|
70
74
|
|
|
71
75
|
### [GRI GeoSim](https://gitlab.com/geosol-foss/python/gri-geosim)
|
|
72
76
|
|
|
@@ -78,4 +82,4 @@ Some neat (small) examples and projects we've put together over time using the a
|
|
|
78
82
|
|
|
79
83
|
### [GRI SigSim](https://gitlab.com/geosol-foss/python/gri-sigsim)
|
|
80
84
|
|
|
81
|
-
Object-based RF signal simulation library. Wraps gri-signal functions with chainable object-oriented classes for waveforms (
|
|
85
|
+
Object-based RF signal simulation library. Wraps gri-signal functions with chainable object-oriented classes for waveforms (pulsed, PRN, tone), channel modeling (delay, Doppler, multipath), receiver simulation, and TOA estimation.
|
|
@@ -65,10 +65,15 @@ if [ $? -ne 0 ]; then
|
|
|
65
65
|
fi
|
|
66
66
|
uv sync
|
|
67
67
|
|
|
68
|
-
# activate and print version
|
|
68
|
+
# activate and print version (Scripts/ on Windows, bin/ elsewhere)
|
|
69
69
|
echo "${bold}Activating environment${normal}"
|
|
70
|
-
|
|
71
|
-
$VENV/
|
|
70
|
+
if [[ -d "$VENV/Scripts" ]]; then
|
|
71
|
+
. $VENV/Scripts/activate
|
|
72
|
+
$VENV/Scripts/python --version
|
|
73
|
+
else
|
|
74
|
+
. $VENV/bin/activate
|
|
75
|
+
$VENV/bin/python --version
|
|
76
|
+
fi
|
|
72
77
|
|
|
73
78
|
# Install pre-commit scripts
|
|
74
79
|
echo "${bold}Installing git hooks${normal}"
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gri-plot
|
|
3
|
-
Version: 0.2.
|
|
4
|
-
|
|
5
|
-
Project-URL:
|
|
3
|
+
Version: 0.2.3
|
|
4
|
+
Summary: 3D geolocation visualization and 2D plotting utilities built on Plotly
|
|
5
|
+
Project-URL: Homepage, https://geosolresearch.com
|
|
6
|
+
Project-URL: Repository, https://gitlab.com/geosol-foss/python/gri-plot
|
|
7
|
+
Project-URL: Issues, https://gitlab.com/geosol-foss/python/gri-plot/-/issues
|
|
8
|
+
Project-URL: Changelog, https://gitlab.com/geosol-foss/python/gri-plot/-/releases
|
|
9
|
+
Author-email: GeoSol Research Inc <contact@geosolresearch.com>
|
|
6
10
|
License-Expression: MIT
|
|
7
11
|
License-File: LICENSE
|
|
12
|
+
Keywords: 3D,geolocation,matplotlib,plotly,visualization
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Science/Research
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
8
19
|
Requires-Python: >=3.12
|
|
9
|
-
Requires-Dist: gri-utils>=0.
|
|
20
|
+
Requires-Dist: gri-utils>=0.3.3
|
|
10
21
|
Requires-Dist: numpy>=2.3.3
|
|
11
22
|
Requires-Dist: plotly>=6.3.0
|
|
12
23
|
Requires-Dist: scikit-image>=0.25.0
|
|
@@ -17,6 +17,7 @@ Main components:
|
|
|
17
17
|
# 2D plotting
|
|
18
18
|
# 3D plotting infrastructure
|
|
19
19
|
from .figure3d import DEFAULT_COLORS, Figure3D, plot_surfaces
|
|
20
|
+
from .figure_map import FigureMap, MapStyle
|
|
20
21
|
from .frames import Bounds, Frame, FrameTransformer
|
|
21
22
|
|
|
22
23
|
# Observables
|
|
@@ -64,10 +65,12 @@ __all__ = [
|
|
|
64
65
|
"Ellipsoid",
|
|
65
66
|
"FdoaSurface",
|
|
66
67
|
"Figure3D",
|
|
68
|
+
"FigureMap",
|
|
67
69
|
"Frame",
|
|
68
70
|
"FrameTransformer",
|
|
69
71
|
"ImplicitShape",
|
|
70
72
|
"LosSurface",
|
|
73
|
+
"MapStyle",
|
|
71
74
|
"RangeSphere",
|
|
72
75
|
"Sphere",
|
|
73
76
|
"TdoaSurface",
|