2016-05-10 6 views
1

私は(ガウス)ぼかしたい3Dマトリックスを持っています。これは私がscipy.ndimage.filters.gaussian_filter()とすることができます。私の質問は、エッジのピクセルがぼやけて周期的な境界条件に従うようにするにはどうしたらよいですか?周期的な境界条件で3D numpy配列をぼかす

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],[a,a,a]]]という形式の配列、つまり3行3列のaの配列を持つ配列を持っていると考えました。 私は、結果の配列をぼかします。私の行列はかなり大きい(200 x 200 x 200)ので、これを避けるようにしています。 (結果として得られる大きな配列のサブアレイを考えると、中心にはaの周りに十分な余白が残されていますが、ぼかし半径を変更するたびにそのマージンのサイズを決定する必要があります)。

これを行う簡単で効率的な方法は?

答えて

3

modeキーワード引数を 'wrap'に設定すると、定期的な境界条件が適用されます。コードは次のようになります。

result = gaussian_filter(a, sigma = 1., mode='wrap') 

実際のパラメータにσを置き換えることはもちろんです。

関連する問題