我有一系列具有兩個不同索引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