我正在尝试将MRI脑成像数据用于深度学习模型。目前,我的图像具有4个维度,如下所示,但是我想仅保留MRI图像的T1c形式,因为我的模型输入应仅为1通道3D MRI(T1c)。
我确实尝试使用Nibabel软件包,如下所示
import nibabel as nib
ff = glob.glob('imagesTr\*')
a = nib.load(ff[0])
a.shape
这将返回以下输出
我还要粘贴“ a”的标题信息
由此,使用哪个维度来标识MRI模式(如T1,T2,T1c,FLAIR等)?和如何只保留T1c?你能帮忙吗?
答案 0 :(得分:1)
首先,您需要确定图像存储在第4维中的顺序。
标题可能会有所帮助:
print(a.header)
接下来,仅保留1种方式,您可以使用此方式:
data = a.get_fdata()
modality_1 = data[:,:,:,0]
编辑1:
基于挑战的网站:
所有BraTS多模式扫描均可作为NIfTI文件(.nii.gz)和 描述a)原始(T1)和b)对比后T1加权(T1Gd),c) T2加权(T2)和d)T2流体衰减反演恢复 (FLAIR)卷,并通过不同的临床方案获得 以及来自多个(n = 19)机构的各种扫描仪,称为 数据贡献者在这里。
和
所提供的数据在经过预处理(即 共同注册到相同的解剖模板,并内插到 相同的分辨率(1 mm ^ 3)并被头骨剥开。
因此,标头在这种情况下将无济于事(由于预处理,所有模态的尺寸相等)。
如果要查找对比度后的T1加权(T1Gd)图像,则为第二维图像,请使用:
data = a.get_fdata()
modality_1 = data[:,:,:,1]
此外,我们可以可视化每个3D卷(data[:,:,:,0], data[:,:,:,1],data[:,:,:,2], data[:,:,:,3])
并验证我的陈述。
答案 1 :(得分:1)
无法从Nifti标头中识别MRI的类型。您将需要原始DICOM图像来派生此类信息。
但是,您可以目视检查图像,并比较白质,灰质和心室的对比度/颜色,以确定图像是否为T1,T2,FLAIR等。例如,在T1图像中,会期望较深的灰质,较轻的白质和黑色CSF。在T2图像中,您会期望使用较浅的灰质,较暗的白质和白色CSF。 FLAIR与T2相同,但具有“倒置” CSF。 在此处查看一些示例脑图像:https://casemed.case.edu/clerkships/neurology/Web%20Neurorad/t1t2flairbrain.jpg
话虽如此,您似乎有一个4维图像,它暗示了某种时间序列,因此我假设您的数据是DTI或fMRI或类似的数据。
也不可能将一种类型的MRI转换为另一种类型的MRI,因此,如果您的数据集还不是T1,则无法在需要干净的T1数据的模型中使用它。
我强烈建议您进一步了解MRI和正在使用的数据类型。否则,将无法解释您的结果。