Files
ndbioimage/tests/test_slicing.py
T
w.pomp 916d301f1b - open tiff seq folders with bioformats_java by finding the first tiff recursively
- make PyView serializable by skipping the ome field
- fix python tests
2026-07-13 15:16:10 +02:00

42 lines
1015 B
Python

import tempfile
from itertools import combinations_with_replacement
from numbers import Number
from pathlib import Path
import numpy as np
import pytest
from tiffwrite import tiffwrite
from ndbioimage import Imread
@pytest.fixture
def array():
return np.random.randint(0, 255, (64, 64, 2, 3, 4), "uint8")
@pytest.fixture()
def image(array):
with tempfile.TemporaryDirectory() as folder:
file = Path(folder) / "tiff" / "test.tif"
tiffwrite(file, array, "yxczt")
with Imread(file, axes="yxczt") as im:
yield im
@pytest.mark.parametrize(
"s",
combinations_with_replacement(
(0, -1, 1, slice(None), slice(0, 1), slice(-1, 0), slice(1, 1)), 5
),
)
def test_slicing(s, image, array):
s_im, s_a = image[s], array[s]
if isinstance(s_a, Number):
assert isinstance(s_im, Number)
assert s_im == s_a
else:
assert isinstance(s_im, Imread)
assert tuple(s_im.shape) == s_a.shape
assert np.all(s_im == s_a)