Kaggle上传.nii.gz格式MRI图像后无法识别文件夹问题求助
Kaggle上传.nii.gz格式MRI图像后目录识别异常问题处理
问题情况
将包含.nii.gz格式MRI图像和.nrrd格式掩码的文件夹压缩后上传至Kaggle,出现以下异常:
.nrrd掩码可正常识别,文件路径检测返回True- MRI图像所在文件夹在右侧文件浏览器中显示为空,代码检测该目录存在性返回
False - 推测异常原因是Kaggle自动解压
.gz文件,导致原目录结构被破坏,出现空目录
相关截图
文件浏览器中图像文件夹显示状态:

掩码文件夹显示状态:

数据集描述截图:

代码测试结果
- 掩码文件路径检测:
os.path.isfile('/kaggle/input/arcin-data/resampled_masks/resampled_masks/segmentation101.nrrd')
返回结果:True
- 图像目录路径检测:
os.path.isdir('/kaggle/input/arcin-data/Acrin_data/Acrin_data')
返回结果:False,但该目录在文件浏览器中可见
解决方法
重新打包数据集
- 改用
zip格式打包整个数据集,避免使用tar.gz等嵌套压缩格式,防止Kaggle自动解压内部的.nii.gz文件 - 打包时确保
.nii.gz文件以原始压缩状态被包含,不要对其进行二次压缩
- 改用
检查本地目录结构
- 本地打包前确认图像文件夹下确实存在
.nii.gz文件,层级结构清晰,没有遗漏文件或错误嵌套
- 本地打包前确认图像文件夹下确实存在
重新上传数据集
- 删除当前Kaggle上的异常数据集,上传重新打包后的压缩文件,上传过程中确认Kaggle的解压设置保留原始目录结构
直接读取解压后的文件
- 若不想重新上传,可尝试读取Kaggle自动解压后的
.nii文件,先查看目录内实际文件:import os print(os.listdir('/kaggle/input/arcin-data/Acrin_data/Acrin_data')) - 若存在
.nii文件,直接用医学影像库读取:import nibabel as nib img = nib.load('/kaggle/input/arcin-data/Acrin_data/Acrin_data/目标文件名.nii')
- 若不想重新上传,可尝试读取Kaggle自动解压后的
内容的提问来源于stack exchange,提问作者Iliasp
相关产品推荐
相关产品推荐

