def test_value(): """Test getting the value of the data at the current coordinates.""" np.random.seed(0) data = np.random.random((10, 15)) layer = Image(data) value = layer.get_value((0, ) * 2) assert value == data[0, 0]
def test_message(): """Test converting value and coords to message.""" np.random.seed(0) data = np.random.random((10, 15)) layer = Image(data) coord, value = layer.get_value() msg = layer.get_message(coord, value) assert type(msg) == str
def test_value(): """Test getting the value of the data at the current coordinates.""" np.random.seed(0) data = np.random.random((10, 15, 20)) layer = Image(data) layer._slice_dims(ndisplay=3) value = layer.get_value((0,) * 3) assert value == data[0, 0, 0]
class Image3DSuite: """Benchmarks for the Image layer with 3D data.""" params = [2**i for i in range(4, 11)] def setup(self, n): if "CI" in os.environ and n > 512: raise NotImplementedError("Skip on CI (not enough memory)") np.random.seed(0) self.data = np.random.random((n, n, n)) self.new_data = np.random.random((n, n, n)) self.layer = Image(self.data) def time_create_layer(self, n): """Time to create an image layer.""" Image(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((0, ) * 3) def time_set_data(self, n): """Time to get current value.""" self.layer.data = self.new_data def time_refresh(self, n): """Time to refresh view.""" self.layer.refresh() def mem_layer(self, n): """Memory used by layer.""" return Image(self.data) def mem_data(self, n): """Memory used by raw data.""" return self.data
def test_value(): """Test getting the value of the data at the current coordinates.""" np.random.seed(0) data = np.random.random((10, 15, 20)) layer = Image(data) layer.dims.ndisplay = 3 value = layer.get_value() assert layer.coordinates == (0, 0, 0) assert value == data[0, 0, 0]
def test_value(): """Test getting the value of the data at the current coordinates.""" shapes = [(40, 20), (20, 10), (10, 5)] np.random.seed(0) data = [np.random.random(s) for s in shapes] layer = Image(data, multiscale=True) value = layer.get_value((0, ) * 2) assert layer.data_level == 2 np.testing.assert_allclose(value, (2, data[2][0, 0]))
class Image2DSuite: """Benchmarks for the Image layer with 2D data.""" params = [2**i for i in range(4, 13)] def setup(self, n): np.random.seed(0) self.data = np.random.random((n, n)) self.new_data = np.random.random((n, n)) self.layer = Image(self.data) def time_create_layer(self, n): """Time to create an image layer.""" Image(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 time_set_data(self, n): """Time to get current value.""" self.layer.data = self.new_data def time_refresh(self, n): """Time to refresh view.""" self.layer.refresh() 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_value(): """Test getting the value of the data at the current coordinates.""" shapes = [(40, 20), (20, 10), (10, 5)] np.random.seed(0) data = [np.random.random(s) for s in shapes] layer = Image(data, is_pyramid=True) value = layer.get_value() assert layer.coordinates == (0, 0) # Note that here, because the shapes of the pyramid are all very small # data that will be rendered will only ever come from the bottom two # levels of the pyramid. assert value == (1, data[1][0, 0])
def test_corner_value(): """Test getting the value of the data at the new position.""" shapes = [(40, 20), (20, 10), (10, 5)] np.random.seed(0) data = [np.random.random(s) for s in shapes] layer = Image(data, multiscale=True) value = layer.get_value((0, ) * 2) target_position = (39, 19) target_level = 0 layer.data_level = target_level layer.corner_pixels[1] = shapes[target_level] # update requested view layer.refresh() # Test position at corner of image value = layer.get_value(target_position) np.testing.assert_allclose( value, (target_level, data[target_level][target_position])) # Test position at outside image value = layer.get_value((40, 20)) assert value[1] is None
def test_value_3d(position, view_direction, dims_displayed, world): """Currently get_value should return None in 3D""" np.random.seed(0) data = np.random.random((10, 15, 15)) layer = Image(data) layer._slice_dims([0, 0, 0], ndisplay=3) value = layer.get_value( position, view_direction=view_direction, dims_displayed=dims_displayed, world=world, ) assert value is None