I am trying to use imshow to plot some semi-large fits images.
Here is the code:
from math import *
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import cm as cm
import pyfits
cat = "/Volumes/Sweden/PS1SC/Data/PS20090603-3/MD09/skycell.092/"
fname = "o4985g0263o.warp.MD09.skycell.092"
hdu = pyfits.open(cat+fname+".fits")
print hdu.info()
img = hdu[1].data.astype("int")
plt.figure(figsize=[12,12])
plt.imshow(img,cmap=cm.cool)
plt.savefig("test.png")
Which gives the result:
Filename: /Volumes/Sweden/PS1SC/Data/PS20090603-3/MD09/skycell.092/o4985g0263o.warp.MD09.skycell.092.fits
No. Name Type Cards Dimensions Format
0 PRIMARY PrimaryHDU 6 () int16
1 CompImageHDU 101 (6000, 6000) float32
None
Python(23117,0xa04f2720) malloc: *** mmap(size=1152000000) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last):
File "quick_look.py", line 16, in <module>
plt.savefig("test.png")
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/pyplot.py", line 345, in savefig
return fig.savefig(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/figure.py", line 990, in savefig
self.canvas.print_figure(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/backend_bases.py", line 1419, in print_figure
**kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/backends/backend_agg.py", line 323, in print_png
FigureCanvasAgg.draw(self)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/backends/backend_agg.py", line 279, in draw
self.figure.draw(self.renderer)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/figure.py", line 772, in draw
for a in self.axes: a.draw(renderer)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/axes.py", line 1545, in draw
im.draw(renderer)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/image.py", line 233, in draw
im = self.make_image(renderer.get_image_magnification())
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/image.py", line 180, in make_image
x = self.to_rgba(self._A, self._alpha)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/cm.py", line 79, in to_rgba
x = self.cmap(x, alpha=alpha, bytes=bytes)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/colors.py", line 501, in __call__
rgba = np.empty(shape=xa.shape+(4,), dtype=lut.dtype)
MemoryError
I found the earlier thread of http://www.mail-archive.com/matplotlib-users@lists.sourceforge.net/msg11216.html
but that didn't seem to produce any fixes or good explanations.
I am on a Mac Pro Intel machine running 10.5.7 and
[Heimdall:tgrav ~/Work/myCode/Python/pyPS1SC]> python
ActivePython 2.5.4.3 (ActiveState Software Inc.) based on
Python 2.5.4 (r254:67916, Jan 20 2009, 14:11:42)
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.__version__
'1.3.0rc2'
>>> import pyfits
>>> pyfits.__version__
'2.1.1dev462'
>>> import matplotlib
>>> matplotlib.__version__
'0.98.5.2'
>>>
Cheers
Tommy