如何使用真实坐标绘制 FITS 文件中的图像?

use*_*ber 2 python-3.x fits astropy

astropy文档有一个关于如何从 FITS 文件绘制图像的示例。结果图上的轴对应于像素或数据点的数量。我希望轴指示银河坐标。

请注意,我的 FITS 文件的标头指示了有关图像在天空上的位置的所有信息。如何让绘图显示真实坐标而不是像素数?

use*_*ber 5

astropy 提供的 WCS 框架可用于使用世界坐标进行绘图。

from astropy.wcs import WCS
from astropy.io import fits
from astropy.utils.data import get_pkg_data_filename
import matplotlib.pyplot as plt

image_file = get_pkg_data_filename('tutorials/FITS-images/HorseHead.fits')
hdu = fits.open(image_file)[0]
wcs = WCS(hdu.header)

plt.subplot(projection=wcs) 
plt.imshow(hdu.data, origin='lower') 
plt.grid(color='white', ls='solid')
plt.show()
Run Code Online (Sandbox Code Playgroud)