From 6923c7f04fbafa23766250d710cc6b37373c816f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Seppa=CC=88nen?= Date: Sun, 18 Sep 2011 16:23:20 +0300 Subject: [PATCH] Test nearest and none interpolation better Changes the baseline file image_interps.pdf to match the current behavior of the code, and adds a new test for the difference between "nearest" and "none" interpolation. --- .../test_image/image_interps.pdf | Bin 115574 -> 116970 bytes .../test_image/interp_nearest_vs_none.pdf | Bin 0 -> 9141 bytes .../test_image/interp_nearest_vs_none.svg | 1061 +++++++++++++++++ lib/matplotlib/tests/test_image.py | 20 + 4 files changed, 1081 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_image/interp_nearest_vs_none.pdf create mode 100644 lib/matplotlib/tests/baseline_images/test_image/interp_nearest_vs_none.svg diff --git a/lib/matplotlib/tests/baseline_images/test_image/image_interps.pdf b/lib/matplotlib/tests/baseline_images/test_image/image_interps.pdf index 42ea689625a3ef81b6854836ce478c651147a606..eb482fed7fff84d751af4bdb9cb93be95b7e0ca6 100644 GIT binary patch delta 4001 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 DpHdn& diff --git a/lib/matplotlib/tests/baseline_images/test_image/interp_nearest_vs_none.pdf b/lib/matplotlib/tests/baseline_images/test_image/interp_nearest_vs_none.pdf new file mode 100644 index 0000000000000000000000000000000000000000..72148dd959e290bee4ec5d0d71658168a856770d GIT binary patch literal 9141 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_image/interp_nearest_vs_none.svg b/lib/matplotlib/tests/baseline_images/test_image/interp_nearest_vs_none.svg new file mode 100644 index 000000000000..e80eb2436c91 --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_image/interp_nearest_vs_none.svg @@ -0,0 +1,1061 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 40bdab5709df..2c9db8a23e17 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -1,6 +1,7 @@ import numpy as np from matplotlib.testing.decorators import image_comparison, knownfailureif, cleanup +from matplotlib import rcParams import matplotlib.pyplot as plt from nose.tools import assert_raises from numpy.testing import assert_array_equal @@ -28,6 +29,25 @@ def test_image_interps(): ax3.imshow(X, interpolation='bicubic') ax3.set_ylabel('bicubic') +@image_comparison(baseline_images=['interp_nearest_vs_none'], extensions=['pdf', 'svg']) +def test_interp_nearest_vs_none(): + 'Test the effect of "nearest" and "none" interpolation' + # Setting dpi to something really small makes the difference very + # visible. This works fine with pdf, since the dpi setting doesn't + # affect anything but images, but the agg output becomes unusably + # small. + rcParams['savefig.dpi'] = 3 + X = np.array([[[218, 165, 32], [122, 103, 238]], + [[127, 255, 0], [255, 99, 71]]], dtype=np.uint8) + fig = plt.figure() + ax1 = fig.add_subplot(121) + ax1.imshow(X, interpolation='none') + ax1.set_title('interpolation none') + ax2 = fig.add_subplot(122) + ax2.imshow(X, interpolation='nearest') + ax2.set_title('interpolation nearest') + + @image_comparison(baseline_images=['figimage-0', 'figimage-1'], extensions=['png'], tol=1.5e-3) def test_figimage(): 'test the figimage method'