40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
|
import numpy as np
|
||
|
from skimage.util import unique_rows
|
||
|
from skimage._shared import testing
|
||
|
from skimage._shared.testing import assert_equal
|
||
|
|
||
|
|
||
|
def test_discontiguous_array():
|
||
|
ar = np.array([[1, 0, 1], [0, 1, 0], [1, 0, 1]], np.uint8)
|
||
|
ar = ar[::2]
|
||
|
ar_out = unique_rows(ar)
|
||
|
desired_ar_out = np.array([[1, 0, 1]], np.uint8)
|
||
|
assert_equal(ar_out, desired_ar_out)
|
||
|
|
||
|
|
||
|
def test_uint8_array():
|
||
|
ar = np.array([[1, 0, 1], [0, 1, 0], [1, 0, 1]], np.uint8)
|
||
|
ar_out = unique_rows(ar)
|
||
|
desired_ar_out = np.array([[0, 1, 0], [1, 0, 1]], np.uint8)
|
||
|
assert_equal(ar_out, desired_ar_out)
|
||
|
|
||
|
|
||
|
def test_float_array():
|
||
|
ar = np.array([[1.1, 0.0, 1.1], [0.0, 1.1, 0.0], [1.1, 0.0, 1.1]],
|
||
|
np.float)
|
||
|
ar_out = unique_rows(ar)
|
||
|
desired_ar_out = np.array([[0.0, 1.1, 0.0], [1.1, 0.0, 1.1]], np.float)
|
||
|
assert_equal(ar_out, desired_ar_out)
|
||
|
|
||
|
|
||
|
def test_1d_array():
|
||
|
ar = np.array([1, 0, 1, 1], np.uint8)
|
||
|
with testing.raises(ValueError):
|
||
|
unique_rows(ar)
|
||
|
|
||
|
|
||
|
def test_3d_array():
|
||
|
ar = np.arange(8).reshape((2, 2, 2))
|
||
|
with testing.raises(ValueError):
|
||
|
unique_rows(ar)
|