コード例 #1
0
ファイル: test_points.py プロジェクト: ktaletsk/napari
def test_slice_data():
    data = [
        (10, 2, 4),
        (10 + 2 * 1e-7, 4, 6),
        (8, 1, 7),
        (10.1, 7, 2),
        (10 - 2 * 1e-7, 1, 6),
    ]
    layer = Points(data)
    assert len(layer._slice_data((8, slice(None), slice(None)))[0]) == 1
    assert len(layer._slice_data((10, slice(None), slice(None)))[0]) == 3
    assert (len(
        layer._slice_data((10 + 2 * 1e-12, slice(None), slice(None)))[0]) == 3)
    assert len(layer._slice_data((10.1, slice(None), slice(None)))[0]) == 1
コード例 #2
0
class PointsSlicingSuite:
    """Benchmarks for slicing the Points layer with 3D data."""

    params = [True, False]

    def setup(self, flatten_slice_axis):
        np.random.seed(0)
        self.data = np.random.uniform(size=(20_000_000, 3), low=0, high=500)
        if flatten_slice_axis:
            self.data[:, 0] = np.round(self.data[:, 0])
        self.layer = Points(self.data)
        self.slice = np.s_[249, :, :]

    def time_slice_points(self, flatten_slice_axis):
        """Time to take one slice of points"""
        self.layer._slice_data(self.slice)