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 ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users