Skip to main content
 首页 » 编程设计

python之如何使用 Healpy 部分绘制 Healpix map

2024年10月24日35linjiqin

在使用 healpy 时,我可以使用

在 Mollview 中绘制 Healpix map
import healpy 
map = 'filename.fits' 
healpy.visufunc.mollview(map) 

或如教程中所述

>>> import numpy as np 
>>> import healpy as hp 
>>> NSIDE = 32 
>>> m = np.arange(hp.nside2npix(NSIDE)) 
>>> hp.mollview(m, title="Mollview image RING") 

输出

有没有办法只显示 map 的某些区域?例如,只有上半球,还是只有左侧?

我的想法是只查看一小块天空以查看小点源,或者类似于 LSST 的“半天空”投影

请您参考如下方法:

你可以使用掩码,它是一个相同大小的 bool 映射,其中 1 被屏蔽,0 不被屏蔽:

http://healpy.readthedocs.org/en/latest/tutorial.html#masked-map-partial-maps

例子:

import numpy as np 
import healpy as hp 
NSIDE = 32 
m = hp.ma(np.arange(hp.nside2npix(NSIDE), dtype=np.double)) 
mask = np.zeros(hp.nside2npix(NSIDE), dtype=np.bool) 
pixel_theta, pixel_phi = hp.pix2ang(NSIDE, np.arange(hp.nside2npix(NSIDE))) 
mask[pixel_theta > np.pi/2] = 1 
m.mask = mask 
hp.mollview(m)