From 0f2628c7db9f7102f112ac72139c21b1085195d9 Mon Sep 17 00:00:00 2001 From: Tony S Yu Date: Sun, 7 Apr 2013 10:43:43 -0500 Subject: [PATCH] Add better test of gabor filter --- skimage/filter/tests/test_gabor.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/skimage/filter/tests/test_gabor.py b/skimage/filter/tests/test_gabor.py index 68a9c967..7035d82a 100644 --- a/skimage/filter/tests/test_gabor.py +++ b/skimage/filter/tests/test_gabor.py @@ -60,7 +60,21 @@ def test_gabor_kernel_theta(): def test_gabor_filter(): - real, imag = gabor_filter(np.random.random((100, 100)), 1) + Y, X = np.mgrid[:40, :40] + frequencies = (0.1, 0.3) + wave_images = [np.sin(2 * np.pi * X * f) for f in frequencies] + + def match_score(image, frequency): + gabor_responses = gabor_filter(image, frequency) + return np.mean(np.hypot(*gabor_responses)) + + # Gabor scores: diagonals are frequency-matched, off-diagonals are not. + responses = np.array([[match_score(image, f) for f in frequencies] + for image in wave_images]) + assert responses[0, 0] > responses[0, 1] + assert responses[1, 1] > responses[0, 1] + assert responses[0, 0] > responses[1, 0] + assert responses[1, 1] > responses[1, 0] if __name__ == "__main__":