From e9abea925b42fe6f3857574df6bc6e3328a9dec8 Mon Sep 17 00:00:00 2001 From: ruaridhg Date: Fri, 2 Jun 2023 12:03:44 +0100 Subject: [PATCH 1/8] Added 3D scatter test with different z-axis from default --- src/napari_matplotlib/scatter.py | 3 +++ .../scatter/baseline/test_scatter_3D.png | Bin 0 -> 15061 bytes .../tests/scatter/test_scatter.py | 24 ++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 src/napari_matplotlib/tests/scatter/baseline/test_scatter_3D.png diff --git a/src/napari_matplotlib/scatter.py b/src/napari_matplotlib/scatter.py index c439677b..6f7f3835 100644 --- a/src/napari_matplotlib/scatter.py +++ b/src/napari_matplotlib/scatter.py @@ -2,6 +2,7 @@ import napari import numpy.typing as npt +from numpy import array from qtpy.QtWidgets import QComboBox, QLabel, QVBoxLayout, QWidget from .base import NapariMPLWidget @@ -93,6 +94,8 @@ def _get_data(self) -> Tuple[npt.NDArray[Any], npt.NDArray[Any], str, str]: """ x = self.layers[0].data[self.current_z] y = self.layers[1].data[self.current_z] + print("x data size = ", array(x).shape) + print("y data size = ", array(y).shape) x_axis_name = self.layers[0].name y_axis_name = self.layers[1].name diff --git a/src/napari_matplotlib/tests/scatter/baseline/test_scatter_3D.png b/src/napari_matplotlib/tests/scatter/baseline/test_scatter_3D.png new file mode 100644 index 0000000000000000000000000000000000000000..6238d89db67ddd0af94dec109b89f3333b5db403 GIT binary patch literal 15061 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 Date: Fri, 2 Jun 2023 14:39:48 +0100 Subject: [PATCH 2/8] Changed default slice to 9 for test histrogram and slice --- .../tests/baseline/test_histogram_3D.png | Bin 16948 -> 17091 bytes .../tests/baseline/test_slice_3D.png | Bin 12825 -> 12791 bytes src/napari_matplotlib/tests/test_histogram.py | 3 +++ src/napari_matplotlib/tests/test_slice.py | 3 +++ 4 files changed, 6 insertions(+) diff --git a/src/napari_matplotlib/tests/baseline/test_histogram_3D.png b/src/napari_matplotlib/tests/baseline/test_histogram_3D.png index f93200226f9756b2dd8f0a56c4a97d4c08cc15af..484092b1ba0dbc9bfd876667fcd153f878d284c6 100644 GIT binary patch literal 17091 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 literal 16948 zcmeHvcU)83)@`gPf_M}UNLN4*P(Vd`6Dgrd3snM0lioo(iol@@ND%@^htNwvx{6Yz zLxLb60*2m03GJ-_o^tQ`?)Toi-(T3>cN#0Rka2ApCbMTQtiI0ufJv zJ`h)XikKgE4N2E9*w`NB?^K5kkK283WM4Eo9@t`Zv3M#pE`)_RIPpdEFXGqF869uD zAM=)JfFb3a6w`&z_LrG_$=^*Vypv%_&2>HXoJoem9%A_LBG)Edf9}nhQSOm9+=kT_ zu4sq-?2OzhqNQ^{s$p=hJkRb zx#~kWEcrtSAHSnMeg>j%t?NFIy4`4rUmS5?OvEuChd8q$aHk*;TLIp$w!R&r`#Z%e z(b1RpDNaE67*Ae+y!%?c+(?b`-rv*GI}Q29p?~IAh`#jt;%NP3QMN^4tus3I3?$BQ z4g8ezL?g9LUyf>4W2@-?R_E+O^`d%OH{WdMmLI2w_(P%P7ta~GICpzErzJVvB02;Y zYfAToAU@M~=3bnK@TuzIdt%qN>-V<@>%Hq2s%CHH=jBZaj&6mCY=7xo$WEfRsj)LE zXhLD&xeq8qBgxE^eZ4WQb1hE$=kxN$17F4gb z)$g=LrVm+HD-^o6TR5v>$hG9)^8&+^M zhb7rVg?@KR+G!VuNp6ol0g1Z}=I`4L_sy{Yr>U;1!uY8){7P(n9;0;FQ`ZsiJ*+pH ze&;>?6Juk^aG{moo--`1)IfahG%-0s-l_Ij-gCnBYs@|)qU&lB-Ltb9lZY&+!<*|m ze=*k9)$QM?-}kiXJO|-(kiSm^nbXvY!S{;pst$W@47+VqkLGLCe7|higb3wl&~Y8? zP0A#q_fTp#aggpj28p}ruYU~UJjc1e!ijV7-f*b`bGH`0zZrfhoS)i3?B43;c=+u1 zU{3Y;OgF;dyCo^+r(7YBQVGa0$Xqj#$kMUeFn({RbN^BD?wqMpKTKmfSa0XMS`s~kiNN&Ptopm>^b@B`WGh_*eafmXxACfsRgqyL6 zAKM4LGwFH@i#To(-FH!PY*X!(S>IU*-<^$7?|QFg3U9kML-_8D#%%eJHMp(Yw`W9- ztL?nAqWi0&xOXSWra-)!-=%UxmnLO^p=7u

;M3c3(#tIW(0ikQu5>Zf2FA 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 diff --git a/src/napari_matplotlib/tests/baseline/test_slice_3D.png b/src/napari_matplotlib/tests/baseline/test_slice_3D.png index f5077ea4ec472b2f7b8254e38c4cb6c90141750d..30b02e937c49be29d00201bebbc5d1aab01cf394 100644 GIT binary patch literal 12791 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 literal 12825 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 TpMB5=k3qE5b#YmzEPwr9mFNAZ diff --git a/src/napari_matplotlib/tests/test_histogram.py b/src/napari_matplotlib/tests/test_histogram.py index 14375887..802f1771 100644 --- a/src/napari_matplotlib/tests/test_histogram.py +++ b/src/napari_matplotlib/tests/test_histogram.py @@ -23,6 +23,9 @@ def test_histogram_2D(make_napari_viewer, astronaut_data): def test_histogram_3D(make_napari_viewer, brain_data): viewer = make_napari_viewer() viewer.add_image(brain_data[0], **brain_data[1]) + axis = viewer.dims.last_used + slice_no = 9 + viewer.dims.set_current_step(axis, slice_no) fig = HistogramWidget(viewer).figure # Need to return a copy, as original figure is too eagerley garbage # collected by the widget diff --git a/src/napari_matplotlib/tests/test_slice.py b/src/napari_matplotlib/tests/test_slice.py index 500d5ec0..f6fdddd3 100644 --- a/src/napari_matplotlib/tests/test_slice.py +++ b/src/napari_matplotlib/tests/test_slice.py @@ -9,6 +9,9 @@ def test_slice_3D(make_napari_viewer, brain_data): viewer = make_napari_viewer() viewer.add_image(brain_data[0], **brain_data[1]) + axis = viewer.dims.last_used + slice_no = 9 + viewer.dims.set_current_step(axis, slice_no) fig = SliceWidget(viewer).figure # Need to return a copy, as original figure is too eagerley garbage # collected by the widget From 040b614906b53e8bcc0f6132bddde7e63a08f311 Mon Sep 17 00:00:00 2001 From: ruaridhg Date: Fri, 2 Jun 2023 14:50:22 +0100 Subject: [PATCH 3/8] Changed hard-coded slice 9 to z-dimension - 1 --- src/napari_matplotlib/scatter.py | 3 --- src/napari_matplotlib/tests/scatter/test_scatter.py | 3 ++- src/napari_matplotlib/tests/test_histogram.py | 3 ++- src/napari_matplotlib/tests/test_slice.py | 3 ++- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/napari_matplotlib/scatter.py b/src/napari_matplotlib/scatter.py index 6f7f3835..c439677b 100644 --- a/src/napari_matplotlib/scatter.py +++ b/src/napari_matplotlib/scatter.py @@ -2,7 +2,6 @@ import napari import numpy.typing as npt -from numpy import array from qtpy.QtWidgets import QComboBox, QLabel, QVBoxLayout, QWidget from .base import NapariMPLWidget @@ -94,8 +93,6 @@ def _get_data(self) -> Tuple[npt.NDArray[Any], npt.NDArray[Any], str, str]: """ x = self.layers[0].data[self.current_z] y = self.layers[1].data[self.current_z] - print("x data size = ", array(x).shape) - print("y data size = ", array(y).shape) x_axis_name = self.layers[0].name y_axis_name = self.layers[1].name diff --git a/src/napari_matplotlib/tests/scatter/test_scatter.py b/src/napari_matplotlib/tests/scatter/test_scatter.py index f6a7685f..4af580de 100644 --- a/src/napari_matplotlib/tests/scatter/test_scatter.py +++ b/src/napari_matplotlib/tests/scatter/test_scatter.py @@ -1,6 +1,7 @@ from copy import deepcopy import pytest +from numpy import array from napari_matplotlib import ScatterWidget @@ -40,7 +41,7 @@ def test_scatter_3D(make_napari_viewer, brain_data): viewer.layers.selection.clear() # pdb.set_trace() axis = viewer.dims.last_used - slice_no = 9 + slice_no = array(brain_data[0]).shape[0] - 1 viewer.dims.set_current_step(axis, slice_no) # Select images viewer.layers.selection.add(viewer.layers[0]) diff --git a/src/napari_matplotlib/tests/test_histogram.py b/src/napari_matplotlib/tests/test_histogram.py index 802f1771..f9397405 100644 --- a/src/napari_matplotlib/tests/test_histogram.py +++ b/src/napari_matplotlib/tests/test_histogram.py @@ -1,6 +1,7 @@ from copy import deepcopy import pytest +from numpy import array from napari_matplotlib import HistogramWidget from napari_matplotlib.tests.helpers import ( @@ -24,7 +25,7 @@ def test_histogram_3D(make_napari_viewer, brain_data): viewer = make_napari_viewer() viewer.add_image(brain_data[0], **brain_data[1]) axis = viewer.dims.last_used - slice_no = 9 + slice_no = array(brain_data[0]).shape[0] - 1 viewer.dims.set_current_step(axis, slice_no) fig = HistogramWidget(viewer).figure # Need to return a copy, as original figure is too eagerley garbage diff --git a/src/napari_matplotlib/tests/test_slice.py b/src/napari_matplotlib/tests/test_slice.py index f6fdddd3..c6e2af7e 100644 --- a/src/napari_matplotlib/tests/test_slice.py +++ b/src/napari_matplotlib/tests/test_slice.py @@ -1,6 +1,7 @@ from copy import deepcopy import pytest +from numpy import array from napari_matplotlib import SliceWidget @@ -10,7 +11,7 @@ def test_slice_3D(make_napari_viewer, brain_data): viewer = make_napari_viewer() viewer.add_image(brain_data[0], **brain_data[1]) axis = viewer.dims.last_used - slice_no = 9 + slice_no = array(brain_data[0]).shape[0] - 1 viewer.dims.set_current_step(axis, slice_no) fig = SliceWidget(viewer).figure # Need to return a copy, as original figure is too eagerley garbage From 360f8f17f8d7f15c2882642b685eaf29290f9791 Mon Sep 17 00:00:00 2001 From: ruaridhg <32329546+ruaridhg@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:18:51 +0100 Subject: [PATCH 4/8] Update src/napari_matplotlib/tests/scatter/test_scatter.py Co-authored-by: David Stansby --- src/napari_matplotlib/tests/scatter/test_scatter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/napari_matplotlib/tests/scatter/test_scatter.py b/src/napari_matplotlib/tests/scatter/test_scatter.py index 4af580de..48187d3e 100644 --- a/src/napari_matplotlib/tests/scatter/test_scatter.py +++ b/src/napari_matplotlib/tests/scatter/test_scatter.py @@ -39,7 +39,6 @@ def test_scatter_3D(make_napari_viewer, brain_data): ) # De-select existing selection viewer.layers.selection.clear() - # pdb.set_trace() axis = viewer.dims.last_used slice_no = array(brain_data[0]).shape[0] - 1 viewer.dims.set_current_step(axis, slice_no) From 17f105e8f8e7afb9262f67591537a87bf98ccd88 Mon Sep 17 00:00:00 2001 From: ruaridhg <32329546+ruaridhg@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:20:52 +0100 Subject: [PATCH 5/8] Update src/napari_matplotlib/tests/scatter/test_scatter.py Co-authored-by: David Stansby --- src/napari_matplotlib/tests/scatter/test_scatter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/napari_matplotlib/tests/scatter/test_scatter.py b/src/napari_matplotlib/tests/scatter/test_scatter.py index 48187d3e..1ed4569f 100644 --- a/src/napari_matplotlib/tests/scatter/test_scatter.py +++ b/src/napari_matplotlib/tests/scatter/test_scatter.py @@ -1,7 +1,7 @@ from copy import deepcopy import pytest -from numpy import array +import numpy as np from napari_matplotlib import ScatterWidget From 7255c9922b8879b86e53065993280d09ab1e93cd Mon Sep 17 00:00:00 2001 From: ruaridhg <32329546+ruaridhg@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:20:59 +0100 Subject: [PATCH 6/8] Update src/napari_matplotlib/tests/scatter/test_scatter.py Co-authored-by: David Stansby --- src/napari_matplotlib/tests/scatter/test_scatter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/napari_matplotlib/tests/scatter/test_scatter.py b/src/napari_matplotlib/tests/scatter/test_scatter.py index 1ed4569f..ae45bc2c 100644 --- a/src/napari_matplotlib/tests/scatter/test_scatter.py +++ b/src/napari_matplotlib/tests/scatter/test_scatter.py @@ -40,7 +40,7 @@ def test_scatter_3D(make_napari_viewer, brain_data): # De-select existing selection viewer.layers.selection.clear() axis = viewer.dims.last_used - slice_no = array(brain_data[0]).shape[0] - 1 + slice_no = brain_data[0].shape[0] - 1 viewer.dims.set_current_step(axis, slice_no) # Select images viewer.layers.selection.add(viewer.layers[0]) From eef068d18f08af575d3bf3b4348c75b46be791d2 Mon Sep 17 00:00:00 2001 From: ruaridhg Date: Fri, 2 Jun 2023 15:23:12 +0100 Subject: [PATCH 7/8] removed brain_data casting to an array --- src/napari_matplotlib/tests/test_histogram.py | 3 +-- src/napari_matplotlib/tests/test_slice.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/napari_matplotlib/tests/test_histogram.py b/src/napari_matplotlib/tests/test_histogram.py index f9397405..9ecc0f01 100644 --- a/src/napari_matplotlib/tests/test_histogram.py +++ b/src/napari_matplotlib/tests/test_histogram.py @@ -1,7 +1,6 @@ from copy import deepcopy import pytest -from numpy import array from napari_matplotlib import HistogramWidget from napari_matplotlib.tests.helpers import ( @@ -25,7 +24,7 @@ def test_histogram_3D(make_napari_viewer, brain_data): viewer = make_napari_viewer() viewer.add_image(brain_data[0], **brain_data[1]) axis = viewer.dims.last_used - slice_no = array(brain_data[0]).shape[0] - 1 + slice_no = brain_data[0].shape[0] - 1 viewer.dims.set_current_step(axis, slice_no) fig = HistogramWidget(viewer).figure # Need to return a copy, as original figure is too eagerley garbage diff --git a/src/napari_matplotlib/tests/test_slice.py b/src/napari_matplotlib/tests/test_slice.py index c6e2af7e..b14d8e38 100644 --- a/src/napari_matplotlib/tests/test_slice.py +++ b/src/napari_matplotlib/tests/test_slice.py @@ -1,7 +1,6 @@ from copy import deepcopy import pytest -from numpy import array from napari_matplotlib import SliceWidget @@ -11,7 +10,7 @@ def test_slice_3D(make_napari_viewer, brain_data): viewer = make_napari_viewer() viewer.add_image(brain_data[0], **brain_data[1]) axis = viewer.dims.last_used - slice_no = array(brain_data[0]).shape[0] - 1 + slice_no = brain_data[0].shape[0] - 1 viewer.dims.set_current_step(axis, slice_no) fig = SliceWidget(viewer).figure # Need to return a copy, as original figure is too eagerley garbage From e0b3acf12bb38f78e576513cb0cc2e93d4bedebb Mon Sep 17 00:00:00 2001 From: ruaridhg Date: Fri, 2 Jun 2023 15:27:33 +0100 Subject: [PATCH 8/8] Fix pre-commit issues --- src/napari_matplotlib/tests/scatter/test_scatter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/napari_matplotlib/tests/scatter/test_scatter.py b/src/napari_matplotlib/tests/scatter/test_scatter.py index ae45bc2c..493e9ab8 100644 --- a/src/napari_matplotlib/tests/scatter/test_scatter.py +++ b/src/napari_matplotlib/tests/scatter/test_scatter.py @@ -1,7 +1,6 @@ from copy import deepcopy import pytest -import numpy as np from napari_matplotlib import ScatterWidget pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy