FITS图像定制

FITS文件是天文学领域最常用的数据交换和存储格式,全称是”普适图像传输系统”(Flexible Image Transport System)。可以记录包括图像,表格,多维数组在内的各类数据。其文件标准由国际天文学联合会(IAU)FITS工作组维护。自上世纪70年代末期出现以来一直保持向下兼容,最新的标准为2008年公布的3.0(2010年正式发表)。
常见的科学计算语言基本都有支持读写FITS文件的函数库,显示FITS图像的软件也有很多,其中最方便最常用的是美国哈佛-史密松天体物理中心(SAO)开发ds9。ds9的功能非常完善,天文研究要用到的功能几乎应有尽有,比如比对图像、证认天体、在线检索数据库等。不过这个软件主要面向鼠标操作,命令行和细节定制上不免有一些小的限制:比如图像只能以固定比例缩放和裁切,区域(region)只支持8种颜色,叠加其他程序输出的等高线或区域也比较麻烦。
aplpy FITS图像的定制推荐使用Python 的FITS文件显示模块 APLpy(注意:只能显示包含图像的FITS文件),可以直接精确指定显示的范围,放大的级数,坐标的标注,灵活地调整输出图像。APLpy 依赖于Numpy, Matplotlib,Astropy,部分功能还需要pyregion (区域文件解析),PyAVM(虚拟天文元数据读取),PIL (图像处理),Montage_wrapper(北极投影)等几个模块的支持,可根据需要自行安装。

官方的上手指南很清楚,我这里只稍微补充一下。加载FITS文件很简单

import aplpy
import pylab as pl
fig = aplpy.FITSFigure('myimage.fits')
fig.show_colorscale()
pl.show()

指定中心和裁切图像也可以一步完成,坐标直接对应WCS。

fig.recenter(33.23, 55.33, width=0.3, height=0.2) # degrees

标注和形状都可以自由添加,并且通用Matplotlib的关键字,这样颜色、线型、线宽等相关属性就都没有限制了。

fig.add_label(34, 54, 'star',size)
fig.show_circles(x_world, y_world,radius,color,lw)

可以直接调用python的几十种色带,并直接指定显示范围,关键字和Matplotlib是一致的,

fig.show_colorscale(cmap=my_cmap, vmin=-0.1, vmax=0.1)
fig.add_colorbar()

订阅评论
提醒

0 评论
内联反馈
查看所有评论