matlab怎么使用 spm_vol,SPM12批量处理预处理数据

本文介绍了如何使用MATLAB结合SPM12软件,通过编写批处理脚本来计算多个受试者的海马体积、内嗅皮层体积和内嗅皮层厚度。详细步骤包括设置处理流程、保存批处理文件、编辑循环处理代码,并提供了完整的MATLAB脚本示例。
摘要由CSDN通过智能技术生成

之前写过一篇https://www.jianshu.com/p/8f16cbbfd962,当时只是初步学会,还未熟练应用。

经过几次实践,现总结下通用的流程。

从一个问题出发:

问题:我想计算海马体积、内嗅皮层体积和内嗅皮层厚度等等。

思路:经调研,使用软件CAT12和FreeSurfer都可以处理,但FreeSurfer更加耗时,而且之前我也总结过CAT12与Freesurfer的对比https://github.com/Galory/daily-paper-neuroscience/blob/master/2018/08/29.md。决定选择使用CAT12。

过程:

1.先用一个人的数据保存一个对所有人的数据选择好要进行的处理,如下图:

84b41d66f3ae?from=singlemessage

image.png

Tips:如果下一步的数据需要用到上一步的结果,当你选择时会有一个Dependency供你选择,如下图:

84b41d66f3ae?from=singlemessage

image.png

2.选择File->Save batch and script来保存一个对待处理的数据通用的batch文件,如下图,我这里保存为batch.m和batch_job.m

84b41d66f3ae?from=singlemessage

image.png

3.编辑batch.m和batch_job.m这两个文件,使用一个循环一次性把这些数据处理完。

于是在原本的batch.m文件里,添加如下的代码实现循环:

% By - Galory Email - 996377370a@gmail.com

% List of open inputs

global sub type

% My files are named as 1 2 3 4 5 6 7 8 9 10 11 ... 24

type={'1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11' '12' '13' '14' '15' '16' '17' '18' '19' '20' '21' '22' '23' '24'};

for i=1:length(type)

sub = i;

end

解释一下,上边length(type)就是要循环的次数,之后再把原来的代码放入这个for循环中的sub = i;与e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值