Здоровая маска имеет границу - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь замаскировать свою карту healpy для пикселей, у которых нет данных, однако, когда я применяю маску healpy с помощью badval=-1.6375e+30, кажется, что вокруг моей маски есть граница.

import healpy as hp
import numpy as np

# load the mask
mask = hp.read_map('mask_nvss_S20-S1000_Ns64.fits')

# degrade the mask to NSIDE = 16
mask16 = np.round(hp.ud_grade(mask, 16))

# apply it to the map
masked_map = hp.ma(map1)
masked_map.mask = np.logical_not(mask16)

# masked map
nvss_map = np.round(masked_map)

МожетКто-нибудь, помогите мне удалить этот эффект границы?

enter image description here

1 Ответ

0 голосов
/ 01 июня 2018

У меня все еще нет полной картины проблемы, но я предполагаю, что ваша проблема связана с понижением маски.

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

Я проиллюстрирую эффект с помощью предоставленной вами маски, показывая увеличение:

enter image description here

Понижение маски с помощью типа bool

Вы можете просто понизить маску boolean , получив левую панель на рисунке ниже.Обратите внимание, что небольшие патчи в этой процедуре окажутся без масок.

map_lowres_bool = hp.ud_grade(mask_highres.astype(bool), nside=16)

Понижение маски с помощью типа с плавающей точкой

Если вместо этого вы понижаете маску типа float, вы получитенепрерывная карта с весами вместо (средняя панель ниже).Я предполагаю, что это дает эффект, который вы видите.

map_lowres_float = hp.ud_grade(mask_highres.astype(float), nside=16)

Правильное понижение маски с типом bool

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

mask_lowres_proper = hp.ud_grade(mask.astype(float), nside=16).astype(float)
mask_lowres_proper = np.where(mask_lowres_proper == 1., True, False).astype(bool)

Это приведет к появлению правой панели ниже.

Надеюсь, вы нашли это полезным, дайте мне знать, еслиу вас есть вопросы!

enter image description here

...