Files
scikit-image/skimage/measure/tests/test_blocks.py
T

83 lines
2.4 KiB
Python

import numpy as np
from numpy.testing import assert_array_equal
from skimage.measure import (block_sum, block_mean, block_median, block_min,
block_max)
def test_block_sum():
image1 = np.arange(4 * 6).reshape(4, 6)
out1 = block_sum(image1, (2, 3))
expected1 = np.array([[ 24, 42],
[ 96, 114]])
assert_array_equal(expected1, out1)
image2 = np.arange(5 * 8).reshape(5, 8)
out2 = block_sum(image2, (3, 3))
expected2 = np.array([[ 81, 108, 87],
[174, 192, 138]])
assert_array_equal(expected2, out2)
def test_block_mean():
image1 = np.arange(4 * 6).reshape(4, 6)
out1 = block_mean(image1, (2, 3))
expected1 = np.array([[ 4., 7.],
[ 16., 19.]])
assert_array_equal(expected1, out1)
image2 = np.arange(5 * 8).reshape(5, 8)
out2 = block_mean(image2, (4, 5))
expected2 = np.array([[14. , 10.8],
[ 8.5, 5.7]])
assert_array_equal(expected2, out2)
def test_block_median():
image1 = np.arange(4 * 6).reshape(4, 6)
out1 = block_median(image1, (2, 3))
expected1 = np.array([[ 4., 7.],
[ 16., 19.]])
assert_array_equal(expected1, out1)
image2 = np.arange(5 * 8).reshape(5, 8)
out2 = block_median(image2, (4, 5))
expected2 = np.array([[ 14., 17.],
[ 0., 0.]])
assert_array_equal(expected2, out2)
image3 = np.array([[1, 5, 5, 5], [5, 5, 5, 1000]])
out3 = block_median(image3, (2, 4))
assert_array_equal(5, out3)
def test_block_min():
image1 = np.arange(4 * 6).reshape(4, 6)
out1 = block_min(image1, (2, 3))
expected1 = np.array([[ 0, 3],
[12, 15]])
assert_array_equal(expected1, out1)
image2 = np.arange(5 * 8).reshape(5, 8)
out2 = block_min(image2, (4, 5))
expected2 = np.array([[0, 0],
[0, 0]])
assert_array_equal(expected2, out2)
def test_block_max():
image1 = np.arange(4 * 6).reshape(4, 6)
out1 = block_max(image1, (2, 3))
expected1 = np.array([[ 8, 11],
[20, 23]])
assert_array_equal(expected1, out1)
image2 = np.arange(5 * 8).reshape(5, 8)
out2 = block_max(image2, (4, 5))
expected2 = np.array([[28, 31],
[36, 39]])
assert_array_equal(expected2, out2)
if __name__ == "__main__":
np.testing.run_module_suite()