簡體   English   中英

嘗試訪問 nifti 圖像時出現 Memmap AttributeError header

[英]Memmap AttributeError when trying to access nifti image header

使用代碼scan = nibabel.load(filepath)加載 NIFTI (.nii) 圖像(使用 Nibabel)后,通過scan.header顯示圖像 header 信息很有用。

如果在調用 scan.header 之前調用scan.header scan.get_fdata() ,則會出現錯誤: AttributeError: 'memmap' object has no attribute 'header' 此類代碼的示例:

scan = nibabel.load(test_image.nii)
scan_volume_data = scan.get_fdata()
print(scan.header)

在調用scan.get_fdata()之前,您必須先調用scan.header 這是因為在調用scan.get_fdata()之后,圖像 object 被轉換為 memmap(內存映射)object,從而丟失了 header 的信息。 正確代碼示例如下:

scan = nibabel.load(test_image.nii)
print(scan.header)
scan_volume_data = scan.get_fdata()

我們可以使用以下代碼觀察圖像數據類型的變化:

scan = nibabel.load(test_image.nii)
print(type(scan)) # <class 'numpy.memmap'>
scan_volume_data = scan.get_fdata()
print(type(scan)) # <class 'nibabel.nifti1.Nifti1Image'>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM