48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
|
|
import numpy as np
|
|
from skimage.util import crop
|
|
from skimage._shared.testing import (assert_array_equal, assert_equal)
|
|
|
|
|
|
def test_multi_crop():
|
|
arr = np.arange(45).reshape(9, 5)
|
|
out = crop(arr, ((1, 2), (2, 1)))
|
|
assert_array_equal(out[0], [7, 8])
|
|
assert_array_equal(out[-1], [32, 33])
|
|
assert_equal(out.shape, (6, 2))
|
|
|
|
|
|
def test_pair_crop():
|
|
arr = np.arange(45).reshape(9, 5)
|
|
out = crop(arr, (1, 2))
|
|
assert_array_equal(out[0], [6, 7])
|
|
assert_array_equal(out[-1], [31, 32])
|
|
assert_equal(out.shape, (6, 2))
|
|
|
|
|
|
def test_int_crop():
|
|
arr = np.arange(45).reshape(9, 5)
|
|
out = crop(arr, 1)
|
|
assert_array_equal(out[0], [6, 7, 8])
|
|
assert_array_equal(out[-1], [36, 37, 38])
|
|
assert_equal(out.shape, (7, 3))
|
|
|
|
|
|
def test_copy_crop():
|
|
arr = np.arange(45).reshape(9, 5)
|
|
out0 = crop(arr, 1, copy=True)
|
|
assert out0.flags.c_contiguous
|
|
out0[0, 0] = 100
|
|
assert not np.any(arr == 100)
|
|
assert not np.may_share_memory(arr, out0)
|
|
|
|
out1 = crop(arr, 1)
|
|
out1[0, 0] = 100
|
|
assert arr[1, 1] == 100
|
|
assert np.may_share_memory(arr, out1)
|
|
|
|
|
|
def test_zero_crop():
|
|
arr = np.arange(45).reshape(9, 5)
|
|
out = crop(arr, 0)
|
|
assert out.shape == (9, 5)
|