1

我有很多 nii.gz 图像需要从 3D 重塑为 2D,我正在尝试使用以下代码,但由于 nii.gz 扩展名,它无法正常工作:

import nibabel as nib
img = nib.load('teste01converted.nii.gz')
img.shape
newimg = img.reshape(332,360*360)

谁能帮我?

这是我正在使用的图像类型的示例:https ://drive.google.com/drive/folders/1681T99hp6qZRUgx1Ej_h1hwFv1g_LJo4?usp=sharing

4

1 回答 1

1

根据 NiBabel Getting Started guide,您可以将 NiBabel 对象转换为 numpy 数组,然后您可以使用 reshape:

无需将任何主图像数据加载到内存中即可获得此信息。当然也可以将图像数据作为 NumPy 数组访问

>>> data = img.get_fdata()
>>> data.shape
(128, 96, 24, 2)
>>> type(data)
<... 'numpy.ndarray'>

所以你可以像这样调整你的代码:

import nibabel as nib
img = nib.load('teste01converted.nii.gz')
newimg = img.get_fdata().reshape(332,360*360)

当我这样做时,我得到一个具有这种形状的 numpy 数组:

(332, 129600)

顺便说一句,我对神经影像学一无所知,所以我不知道你要求的转换是否有意义。

于 2022-01-10T01:42:38.510 回答