2017-10-12 35 views
-1

我有一个从dicom文件目录生成的Nifti对象。 看来,Nifti应该知道它拥有多少帧,但我可以在标题信息中找到的就是形状。问题是,形状有时(num_images,x,y)和有时(x,y,num_images)。如何获取NIfTi对象中的图像数量? (nibabel)

我发现唯一的nibabel函数与Ecat库相关。我不熟悉ecat格式,但我想让我的方法适用于任何nii文件。我正在与nibabel图书馆合作。

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

回答

0

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

假设你的4D nii堆栈被称为'data.nii'。

刚进入该目录,并做到:

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

mri.shape

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

这对我一直工作。如果你的数据以不一致的方向“叠加”,你将不得不变得幻想。

您可以包含基于图像维度的检查。例如,如果您知道您的图像是128x128x128,那么您可以继续并获取mri.shape不是128的任何一个元素,但是由于几个原因,此方法并不理想。

+0

我的mri.shape返回一个大小为3的元组:(22,512,512),没有第四个元素,就像你说的那样。有不同类型的nifti文件吗? –

+0

这真的很奇怪。你是否在某种观看者中打开了nii系列,并确认了DICOM转换的质量? – Karl

+0

你如何确认质量?我用nibabel库:nibabel.load(nii_path) –

相关问题