Files
MLPproject/.venv/lib/python3.12/site-packages/skimage/util/tests/test_labels.py
2025-10-23 15:44:32 +02:00

60 lines
1.8 KiB
Python

import numpy as np
from skimage._shared import testing
from skimage._shared.testing import assert_equal
from skimage.util._label import label_points
def test_label_points_coords_dimension():
coords, output_shape = np.array([[1, 2], [3, 4]]), (5, 5, 2)
with testing.raises(ValueError):
label_points(coords, output_shape)
def test_label_points_coords_range():
coords, output_shape = np.array([[0, 0], [5, 5]]), (5, 5)
with testing.raises(IndexError):
label_points(coords, output_shape)
def test_label_points_coords_negative():
coords, output_shape = np.array([[-1, 0], [5, 5]]), (5, 5)
with testing.raises(ValueError):
label_points(coords, output_shape)
def test_label_points_two_dimensional_output():
coords, output_shape = np.array([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]]), (5, 5)
mask = label_points(coords, output_shape)
assert_equal(
mask,
np.array(
[
[1, 0, 0, 0, 0],
[0, 2, 0, 0, 0],
[0, 0, 3, 0, 0],
[0, 0, 0, 4, 0],
[0, 0, 0, 0, 5],
]
),
)
def test_label_points_multi_dimensional_output():
coords, output_shape = (
np.array([[0, 0, 0], [1, 1, 1], [2, 2, 2], [3, 3, 0], [4, 4, 1]]),
(5, 5, 3),
)
mask = label_points(coords, output_shape)
result = np.array(
[
[[1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]],
[[0, 0, 0], [0, 2, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]],
[[0, 0, 0], [0, 0, 0], [0, 0, 3], [0, 0, 0], [0, 0, 0]],
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [4, 0, 0], [0, 0, 0]],
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 5, 0]],
]
)
assert_equal(mask, result)