Files
scikit-image/skimage/measure/tests/test_find_contours.py
T
François Boulogne 5c3eef0d86 delete comment
2013-06-20 22:53:32 +02:00

77 lines
1.8 KiB
Python

import numpy as np
from numpy.testing import (assert_raises,
assert_array_equal,
)
from skimage.measure import find_contours
a = np.ones((8, 8), dtype=np.float32)
a[1:-1, 1] = 0
a[1, 1:-1] = 0
x, y = np.mgrid[-1:1:5j, -1:1:5j]
r = np.sqrt(x**2 + y**2)
def test_binary():
ref = [[6. , 1.5],
[5. , 1.5],
[4. , 1.5],
[3. , 1.5],
[2. , 1.5],
[1.5, 2. ],
[1.5, 3. ],
[1.5, 4. ],
[1.5, 5. ],
[1.5, 6. ],
[1. , 6.5],
[0.5, 6. ],
[0.5, 5. ],
[0.5, 4. ],
[0.5, 3. ],
[0.5, 2. ],
[0.5, 1. ],
[1. , 0.5],
[2. , 0.5],
[3. , 0.5],
[4. , 0.5],
[5. , 0.5],
[6. , 0.5],
[6.5, 1. ],
[6. , 1.5]]
contours = find_contours(a, 0.5, positive_orientation='high')
assert len(contours) == 1
assert_array_equal(contours[0][::-1], ref)
def test_float():
contours = find_contours(r, 0.5)
assert len(contours) == 1
assert_array_equal(contours[0],
[[ 2., 3.],
[ 1., 2.],
[ 2., 1.],
[ 3., 2.],
[ 2., 3.]])
def test_memory_order():
contours = find_contours(np.ascontiguousarray(r), 0.5)
assert len(contours) == 1
contours = find_contours(np.asfortranarray(r), 0.5)
assert len(contours) == 1
def test_invalid_input():
assert_raises(ValueError, find_contours, r, 0.5, 'foo', 'bar')
assert_raises(ValueError, find_contours, r[..., None], 0.5)
if __name__ == '__main__':
from numpy.testing import run_module_suite
run_module_suite()