def extract_from_volume(vol_data, vox_ijk):
"""Extract data values (broadcasting across time if relevant)."""
i, j, k = vox_ijk.T
ii, jj, kk = vol_data.shape[:3]
fov = (np.in1d(i, np.arange(ii)) &
np.in1d(j, np.arange(jj)) &
np.in1d(k, np.arange(kk)))
if len(vol_data.shape) == 3:
ntp = 1
else:
ntp = vol_data.shape[-1]
roi_data = np.empty((len(i), ntp))
roi_data[:] = np.nan
roi_data[fov] = vol_data[i[fov], j[fov], k[fov]]
return roi_data
评论列表
文章目录