У меня есть карта 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 может помочь, так как в ней говорится, что вы можете ввести любую пользовательскую функцию окна луча, но я не понимаю, какэто работает вообще ...
Большое спасибо за вашу помощь!