我有一系列具有两个不同索引i和j的地图。让这个索引像map_series [i] [j]。将healpy mask应用于地图阵列
编辑1/21:的最小工作的例子是像 map_series=np.array([np.array([np.arange(12) + 0.1*(i+1) + 0.01*(j+1) for j in range(3)]) for i in range(5)])
我想相同的掩模应用到每一个;如果map_series
是一维的,这些工作。
我可以想象将这些图的几种不同的方式:
(a)将所述掩模整个阵列:
map_series_ma = hp.ma(map_series)
map_series_ma.mask = predefined_mask
(B1)应用掩模到阵列中的每个元素:
map_series_ma = np.zeros_like(map_series)
for i in range(len(map_series)):
for j in range(len(map_series[0])):
temp = hp.ma(map_series[i][j])
temp.mask = predefined_mask
map_series_ma[i][j] = temp
(B2)应用掩模到阵列中的每个元素:
map_series_ma = np.zeros_like(map_series)
for i in range(len(map_series)):
for j in range(len(map_series[0])):
map_series_ma[i][j] = hp.ma(map_series[i][j])
map_series_ma[i][j].mask = predefined_mask
(C)Pythonically列举名单:
map_series_ma = np.array([hp.ma(map_series[i][j]) for j in range(j_max) for i in range(i_max)])
map_series_ma.mask = predetermined_mask
所有这些都无法给我需要的输出,但是。
尝试(A)或(C)第一步后出现错误,告诉我TypeError:错误的像素数。
尝试(B1)时,我没有收到错误,但我也没有任何maps_series_ma的元素具有遮罩;实际上,它们甚至不是hp.ma对象。奇怪的是,虽然:当我返回温度它确实有适当的面具。
在试图(B2),我得到的错误 AttributeError的:“numpy.ndarray”对象有没有属性“面具”
我是个(其中,看着我的语法后,我完全理解!)有点困惑如何去做这件事。两者(A)和(B1)似乎可以接受,我...
任何帮助非常感谢,谢谢 , 山姆
你可以提供一个玩具例如玩? – 2015-01-21 01:34:09