TST: Test both Cython and Python versions of the hough tf.

This commit is contained in:
Stefan van der Walt
2011-07-15 17:44:23 -05:00
parent d025016b3c
commit 7eed21194a
2 changed files with 21 additions and 4 deletions
+1 -1
View File
@@ -3,7 +3,6 @@ __all__ = ['hough']
from itertools import izip
import numpy as np
def _hough(img, theta=None):
if img.ndim != 2:
raise ValueError('The input image must be 2-D')
@@ -50,6 +49,7 @@ def _hough(img, theta=None):
return out, theta, bins
_py_hough = _hough
# try to import and use the faster Cython version if it exists
try:
@@ -1,7 +1,16 @@
import numpy as np
from numpy.testing import *
from scikits.image.transform import *
import scikits.image.transform as tf
import scikits.image.transform.hough_transform as ht
def append_desc(func, description):
"""Append the test function ``func`` and append
``description`` to its name.
"""
func.description = func.__module__ + '.' + func.func_name + description
return func
def test_hough():
# Generate a test image
@@ -9,7 +18,7 @@ def test_hough():
for i in range(25, 75):
img[100 - i, i] = 1
out, angles, d = hough(img)
out, angles, d = tf.hough(img)
y, x = np.where(out == out.max())
dist = d[y[0]]
@@ -22,10 +31,18 @@ def test_hough_angles():
img = np.zeros((10, 10))
img[0, 0] = 1
out, angles, d = hough(img, np.linspace(0, 360, 10))
out, angles, d = tf.hough(img, np.linspace(0, 360, 10))
assert_equal(len(angles), 10)
def test_py_hough():
ht._hough, fast_hough = ht._py_hough, ht._hough
yield append_desc(test_hough, '_python')
yield append_desc(test_hough_angles, '_python')
tf._hough = fast_hough
if __name__ == "__main__":
run_module_suite()