Появляется ошибка, показывающая, что вы загружаете numpy.ma.MaskedArray
, а не массив NumPy. Однако я не понимаю, почему вы не получите ошибку по оси = 2, поскольку любые маскированные точки будут проецироваться вдоль каждого измерения. Возможно, вы замаскировали всю плоскость, а затем суммирование по 0 просто даст вам массив nans. Я не уверен, но может случиться так, что np.sum
не будет правильно обрабатывать замаскированные массивы, и вам следует вместо этого использовать image.sum()
, который может лучше знать, как обращаться с масками. Если вы поделитесь своим файлом .npy
, мы можем предоставить более персонализированный ответ.
В общем, суммирование - это один из способов проецирования, но вы также можете сделать max()
, который является наиболее распространенной формой объемного проецирования. .
Что касается наклонных проекций, это гораздо больше, чем можно кратко суммировать в SO-ответе, но в целом да, вы хотите преобразовать свое изображение и затем выполнить проекцию. Вы можете посмотреть модуль scipy.ndimage
для получения дополнительной информации об этом.