1
+ import pdb
1
2
from copy import deepcopy
2
3
from typing import Any , Dict , Tuple
3
4
4
5
import numpy as np
5
6
import numpy .typing as npt
6
7
import pytest
8
+ from skimage .measure import regionprops_table
7
9
8
10
from napari_matplotlib import FeaturesScatterWidget , ScatterWidget
9
11
@@ -24,12 +26,35 @@ def test_scatter(make_napari_viewer, astronaut_data):
24
26
return deepcopy (fig )
25
27
26
28
27
- def test_features_scatter_widget (make_napari_viewer ):
29
+ @pytest .mark .mpl_image_compare
30
+ def test_features_scatter_widget (make_napari_viewer , astronaut_data ):
28
31
# Smoke test adding a features scatter widget
29
32
viewer = make_napari_viewer ()
30
- viewer .add_image (np .random .random ((100 , 100 )))
31
- viewer .add_labels (np .random .randint (0 , 5 , (100 , 100 )))
32
- FeaturesScatterWidget (viewer )
33
+ pdb .set_trace ()
34
+ viewer .add_image (astronaut_data [0 ], ** astronaut_data [1 ], name = "astronaut" )
35
+ # make a test label image
36
+ label_image = np .zeros ((100 , 100 ), dtype = np .uint16 )
37
+
38
+ label_image [10 :20 , 10 :20 ] = 1
39
+ label_image [50 :70 , 50 :70 ] = 2
40
+
41
+ feature_table_1 = regionprops_table (
42
+ label_image , properties = ("label" , "area" , "perimeter" )
43
+ )
44
+ feature_table_1 ["index" ] = feature_table_1 ["label" ]
45
+
46
+ pdb .set_trace ()
47
+ viewer .add_labels (
48
+ label_image , name = "label+features" , features = feature_table_1
49
+ )
50
+ viewer .layers .selection .remove (
51
+ viewer .layers [1 ]
52
+ ) # images need to be de-selected
53
+ # viewer.layers.selection.add(viewer.layers[0])
54
+ viewer .layers .selection .add (viewer .layers [1 ]) # images need to be selected
55
+ fig = FeaturesScatterWidget (viewer ).figure
56
+ pdb .set_trace ()
57
+ return deepcopy (fig )
33
58
34
59
35
60
def make_labels_layer_with_features () -> (
0 commit comments