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

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,

src/napari_matplotlib/tests/test_scatter.py

Lines changed: 31 additions & 8 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy