假设我有一个包含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.data将包含一个2Dnumpy数组(NY乘NX),它对应于银河系坐标中完整天空的一小部分。
如果我想用Mollweide投影将这个星空图覆盖到下面的散点图中,那么将2d数字转换为healpix格式的最佳方法是什么?
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()其中经度和纬度是两个2D数组(用numpy.meshgrid生成),其中包含一些我感兴趣的天体物理源的银河坐标。
我想我可以尝试将我的healpix像素转换成坐标,以某种方式将它们与我的skymap中可用的坐标进行匹配,并从那里插入值,但一定有更简单、更优雅和更精确的东西,对吧?
发布于 2019-05-28 00:42:00
您应该查看reproject,它可以处理您与HEALPix之间的所有重投影需求。
特别是,请查看reproject_to_healpix。
如果您需要更好地控制插值例程(使用基于卷积的网格,确保通量守恒,性能),我建议您查看cygrid,它也具有some examples for HEALPix。
https://stackoverflow.com/questions/56327637
复制相似问题