我有一个带有MRI数据的4D矩阵(在多个时间步上为3D体积),我想使用3D矩阵沿第4维提取最大值。因此,3D矩阵索引值是我要从中提取值的第4维索引。请记住,值并不相同,即B = A[:,:,:, someValue]
不是解决方案。
为进一步解释,我举两个例子:
在结果矩阵B[i1, j1, k1]
中,我想从起始矩阵A[i1, j1, k1, someValue1]
中提取一个值,在B[i2, j1, k1]
中,我要提取A[i1, j1, k1, someValue2]
以下是我认为可以完成此工作的一些代码:
import numpy as np
maxIdcs = np.argmax(conc_data, 3) #The indices where the maximum value is
maxVals = np.take(MRdata, maxIdcs)
someValue1
和someValue2
是我从np.argmax
命令获得的,但我不知道如何正确使用np.take
(我认为)。