复制一个 FITS header
Copy a FITS header
假设我读了一个 FITS 文件
from astropy.io import fits
from astropy.utils.data import get_pkg_data_filename
image_file = get_pkg_data_filename('tutorials/FITS-images/HorseHead.fits')
cube = fits.open(image_file)[0]
而且我想复制它的 header 这样我就可以在不改变原件的情况下修改副本 header
header_copy = cube.header
header_copy.remove('OBJCTY')
但是,这也会修改 cube.header
。
我将如何着手制作 header 的实际副本,而不是创建指向 header 的新指针?
header_copy = ?
来自 astropy.io.fits
的 Header
class 有一个 copy function。
header_copy = cube.header.copy()
header_copy.remove('OBJCTY')
然后 header_copy
是对象的实际副本,而不是指向 cube.header
的指针
if cube.header['OBJECTY'] != header_copy['OBJECTY']:
print('All ok')
>>> All ok
假设我读了一个 FITS 文件
from astropy.io import fits
from astropy.utils.data import get_pkg_data_filename
image_file = get_pkg_data_filename('tutorials/FITS-images/HorseHead.fits')
cube = fits.open(image_file)[0]
而且我想复制它的 header 这样我就可以在不改变原件的情况下修改副本 header
header_copy = cube.header
header_copy.remove('OBJCTY')
但是,这也会修改 cube.header
。
我将如何着手制作 header 的实际副本,而不是创建指向 header 的新指针?
header_copy = ?
来自 astropy.io.fits
的 Header
class 有一个 copy function。
header_copy = cube.header.copy()
header_copy.remove('OBJCTY')
然后 header_copy
是对象的实际副本,而不是指向 cube.header
if cube.header['OBJECTY'] != header_copy['OBJECTY']:
print('All ok')
>>> All ok