geopyv-dev 0.2.1__tar.gz → 0.2.2__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.
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/Cargo.lock +3 -3
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/Cargo.toml +1 -1
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/PKG-INFO +1 -1
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/02_subset.rst +12 -4
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/Cargo.toml +1 -1
- geopyv_dev-0.2.2/geopyv-gui/src/field_tab.rs +1011 -0
- geopyv_dev-0.2.2/geopyv-gui/src/field_view.rs +1046 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/lib.rs +2 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/main_window.rs +2 -4
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/mesh_tab.rs +5 -112
- geopyv_dev-0.2.2/geopyv-gui/src/overlay.rs +476 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv_dev/plots.py +48 -83
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/pyproject.toml +1 -1
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/Cargo.toml +1 -1
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_field.rs +66 -1
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_subset.rs +5 -5
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/field.rs +509 -2
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/io.rs +171 -9
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/subset.rs +209 -30
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/validation.rs +2 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/io/test_io.py +1 -1
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/plots/test_plots.py +113 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/subset/test_subset.py +36 -0
- geopyv_dev-0.2.2/tests/solve_timing.rs +181 -0
- geopyv_dev-0.2.1/geopyv-gui/src/field_tab.rs +0 -1533
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/.github/workflows/release.yml +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/.gitignore +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/.readthedocs.yaml +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/CLAUDE.md +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/LICENSE +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/Makefile +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/README.md +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/basictest.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/gifs/intro_hero.gif +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/gifs/quad_deformation.gif +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/gifs/region_motion.gif +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/gifs/sequence_distortion.gif +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/gifs/subset_shape_order.gif +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/img/c2_subset.png +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/img/combined_25_standard_error.png +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/img/mask_local_vs_global.png +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/img/mesh_solve_flow.png +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/img/sequence_solve_flow.png +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/_static/img/subset_quality.png +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/api/index.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/conf.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/index.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/installation.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/requirements-docs.txt +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/scripts/build_images_assets.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/scripts/build_intro_gif.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/scripts/build_mesh_flow.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/scripts/build_region_motion_gif.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/scripts/build_sequence_distortion_gif.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/scripts/build_sequence_flow.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/scripts/build_subset_assets.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/scripts/common.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/00_introduction.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/01_images_and_masks.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/03_mesh.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/04_sequence.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/05_particle.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/06_field.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/07_validation.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/08_calibration.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/docs/tutorials/index.rst +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/00_introduction.ipynb +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/01_images_and_masks.ipynb +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/02_subset.ipynb +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/03_mesh.ipynb +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/04_sequence.ipynb +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/05_particle_and_field.ipynb +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/data/sequence/seq_0.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/data/sequence/seq_1.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/data/sequence/seq_2.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/data/sequence/seq_3.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/data/sequence/seq_4.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/data/single/intro_0.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-dev-tutorials/data/single/intro_1.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/app.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/colormap.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/draw.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/image_viewer.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/main.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/particle_tab.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/progress.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/project.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/recent.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/sequence_tab.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv-gui/src/subset_tab.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv_dev/__init__.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv_dev/calibration.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv_dev/gui.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/geopyv_dev/wrappers.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/SB/SB_0.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/SB/SB_1.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/SB/SB_2.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/SB/SB_3.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/SB/SB_4.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/SB/SB_5.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/SB/speckle_SB.pyv +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_0.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_1.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_10.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_2.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_3.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_4.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_5.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_6.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_7.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_8.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/comp/compression_9.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/quality/quality_speckle.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/shear/shear_0.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/shear/shear_1.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/shear/shear_2.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/shear/shear_3.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/shear/shear_4.jpg +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/images/shear/speckle_shear.pyv +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/geopyv-dev/__init__.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/lib.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_calibration.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_geometry.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_gui.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_image.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_io.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_mask.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_mesh.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_particle.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_sequence.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_speckle.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/py_validation.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/python/src/utils.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/calibration.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/error.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/geometry/meshing.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/geometry/mod.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/geometry/rasterize.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/geometry/region.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/geometry/triangulation.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/geometry/utilities.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/image.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/lib.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/masks.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/mesh.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/particle.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/progress.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/sequence.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/src/speckle.rs +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/calibration/test_calibration.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/field/test_field.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/geometry/test_geometry.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/image/test_image.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/mesh/test_mesh.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/particle/test_particle.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/plots/__init__.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/plots/conftest.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/sequence/test_sequence.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/templates/test_templates.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/validation/test_validation.py +0 -0
- {geopyv_dev-0.2.1 → geopyv_dev-0.2.2}/tests/python/validation/test_validation_solve.py +0 -0
|
@@ -1531,7 +1531,7 @@ dependencies = [
|
|
|
1531
1531
|
|
|
1532
1532
|
[[package]]
|
|
1533
1533
|
name = "geopyv-dev"
|
|
1534
|
-
version = "0.2.
|
|
1534
|
+
version = "0.2.2"
|
|
1535
1535
|
dependencies = [
|
|
1536
1536
|
"bincode",
|
|
1537
1537
|
"image",
|
|
@@ -1550,7 +1550,7 @@ dependencies = [
|
|
|
1550
1550
|
|
|
1551
1551
|
[[package]]
|
|
1552
1552
|
name = "geopyv-dev-python"
|
|
1553
|
-
version = "0.2.
|
|
1553
|
+
version = "0.2.2"
|
|
1554
1554
|
dependencies = [
|
|
1555
1555
|
"geopyv-dev",
|
|
1556
1556
|
"geopyv-gui",
|
|
@@ -1561,7 +1561,7 @@ dependencies = [
|
|
|
1561
1561
|
|
|
1562
1562
|
[[package]]
|
|
1563
1563
|
name = "geopyv-gui"
|
|
1564
|
-
version = "0.2.
|
|
1564
|
+
version = "0.2.2"
|
|
1565
1565
|
dependencies = [
|
|
1566
1566
|
"dirs",
|
|
1567
1567
|
"eframe",
|
|
@@ -33,8 +33,9 @@ A ``Subset`` is defined by four things:
|
|
|
33
33
|
- The patch's radius (circle) or half-width (square), set on the
|
|
34
34
|
``local_mask`` itself
|
|
35
35
|
* - Order
|
|
36
|
-
- ``subset_order`` — 1 (affine) or 2 (quadratic); how
|
|
37
|
-
solver is allowed to fit (see *The warp function*,
|
|
36
|
+
- ``subset_order`` — 0 (translation), 1 (affine), or 2 (quadratic); how
|
|
37
|
+
complex a warp the solver is allowed to fit (see *The warp function*,
|
|
38
|
+
below). Default ``1``.
|
|
38
39
|
|
|
39
40
|
.. image:: /_static/gifs/subset_shape_order.gif
|
|
40
41
|
:alt: A circle and a square subset template growing and shrinking, then fixed
|
|
@@ -117,7 +118,12 @@ The warp function
|
|
|
117
118
|
-------------------
|
|
118
119
|
|
|
119
120
|
The DIC solver describes how a subset deforms using a **warp vector** ``p``. For
|
|
120
|
-
**order
|
|
121
|
+
**order 0** (translation only, 2 parameters)::
|
|
122
|
+
|
|
123
|
+
u(x,y) = p[0]
|
|
124
|
+
v(x,y) = p[1]
|
|
125
|
+
|
|
126
|
+
For **order 1** (affine, 6 parameters)::
|
|
121
127
|
|
|
122
128
|
u(x,y) = p[0] + p[2]·Δx + p[4]·Δy
|
|
123
129
|
v(x,y) = p[1] + p[3]·Δx + p[5]·Δy
|
|
@@ -130,7 +136,9 @@ ordering used by ``Speckle``'s ``comp`` array in :doc:`00_introduction` and
|
|
|
130
136
|
|
|
131
137
|
For **order 2** (quadratic, 12 parameters), six second-order terms
|
|
132
138
|
(``p[6..11]``) are added. Most analyses use order 1 for ``Subset`` and order 2
|
|
133
|
-
for ``Mesh``/``Sequence
|
|
139
|
+
for ``Mesh``/``Sequence``; order 0 is mainly useful as a deliberately
|
|
140
|
+
under-specified baseline, e.g. for warp-adequacy diagnostics that compare a
|
|
141
|
+
solve's residual against the modes a lower order couldn't fit.
|
|
134
142
|
|
|
135
143
|
Solve
|
|
136
144
|
------
|