Skip to content

Commit 802b5ca

Browse files
committed
Interval bounds changed to 2 in FeaturesScatter and feature scatter plot test semi working
1 parent 852f305 commit 802b5ca

File tree

3 files changed

+32
-9
lines changed

3 files changed

+32
-9
lines changed

src/napari_matplotlib/scatter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class FeaturesScatterWidget(ScatterBaseWidget):
112112
Widget to scatter data stored in two layer feature attributes.
113113
"""
114114

115-
n_layers_input = Interval(1, 1)
115+
n_layers_input = Interval(2, 2)
116116
# All layers that have a .features attributes
117117
input_layer_types = (
118118
napari.layers.Labels,
Loading

src/napari_matplotlib/tests/test_scatter.py

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,30 +35,53 @@ def test_scatter(make_napari_viewer, astronaut_data):
3535
def test_features_scatter_widget(make_napari_viewer, astronaut_data):
3636
# Smoke test adding a features scatter widget
3737
viewer = make_napari_viewer()
38-
pdb.set_trace()
3938
viewer.add_image(astronaut_data[0], **astronaut_data[1], name="astronaut")
4039
# make a test label image
4140
label_image = np.zeros((100, 100), dtype=np.uint16)
4241

4342
label_image[10:20, 10:20] = 1
4443
label_image[50:70, 50:70] = 2
4544

45+
label_image * -1
46+
4647
feature_table_1 = regionprops_table(
4748
label_image, properties=("label", "area", "perimeter")
4849
)
4950
feature_table_1["index"] = feature_table_1["label"]
5051

51-
pdb.set_trace()
52+
# make the points data
53+
n_points = 100
54+
points_data = 100 * np.random.random((100, 2))
55+
points_features = {
56+
"feature_0": np.random.random((n_points,)),
57+
"feature_1": np.random.random((n_points,)),
58+
"feature_2": np.random.random((n_points,)),
59+
}
60+
5261
viewer.add_labels(
5362
label_image, name="label+features", features=feature_table_1
5463
)
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
64+
viewer.layers.selection.remove(viewer.layers["label+features"])
65+
# viewer.add_labels(
66+
# label_image2, name="label+features", features=feature_table_1
67+
# )
68+
# pdb.set_trace()
69+
viewer.add_points(points_data, features=points_features)
70+
viewer.layers.selection.remove(viewer.layers["points_data"])
71+
# pdb.set_trace()
72+
viewer.layers.selection.add(
73+
viewer.layers["points_data"]
74+
) # images need to be selected
75+
viewer.layers.selection.add(viewer.layers["label+features"])
76+
6177
pdb.set_trace()
78+
scatter_widget = FeaturesScatterWidget(viewer)
79+
x_column = "feature_0"
80+
scatter_widget.x_axis_key = x_column
81+
y_column = "feature_1"
82+
scatter_widget.y_axis_key = y_column
83+
fig = scatter_widget.figure
84+
6285
return deepcopy(fig)
6386

6487

0 commit comments

Comments
 (0)