MRI学习笔记-spm独立样本t检验

news/2024/5/19 9:30:50

SPM操作:

9-SPM-fmri任务态 二阶分析: 双样本t检验 - 知乎 (zhihu.com)

批处理脚本:

clc;
clear;
nmodel = '3';
numsub = 27;
rootdir = 'D:\LLYdata\motor_inhibition_data2\motor_inhibition_fmri';%数据最上层路径
ffxname = 'data_05_1st_level2';%1st分析文件名
rfxname = 'data_09_independentTtest';%2st分析文件名
batchfilename = 'batchfiles';%batchfiles文件名
ffxdir = fullfile(rootdir,ffxname,strcat('M',nmodel));%1st分析完整路径
rfxdir = fullfile(rootdir,rfxname,strcat('M',nmodel));%2st分析完整路径
load(fullfile(rfxdir,'conpos.mat'));
load(fullfile(rfxdir,'conneg.mat'));
%%
group1 = {'02';'04';'05';'10';'12';'13';'14';'15';'18';'24';'25';'26';'27'};%低成本
group2 = {'01';'03';'06';'07';'08';'09';'11';'16';'17';'19';'20';'21';'22';'23'};%高成本
%% 生成conname
%%%删除其中的*
for i = 1:size(conpos,2)if contains(conpos(1,i), '*')conpos(1,i) = strrep(conpos(1,i), '*', '');endif contains(conneg(1,i), '*')conneg(1,i) = strrep(conneg(1,i), '*', '');end
end
conname = cell(1,1);
for ncon = 1:size(conpos,2)if ncon == 1conname{end} = strcat(conpos{ncon},'-',conneg{ncon});elseconname{end+1} = strcat(conpos{ncon},'-',conneg{ncon});endconname{end+1} = strcat(conneg{ncon},'-',conpos{ncon});
end
%%
jobfile = [];
spm('defaults','fmri')
for ncon = 1:2*size(conpos,2)clear matlabbatch%%%生成保存结果的路径if ~exist(fullfile(rfxdir,conname{ncon}),'dir')mkdir(fullfile(rfxdir,conname{ncon}));end%%%group data pathfor nsub = 1:size(group1,1)group1_path{nsub,1} = fullfile(ffxdir,group1{nsub},strcat(sprintf('con_%04d',ncon),'.nii,1'));endfor nsub = 1:size(group2,1)group2_path{nsub,1} = fullfile(ffxdir,group2{nsub},strcat(sprintf('con_%04d',ncon),'.nii,1'));end%%matlabbatch{1}.spm.stats.factorial_design.dir = {fullfile(rfxdir,conname{ncon})};matlabbatch{1}.spm.stats.factorial_design.des.t2.scans1 = group1_path;%%%%matlabbatch{1}.spm.stats.factorial_design.des.t2.scans2 = group2_path;%%matlabbatch{1}.spm.stats.factorial_design.des.t2.dept = 0;matlabbatch{1}.spm.stats.factorial_design.des.t2.variance = 1;matlabbatch{1}.spm.stats.factorial_design.des.t2.gmsca = 0;matlabbatch{1}.spm.stats.factorial_design.des.t2.ancova = 0;%%matlabbatch{1}.spm.stats.factorial_design.cov(1).c = [222020201825252525211926202821252026212519192723191923];%%matlabbatch{1}.spm.stats.factorial_design.cov(1).cname = 'age';matlabbatch{1}.spm.stats.factorial_design.cov(1).iCFI = 1;matlabbatch{1}.spm.stats.factorial_design.cov(1).iCC = 1;%%matlabbatch{1}.spm.stats.factorial_design.cov(2).c = [221111221211212211121121122];%%matlabbatch{1}.spm.stats.factorial_design.cov(2).cname = 'sex';matlabbatch{1}.spm.stats.factorial_design.cov(2).iCFI = 1;matlabbatch{1}.spm.stats.factorial_design.cov(2).iCC = 1;matlabbatch{1}.spm.stats.factorial_design.multi_cov = struct('files', {}, 'iCFI', {}, 'iCC', {});matlabbatch{1}.spm.stats.factorial_design.masking.tm.tm_none = 1;matlabbatch{1}.spm.stats.factorial_design.masking.im = 1;matlabbatch{1}.spm.stats.factorial_design.masking.em = {'E:\MATLAB\toolbox\spm12\tpm\mask_ICV.nii,1'};matlabbatch{1}.spm.stats.factorial_design.globalc.g_omit = 1;matlabbatch{1}.spm.stats.factorial_design.globalm.gmsca.gmsca_no = 1;matlabbatch{1}.spm.stats.factorial_design.globalm.glonorm = 1;matlabbatch{2}.spm.stats.fmri_est.spmmat(1) = cfg_dep('Factorial design specification: SPM.mat File', substruct('.','val', '{}',{1}, '.','val', '{}',{1}, '.','val', '{}',{1}), substruct('.','spmmat'));matlabbatch{2}.spm.stats.fmri_est.write_residuals = 0;matlabbatch{2}.spm.stats.fmri_est.method.Classical = 1;matlabbatch{3}.spm.stats.con.spmmat(1) = cfg_dep('Model estimation: SPM.mat File', substruct('.','val', '{}',{2}, '.','val', '{}',{1}, '.','val', '{}',{1}), substruct('.','spmmat'));matlabbatch{3}.spm.stats.con.consess{1}.tcon.name = 'g1>g2';matlabbatch{3}.spm.stats.con.consess{1}.tcon.weights = [1 -1];matlabbatch{3}.spm.stats.con.consess{1}.tcon.sessrep = 'none';matlabbatch{3}.spm.stats.con.consess{2}.tcon.name = 'g1<g2';matlabbatch{3}.spm.stats.con.consess{2}.tcon.weights = [-1 1];matlabbatch{3}.spm.stats.con.consess{2}.tcon.sessrep = 'none';matlabbatch{3}.spm.stats.con.delete = 0;%% Save new job file%%%生成保存batch的路径batchfilesdir = fullfile(rfxdir,batchfilename);if ~exist(batchfilesdir,'dir')mkdir(batchfilesdir);endbatchfile = conname{ncon};save(fullfile(batchfilesdir,batchfile),'matlabbatch');jobfile{end+1,1} = fullfile(batchfilesdir,batchfile);fprintf('Saved batch file %s\n',batchfile)%命令行输出文字反馈
end
spm('chmod','fmri');
spm('defaults','fmri');


