From e9abea925b42fe6f3857574df6bc6e3328a9dec8 Mon Sep 17 00:00:00 2001 From: ruaridhg <ruaridhg@users.noreply.github.com> 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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 Sb0!Kt^mUECEjnxW<NpD;zx6f% literal 0 HcmV?d00001 diff --git a/src/napari_matplotlib/tests/scatter/test_scatter.py b/src/napari_matplotlib/tests/scatter/test_scatter.py index 05b7856b..f6a7685f 100644 --- a/src/napari_matplotlib/tests/scatter/test_scatter.py +++ b/src/napari_matplotlib/tests/scatter/test_scatter.py @@ -23,3 +23,27 @@ def test_scatter_2D(make_napari_viewer, astronaut_data): viewer.layers.selection.add(viewer.layers[0]) viewer.layers.selection.add(viewer.layers[1]) return deepcopy(fig) + + +@pytest.mark.mpl_image_compare +def test_scatter_3D(make_napari_viewer, brain_data): + viewer = make_napari_viewer() + widget = ScatterWidget(viewer) + fig = widget.figure + + viewer.add_image(brain_data[0], **brain_data[1], name="brain") + + viewer.add_image( + brain_data[0] * -1, **brain_data[1], name="brain_reversed" + ) + # De-select existing selection + viewer.layers.selection.clear() + # pdb.set_trace() + axis = viewer.dims.last_used + slice_no = 9 + viewer.dims.set_current_step(axis, slice_no) + # Select images + viewer.layers.selection.add(viewer.layers[0]) + viewer.layers.selection.add(viewer.layers[1]) + + return deepcopy(fig) From d90990be54f42de7a4ca9fa358c621057e5b7fc1 Mon Sep 17 00:00:00 2001 From: ruaridhg <ruaridhg@users.noreply.github.com> 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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 aZkxkR?N)>E_PRawr!Xar>v;-y9{nG)Dmt|Q literal 16948 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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 <ruaridhg@users.noreply.github.com> 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 <dstansby@gmail.com> --- 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 <dstansby@gmail.com> --- 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 <dstansby@gmail.com> --- 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 <ruaridhg@users.noreply.github.com> 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 <ruaridhg@users.noreply.github.com> 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