|
From: Benjamin R. <ben...@ou...> - 2011-02-02 23:53:58
|
On Wed, Feb 2, 2011 at 5:33 PM, Robert Abiad <ab...@ss...> wrote: > Hello All, > > I'm very new to python, so bear with me. > > I'd like to use python to do my image processing, but I'm running into > behavior that doesn't make > sense to me. I'm using Windows 7 Pro (64-bit) with 4 gigs of memory, > python 2.6.6, and the newest > versions of ipython, pyfits, matplotlib (1.0.1), numpy (1.5.1), scipy. I'm > loading in a fits file > that's 26 MB (~16 Mpixels). When I load my image in ImageJ, I can see > memory usage go up by 50MB, > but when I try displaying the image using imshow(), my memory usage goes up > by around 500MB, each > time. If I close the figure and replot it, imshow() crashes. I don't know > if I'm doing something > wrong, or if it's a new or known bug. I tried the same thing on Linux and > got the same result. > Here's a transcript. > > Welcome to pylab, a matplotlib-based Python environment. > For more information, type 'help(pylab)'. > > In [1]: import pyfits > > In [2]: from Tkinter import * > > In [3]: import tkFileDialog > > In [4]: image=pyfits.getdata(tkFileDialog.askopenfilename()) > > In [5]: imshow(image) > Out[5]: <matplotlib.image.AxesImage object at 0x03BCA170> > > In [6]: close() > > In [7]: imshow(image,origin='lower') > Out[7]: <matplotlib.image.AxesImage object at 0x0440E170> > > In [8]: close() > > In [9]: imshow(image[100:3600,100:3600],origin='lower') > Out[9]: <matplotlib.image.AxesImage object at 0x045D9FB0> > > In [10]: Exception in Tkinter callback > Traceback (most recent call last): > File "C:\app\Python2.6\lib\lib-tk\Tkinter.py", line 1410, in __call__ > return self.func(*args) > File "C:\app\Python2.6\lib\lib-tk\Tkinter.py", line 495, in callit > func(*args) > File > "C:\app\Python2.6\lib\site-packages\matplotlib\backends\backend_tkagg.py", > line 263, in > idle_draw > self.draw() > File > "C:\app\Python2.6\lib\site-packages\matplotlib\backends\backend_tkagg.py", > line 248, in draw > FigureCanvasAgg.draw(self) > File > "C:\app\Python2.6\lib\site-packages\matplotlib\backends\backend_agg.py", > line 394, in draw > self.figure.draw(self.renderer) > File "C:\app\Python2.6\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\app\Python2.6\lib\site-packages\matplotlib\figure.py", line 798, > in draw > func(*args) > File "C:\app\Python2.6\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\app\Python2.6\lib\site-packages\matplotlib\axes.py", line 1946, > in draw > a.draw(renderer) > File "C:\app\Python2.6\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\app\Python2.6\lib\site-packages\matplotlib\image.py", line 354, > in draw > im = self.make_image(renderer.get_image_magnification()) > File "C:\app\Python2.6\lib\site-packages\matplotlib\image.py", line 569, > in make_image > transformed_viewLim) > File "C:\app\Python2.6\lib\site-packages\matplotlib\image.py", line 201, > in _get_unsampled_image > x = self.to_rgba(self._A, self._alpha) > File "C:\app\Python2.6\lib\site-packages\matplotlib\cm.py", line 193, in > to_rgba > x = self.norm(x) > File "C:\app\Python2.6\lib\site-packages\matplotlib\colors.py", line 820, > in __call__ > result = (val-vmin) / (vmax-vmin) > File "C:\app\Python2.6\lib\site-packages\numpy\ma\core.py", line 3673, in > __div__ > return divide(self, other) > File "C:\app\Python2.6\lib\site-packages\numpy\ma\core.py", line 1077, in > __call__ > m |= filled(domain(da, db), True) > File "C:\app\Python2.6\lib\site-packages\numpy\ma\core.py", line 772, in > __call__ > return umath.absolute(a) * self.tolerance >= umath.absolute(b) > MemoryError > > > Thanks for any help, > -robert > > This isn't new, but it isn't well understood either: http://www.mail-archive.com/mat...@li.../msg19614.html Unfortunately, that conversation went off-list, and never resulted in a bug report being filed. Could you please file a bug report on this? http://sourceforge.net/tracker/?group_id=80706 Thanks, Ben Root |