如何在healpix映射上高效地执行tophat(类磁盘)平滑?

2024-05-29 06:13:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个高分辨率的healpix图(nside=4096),我想在给定半径的磁盘上平滑,比如说10 arcmin。你知道吗

由于对healpy非常陌生,并且阅读了文档之后,我发现一种不太好的方法是执行“锥搜索”,即在每个像素周围找到磁盘中的像素,对它们进行平均,并将这个新值赋给中心的像素。然而,这是非常耗时的。你知道吗

import numpy as np
import healpy as hp

kappa = hp.read_map("zs_1.0334.fits") #Reading my file

NSIDE = 4096

t = 0.00290888  #10 arcmin
new_array = []
n = len(kappa)
for i in range(n):
     a = hp.query_disc(NSIDE,hp.pix2vec(NSIDE,i),t)
     new_array.append(np.mean(kappa[a]))  

我认为healpy.sphtfunc.平滑函数可能会有一些帮助,因为它说,你可以进入任何自定义梁窗口功能,但我不明白这是怎么回事。。。你知道吗

非常感谢你的帮助!你知道吗


Tags: importnewasnp像素array磁盘hp
1条回答
网友
1楼 · 发布于 2024-05-29 06:13:06

正如所建议的,我可以很容易地利用healpy.sphtfunc.平滑通过指定自定义(圆形)梁窗口来运行。你知道吗

计算光束窗口,这是我的问题,healpy.sphtfunc.beam2bl公司是非常有用和简单的情况下,一顶帽子。你知道吗

适当的lèu max大约为2*Nside,但根据具体地图,它可以更小。例如,我们可以计算角功率谱(Cls),并检查它是否衰减到小于l泳max,这有助于获得更多的时间。你知道吗

非常感谢在评论部分提供帮助的所有人!你知道吗

相关问题 更多 >

    热门问题