You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB R2022b无法加载.nii.gz神经影像数据的问题求助

问题:MATLAB中load_nifti无法读取带空格路径的压缩nii.gz文件

背景

在Ubuntu 22系统的MATLAB中,尝试用load_nifti读取压缩fMRI数据(.nii.gz)。最初使用load_nii时被提示改用load_nifti,当前MATLAB未安装第三方工具箱,load_nifti自R2017b起已集成在图像处理工具箱中。

代码实现

为批量处理受试者数据,构建根路径:

root_path = ['/media/megan2/VERBATIM HD/dHCP_data/sub-' subj '/' 'ses-' ses_id '/' task];

读取文件的代码:

phaseBP = load_nifti([root_path '/BP_demeaned_0.033-0.07Hz_sub-' subj '_' 'ses-' ses_id '_task-rest_desc-preproc_bold-cropped.nii.gz']);

错误信息

运行后返回:

cd /media/megan2/VERBATIM HD

zcat /media/megan2/VERBATIM HD/dHCP_data/sub-CC00852XX11/ses-28210/func/BP_demeaned_0.033-0.07Hz_sub-CC00852XX11_ses-28210_task-rest_desc-preproc_bold-cropped.nii.gz > /tmp/tpb5ca9cf4_93fd_45f1_abdf_a96530646c80.load_nifti.m.nii

ERROR: gzip: /media/megan2/VERBATIM.gz: No such file or directory
gzip: HD/dHCP_data/sub-CC00852XX11/ses-28210/func/BP_demeaned_0.033-0.07Hz_sub-CC00852XX11_ses-28210_task-rest_desc-preproc_bold-cropped.nii.gz: No such file or directory

工作区中仅得到空的0x0矩阵。

已尝试的解决方法

  • 反复确认目标文件确实存在于指定目录
  • 使用readnifti可正常读取数据,但需要load_nifti返回的包含头文件的数据结构
  • 直接传入完整文件路径调用load_nifti,错误情况相同

解决方案

问题核心是路径包含空格(VERBATIM HD),load_nifti调用系统zcat命令时未对带空格的路径加引号,导致路径被拆分成两段,无法识别完整文件位置。

有两种可行解决办法:

  1. 给文件路径添加引号
    在调用load_nifti时,用双引号包裹完整路径,确保系统命令正确识别:

    full_path = [root_path '/BP_demeaned_0.033-0.07Hz_sub-' subj '_' 'ses-' ses_id '_task-rest_desc-preproc_bold-cropped.nii.gz'];
    phaseBP = load_nifti(['"' full_path '"']);
    
  2. 修改路径为无空格形式
    重命名存储设备或文件夹,去掉路径中的空格(比如将VERBATIM HD改为VERBATIM_HD),之后同步更新代码中的路径即可。

内容的提问来源于stack exchange,提问作者paniquebanique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 18:01:19