创建批处理模板
通过matlab命令行,输入‘spm’,在spm gui上逐步添加以下参数以创建模板,先逐个将bacth editor面板添加以下模块,再单独设置参数
1. Realign:Estimate & Reslice的设置
2. Slice Timing
这批数据的TR,TA 扫描顺序 TA = TR-(1-TR/nslices),时间层顺序设置,如果有每一层的扫描时间,就将每一层的时间都写进去
3. Coregister
4. Segment
5. Normalise
以上做完之后,重点来了,点击File -> Save Batch and Script
生成matlab代码之后,再根据自己的需要编写循环代码,代码最开始是这样的,需要将被试的id加进去
subjects = [01 02]; % Replace with a list of all of the subjects you wish to analyze
user = getenv('USER'); % Will return the username for OSX operating systems
for subject=subjects
subject = num2str(subject, '%02d');
if isfile(['/Users/' user '/Desktop/Flanker/sub-' subject '/func/sub-' subject '_task-flanker_run-1_bold.nii']) == 0
display('Run 1 has not been unzipped; unzipping now')
gunzip(['/Users/' user '/Desktop/Flanker/sub-' subject '/func/sub-' subject '_task-flanker_run-1_bold.nii.gz'])
else
display('Run 1 is already unzipped; doing nothing')
end
if isfile(['/Users/' user '/Desktop/Flanker/sub-' subject '/func/sub-' subject '_task-flanker_run-2_bold.nii']) == 0
display('Run 2 has not been unzipped; unzipping now')
gunzip(['/Users/' user '/Desktop/Flanker/sub-' subject '/func/sub-' subject '_task-flanker_run-2_bold.nii.gz'])
else
display('Run 2 is already unzipped; doing nothing')
end
if isfile(['/Users/' user '/Desktop/Flanker/sub-' subject '/anat/sub-' subject '_T1w.nii']) == 0
display('Anatomical image has not been unzipped; unzipping now')
gunzip(['/Users/' user '/Desktop/Flanker/sub-' subject '/anat/sub-' subject '_T1w.nii.gz'])
else
display('Anatomical image is already unzipped; doing nothing')
end