0

我想使用 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 
4

0 回答 0