在python中的不同位置叠加nd数组

时间:2012-07-17 14:36:57

标签: python numpy scipy

假设我有一个大小为(100,100,100)的3d数组,我想在空间中以不同点(所有方向的范围为0-100)为中心覆盖或复制此数组,并且生成的3d数组具有大小为(100,100,100)。将连接数组边缘附近的任何点以保持数组的最终大小

我手动编写了这个,通过查找数组索引的范围并对其进行处理,但我怀疑有一种更简单的方法。

arr1.shape (100,100,100)

点[0] = [5.5,45.32,35.0] ... point [n] = [85.0,15,2,90.1]

arr2 = np.zeros((100,100,100),float) 对于每一点我都会手工找到并复制 arr2 [minx:maxx,miny:maxy,minz,maxz] = arr1 [minx:maxx,miny:maxy,minz,maxz] 其中min和max是数组的索引。

是的,我正在尝试将这个内核卷入其中。我调查了numpy.convolve,但不知道如何用scipy来做这件事。

1 个答案:

答案 0 :(得分:0)

听起来你正试图进行卷积。 scipy.ndimage.convolve适合您吗?