http://www.mrgr.cn/p/25545072

相关文章

sublime设置默认打开侧边栏(失败)

描述 每次使用sublime打开某个目录,总是不显示侧边栏,还得手动打开。 过程 在设置里找了半天似乎没有这个选项,有点离谱,网上搜到的全是手动打开侧边栏。看来只能Ctrl+KB按得勤快些了。// Display the toggle sidebar button in the status bar"show_sidebar_button&q…

Stable Diffusion AI绘画

我们今天来了解一下最近很火的SD模型 ✨在人工智能领域&#xff0c;生成模型一直是研究的热点之一。随着深度学习技术的飞速发展&#xff0c;一种名为Stable Diffusion的新型生成模型引起了广泛关注。Stable Diffusion是一种基于概率的生成模型&#xff0c;它可以学习数据的潜…

传媒论坛编辑部传媒论坛杂志社传媒论坛杂志2024年第7期目录

专题│场景传播研究 场景传播&#xff1a;一场遮盖自我与寻找自我的博弈 胡沈明; 3 基于CiteSpace的中国场景传播研究热点分析 管倩;粟银慧; 4-610《传媒论坛》投稿&#xff1a;cnqikantg126.com 数字世界的美与危&#xff1a;场景传播的失范与应对之举 王依晗;章洁…

Matlab安装教程(Linux)

