@@ -36,8 +36,11 @@ def test_histogram_3D(make_napari_viewer, brain_data):
36
36
37
37
38
38
def test_feature_histogram (make_napari_viewer ):
39
+
39
40
n_points = 1000
40
41
random_points = np .random .random ((n_points , 3 )) * 10
42
+ random_directions = np .random .random ((n_points , 3 )) * 10
43
+ random_vectors = np .stack ([random_points , random_directions ], axis = 1 )
41
44
feature1 = np .random .random (n_points )
42
45
feature2 = np .random .normal (size = n_points )
43
46
@@ -47,10 +50,10 @@ def test_feature_histogram(make_napari_viewer):
47
50
properties = {"feature1" : feature1 , "feature2" : feature2 },
48
51
name = "points1" ,
49
52
)
50
- viewer .add_points (
51
- random_points ,
53
+ viewer .add_vectors (
54
+ random_vectors ,
52
55
properties = {"feature1" : feature1 , "feature2" : feature2 },
53
- name = "points2 " ,
56
+ name = "vectors1 " ,
54
57
)
55
58
56
59
widget = FeaturesHistogramWidget (viewer )
@@ -70,26 +73,44 @@ def test_feature_histogram(make_napari_viewer):
70
73
71
74
72
75
@pytest .mark .mpl_image_compare
73
- def test_feature_histogram2 (make_napari_viewer ):
74
- import numpy as np
76
+ def test_feature_histogram_vectors (make_napari_viewer ):
77
+
78
+ n_points = 1000
79
+ np .random .seed (42 )
80
+ random_points = np .random .random ((n_points , 3 )) * 10
81
+ random_directions = np .random .random ((n_points , 3 )) * 10
82
+ random_vectors = np .stack ([random_points , random_directions ], axis = 1 )
83
+ feature1 = np .random .random (n_points )
84
+
85
+ viewer = make_napari_viewer ()
86
+ viewer .add_vectors (
87
+ random_vectors ,
88
+ properties = {"feature1" : feature1 },
89
+ name = "vectors1" ,
90
+ )
91
+
92
+ widget = FeaturesHistogramWidget (viewer )
93
+ viewer .window .add_dock_widget (widget )
94
+ widget ._set_axis_keys ("feature1" )
95
+
96
+ fig = FeaturesHistogramWidget (viewer ).figure
97
+ return deepcopy (fig )
98
+
99
+
100
+ @pytest .mark .mpl_image_compare
101
+ def test_feature_histogram_points (make_napari_viewer ):
75
102
76
103
np .random .seed (0 )
77
104
n_points = 1000
78
105
random_points = np .random .random ((n_points , 3 )) * 10
79
106
feature1 = np .random .random (n_points )
80
- feature2 = np .random .normal (size = n_points )
81
107
82
108
viewer = make_napari_viewer ()
83
109
viewer .add_points (
84
110
random_points ,
85
- properties = {"feature1" : feature1 , "feature2" : feature2 },
111
+ properties = {"feature1" : feature1 },
86
112
name = "points1" ,
87
113
)
88
- viewer .add_points (
89
- random_points ,
90
- properties = {"feature1" : feature1 , "feature2" : feature2 },
91
- name = "points2" ,
92
- )
93
114
94
115
widget = FeaturesHistogramWidget (viewer )
95
116
viewer .window .add_dock_widget (widget )
@@ -120,3 +141,8 @@ def test_change_layer(make_napari_viewer, brain_data, astronaut_data):
120
141
viewer .layers .selection .clear ()
121
142
viewer .layers .selection .add (viewer .layers [1 ])
122
143
assert_figures_not_equal (widget .figure , fig1 )
144
+
145
+
146
+ if __name__ == '__main__' :
147
+ import napari
148
+ test_feature_histogram_points (napari .Viewer )
0 commit comments