将轴写入FITS文件

时间:2018-04-19 14:33:05

标签: python axes astropy fits

有没有办法在Python中将现有的xy轴与数据本身一起写入FITS文件?

例如,这里有一些简单的代码将矩阵保存到名为TestFITS的FITS文件:

import numpy as np
from astropy.io import fits

test_matrix = np.random.uniform(0,1,[5,3])
x = np.arange(5,5+len(test_matrix[:,0]))
y = np.arange(5,5+len(test_matrix[0,:]))
hdu = fits.PrimaryHDU(test_matrix)
hdu.writeto('TestFITS')

但如果我希望将x和y保存到文件中,那么可以吗?

1 个答案:

答案 0 :(得分:2)

您可以将它们保存为两个扩展中的一维ImageHDU,位于PrimaryHDU旁边:

import numpy as np
from astropy.io import fits

test_matrix = np.random.uniform(0,1,[5,3])
x = np.arange(5,5+len(test_matrix[:,0]))
y = np.arange(5,5+len(test_matrix[0,:]))
fits.HDUList([
    fits.PrimaryHDU(test_matrix),
    fits.ImageHDU(x, name='X'),
    fits.ImageHDU(y, name='Y'),
    ]).writeto('testxy.fits')

name参数不是必需的,但可以很方便。)