Взять значения из матрицы 4D, используя матрицу 3D с указателями - PullRequest
0 голосов
/ 27 марта 2020

У меня есть матрица 4D с данными МРТ (объем 3D за несколько временных шагов), и я хочу извлечь максимальные значения по 4-му измерению, используя матрицу 3D. Следовательно, значения индекса трехмерной матрицы - это индекс в 4-м измерении, из которого я хочу извлечь значение. Имейте в виду, что значение не одно и то же, то есть B = A[:,:,:, someValue] не является решением.

Для дальнейшего объяснения я привожу два примера:

В полученной матрице B[i1, j1, k1] I хочу извлечь значение из начальной матрицы 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 (я думаю).

...