2017-08-16 17 views
0

は、私はこのような対称1D numpyの例えば配列、何かを持っている:1Dアレイを対称3Dアレイに変換するにはどうすればよいですか?

0 1 2 1 0 

どのように私はこれが中央に値2で、(ガウスカーネルにちょっと似ている)3D配列になるかもしれませんか?私が何を意味するかの例として

(数学が正しい可能性はないが)、2Dで、これは、この(私はそれが3Dである必要はないが)のようになります。

0 0 0 0 0 
0 0.5 1 0.5 0 
0 1 2 1 0 
0 0.5 1 0.5 0 
0 0 0 0 0 
+0

FYI:A * gaussian *カーネルは非常に特殊なものです。あなたのデータはガウスカーネルではありません。 –

答えて

1

はこれがあることを認識しないガウスカーネルは、ここにあなたがそれををの計算方法は次のとおりです。

center = a[a.size // 2] 
(a[:, np.newaxis].repeat(a.size, axis=1) * a)\ 
    [:, :, np.newaxis].repeat(a.size, axis=2) * a \ 
/center ** 2 

(つもりここでは全体の出力を貼り付けていない。)

関連する問題