трансляция маски при создании masked_array - PullRequest
0 голосов
/ 06 марта 2020

Я хочу создать замаскированный массив с маской, которая не соответствует числу измерений массива, который я хочу замаскировать. Как правило, у меня есть стопка n изображений, каждое из которых имеет форму (nr,nc), и хранится в ndarray формы (n,nr,nc). Я хочу замаскировать их одной и той же маской формы (nr,nc)

Есть ли способ легко обрабатывать трансляции при создании маскированного массива? До сих пор я использовал этот поворот, но мне интересно, есть ли более чистый способ сделать это?

import numpy as np

n=10 # number of images
nr,nc=128,128 # image dimension
images = np.ones((n,nr,nc))
mask = np.zeros((nr,nc), dtype=np.bool) # mask 

# Ths produce an error:
# masked_images=np.ma.masked_array(images, mask) 

# create a masked version of the images, by broadcasting the mask:
masked_images=np.ma.masked_array(images, np.broadcast_to(mask, images.shape))


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...