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 フィルター関数のキャッシュ動作を制御する方法はありますか (それが実際に起こっている場合)。