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