假设我有一个包含 WCS 标头的 FITS 文件,所以我可以这样做:
#import healpy as hp
#import astropy.io.fits as pyfits
#from astropy.wcs import WCS
listofhdus = pyfits.open(FITS)
wcs = WCS(listofhdus[0].header)
listofhdus[0].data 将包含一个 2D numpy 数组(纽约乘以 NX),它对应于银河坐标系中完整天空的一小部分。
如果我想将该天空图叠加到以下带有 Mollweide 投影的散点图中,那么将该 2d numpy 转换为 healpix 格式(称为 WCS)的最佳方法是什么?
NPIX = hp.nside2npix(512)
m = 0*np.arange(NPIX)
hp.mollview(m, title="test")
hp.projscatter(longitude, latitude, lonlat=True,
coord='G',marker='+',color='black')
hp.graticule()
其中经度和纬度是两个二维数组(使用 numpy.meshgrid 生成),其中包含我感兴趣的一些天体物理源的银河坐标?
我想我可以尝试将我的 healpix 像素转换为坐标,以某种方式将它们与我的天空图中可用的像素匹配并从那里插入值,但必须有一些更简单、更优雅和精确的东西,对吧?