我有一个fits文件里面是一批散点数据横坐标为Gbp_Grp纵坐标为Gmag。Gbp_GrpGmag均为正负阿拉伯数字对其进行插值运算获得新的Gbp_GrpGmag如何将新的Gbp_Grp和Gmag放入一个新建的FITS文件中
可以使用Python中的astropy库来进行FITS文件的读取和写入操作。具体步骤如下:
- 导入astropy库中的fits模块和Table模块:
from astropy.io import fits
from astropy.table import Table
- 使用fits模块中的open函数读取原始的fits文件:
hdul = fits.open('original.fits')
- 通过hdul对象获取原始数据:
data = hdul[1].data
- 对原始数据进行插值运算得到新的Gbp_Grp和Gmag:
# 假设使用scipy库中的插值函数
from scipy.interpolate import interp1d
x = data['Gbp_Grp']
y = data['Gmag']
new_x = # 新的Gbp_Grp
f = interp1d(x, y, kind='cubic')
new_y = f(new_x)
- 将新的数据保存到Table对象中:
table = Table()
table['Gbp_Grp'] = new_x
table['Gmag'] = new_y
- 创建一个新的fits文件并将数据保存到其中:
hdu = fits.PrimaryHDU()
tbhdu = fits.BinTableHDU(table)
hdul_new = fits.HDUList([hdu, tbhdu])
hdul_new.writeto('new.fits', overwrite=True)
以上步骤可以将新的Gbp_Grp和Gmag保存到一个新的fits文件中
原文地址: https://www.cveoy.top/t/topic/fdKN 著作权归作者所有。请勿转载和采集!