ndimage 过滤器中的内核大小似乎存在实际限制。例如,以下代码段需要 3GB 内存。
import numpy as np
from scipy import ndimage
L = 2000
kern = 140
img = np.random.rand(L * L).reshape(L, L)
filtered = ndimage.median_filter(img, size=kern)
当内核在映像中移动时,肯定会发生大量缓存。
我想使用一个generic_filter
半径约为圆形足迹的函数。200 像素,但是我没有足够的内存来认为这是可行的。
有没有办法控制 scipy 过滤器函数的缓存行为(如果确实发生了这种情况)以允许使用大内核?