使用 3 headers astropy 或 pyfits 保存 2 个拟合文件

Save 2 fits files with 3 headers astropy or pyfits

我正在尝试制作一个包含两张图片的适合文件,我想给它们都添加 header。他们两个也应该有一个基本的header。到目前为止我发现的是这个,但我不知道如何正确添加 headers。变量是 headermain、header1、header2、data1、data2。我希望它具有这种结构。

Filename: test.fits
No.    Name         Type      Cards   Dimensions   Format
0    PRIMARY     PrimaryHDU     828   ()              
1    name1  ImageHDU        52   (1024, 900)   float32   
2    name2  ImageHDU        52   (1024, 900)   float32 

我目前有这个,但我找不到如何添加 headers。

new_hdul = pyfits.HDUList()
new_hdul.append(pyfits.ImageHDU(data1)
new_hdul.append(pyfits.ImageHDU(data2)

new_hdul.writeto('test.fits', clobber=True)

astropy documentation on ImageHDU 您可以将 header 作为关键字传递给 ImageHDU:

from astropy.io import fits

new_hdul = fits.HDUList()
new_hdul.append(fits.PrimaryHDU(header=headermain))
new_hdul.append(fits.ImageHDU(data1, header=header1, name='name1'))
new_hdul.append(fits.ImageHDU(data2, header=header2, name='name2'))

new_hdul.writeto('test.fits', clobber=True)