2016-01-06 228 views
1

当healpy工作,我能够用绘制在Mollview一个Healpix地图如何使用Healpy部分绘制Healpix地图?

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") 

其输出

enter image description here

有一种只显示地图某些区域的方法?例如,只有上半球,还是只有左侧?

我心目中是仅仅观察天空中的小补丁看到小点源,或类似的东西从LSST

enter image description here

+1

您也可以找到['reproject'(https://reproject.readthedocs.io/en/stable/#documentation)包装实用,可以让你重新投影HEALPix映射到更小的区域。该文档包含一些如何进行重投影和绘图的示例。 –

回答

1

“半天空”投影您可以使用口罩,这是相同的大小,其中,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) 

enter image description here

+0

谢谢!有没有一种精确的方法可以知道我遮挡哪些像素? (我认为如果只是根据上面的坐标定义掩模,那应该没问题,如果我知道各个像素的位置)。 – EB2127

+0

是的,'pixel_theta,pixel_phi'是像素中心的坐标,'theta'是“colatitude”,“phi”是经度。 –