如何获取NIfTi对象中的图像数量? (nibabel)

时间:2017-10-12 14:39:09

标签: python imaging

我有一个从dicom文件目录生成的Nifti对象。 似乎Nifti应该知道它拥有多少帧,但我在标题信息中找到的只是形状。问题是,形状有时(num_images,x,y)和有时(x,y,num_images)。

我发现的唯一的nibabel函数与Ecat库相关。我不熟悉ecat格式,但我希望我的方法适用于任何nii文件。我正在使用nibabel库。

有没有办法检索Nifti文件中的图像数量?

1 个答案:

答案 0 :(得分:0)

我猜你在看fMRI,DTI或ASL数据。

假设您的4D nii堆栈名为'data.nii。'

只需进入该目录并执行:

mri = nib.load('data.nii')

mri.shape

您看到的第四个元素是卷数。您可以这样访问它:mri.shape[3]如果您在程序中出于某种目的需要它。

这一直对我有用。如果您的数据以不一致的方向“堆叠”,您将不得不变幻想。

您可以根据图片的维度包含检查。例如,如果你知道你的图像是128x128x128,那么你可以继续获得mri.shape的任何元素都不是128,但这种方法由于一些原因而不是最理想的。