使用 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)
我正在尝试制作一个包含两张图片的适合文件,我想给它们都添加 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)