我正试图将CATALOG.FIT转换成适合于治疗的图像。我能够阅读fits目录,并将ra和dec转换为θ和phi。但是当我使用ang2pix时,它会抛出一个错误“
Error encountered at /home/faisal/healpy/healpy-healpy-aa5f605/hpbeta
/Healpix_cxx/healpix_base.cc, line 829
(function I T_Healpix_Base<I>::loc2pix(double, double, double, bool) const [with I =
long int])
当我沿着经度或纬度旋转Healpix地图时,我会得到错误的行为。我可能漏掉了一些显而易见的东西,但到目前为止,我没有找到什么。
见演示:
import numpy as np
import healpy as hp
import matplotlib.pyplot as plt
nside = 4
npix = hp.nside2npix(nside)
idx = 70
offset = 1 # rad
# set one pixel to 1 in the map
data = np.array(np.equal(np.arange(npix), idx), dtype=float)
我刚刚开始与Healpy合作,并注意到如果我使用一个映射来获取alm,然后使用那些alm来生成一个新的地图,我就不会得到我开始使用的地图。我要看的是:
import numpy as np
import healpy as hp
nside = 2 # healpix nside parameter
m = np.arange(hp.nside2npix(nside)) # create a map to test
alm = hp.map2alm(m) # compute alm's
new_map = hp.alm2map(alm, nside) # create new map
基于Healpy/Healpix文档,我无法理解天图中的一个像素(这是一些测量值)与Healpy的healpy.sphtfunc.map2alm函数产生的球面谐波系数之间的关系,后者计算给定地图的a_lm系数数组。(这个问题也适用于阿纳法斯特。)
我的理解是,给定的像素应该对应一个球谐系数。不过,一点也不。
带一张nside = 8地图。该程序使用Healpy读取CMB映射的FITS格式,手动设置nside值,在地图中读取,显示,然后计算球谐系数。
import math
import matplotlib.pyplot as plt
import numpy as np
import he
我正在尝试通过执行两个磁盘查询来使用healpy创建HEALPix索引的环。第一个对应于内半径,第二个对应于外半径。我从外半径查询中删除了numpy数组元素,其中它等于内半径的HEALPix,因此只留下数组中的环形索引来做我想做的事情。 o_disc = hp.query_disc(nside, v_unit, o_rad) # grabs all the indices within the o_rad input
i_disc = hp.query_disc(nside, v_unit, i_rad)
for j in i_disc:
我有一张宇宙微波背景图,我正在用healpy阅读。我感兴趣的是提取北半球+10度纬度和南半球-10度纬度的像素条带。我可以使用hp.ang2pix()函数很容易地从+10度北向提取像素。但在南半球,我发现很难定义角度,因为θ从0到π变化。
为了从10度的南半球提取像素,我应该将球体的坐标系旋转π弧度吗?
我正在使用以下程序从北半球提取像素条带:
import numpy as np
import healpy as hp
fname = 'COM_CMB_IQU-070-fgsub-sevem-field-Pol_1024_R2.01_full.fits'
tmap = h
我是新手,不能完全理解手册。我正在运行测试代码,但我想使空白地图,没有这个渐变颜色。我认为这对那些知道的人来说并不难。请帮帮我。
import numpy as np
import healpy as hp
import pylab as pl
import matplotlib as plt
NSIDE = 32
m = np.arange(hp.nside2npix(NSIDE))
hp.mollview(m)
pl.show()
我有一个星系列表,可以将其绘制到healpy地图上(我正在使用healpy来做这件事),每个星系都有一个固定的通量,我需要以这样的方式绘制它们,即每个星系的通量在地图上是保守的。
这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
import healpy as hp
pi = np.pi
nside = 8
xsize = 100
ra = np.array([pi/4,pi/3])
dec = np.array([pi/4,pi/3])
flux = np.array([10,20])
hpm = np.zeros(