python - 适合 WCS 以治愈
问题描述
假设我有一个包含 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 像素转换为坐标,以某种方式将它们与我的天空图中可用的像素匹配并从那里插入值,但必须有一些更简单、更优雅和精确的东西,对吧?
解决方案
您应该查看reproject,它可以满足您对 HEALPIx 的所有重新投影需求。
特别是,请查看reproject_to_healpix。
如果您需要更好地控制插值程序(使用基于卷积的网格器,确保通量守恒、性能),我建议您查看cygrid,其中也有一些 HEALPix 示例。
推荐阅读
- html - 背景颜色跨越我的导航栏的宽度,而不是整个背景
- javascript - 在 Promise() 中使用 while 循环
- jersey - 使用 Jersey 构建 REST 服务
- android - 为什么用滑行对图像进行圆角会增加我的 ram 使用量?
- google-photos - Google 照片 API 中的照片 ID
- ios - 无法更改 CNContactViewController forNewContact 中的个人资料图片,当联系人已存在于电话联系人中时
- filtering - DAX:在单个列中返回有关两个(或更多)匹配项的信息
- python - 如何在 Keras Python 中合并多个顺序模型?
- java - 尝试连接到远程 MySQL 数据库时出现 PakcetTooBigException
- android - 设备方向更改时 Twitter 登录回调失败