gpt4 book ai didi

python - 如何在healpix贴图上有效地执行顶帽(类似圆盘)平滑?

转载 作者:行者123 更新时间:2023-12-01 07:52:25 34 4
gpt4 key购买 nike

我有一个高分辨率的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.smoothing函数可能会有所帮助,因为它指出您可以输入任何自定义光束窗口函数,但我根本不明白这是如何工作的......

非常感谢您的帮助!

最佳答案

按照建议,我可以通过指定自定义(圆形)光束窗口轻松使用healpy.sphtfunc.smoothing 函数。

要计算光束窗口(这是我的问题),healpy.sphtfunc.beam2bl 在礼帽的情况下非常有用且简单。

合适的 l_max 大致为 2*Nside,但根据特定 map ,它可以更小。例如,我们可以计算角功率谱(Cls)并检查它是否对小于 l_max 的 l 进行衰减,这有助于赢得更多时间。

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

关于python - 如何在healpix贴图上有效地执行顶帽(类似圆盘)平滑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56138979/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com