将缩略图保存为适合文件

时间:2013-07-03 04:52:22

标签: python astronomy fits

我的大多数代码都使用.fits文件并创建基于某些参数的小缩略图(它们是星系的图像,所有这些都是无关的信息......)

无论如何,我设法想出一种将图像保存为.pdf的方法,但我不知道如何将它们保存为.fits文件。解决方案需要在“for”循环中,因此它可以直接保存文件,因为有太多的缩略图可以逐个迭代。

最后两行是最相关的。

for i in range(0,len(ra_new)):
ra_new2=cat['ra'][z&lmass&ra&dec][i]
dec_new2=cat['dec'][z&lmass&ra&dec][i]
target_pixel_x = ((ra_new2-ra_ref)/(pixel_size_x))+reference_pixel_x     
target_pixel_y = ((dec_new2-dec_ref)/(pixel_size_y))+reference_pixel_y  
value=img[target_pixel_x,target_pixel_y]>0
ra_new3=cat['ra'][z&lmass&ra&dec&value][i]
dec_new_3=cat['dec'][z&lmass&ra&dec&value][i]
new_target_pixel_x = ((ra_new3-ra_ref)/(pixel_size_x))+reference_pixel_x     
new_target_pixel_y = ((dec_new3-dec_ref)/(pixel_size_y))+reference_pixel_y 
fig = plt.figure(figsize=(5.,5.))
plt.imshow(img[new_target_pixel_x-200:new_target_pixel_x+200, new_target_pixel_y-200:new_target_pixel_y+200], vmin=-0.01, vmax=0.1, cmap='Greys')
fig.savefig(image+"PHOTO"+str(i)+'.pdf')

任何想法都可以吗?

2 个答案:

答案 0 :(得分:1)

为了将FITS图像转换为缩略图,我建议使用“蒙太奇”软件包中的mJPEG工具,可在此处找到:http://montage.ipac.caltech.edu/docs/mJPEG.html

例如,要将FITS图像的目录转换为JPEG文件,然后将它们调整为缩略图,我会使用这样的shell脚本:

#!/bin/bash
for FILE in `ls /path/to/images/*.fits`; do
    mJPEG -gray $FILE 5% 90% log -out $FILE.jpg
    convert $FILE.jpg -resize 64x64 $FILE.thumbnail.jpg
done

当然,您可以从Python而不是shell脚本调用这些命令。

答案 1 :(得分:1)

如评论中所述,astropy包(如果尚未安装)将非常有用: http://astropy.readthedocs.org。您可以在开头导入所需的模块。

from astropy.io import fits

在最后一行,您可以保存缩略图FITS文件。

thumb = img[new_target_pixel_x-200:new_target_pixel_x+200,
            new_target_pixel_y-200:new_target_pixel_y+200]
fits.writeto(image+str(i).zfill(3)+'.fits',thumb)