【问题标题】:FITS with WCS to healpy适合 WCS 以治愈
【发布时间】:2019-05-27 14:05:15
【问题描述】:

假设我有一个包含 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 数组(NY 乘 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 像素转换为坐标,以某种方式将它们与我的天空图中可用的像素进行匹配并从那里插入值,但必须有一些更简单、更优雅和精确的东西,对吧?

【问题讨论】:

    标签: python numpy matplotlib astropy healpy


    【解决方案1】:

    您应该查看reproject,它可以满足您对 HEALPix 的所有重新投影需求。

    尤其是reproject_to_healpix

    如果您需要更好地控制插值程序(使用基于卷积的网格器,确保通量守恒和性能),我建议您查看 cygrid,它也有 some examples for HEALPix

    【讨论】:

      猜你喜欢
      • 2019-01-09
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 2018-11-11
      • 2020-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多