【问题标题】:Loading a Nifti through Nibabel and using the shape function通过 Nibabel 加载 Nifti 并使用形状函数
【发布时间】:2020-05-16 07:31:39
【问题描述】:

我有一个 nifti 文件 1.nii.gz

现在,我从未处理过 nifti 文件

所以,只要用这个软件打开它,我就意识到 nii.gz 是一种包含 3 组二维图片的容器。事实上,如果我滚动鼠标,我可以看到在图片中标记为 1 的“方向”的 448 张 2d 图片、“方向”2 的 448 张 2d 图片和“方向”3 的 25 张 2d 图片。

在此之后,我打开了 shell,并尝试将此 nii.gz 与 Nibabel 库一起使用

import nibabel as nib
img = nib.load(1.nii.gz)

但是,如果我输入

img.shape

我得到 (448,448,25) 结果,所以看起来这个 .nii.gz 是一个 3d 矩阵,而不是一个包含 3 个 2d 图片数组的容器。能解释一下吗?

【问题讨论】:

    标签: python neuroscience nifti mri nibabel


    【解决方案1】:

    Nifti 是一种医学图像格式,用于存储图像和伴随数据,图像通常是灰度的,并且它们被视为切片,每个切片具有不同的身体横截面。

    它们将所有切片存储在同一个数组中,有时它们会在不同时间获取切片,因此有时它们会向数组添加第四维

    因此,要显示或操作它们,您可以对它们进行切片并查看其中的图像。

    在您的情况下,数据的形状 (448,448,25) 表明:

    25 张图像(切片),尺寸为 448 x 448

    import nibabel as nib
    import matplotlib.pyplot as plt
    
    # Change the path to your path
    path = 'path to img.nii.gz'
    Nifti_img  = nib.load(path)
    nii_data = my_img.get_fdata()
    nii_aff  = my_img.affine
    nii_hdr  = my_img.header
    print(nii_aff ,'\n',nii_hdr)
    print(nii_data.shape)
    if(len(nii_data.shape)==3):
       for slice_Number in range(nii_data.shape[2]):
           plt.imshow(nii_data[:,:,slice_Number ])
           plt.show()
    if(len(nii_data.shape)==4):
       for frame in range(nii_data.shape[3]):
           for slice_Number in range(nii_data.shape[2]):
               plt.imshow(nii_data[:,:,slice_Number,frame])
               plt.show()
    

    【讨论】:

    • 非常感谢您的回复。对此,我真的非常感激。如果文件 1.nii.gz 包含 25 个尺寸为 448x448 的图像(== 相对于头部侧面视图的图像,在我的帖子中的图片中标有数字 3),其中标签 1 的 448 个切片和从 ? 中提取 448 个标签 2 切片
    • @AleWolf 这是另一个问题,如果你想让我回答这个问题,你必须提供你的数据集样本,这样我才能看到并理解里面到底是什么,有时他们会把图像放在一个 nifti ,以及另一个掩码(基本事实),因此如果没有您的数据样本,我无法判断。
    • 这里是一个示例easyupload.io/368cv3 非常感谢您,如果您能清楚地解释这些细节,我将不胜感激,因为我从未使用过 nifti 文件,而且我对它们知之甚少
    • @AleWolf 我检查了你的文件,它只包含图像,里面没有标签,标签可能在另一个文件上,这个文件是一组灰度图像。
    • @AleWolf 是的,在您的情况下,没有时间框架,只有切片。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多