Re: [matplotlib-devel] [Python-modules-team] Bug#585442: python-matplotlib: crashes when calling axis() after imshow()
In r8454, I have a applied a fix that allows this C++ exception to correctly percolate to the Python side -- the user will still get an exception, but it will be a Python exception and the interpreter itself does not crash. (It used to work, but recent changes to CXX caused it to break.) I have attached this patch to the e-mail. As Eric suggests, fixing the underlying limitation (I even hesitate to call it a bug because it is definitely a corner case) requires understanding some pretty dark depths of the Agg renderer. Mike On 06/21/2010 10:57 PM, Eric Firing wrote: On 06/21/2010 12:24 PM, Sandro Tosi wrote: forwarded 585442 matplotlib-devel@lists.sourceforge.net thanks Hello Matplotlib developers, here below is a report a user of maplotlib sent to the Debian bug tracker. I've verified and it happend also with 0.99.3: $ python -c "import matplotlib as p ; print p.__version__" 0.99.3 $ python mpl_crash.py terminate called after throwing an instance of 'char const*' Aborted Thanks for looking into it, Sandro Sandro, Thanks for reporting it. With the default interpolation, rendering gets extremely slow as the view limits decline to and below a single image pixel. I suspect the crash is related to this. Neither the slowdown nor the crash occurs with interpolation='nearest', although there is still an anomaly in which the image is blank when the viewlim region is too small. Like Ryan, I am not familiar with the _image.cpp and the underlying agg routines, but I suspect this is going to be a difficult problem to solve. It may be necessary to put in some workaround, trying to trap and prevent the extreme slowdown and crash. The slowdown topic came up on the list years ago. http://www.mail-archive.com/matplotlib-devel@lists.sourceforge.net/msg00513.html Eric On Thu, Jun 10, 2010 at 16:52, Teemu Ikonen wrote: Package: python-matplotlib Version: 0.99.1.2-3 Severity: important Running a program which displays an image with plt.imshow() and changes the axes with plt.axis() before calling plt.show() crashes the python interpreter: $ python mpl_crash.py terminate called after throwing an instance of 'char const*' Aborted This happens at least with Qt4Agg, GTKAgg and TKAgg backends. The example program is attached. Best, Teemu -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-trunk-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages python-matplotlib depends on: ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit ii libc6 2.10.2-9 Embedded GNU C Library: Shared lib ii libcairo2 1.8.10-4 The Cairo 2D vector graphics libra ii libfontconfig1 2.8.0-2.1generic font configuration library ii libfreetype62.3.11-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.4.4-1GCC support library ii libglib2.0-02.24.1-1 The GLib library of C routines ii libgtk2.0-0 2.20.1-1 The GTK+ graphical user interface ii libpango1.0-0 1.28.0-1 Layout and rendering of internatio ii libpng12-0 1.2.43-1 PNG library - runtime ii libstdc++6 4.4.4-1 The GNU Standard C++ Library v3 ii python 2.5.4-9 An interactive high-level object-o ii python-cairo1.8.8-1+b1 Python bindings for the Cairo vect ii python-dateutil 1.4.1-3 powerful extensions to the standar ii python-gobject 2.21.1-1 Python bindings for the GObject li ii python-matplotlib-data 0.99.1.2-3 Python based plotting system (data ii python-numpy1:1.3.0-3+b1 Numerical Python adds a fast array ii python-pyparsing1.5.2-2 Python parsing module ii python-support 1.0.8automated rebuilding support for P ii python-tz 2010b-1 Python version of the Olson timezo ii tcl8.5 8.5.8-2 Tcl (the Tool Command Language) v8 ii tk8.5 8.5.8-1 Tk toolkit for Tcl and X11, v8.5 - ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime Versions of packages python-matplotlib recommends: ii python-glade2 2.17.0-2 GTK+ bindings: Glade support ii python-tk 2.6.5-1Tkinter - Writing Tk applications Versions of packages python-matplotlib suggests: ii dvipng1.13-1 convert DVI files to PNG graphics ii ipython 0.10-2 enhanced interactive Python shell ii librsvg2-common 2.26.3-1 SAX-based renderer library for SVG ii python-configobj 4.7.2+ds-1 simple but powerful config fil
Re: [matplotlib-devel] [Python-modules-team] Bug#585442: python-matplotlib: crashes when calling axis() after imshow()
Hold off, actually. This patch seems to have broken some thing inadvertently. Stay tuned... Mike On 06/22/2010 12:05 PM, Michael Droettboom wrote: In r8454, I have a applied a fix that allows this C++ exception to correctly percolate to the Python side -- the user will still get an exception, but it will be a Python exception and the interpreter itself does not crash. (It used to work, but recent changes to CXX caused it to break.) I have attached this patch to the e-mail. As Eric suggests, fixing the underlying limitation (I even hesitate to call it a bug because it is definitely a corner case) requires understanding some pretty dark depths of the Agg renderer. Mike On 06/21/2010 10:57 PM, Eric Firing wrote: On 06/21/2010 12:24 PM, Sandro Tosi wrote: forwarded 585442 matplotlib-devel@lists.sourceforge.net thanks Hello Matplotlib developers, here below is a report a user of maplotlib sent to the Debian bug tracker. I've verified and it happend also with 0.99.3: $ python -c "import matplotlib as p ; print p.__version__" 0.99.3 $ python mpl_crash.py terminate called after throwing an instance of 'char const*' Aborted Thanks for looking into it, Sandro Sandro, Thanks for reporting it. With the default interpolation, rendering gets extremely slow as the view limits decline to and below a single image pixel. I suspect the crash is related to this. Neither the slowdown nor the crash occurs with interpolation='nearest', although there is still an anomaly in which the image is blank when the viewlim region is too small. Like Ryan, I am not familiar with the _image.cpp and the underlying agg routines, but I suspect this is going to be a difficult problem to solve. It may be necessary to put in some workaround, trying to trap and prevent the extreme slowdown and crash. The slowdown topic came up on the list years ago. http://www.mail-archive.com/matplotlib-devel@lists.sourceforge.net/msg00513.html Eric On Thu, Jun 10, 2010 at 16:52, Teemu Ikonen wrote: Package: python-matplotlib Version: 0.99.1.2-3 Severity: important Running a program which displays an image with plt.imshow() and changes the axes with plt.axis() before calling plt.show() crashes the python interpreter: $ python mpl_crash.py terminate called after throwing an instance of 'char const*' Aborted This happens at least with Qt4Agg, GTKAgg and TKAgg backends. The example program is attached. Best, Teemu -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-trunk-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages python-matplotlib depends on: ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit ii libc6 2.10.2-9 Embedded GNU C Library: Shared lib ii libcairo2 1.8.10-4 The Cairo 2D vector graphics libra ii libfontconfig1 2.8.0-2.1generic font configuration library ii libfreetype62.3.11-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.4.4-1GCC support library ii libglib2.0-02.24.1-1 The GLib library of C routines ii libgtk2.0-0 2.20.1-1 The GTK+ graphical user interface ii libpango1.0-0 1.28.0-1 Layout and rendering of internatio ii libpng12-0 1.2.43-1 PNG library - runtime ii libstdc++6 4.4.4-1 The GNU Standard C++ Library v3 ii python 2.5.4-9 An interactive high-level object-o ii python-cairo1.8.8-1+b1 Python bindings for the Cairo vect ii python-dateutil 1.4.1-3 powerful extensions to the standar ii python-gobject 2.21.1-1 Python bindings for the GObject li ii python-matplotlib-data 0.99.1.2-3 Python based plotting system (data ii python-numpy1:1.3.0-3+b1 Numerical Python adds a fast array ii python-pyparsing1.5.2-2 Python parsing module ii python-support 1.0.8automated rebuilding support for P ii python-tz 2010b-1 Python version of the Olson timezo ii tcl8.5 8.5.8-2 Tcl (the Tool Command Language) v8 ii tk8.5 8.5.8-1 Tk toolkit for Tcl and X11, v8.5 - ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime Versions of packages python-matplotlib recommends: ii python-glade2 2.17.0-2 GTK+ bindings: Glade support ii python-tk 2.6.5-1Tkinter - Writing Tk applications Versions of packages python-matplotlib suggests: ii dvipng1.13-1 convert DVI files to PNG graphics ii ipython 0.10-2 enhanced interactive
Re: [matplotlib-devel] [Python-modules-team] Bug#585442: python-matplotlib: crashes when calling axis() after imshow()
Ok. Attached is a corrected patch. Mike On 06/22/2010 12:26 PM, Michael Droettboom wrote: Hold off, actually. This patch seems to have broken some thing inadvertently. Stay tuned... Mike On 06/22/2010 12:05 PM, Michael Droettboom wrote: In r8454, I have a applied a fix that allows this C++ exception to correctly percolate to the Python side -- the user will still get an exception, but it will be a Python exception and the interpreter itself does not crash. (It used to work, but recent changes to CXX caused it to break.) I have attached this patch to the e-mail. As Eric suggests, fixing the underlying limitation (I even hesitate to call it a bug because it is definitely a corner case) requires understanding some pretty dark depths of the Agg renderer. Mike On 06/21/2010 10:57 PM, Eric Firing wrote: On 06/21/2010 12:24 PM, Sandro Tosi wrote: forwarded 585442 matplotlib-devel@lists.sourceforge.net thanks Hello Matplotlib developers, here below is a report a user of maplotlib sent to the Debian bug tracker. I've verified and it happend also with 0.99.3: $ python -c "import matplotlib as p ; print p.__version__" 0.99.3 $ python mpl_crash.py terminate called after throwing an instance of 'char const*' Aborted Thanks for looking into it, Sandro Sandro, Thanks for reporting it. With the default interpolation, rendering gets extremely slow as the view limits decline to and below a single image pixel. I suspect the crash is related to this. Neither the slowdown nor the crash occurs with interpolation='nearest', although there is still an anomaly in which the image is blank when the viewlim region is too small. Like Ryan, I am not familiar with the _image.cpp and the underlying agg routines, but I suspect this is going to be a difficult problem to solve. It may be necessary to put in some workaround, trying to trap and prevent the extreme slowdown and crash. The slowdown topic came up on the list years ago. http://www.mail-archive.com/matplotlib-devel@lists.sourceforge.net/msg00513.html Eric On Thu, Jun 10, 2010 at 16:52, Teemu Ikonen wrote: Package: python-matplotlib Version: 0.99.1.2-3 Severity: important Running a program which displays an image with plt.imshow() and changes the axes with plt.axis() before calling plt.show() crashes the python interpreter: $ python mpl_crash.py terminate called after throwing an instance of 'char const*' Aborted This happens at least with Qt4Agg, GTKAgg and TKAgg backends. The example program is attached. Best, Teemu -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-trunk-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages python-matplotlib depends on: ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit ii libc6 2.10.2-9 Embedded GNU C Library: Shared lib ii libcairo2 1.8.10-4 The Cairo 2D vector graphics libra ii libfontconfig1 2.8.0-2.1generic font configuration library ii libfreetype62.3.11-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.4.4-1GCC support library ii libglib2.0-02.24.1-1 The GLib library of C routines ii libgtk2.0-0 2.20.1-1 The GTK+ graphical user interface ii libpango1.0-0 1.28.0-1 Layout and rendering of internatio ii libpng12-0 1.2.43-1 PNG library - runtime ii libstdc++6 4.4.4-1 The GNU Standard C++ Library v3 ii python 2.5.4-9 An interactive high-level object-o ii python-cairo1.8.8-1+b1 Python bindings for the Cairo vect ii python-dateutil 1.4.1-3 powerful extensions to the standar ii python-gobject 2.21.1-1 Python bindings for the GObject li ii python-matplotlib-data 0.99.1.2-3 Python based plotting system (data ii python-numpy1:1.3.0-3+b1 Numerical Python adds a fast array ii python-pyparsing1.5.2-2 Python parsing module ii python-support 1.0.8automated rebuilding support for P ii python-tz 2010b-1 Python version of the Olson timezo ii tcl8.5 8.5.8-2 Tcl (the Tool Command Language) v8 ii tk8.5 8.5.8-1 Tk toolkit for Tcl and X11, v8.5 - ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime Versions of packages python-matplotlib recommends: ii python-glade2 2.17.0-2 GTK+ bindings: Glade support ii python-tk 2.6.5-1Tkinter - Writing Tk applications Versions of packages python-matplotlib suggests: ii dvipng1.13-1 convert
Re: [matplotlib-devel] [Python-modules-team] Bug#585442: python-matplotlib: crashes when calling axis() after imshow()
SVN r8456 has a patch for the slowness Eric described when doing extreme magnification on an image. Unfortunately, this fix paves over the exception fixed earlier. Rather than getting an exception when the magnification is too high, it now silently just doesn't draw the image. I'm trying to figure out what the threshold is beyond which it fails in order to manually raise an exception, but not having much luck. I suspect it's somehow related to floating-point or even Agg's fixed-point rounding error. Mike On 06/22/2010 12:31 PM, Michael Droettboom wrote: Ok. Attached is a corrected patch. Mike On 06/22/2010 12:26 PM, Michael Droettboom wrote: Hold off, actually. This patch seems to have broken some thing inadvertently. Stay tuned... Mike On 06/22/2010 12:05 PM, Michael Droettboom wrote: In r8454, I have a applied a fix that allows this C++ exception to correctly percolate to the Python side -- the user will still get an exception, but it will be a Python exception and the interpreter itself does not crash. (It used to work, but recent changes to CXX caused it to break.) I have attached this patch to the e-mail. As Eric suggests, fixing the underlying limitation (I even hesitate to call it a bug because it is definitely a corner case) requires understanding some pretty dark depths of the Agg renderer. Mike On 06/21/2010 10:57 PM, Eric Firing wrote: On 06/21/2010 12:24 PM, Sandro Tosi wrote: forwarded 585442 matplotlib-devel@lists.sourceforge.net thanks Hello Matplotlib developers, here below is a report a user of maplotlib sent to the Debian bug tracker. I've verified and it happend also with 0.99.3: $ python -c "import matplotlib as p ; print p.__version__" 0.99.3 $ python mpl_crash.py terminate called after throwing an instance of 'char const*' Aborted Thanks for looking into it, Sandro Sandro, Thanks for reporting it. With the default interpolation, rendering gets extremely slow as the view limits decline to and below a single image pixel. I suspect the crash is related to this. Neither the slowdown nor the crash occurs with interpolation='nearest', although there is still an anomaly in which the image is blank when the viewlim region is too small. Like Ryan, I am not familiar with the _image.cpp and the underlying agg routines, but I suspect this is going to be a difficult problem to solve. It may be necessary to put in some workaround, trying to trap and prevent the extreme slowdown and crash. The slowdown topic came up on the list years ago. http://www.mail-archive.com/matplotlib-devel@lists.sourceforge.net/msg00513.html Eric On Thu, Jun 10, 2010 at 16:52, Teemu Ikonen wrote: Package: python-matplotlib Version: 0.99.1.2-3 Severity: important Running a program which displays an image with plt.imshow() and changes the axes with plt.axis() before calling plt.show() crashes the python interpreter: $ python mpl_crash.py terminate called after throwing an instance of 'char const*' Aborted This happens at least with Qt4Agg, GTKAgg and TKAgg backends. The example program is attached. Best, Teemu -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-trunk-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages python-matplotlib depends on: ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit ii libc6 2.10.2-9 Embedded GNU C Library: Shared lib ii libcairo2 1.8.10-4 The Cairo 2D vector graphics libra ii libfontconfig1 2.8.0-2.1generic font configuration library ii libfreetype62.3.11-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.4.4-1GCC support library ii libglib2.0-02.24.1-1 The GLib library of C routines ii libgtk2.0-0 2.20.1-1 The GTK+ graphical user interface ii libpango1.0-0 1.28.0-1 Layout and rendering of internatio ii libpng12-0 1.2.43-1 PNG library - runtime ii libstdc++6 4.4.4-1 The GNU Standard C++ Library v3 ii python 2.5.4-9 An interactive high-level object-o ii python-cairo1.8.8-1+b1 Python bindings for the Cairo vect ii python-dateutil 1.4.1-3 powerful extensions to the standar ii python-gobject 2.21.1-1 Python bindings for the GObject li ii python-matplotlib-data 0.99.1.2-3 Python based plotting system (data ii python-numpy1:1.3.0-3+b1 Numerical Python adds a fast array ii python-pyparsing1.5.2-2 Python parsing module ii python-support 1.0.8automated rebuilding support for P ii python-tz 2010b-1 Python v
Re: [matplotlib-devel] [Python-modules-team] Bug#585442: python-matplotlib: crashes when calling axis() after imshow()
On 06/22/2010 10:11 AM, Michael Droettboom wrote: > SVN r8456 has a patch for the slowness Eric described when doing extreme > magnification on an image. Excellent! > > Unfortunately, this fix paves over the exception fixed earlier. Rather > than getting an exception when the magnification is too high, it now > silently just doesn't draw the image. I'm trying to figure out what the > threshold is beyond which it fails in order to manually raise an > exception, but not having much luck. I suspect it's somehow related to > floating-point or even Agg's fixed-point rounding error. "just doesn't draw" sounds like a pretty benign failure mode. It might even be better than raising an exception. An alternative might be to use something like "nonsingular()" to block attempts to make the view limits too small--once it is known how to calculate "too small". Yet another alternative, more complicated to implement, would be to clip the array and then interpolate to a finer grid at the python level when trying to zoom too far into a cell of the original grid. It would be good if everything could be kept at the python or _image.cpp level, so that the Agg code could be left unchanged. As far as I know, your previous patch to raise the exception was the only mpl-specific change that has been made to the Agg24 code. Eric > > Mike > > On 06/22/2010 12:31 PM, Michael Droettboom wrote: >> Ok. Attached is a corrected patch. >> >> Mike >> >> On 06/22/2010 12:26 PM, Michael Droettboom wrote: >>> Hold off, actually. This patch seems to have broken some thing >>> inadvertently. Stay tuned... >>> >>> Mike >>> >>> On 06/22/2010 12:05 PM, Michael Droettboom wrote: In r8454, I have a applied a fix that allows this C++ exception to correctly percolate to the Python side -- the user will still get an exception, but it will be a Python exception and the interpreter itself does not crash. (It used to work, but recent changes to CXX caused it to break.) I have attached this patch to the e-mail. As Eric suggests, fixing the underlying limitation (I even hesitate to call it a bug because it is definitely a corner case) requires understanding some pretty dark depths of the Agg renderer. Mike On 06/21/2010 10:57 PM, Eric Firing wrote: > On 06/21/2010 12:24 PM, Sandro Tosi wrote: >> forwarded 585442 matplotlib-devel@lists.sourceforge.net >> thanks >> >> Hello Matplotlib developers, >> here below is a report a user of maplotlib sent to the Debian bug >> tracker. I've verified and it happend also with 0.99.3: >> >> $ python -c "import matplotlib as p ; print p.__version__" >> 0.99.3 >> $ python mpl_crash.py >> terminate called after throwing an instance of 'char const*' >> Aborted >> >> Thanks for looking into it, >> Sandro > Sandro, > > Thanks for reporting it. > > With the default interpolation, rendering gets extremely slow as the > view limits decline to and below a single image pixel. I suspect the > crash is related to this. Neither the slowdown nor the crash occurs > with interpolation='nearest', although there is still an anomaly in > which the image is blank when the viewlim region is too small. > > Like Ryan, I am not familiar with the _image.cpp and the underlying > agg > routines, but I suspect this is going to be a difficult problem to > solve. It may be necessary to put in some workaround, trying to trap > and prevent the extreme slowdown and crash. The slowdown topic came up > on the list years ago. > > http://www.mail-archive.com/matplotlib-devel@lists.sourceforge.net/msg00513.html > > > Eric > >> On Thu, Jun 10, 2010 at 16:52, Teemu Ikonen >> wrote: >>> Package: python-matplotlib >>> Version: 0.99.1.2-3 >>> Severity: important >>> >>> Running a program which displays an image with plt.imshow() and >>> changes the >>> axes with plt.axis() before calling plt.show() crashes the python >>> interpreter: >>> >>> $ python mpl_crash.py >>> terminate called after throwing an instance of 'char const*' >>> Aborted >>> >>> This happens at least with Qt4Agg, GTKAgg and TKAgg backends. >>> >>> The example program is attached. >>> >>> Best, >>> >>> Teemu >>> >>> -- System Information: >>> Debian Release: squeeze/sid >>> APT prefers testing >>> APT policy: (500, 'testing') >>> Architecture: amd64 (x86_64) >>> >>> Kernel: Linux 2.6.32-trunk-amd64 (SMP w/4 CPU cores) >>> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) >>> Shell: /bin/sh linked to /bin/dash >>> >>> Versions of packages python-matplotlib depends on: >>> ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit >>> ii libc6 2.10.2-9 Embedded GNU C Library: Shared lib >>> ii libcairo2 1.8.10-4 The
[matplotlib-devel] noslice with interpolation 'nearest'
JJ, In AxesImageBase._draw_unsampled_image, there is a call to _get_unsampled_image(...noslice=True). When using imshow(Z, interpolation='nearest'), this defeats the slicing that makes such a difference when zooming and panning a small chunk of a large image. Changing it to False makes imshow work better; I don't understand why one would ever want noslice=True. Am I missing something? Can we just change it to False? Or remove the noslice option and kwarg entirely? Eric -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
Re: [matplotlib-devel] noslice with interpolation 'nearest'
Eric, I should have left more comments about my change. The issue is that the current slicing algorithm sometimes fails with "_draw_unsampled_image" which support arbitrary affine transformation of the image. The slicing gets wrong when the image is significantly skewed or rotated. So, as a temporary measure, I simply wanted to disable the slicing until we have a correct algorithm in place. I guess a quick (still temporary) fix is to check if affine transform is needed, and do the slicing if not. Something like below. The condition is not exactly correct, but I think it would work in most of cases. I actually didn't test the patch. I'll be out of town until the end of this week. On a second thought, I think it should not be difficult to workaround the slicing thing for arbitrary affine transform. I'll think about the whole issue again when I get back. If you have a better idea, please go ahead and implement. Regards, -JJ diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 7c1128f..b65f446 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -248,9 +248,14 @@ class _AxesImageBase(martist.Artist, cm.ScalarMappable): """ +if self._image_skew_coordinate: +no_slice = True +else: +no_slice = False + im, xmin, ymin, dxintv, dyintv, sx, sy = \ self._get_unsampled_image(self._A, self.get_extent(), - self.axes.viewLim, noslice=True) + self.axes.viewLim, noslice=no_slice) if im is None: return # I'm not if this check is required. -JJL On Tue, Jun 22, 2010 at 8:45 PM, Eric Firing wrote: > JJ, > > In AxesImageBase._draw_unsampled_image, there is a call to > _get_unsampled_image(...noslice=True). When using imshow(Z, > interpolation='nearest'), this defeats the slicing that makes such a > difference when zooming and panning a small chunk of a large image. Changing > it to False makes imshow work better; I don't understand why one would ever > want noslice=True. Am I missing something? Can we just change it to False? > Or remove the noslice option and kwarg entirely? > > Eric > -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel