2016-01-06 85 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」是經度。 –