サイズが (100,100,100) の 3 次元配列があるとします。この配列を空間のさまざまな点 (すべての方向で 0 ~ 100 の範囲) を中心としてオーバーレイまたはコピーしたいとします。結果の 3 次元配列のサイズは次のとおりです。 (100,100,100)。配列の端に近い任意のポイントが連結され、配列の結果のサイズが維持されます。
配列インデックスの範囲を見つけて対処することで、これを手動で書きましたが、もっと簡単な方法があると思います。
arr1.shape (100, 100, 100)
ポイント[0] = [5.5、45.32、35.0] ...ポイント[n] = [85.0、15,2、90.1]
arr2 = np.zeros((100,100,100),float) 各ポイントについて、手動で見つけてコピーします arr2[minx:maxx,miny:maxy,minz,maxz] = arr1[minx:maxx,miny:maxy,minz,maxz ] ここで、最小値と最大値は配列のインデックスです。
はい、このカーネルをポイントに畳み込もうとしています。numpy.convolve を調べましたが、scipy でそれを行う方法がわかりません。