0

我的大部分代码都采用 .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')

有什么想法吗?

4

2 回答 2

1

要将 FITS 图像转换为缩略图,我建议使用“Montage”软件包中的 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 脚本调用这些命令。

于 2013-08-09T15:25:03.310 回答
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)
于 2015-10-10T04:43:41.270 回答