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
@@ -29,12 +31,35 @@ def test_scatter(make_napari_viewer, astronaut_data):
29
31
return deepcopy (fig )
30
32
31
33
32
- def test_features_scatter_widget (make_napari_viewer ):
34
+ @pytest .mark .mpl_image_compare
35
+ def test_features_scatter_widget (make_napari_viewer , astronaut_data ):
33
36
# Smoke test adding a features scatter widget
34
37
viewer = make_napari_viewer ()
35
- viewer .add_image (np .random .random ((100 , 100 )))
36
- viewer .add_labels (np .random .randint (0 , 5 , (100 , 100 )))
37
- FeaturesScatterWidget (viewer )
38
+ pdb .set_trace ()
39
+ viewer .add_image (astronaut_data [0 ], ** astronaut_data [1 ], name = "astronaut" )
40
+ # make a test label image
41
+ label_image = np .zeros ((100 , 100 ), dtype = np .uint16 )
42
+
43
+ label_image [10 :20 , 10 :20 ] = 1
44
+ label_image [50 :70 , 50 :70 ] = 2
45
+
46
+ feature_table_1 = regionprops_table (
47
+ label_image , properties = ("label" , "area" , "perimeter" )
48
+ )
49
+ feature_table_1 ["index" ] = feature_table_1 ["label" ]
50
+
51
+ pdb .set_trace ()
52
+ viewer .add_labels (
53
+ label_image , name = "label+features" , features = feature_table_1
54
+ )
55
+ viewer .layers .selection .remove (
56
+ viewer .layers [1 ]
57
+ ) # images need to be de-selected
58
+ # viewer.layers.selection.add(viewer.layers[0])
59
+ viewer .layers .selection .add (viewer .layers [1 ]) # images need to be selected
60
+ fig = FeaturesScatterWidget (viewer ).figure
61
+ pdb .set_trace ()
62
+ return deepcopy (fig )
38
63
39
64
40
65
def make_labels_layer_with_features () -> (
0 commit comments