Example #1
0
class Shapes2DSuite:
    """Benchmarks for the Shapes layer with 2D data"""

    params = [2**i for i in range(4, 9)]

    def setup(self, n):
        np.random.seed(0)
        self.data = [50 * np.random.random((6, 2)) for i in range(n)]
        self.layer = Shapes(self.data, shape_type='polygon')

    def time_create_layer(self, n):
        """Time to create an image layer."""
        layer = Shapes(self.data, shape_type='polygon')

    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
Example #2
0
def test_value():
    """Test getting the value of the data at the current coordinates."""
    shape = (10, 4, 2)
    np.random.seed(0)
    data = 20 * np.random.random(shape)
    data[-1, :] = [[0, 0], [0, 10], [10, 0], [10, 10]]
    layer = Shapes(data)
    value = layer.get_value((0, 0))
    assert value == (9, None)

    layer.mode = 'select'
    layer.selected_data = [9]
    value = layer.get_value((0, 0))
    assert value == (9, 7)

    layer = Shapes(data + 5)
    value = layer.get_value((0, 0))
    assert value == (None, None)