解压安装包 在虚拟机中,文件直接通过拖拽文件的方式将安装包拉入虚拟机时,文件通常存放在/tmp/VMwareDnD中,因此需要将存放文件位置的文件转移到/home/<用户名>/<存放目录>中 参考命令如下: mv /tmp/VMwareDnD/<文件存放目录>/* /home/<用户名>/&l…

动态sql

本文参考mybatis看这一篇就够了&#xff0c;简单全面一发入魂 动态SQL 可以根据具体的参数条件&#xff0c;来对SQL语句进行动态拼接。 比如在以前的开发中&#xff0c;由于不确定查询参数是否存在&#xff0c;许多人会使用类似于where 1 1 来作为前缀&#xff0c;然后后面用…

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试

工程代码https://download.csdn.net/download/txwtech/89258409?spm1001.2014.3001.5501 54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试 import socket from ohos.net.socket; import process from ohos.process; import wifiManager from ohos.wifiMana…

2. 基础配置

1. 配置文件格式 1.1 配置文件自动提示功能消失解决方案 ​​ 1.2 SpringBoot配置文件加载顺序(了解) application.properties > application.yml > application.yaml 1.3 注意事项 SpringBoot核心配置文件名为application SpringBoot内置属性过多,且所有属性集中…

Qt/C++音视频开发72-倍速推流/音视频同步倍速推流/不改变帧率和采样率/低倍速和高倍速

一、前言 最近多了个新需求,需要倍速推流,推流界的扛把子obs也有倍速推流功能,最高支持到两倍速。这里所说的倍速,当然只限定在文件,只有文件才可能有倍速功能,因为也只有文件才能倍速解码播放。实时视频流是不可能倍速的,因为没有时长,有时长的才可以按照播放进度来。…

Excel求解器使用教程

添加规则求解加载项创建excel文件,点击文件点击选项选择加载项->规则求解加载项->转到选择规则求解加载项->确定求解器所在位置---数据->规划求解在excel文档中填写相关的计算公式,用来求解点击规则求解,填写对应的目标,可变单元和约束,选择求解方法来求解通过…

虚拟机创建教程

虚拟机创建 创建虚拟机的时候,选择自定义,自己来创建虚拟机在虚拟机中,选择创建16.2.X版本的虚拟机,兼容性比较好在创建虚拟机的操作系统时,选择稍后安装操作系统,实测中如果选择其他的在安装过程中会跳过系统安装的部分阶段选择对应的系统和版本选择名称和安装位置,个人…

union 和union all 使用区别

union 和union all 把 查询user表前5条数据查询user表数据从第7条数据开始,查询两条 通过union来把两个sql中的数据合并到一张表中,只查询出一条数据,会把重复的数据去掉 通过union all查询 出现出了两条数据,不会去重

安全再升级,亚信安慧AntDB数据库与亚信安全二次牵手完成兼容性互认证

日前&#xff0c;湖南亚信安慧科技有限公司&#xff08;简称&#xff1a;亚信安慧&#xff09;的产品与亚信科技&#xff08;成都&#xff09;有限公司&#xff08;简称&#xff1a;亚信安全&#xff09;再次携手&#xff0c;完成亚信安慧AntDB数据库与亚信安全IPoE接入认证系统…

YOLO系列改进,自研模块助力涨点

目录 一、原理 二、代码 三、添加到YOLOv5中 一、原理 论文地址:

TypeError: Cannot read properties of undefined (reading trim)

运行时提示:TypeError: Cannot read properties of undefined (reading trim) 问题排查: 1、确认trim()属性是否存在,这个是js 去除字符串左右空格,属性是存在的 2、确认this.form.proxy_url是否存在 3、确认确认this.form.proxy_url的值是否为undefined和null 通过排查和打…

vue2 项目执行npm run serve 启动项目卡在24%一直不动

vue模板中添加了信息,应这样写:<div>接口管理</div>

使用Neo4j和Langchain创建知识图谱

使用Neo4j和Langchain创建知识图谱 知识图谱是组织和整合信息的强大工具。通过使用实体作为节点和关系作为边缘&#xff0c;它们提供了一种系统的知识表示方法。这种有条理的表示有利于简化查询、分析和推理&#xff0c;使知识图在搜索引擎、推荐系统、自然语言处理和人工智能…

富文本编辑器 iOS

https://gitee.com/klkxxy/WGEditor-mobile#wgeditor-mobile 采用iOS系统浏览器做的一款富文本编辑器工具。 原理就是使用WKWebView加载一个本地的一个html文件&#xff0c;从而达到编辑器功能的效果&#xff01; 由于浏览器的一些特性等&#xff0c;富文本编辑器手机端很难做…

深入理解网络原理3----TCP核心特性介绍(上)【面试高频考点】

文章目录 前言TCP协议段格式一、确认应答【保证可靠性传输的机制】二、超时重传【保证可靠性传输的机制】三、连接管理机制【保证可靠性传输的机制】3.1建立连接&#xff08;TCP三次握手&#xff09;---经典面试题3.2断开连接&#xff08;四次挥手&#xff09;3.3TCP状态转换 四…

FSNotes for Mac v6.7.1中文激活:轻量级笔记管理工具

FSNotes for Mac&#xff0c;一款专为Mac用户打造的轻量级笔记管理工具&#xff0c;让您的笔记管理变得简单而高效。 FSNotes for Mac v6.7.1中文激活版下载 它采用Markdown文件格式&#xff0c;让您轻松创建和编辑富文本笔记&#xff0c;无需担心格式问题。同时&#xff0c;FS…