From 13490a64acc3df90f07719d3faaebdcfe1479731 Mon Sep 17 00:00:00 2001 From: Scott Sievert Date: Thu, 4 Aug 2016 09:57:04 -0500 Subject: [PATCH] TST MAINT: more clearly represent energy in signal TST: removes tests to particular image --- skimage/restoration/_denoise.py | 2 +- skimage/restoration/tests/test_denoise.py | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/skimage/restoration/_denoise.py b/skimage/restoration/_denoise.py index 4d44ab2f..a853a63c 100644 --- a/skimage/restoration/_denoise.py +++ b/skimage/restoration/_denoise.py @@ -457,7 +457,7 @@ def denoise_wavelet(img, sigma=None, wavelet='db1', mode='soft'): img = img_as_float(img) - if img.ndims not in {2, 3}: + if img.ndim not in {2, 3}: raise ValueError('denoise_wavelet only supports 2D and 3D images') if img.ndim == 2: diff --git a/skimage/restoration/tests/test_denoise.py b/skimage/restoration/tests/test_denoise.py index 206f1923..383d0f96 100644 --- a/skimage/restoration/tests/test_denoise.py +++ b/skimage/restoration/tests/test_denoise.py @@ -3,6 +3,7 @@ from numpy.testing import run_module_suite, assert_raises, assert_equal from skimage import restoration, data, color, img_as_float, measure from skimage._shared._warnings import expected_warnings +from skimage.measure import compare_ssim np.random.seed(1234) @@ -310,18 +311,15 @@ def test_no_denoising_for_small_h(): def test_wavelet_denoising(): for img in [astro_gray, astro]: - img = img.copy() + 0.1 * np.random.randn(*(img.shape)) - img = np.clip(img, 0, 1) + noisy = img.copy() + 0.1 * np.random.randn(*(img.shape)) + noisy = np.clip(noisy, 0, 1) # less energy in signal - assert restoration.denoise_wavelet(img, sigma=0.3).sum() <= img.sum() + denoised = restoration.denoise_wavelet(noisy, sigma=0.3) + assert denoised.sum()**2 <= img.sum()**2 # test changing noise_std (higher threshold, so less energy in signal) - assert (restoration.denoise_wavelet(img, sigma=0.2).sum() <= - restoration.denoise_wavelet(img, sigma=0.1).sum()) - - # This works for this particular image - assert (np.sum(restoration.denoise_wavelet(img, wavelet='db2')) < - np.sum(restoration.denoise_wavelet(img, wavelet='db1'))) + assert (restoration.denoise_wavelet(noisy, sigma=0.2).sum()**2 <= + restoration.denoise_wavelet(noisy, sigma=0.1).sum()**2) if __name__ == "__main__":