2017-10-12 80 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) –