[SciPy-user] plt.image: zoom too far?
bryan.cole at teraview.co.uk
Wed Aug 7 04:14:57 CDT 2002
This should not be too hard to fix.
I have implemented image zooming on another wxPython plot widget: The
original is stored as a wxImage. When zooming, I take a sub-image using
the wxImage.GetSubImage() method then rescale the sub-image back up the
the desired size using wxImage.Rescale().
I've attached the python file (wxLabPlot.py) if anyone wants to look.
It's a crude adaption of the wxPlotCanvas that comes with wxPython.
Lines 186->212 deal with the image scaling.
If the plt module is written in Python, I could probably write a patch
but it will take me a week or two to get round to it.
On Tue, 2002-08-06 at 22:56, eric jones wrote:
> Yep, this is a known bug. The zooming feature relies on wxPython to
> zoom the image, and it looks like wxPython generates the entire image
> when scaling it resulting in a memory explosion. This needs
> reimplementation to solve the problem for images. It doesn't affect
> scatter plots -- just images.
> A patch would be very welcomed. :-)
> > -----Original Message-----
> > From: scipy-user-admin at scipy.net [mailto:scipy-user-admin at scipy.net]
> > Behalf Of Adam C. Finnefrock
> > Sent: Tuesday, August 06, 2002 4:22 PM
> > To: scipy-user
> > Subject: [SciPy-user] plt.image: zoom too far?
> > Hi all,
> > Has anyone had trouble using plt.image and zooming in too far?
> > The symptoms are either using all available memory (Linux, > 400MB)
> > or showing a blank white window (Linux, Windows).
> > Example:
> > >>> import gui_thread
> > >>> <Importing wxPython... done.>
> > >>> from scipy import *
> > >>> from scipy import plt
> > >>> img = plt.lena()
> > >>> plt.image(img)
> > 1. Use the mouse, zoom in on the eye near the center of the image.
> > (In linux, python's memory usage peaks and then returns to
> > value.)
> > 2. Now, zoom in closer using the mouse so that just the iris and
> > would
> > be shown. (In linux, memory usage rises to > 400MB and this disk
> > starts
> > swapping. In Windows, the image is not rendered but instead a
> > canvas is shown.)
> > Same results can be obtained on the command-line:
> > >>> z=plt.image(img)
> > >>> z.x_axis.bounds = [245,250]
> > >>> z.y_axis.bounds = [245,250]
> > >>> z.update()
> > Is this a known bug? Should I be posting to scipy-devel instead?
> > Thanks,
> > Adam
> > _______________________________________________
> > SciPy-user mailing list
> > SciPy-user at scipy.net
> > http://www.scipy.net/mailman/listinfo/scipy-user
> SciPy-user mailing list
> SciPy-user at scipy.net
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 44164 bytes
Desc: not available
Url : http://projects.scipy.org/pipermail/scipy-user/attachments/20020807/8bd95a44/attachment.py
More information about the SciPy-user