Python 用周期性边界条件模糊三维numpy阵列

Python 用周期性边界条件模糊三维numpy阵列,python,numpy,scipy,Python,Numpy,Scipy,我有一个3D矩阵,我想(高斯)模糊。我可以使用scipy.ndimage.filters.gaussian\u filter()实现这一点。我的问题是,我该怎么做才能使边缘上的像素模糊,从而遵守周期性边界条件 我的意思是,当考虑a[0,:,:]处的元素时,分配给该元素的平均值也应该受到a[-1,:,:]中元素的影响 我曾考虑过多次将同一数组连接起来,这样我就有了一个形式为[[a,a,a],[a,a,a],[[a,a,a],[[a,a,a,a],[a,a,a],[a,a,a],[a,a,a],[a

我有一个3D矩阵,我想(高斯)模糊。我可以使用
scipy.ndimage.filters.gaussian\u filter()
实现这一点。我的问题是,我该怎么做才能使边缘上的像素模糊,从而遵守周期性边界条件

我的意思是,当考虑
a[0,:,:]
处的元素时,分配给该元素的平均值也应该受到
a[-1,:,:]
中元素的影响

我曾考虑过多次将同一数组连接起来,这样我就有了一个形式为
[[a,a,a],[a,a,a],[[a,a,a],[[a,a,a,a],[a,a,a],[a,a,a],[a,a,a],[a,a,a]][/code>的数组,即一个由
a
的3个网格组成的数组。 然后我会模糊生成的数组。因为我的矩阵相当大(200乘200乘200),所以我尽量避免这样做。(我可以考虑得到的大数组的子数组,在这里,我在中心的代码中留下了足够的余量。
有没有一种简单有效的方法可以做到这一点?

将mode关键字参数设置为“wrap”将强制执行周期性边界条件。代码如下所示

result = gaussian_filter(a, sigma = 1., mode='wrap')
当然,用实际参数替换sigma