class Points2DSuite: """Benchmarks for the Points layer with 2D data""" params = [2**i for i in range(4, 18, 2)] def setup(self, n): np.random.seed(0) self.data = np.random.random((n, 2)) self.layer = Points(self.data) def time_create_layer(self, n): """Time to create layer.""" layer = Points(self.data) def time_set_view_slice(self, n): """Time to set view slice.""" self.layer._set_view_slice() def time_update_thumbnail(self, n): """Time to update thumbnail.""" self.layer._update_thumbnail() def time_get_value(self, n): """Time to get current value.""" self.layer.get_value() def mem_layer(self, n): """Memory used by layer.""" return self.layer def mem_data(self, n): """Memory used by raw data.""" return self.data
def test_thumbnail(): """Test the image thumbnail for square data.""" shape = (10, 2) np.random.seed(0) data = 20 * np.random.random(shape) data[0] = [0, 0] data[-1] = [20, 20] layer = Points(data) layer._update_thumbnail() assert layer.thumbnail.shape == layer._thumbnail_shape
def test_thumbnail_with_n_points_greater_than_max(): """Test thumbnail generation with n_points > _max_points_thumbnail see: https://github.com/napari/napari/pull/934 """ # 2D max_points = Points._max_points_thumbnail * 2 bigger_data = np.random.randint(10, 100, (max_points, 2)) big_layer = Points(bigger_data) big_layer._update_thumbnail() assert big_layer.thumbnail.shape == big_layer._thumbnail_shape # #3D bigger_data_3d = np.random.randint(10, 100, (max_points, 3)) bigger_layer_3d = Points(bigger_data_3d) bigger_layer_3d._slice_dims(ndisplay=3) bigger_layer_3d._update_thumbnail() assert bigger_layer_3d.thumbnail.shape == bigger_layer_3d._thumbnail_shape