祁墨2000 2023-05-24 21:01 采纳率: 0%
浏览 33

ADNI数据集中.nii格式读取处理

在ADNI上下载数据集,想用img.get.fdata()读取一下数据,然后输出全是0,是不是不太正常啊。救命!

img

  • 写回答

1条回答 默认 最新

  • @晓码自在 2023-05-24 23:49
    关注

    该回答引用ChatGPT4与博主@晓码自在合作编写:

    看起来这个NIfTI文件存在问题,导致你无法正确读取图像数据。有几种可能:

    1. 文件损坏 - 下载的NIfTI文件可能在传输或存储过程中损坏,导致数据丢失或错误。你可以尝试重新下载该文件确认。
    2. 文件头信息错误 - NIfTI文件包含多个头信息字段,如果某些关键字段的值不正确,会导致无法解析数据。你可以使用nibabel.nifti1.Nifti1Header来解析头信息,确认所有关键字段的值是否正确。
    3. 数据压缩方式错误 - NIfTI支持多种数据压缩方式,如果文件采用 nibabel 当前不支持的压缩方式,也会无法正确读取数据。可以检查文件头信息中的datatype字段来确认数据类型。
    4. 块大小信息错误 - 如果文件头信息中的dim和pixdim字段不正确,nibabel 无法计算出正确的像素块大小,导致读取的数据全为0。

    总之,要解决这个问题,首先需要确认下载的NIfTI文件是否完整正常。如果文件本身不存在问题,那么很有可能是文件头信息中的某些字段导致 nibabel 解析错误。

    你可以尝试以下步骤来 debug:

    1. 重新下载文件确认文件本身完整性
    2. 使用 nibabel.nifti1.Nifti1Header 解析文件头信息,打印关键字段如 dim, pixdim, datatype 等的值,确认是否正确
    3. 尝试更新文件头信息中的字段来修复错误,然后重新保存并读取文件
    4. 尝试使用nibabel之外的工具,如 MRIcron 等来打开该NIfTI文件,确认是否可以正常读取数据
    5. 如果问题无法解决,提供文件其他信息(如文件创建工具信息等)给 nibabel 开发团队来寻求帮助
    评论

报告相同问题?

问题事件

  • 创建了问题 5月24日