繁体   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