scipy.convolve выдает «ValueError: объект слишком глубокий для нужного массива» с трехмерным массивом и трехмерным ядром - PullRequest
0 голосов
/ 29 октября 2019

Я использую Python 3 в Anacona Spyder в CentOS 7.

Следующий вызов

scipy.convolve(nda, box)

выдает следующее сообщение об ошибке.

ValueError: object too deep for desired array

nda иbox имеет одинаковый тип и размеры.

np.shape(nda)
Out[51]: (70, 70, 70)

np.shape(box)
Out[52]: (3, 3, 3)

type(nda)
Out[53]: numpy.ndarray

type(box)
Out[54]: numpy.ndarray

Насколько я понимаю, scipy.convolve может обрабатывать многомерные объекты. Я не могу понять это сообщение об ошибке.

1 Ответ

2 голосов
/ 29 октября 2019

Имя scipy.convolve является псевдонимом для numpy.convolve, а версия NumPy допускает только одномерный ввод. (Эта потенциальная путаница является одной из причин, по которой SciPy не рекомендует использовать имена NumPy в пространстве имен scipy.)

Возможно, вы хотите scipy.ndimage.convolve или scipy.signal.convolve. (Почему SciPy имеет независимые реализации convolve в двух подпакетах - это отдельная тема.)

...