9
9
from napari_matplotlib import FeaturesScatterWidget , ScatterWidget
10
10
11
11
12
- @pytest .mark .mpl_image_compare
13
12
@pytest .mark .mpl_image_compare
14
13
def test_scatter (make_napari_viewer , astronaut_data ):
15
14
viewer = make_napari_viewer ()
@@ -32,22 +31,31 @@ def test_scatter(make_napari_viewer, astronaut_data):
32
31
33
32
@pytest .mark .mpl_image_compare
34
33
def test_features_scatter_widget (make_napari_viewer , astronaut_data ):
35
- # Smoke test adding a features scatter widget
36
34
viewer = make_napari_viewer ()
35
+ widget = FeaturesScatterWidget (viewer )
36
+ x_column = "feature_0"
37
+ widget .x_axis_key = x_column
38
+ y_column = "feature_1"
39
+ widget .y_axis_key = y_column
40
+ fig = widget .figure
41
+
37
42
viewer .add_image (astronaut_data [0 ], ** astronaut_data [1 ], name = "astronaut" )
43
+
38
44
# make a test label image
39
45
label_image = np .zeros ((100 , 100 ), dtype = np .uint16 )
40
-
41
46
label_image [10 :20 , 10 :20 ] = 1
42
47
label_image [50 :70 , 50 :70 ] = 2
43
-
44
48
label_image * - 1
45
49
46
50
feature_table_1 = regionprops_table (
47
51
label_image , properties = ("label" , "area" , "perimeter" )
48
52
)
49
53
feature_table_1 ["index" ] = feature_table_1 ["label" ]
50
54
55
+ viewer .add_labels (
56
+ label_image , name = "label+features" , features = feature_table_1
57
+ )
58
+
51
59
# make the points data
52
60
n_points = 100
53
61
points_data = 100 * np .random .random ((100 , 2 ))
@@ -57,30 +65,15 @@ def test_features_scatter_widget(make_napari_viewer, astronaut_data):
57
65
"feature_2" : np .random .random ((n_points ,)),
58
66
}
59
67
60
- viewer .add_labels (
61
- label_image , name = "label+features" , features = feature_table_1
62
- )
63
- viewer .layers .selection .remove (viewer .layers ["label+features" ])
64
- # viewer.add_labels(
65
- # label_image2, name="label+features", features=feature_table_1
66
- # )
67
- # pdb.set_trace()
68
68
viewer .add_points (points_data , features = points_features )
69
- viewer .layers .selection .remove (viewer .layers ["points_data" ])
70
- # pdb.set_trace()
69
+
70
+ # De-select existing selection
71
+ viewer .layers .selection .clear ()
71
72
viewer .layers .selection .add (
72
73
viewer .layers ["points_data" ]
73
74
) # images need to be selected
74
75
viewer .layers .selection .add (viewer .layers ["label+features" ])
75
76
76
- # pdb.set_trace()
77
- scatter_widget = FeaturesScatterWidget (viewer )
78
- x_column = "feature_0"
79
- scatter_widget .x_axis_key = x_column
80
- y_column = "feature_1"
81
- scatter_widget .y_axis_key = y_column
82
- fig = scatter_widget .figure
83
-
84
77
return deepcopy (fig )
85
78
86
79
0 commit comments