想用healpy做一个healpix日志密度全天图

时间:2017-05-27 14:01:40

标签: astronomy astropy healpy

我有一组大的> 10M对象,文件有R.A.s和Declinations。我想制作这些日志密度的全天图,使用,我认为healpix / healpy。我目前的代码如下:

 m = hp.ang2pix(512, ra, dec, lonlat=True)
 NSIDE = 512
 np.arange(hp.nside2npix(NSIDE))
 hp.visufunc.mollview(m) 

我收到错误:

 ValueError: Wrong pixel number (it is not 12*nside**2)

我做错了什么?

谢谢, NIC

1 个答案:

答案 0 :(得分:2)

这里m是长度为ra,(和dec)的数组。首先需要将m转换为长度为12 * NSIDE ^ 2的healpix地图[或数组]。

要做到这一点,你可以使用numpy.bincount [非常快,并给你每个像素中的对象数量],或scipy.stats.binned_statistic,[非常慢,但允许你计算任何'统计'像np.std等你喜欢的,每个像素中的数据]

def gen_fast_map(ip_, nside=512):
    npixel  = hp.nside2npix(nside)
    map_ = np.bincount(ip_,minlength=npixel)
    return map_

map = gen_fast_map(m)
hp.visufunc.mollview(map)
相关问题