4

特定の数の多次元配列 (それぞれ同じ形状) を特定の比率 (x、y、z) にマージするアルゴリズムを探しています。

たとえば、形状 (128,128,128) の 4 つの配列と、形状 (128,128,512) の配列に対する比率 (1,1,4) です。または、形状 (64,64,64) の 2 つの配列と、形状 (64,128,64) の配列に対する比率 (1,2,1)

で手動で行う方法は知っていますがnp.concatenate、これを行うには一般的なアルゴリズムが必要です。(np.reshape動作しません - これは順序を台無しにします)

編集: 比率が (1,2,3) である可能性があります。その場合、ボックスの left_edge を比較して、どこに配置するかを知る必要があります。すべての配列には、属性 left_edge (xmin、ymin、zmin) を持つ対応するブロックがあります。これをif条件で解決できますか?

4

2 に答える 2

1

比率が常に 1 次元 (つまり、1 次元のみで連結) の場合は、次のように使用できます。

arrays = [...]
proportion = (1,1,4)

np.concatenate(arrays, axis=next(i for i,p in enumerate(proportion) if p>1))

それ以外の場合は、何をすべきかを説明する必要がありますproportion = (1,2,3)

于 2013-01-04T09:34:58.503 に答える