From ac86299690240c1f86e620e73be9efb53b4629ad Mon Sep 17 00:00:00 2001 From: Stefan van der Walt Date: Fri, 3 Feb 2012 20:05:16 -0800 Subject: [PATCH] DOC: In ssim example, use correct dynamic range in algorithm and when displaying results. --- doc/examples/plot_ssim.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/doc/examples/plot_ssim.py b/doc/examples/plot_ssim.py index 761dc29c..60419692 100644 --- a/doc/examples/plot_ssim.py +++ b/doc/examples/plot_ssim.py @@ -30,7 +30,7 @@ import numpy as np img = img_as_float(data.camera()) rows, cols = img.shape -noise = np.ones_like(img) * 0.5 * (img.max() - img.min()) +noise = np.ones_like(img) * 0.2 * (img.max() - img.min()) noise[np.random.random(size=noise.shape) > 0.5] *= -1 def mse(x, y): @@ -43,29 +43,25 @@ import matplotlib.pyplot as plt f, (ax0, ax1, ax2) = plt.subplots(1, 3) mse_none = mse(img, img) -ssim_none = ssim(img, img) +ssim_none = ssim(img, img, dynamic_range=img.max() - img.min()) mse_noise = mse(img, img_noise) -ssim_noise = ssim(img, img_noise) +ssim_noise = ssim(img, img_noise, dynamic_range=img_const.max() - img_const.min()) mse_const = mse(img, img_const) -ssim_const = ssim(img, img_const) +ssim_const = ssim(img, img_const, dynamic_range=img_noise.max() - img_noise.min()) label = 'MSE: %2.f, SSIM: %.2f' -ax0.imshow(img, cmap=plt.cm.gray) +ax0.imshow(img, cmap=plt.cm.gray, vmin=0, vmax=1) ax0.set_xlabel(label % (mse_none, ssim_none)) ax0.set_title('Original image') -# exposure.rescale_intensity(img_noise) -img_noise -= img_noise.min() -img_noise /= img_noise.max() - -ax1.imshow(img_noise, cmap=plt.cm.gray) +ax1.imshow(img_noise, cmap=plt.cm.gray, vmin=0, vmax=1) ax1.set_xlabel(label % (mse_noise, ssim_noise)) ax1.set_title('Image with noise') -ax2.imshow(img_const, cmap=plt.cm.gray) +ax2.imshow(img_const, cmap=plt.cm.gray, vmin=0, vmax=1) ax2.set_xlabel(label % (mse_const, ssim_const)) ax2.set_title('Image plus constant')