Skip to content

Commit 1f50130

Browse files
committed
Interval bounds changed to 2 in FeaturesScatter and feature scatter plot test semi working
1 parent 610cc96 commit 1f50130

File tree

3 files changed

+32
-9
lines changed

3 files changed

+32
-9
lines changed

Diff for: src/napari_matplotlib/scatter.py

+1-1
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

Diff for: src/napari_matplotlib/tests/test_scatter.py

+31-8
Original file line numberDiff line numberDiff line change
@@ -30,30 +30,53 @@ def test_scatter(make_napari_viewer, astronaut_data):
3030
def test_features_scatter_widget(make_napari_viewer, astronaut_data):
3131
# Smoke test adding a features scatter widget
3232
viewer = make_napari_viewer()
33-
pdb.set_trace()
3433
viewer.add_image(astronaut_data[0], **astronaut_data[1], name="astronaut")
3534
# make a test label image
3635
label_image = np.zeros((100, 100), dtype=np.uint16)
3736

3837
label_image[10:20, 10:20] = 1
3938
label_image[50:70, 50:70] = 2
4039

40+
label_image * -1
41+
4142
feature_table_1 = regionprops_table(
4243
label_image, properties=("label", "area", "perimeter")
4344
)
4445
feature_table_1["index"] = feature_table_1["label"]
4546

46-
pdb.set_trace()
47+
# make the points data
48+
n_points = 100
49+
points_data = 100 * np.random.random((100, 2))
50+
points_features = {
51+
"feature_0": np.random.random((n_points,)),
52+
"feature_1": np.random.random((n_points,)),
53+
"feature_2": np.random.random((n_points,)),
54+
}
55+
4756
viewer.add_labels(
4857
label_image, name="label+features", features=feature_table_1
4958
)
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
59+
viewer.layers.selection.remove(viewer.layers["label+features"])
60+
# viewer.add_labels(
61+
# label_image2, name="label+features", features=feature_table_1
62+
# )
63+
# pdb.set_trace()
64+
viewer.add_points(points_data, features=points_features)
65+
viewer.layers.selection.remove(viewer.layers["points_data"])
66+
# pdb.set_trace()
67+
viewer.layers.selection.add(
68+
viewer.layers["points_data"]
69+
) # images need to be selected
70+
viewer.layers.selection.add(viewer.layers["label+features"])
71+
5672
pdb.set_trace()
73+
scatter_widget = FeaturesScatterWidget(viewer)
74+
x_column = "feature_0"
75+
scatter_widget.x_axis_key = x_column
76+
y_column = "feature_1"
77+
scatter_widget.y_axis_key = y_column
78+
fig = scatter_widget.figure
79+
5780
return deepcopy(fig)
5881

5982

0 commit comments

Comments
 (0)