python - 交易nii.gz时如何避免大数据问题?

标签 python numpy nifti nibabel

我有 nii.gz 文件的数据集,每个文件大约 1G ,包括 4d 张量。据我所知,有两种阅读它们的方法:

img = nib.load('fMRI.nii.gz')
imgarr = np.array(img.dataobj)

img = nib.load('fMRI.nii.gz')
imgarr = img.get_data()

问题是读取整个张量很昂贵,而我只需要一个切片。还有其他办法吗?

最佳答案

实际上,您不需要将主图像数据的任何内容加载到内存中。

img = nib.load('fMRI.nii.gz')
 
# get the first 10 slices
img.slicer[0:10]

#verify selection
img.slicer[0:10].shape

关于python - 交易nii.gz时如何避免大数据问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57341395/

相关文章:

python - 在 Python 中编写自定义矩阵类,__setitem__ 问题

python - 如何在不加载 fMRI 大数据的情况下访问 .nii (NIFTI) 格式的单个时间样本?

volume - 如何计算nifti医学图像单个体素的体积?

python - Python 的 Google Sheets 权限不足

python - 如何优化二进制文件操作?

python - Odoo 10 : Cant call my python function from menu item

python - 为什么这两个数组具有相同的形状?

python - 如何在 NumPy 中一次乘以 3 个以上的向量

python - 用转置版本填充矩阵