scipy.convolve使用3D数组和3D内核给出“ ValueError:对象对于所需数组而言太深”

时间:2019-10-29 15:30:39

标签: python-3.x scipy convolution

我正在CentOS 7的Anacona Spyder上使用Python 3。

以下通话

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 个答案:

答案 0 :(得分:2)

名称scipy.convolvenumpy.convolve的别名,NumPy版本仅接受一维输入。 (这种潜在的混乱是SciPy不赞成在scipy名称空间中使用NumPy名称的原因之一。)

您可能想要scipy.ndimage.convolvescipy.signal.convolve。 (为什么SciPy在两个子包中具有convolve的独立实现是一个完整的'另一个主题。)