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
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users