Skip to content

Commit 83f4bc9

Browse files
committed
Merge pull request #17 from tacaswell/image-interpolation
Image interpolation
1 parent 9448208 commit 83f4bc9

File tree

7 files changed

+18
-10
lines changed

7 files changed

+18
-10
lines changed

lib/matplotlib/backends/backend_mixed.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def __init__(self, figure, width, height, dpi, vector_renderer,
5252
# A reference to the figure is needed as we need to change
5353
# the figure dpi before and after the rasterization. Although
5454
# this looks ugly, I couldn't find a better solution. -JJL
55-
self.figure=figure
55+
self.figure = figure
5656
self._figdpi = figure.get_dpi()
5757

5858
self._bbox_inches_restore = bbox_inches_restore
@@ -69,6 +69,7 @@ def __init__(self, figure, width, height, dpi, vector_renderer,
6969
draw_gouraud_triangles option_scale_image
7070
_text2path _get_text_path_transform height width
7171
""".split()
72+
7273
def _set_current_renderer(self, renderer):
7374
self._renderer = renderer
7475

@@ -91,7 +92,7 @@ def start_rasterizing(self):
9192
# change the dpi of the figure temporarily.
9293
self.figure.set_dpi(self.dpi)
9394

94-
if self._bbox_inches_restore: # when tight bbox is used
95+
if self._bbox_inches_restore: # when tight bbox is used
9596
r = process_figure_for_rasterizing(self.figure,
9697
self._bbox_inches_restore)
9798
self._bbox_inches_restore = r
@@ -115,7 +116,7 @@ def stop_rasterizing(self):
115116
if self._rasterizing == 0:
116117
self._set_current_renderer(self._vector_renderer)
117118

118-
width, height = self._width * self.dpi, self._height * self.dpi
119+
height = self._height * self.dpi
119120
buffer, bounds = self._raster_renderer.tostring_rgba_minimized()
120121
l, b, w, h = bounds
121122
if w > 0 and h > 0:

lib/matplotlib/backends/backend_pdf.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,8 +1525,10 @@ def writeTrailer(self):
15251525
class RendererPdf(RendererBase):
15261526
afm_font_cache = maxdict(50)
15271527

1528-
def __init__(self, file, image_dpi):
1528+
def __init__(self, file, image_dpi, height, width):
15291529
RendererBase.__init__(self)
1530+
self.height = height
1531+
self.width = width
15301532
self.file = file
15311533
self.gc = self.new_gc()
15321534
self.mathtext_parser = MathTextParser("Pdf")
@@ -2517,7 +2519,7 @@ def print_pdf(self, filename, **kwargs):
25172519
_bbox_inches_restore = kwargs.pop("bbox_inches_restore", None)
25182520
renderer = MixedModeRenderer(
25192521
self.figure, width, height, image_dpi,
2520-
RendererPdf(file, image_dpi),
2522+
RendererPdf(file, image_dpi, height, width),
25212523
bbox_inches_restore=_bbox_inches_restore)
25222524
self.figure.draw(renderer)
25232525
renderer.finalize()
Binary file not shown.
Binary file not shown.

lib/matplotlib/tests/test_backend_pdf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,11 @@ def test_composite_image():
102102
plt.rcParams['image.composite_image'] = True
103103
with PdfPages(io.BytesIO()) as pdf:
104104
fig.savefig(pdf, format="pdf")
105-
assert len(pdf._file.images.keys()) == 1
105+
assert len(pdf._file._images.keys()) == 1
106106
plt.rcParams['image.composite_image'] = False
107107
with PdfPages(io.BytesIO()) as pdf:
108108
fig.savefig(pdf, format="pdf")
109-
assert len(pdf._file.images.keys()) == 2
109+
assert len(pdf._file._images.keys()) == 2
110110

111111

112112
@image_comparison(baseline_images=['hatching_legend'],

lib/matplotlib/tests/test_coding_standards.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,6 @@ def test_pep8_conformance_installed_files():
227227
'backends/backend_gtkagg.py',
228228
'backends/backend_gtkcairo.py',
229229
'backends/backend_macosx.py',
230-
'backends/backend_mixed.py',
231230
'backends/backend_pgf.py',
232231
'backends/backend_ps.py',
233232
'backends/backend_svg.py',

lib/matplotlib/tests/test_image.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from nose.tools import assert_raises
2222
from numpy.testing import (
2323
assert_array_equal, assert_array_almost_equal, assert_allclose)
24+
from matplotlib.testing.noseclasses import KnownFailureTest
2425

2526

2627
try:
@@ -97,6 +98,8 @@ def test_image_python_io():
9798
buffer.seek(0)
9899
plt.imread(buffer)
99100

101+
102+
@cleanup
100103
@knownfailureif(not HAS_PIL)
101104
def test_imread_pil_uint16():
102105
img = plt.imread(os.path.join(os.path.dirname(__file__),
@@ -113,6 +116,8 @@ def test_imread_pil_uint16():
113116
# plt.imread(fname)
114117
# os.remove(fname)
115118

119+
120+
@cleanup
116121
def test_imsave():
117122
# The goal here is that the user can specify an output logical DPI
118123
# for the image, but this will not actually add any extra pixels
@@ -401,8 +406,7 @@ def test_rasterize_dpi():
401406
rcParams['savefig.dpi'] = 10
402407

403408

404-
@image_comparison(baseline_images=['bbox_image_inverted'],
405-
extensions=['png', 'pdf'])
409+
@cleanup
406410
def test_bbox_image_inverted():
407411
# This is just used to produce an image to feed to BboxImage
408412
fig = plt.figure()
@@ -416,6 +420,7 @@ def test_bbox_image_inverted():
416420

417421
bbox_im = BboxImage(Bbox([[100, 100], [0, 0]]))
418422
bbox_im.set_data(image)
423+
bbox_im.set_clip_on(False)
419424
axes.add_artist(bbox_im)
420425

421426

@@ -552,6 +557,7 @@ def test_log_scale_image():
552557
ax.set_yscale('log')
553558

554559

560+
555561
@image_comparison(baseline_images=['rotate_image'],
556562
remove_text=True)
557563
def test_rotate_image():

0 commit comments

Comments
 (0)