Сглаживание карт HEALPix с помощью "healpy": почему выходная карта выглядит "пятнистой"?

У меня есть карта HEALPix для всего неба, из базы данных AKARI Far Infrared Surveyor (опубликована). Я попытался "сгладить" карту, используя healpy, но результат выглядит очень странно. Есть ли способ лучше? Мой вопрос, однако, относится к любой карте HEALPix всего неба (например, IRAS, Planck, WISE, WMAP).

Моя цель - "сгладить" эффективную функцию разброса точек этой карты AKARI до углового разрешения 1 градус (исходные данные имеют PSF около 1 угловой минуты). Это сделано для того, чтобы я мог сравнить карту AKARI для дальнего инфракрасного диапазона с картами микроволнового излучения с более низким разрешением (в частности, карты аномального микроволнового переднего плана).

В моем примере ниже я использую деградированную версию карты, поэтому она будет достаточно маленькой для загрузки на Github. Это означает, что пиксели составляют около 3,42 угловых минут. Я бы не стал так сильно ухудшать масштаб пикселей до сглаживания PSF, но это только пример:

#Load the packages needed for visualization, and HEALPix processing
%matplotlib inline
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
import healpy as hp
import healpy.projector as pro

#Loads the HEALPix .FITS file into an array
map_in = hp.read_map("akari_WideL_1_1024.fits", nest = True)

#Visualizes the all-sky map, before any processing is done.
hp.mollview(map_in, title='AKARI All-Sky Map:', nest = True, norm = 'hist')

#Smoothes the map with a 1-degree FWHM Gaussian (fwhm given in radians).
map_out = hp.sphtfunc.smoothing(map_out, fwhm = 0.017, iter = 1)

#Visualizes the the map after smoothing
hp.mollview(map_out, title='AKARI All-Sky Map:', nest = True, norm = 'hist')

Я пробовал процедуру healpy.sphtfunct.smoothing ( https://healpy.readthedocs.org/en/latest/generated/healpy.sphtfunc.smoothing.html я понимаю, smoothing преобразует карту в сферические гармоники, затем сворачивает с гауссианом, а затем преобразует ее обратно в пространственную карту.

Я сохранил блокнот ipython, а также карту.FITS HEALpix с низким разрешением в репозитории github, здесь:

https://github.com/aaroncnb/healpy_smoothing_test

(Вам нужно будет иметь healpy пакет установлен)

Запустив код в блокноте, вы можете легко визуализировать проблему, с которой я столкнулся - после сглаживания карты появляются странные "артефакты", как если бы пиксели были итеративно усреднены по ячейкам, а не сглажены с помощью кругового гассиана. профиль. То, что я ожидаю увидеть, это просто размытая версия входной карты.

Я думаю, что мне не хватает чего-то фундаментального в преобразовании в сферические гармоники до того, как будет выполнено сглаживание.

Кто-нибудь пытался сделать такое сглаживание всего неба раньше, на карте HEALPix?

Я полагаю, что другой вариант - преобразовать карту в стандартный прямоугольный массив, а затем провести сглаживание. Однако мне по-прежнему любопытно решить проблему, не выходя из формата HEALPix.

1 ответ

Кажется smoothing работает только на RINGed-карте (для меня это имеет смысл, поскольку с математической обработкой это немного проще). Таким образом, вам нужно будет преобразовать вашу карту ввода в формат RINGed:

map_ring = hp.pixelfunc.reorder(map_in, inp='NEST', out='RING')
map_out = hp.sphtfunc.smoothing(map_ring, fwhm = 0.17, iter = 1)
hp.mollview(map_out, title='AKARI All-Sky Map:', nest = False, norm = 'hist')


Этот ответ основан на методе проб и ошибок, потому что я не могу найти ничего определенного в документации, и я не углубился в исходный код (хотя, с приведенным ниже результатом, может быть легко проверить, мое предположение верно, просматривая соответствующий исходный код).
Или, возможно, вы захотите напрямую обратиться к людям, которые относятся к здоровому образу жизни.

(Я бы предположил, что это на самом деле недостаток в документации: документы для healpy.sphtfunc.smoothing не упоминайте необходимую форму для ввода. Я предполагаю, что это здоровая проблема /PR для другого дня.)

Кстати, бонусные баллы за создание SSCCE в виде файла блокнота на Github! (Теперь, если только Stackru также отображает записные книжки.)

Другие вопросы по тегам