我想使用 for 循环遍历文件夹并加载文件以在 SPM12 中进一步处理,但是当我使用 Matlab 'fullfile' 函数结合 * 通配符时,SPM 找不到指定的文件。我得到的错误是:文件“/Users/myusername/Documents/WORK/PROJECTS/1_ToM_fMRI/tSNR/ds000109-download/sub-07/func/*.nii”不存在。似乎有问题的代码行是:matlabbatch{1}.spm.util.split.vol = cellstr(fullfile(Subjectids{subs},Sessionids{subs},'*.nii'));
路径是正确的,只是文件名前面的*不占。通过查看以前的帖子,我找不到任何其他解决方案(是的,我是编码新手)。任何建议将不胜感激。
我使用的缩短代码是:
clear;
clc;
basedir='/Users/myusername/Documents/WORK/PROJECTS/1_ToM_fMRI/tSNR/ds000109-download';
Subjectids={'sub-07' 'sub-08'};
Sessionids={'func'};
for subs=1:length(Subjectids)
spm('defaults', 'FMRI');
spm_jobman('initcfg');
matlabbatch{1}.spm.util.split.vol = cellstr(fullfile(Subjectids{subs},Sessionids{subs},'*.nii'));
matlabbatch{1}.spm.util.split.outdir = cellstr(fullfile(Subjectids{subs},Sessionids{subs},'run1'));
spm_jobman('run',matlabbatch);
end