基于cat12搞定VBM的ROI分析——vertex水平和ROI水平的双样本T检验

article/2025/10/16 3:19:14

前言

本来上周要更新此篇的,但由于本身有问题没有解决清楚,再加上导师给了数据处理的任务下来了,两下耽搁,就等到现在了。上回说到,做了VBM和SBM的指标提取及双样本T检验的统计分析,那接下来我们还可以做什么呢,可以从许多文献中看到,有的不仅仅只计算每个体素指标值之间的差异,还会想到要将其放到各个脑区上,比较指标在脑区之间的差异,而ROI分析就是问了解决这个问题。需要注意的是,目前小编通过cat12.7只能对基于体素水平的统计结果做ROI分析,皮层处理会报错,原因暂不明了,待小编继续深究。接下来自然是必须要说的,小编是初学者,很多东西也才刚了解,并不能说自己的就是100%正确,只是希望分享经验,至于经验的正误还需各位读者通过实践去检验,也欢迎大家提出问题并指正。特别强调,所有文章结果图片仅供演示用,无任何实际意义。

一、简要概念介绍

1、Voxel水平&Vertex水平: 皮层重构是由一些三角形组成的,而三角形的顶点就是此处的Vertex,至于为什么是三角形,还需要读者自己去了解哦,当然小编也会在以后更新。VBM的最小单位是Voxel(体素),这个相信读者已经非常熟悉了,而Vertex(顶点)便是皮层的最小单位,也就是说在VBM中是针对全脑中每个体素做分析,而SBM中是针对全脑中每个顶点做分析。具体原理小编将在下篇更新,其对应的统计分析结果图如:spmT_xxxx.nii & spmT_xxxx.gii。Vertex顶点示意图如下:

在这里插入图片描述
2、ROI水平——logPThreshold_Nameofcontrast_NameofAtlas_measure.nii
ROI就要从atlas脑图谱说起了,以前有许多神经解剖学专家为了更好地描述大脑内部结构连接与功能连接的关系,通过解剖学知识及其解剖结构,再根据某些大脑功能的关系,将大脑分成多个区域,(其实就是大脑地图,划分了很多区域,像一个省地图,然后不同色块表示不同的市,Atlas就是省地图板块,ROI就是市板块)如下图所示,这是几种典型的atlas图谱。小编将用到的是aal3图谱模板。
在这里插入图片描述

图片引用出处:https://surfer.nmr.mgh.harvard.edu/fswiki/CorticalParcellation

而ROI分析便是基于这些区域提取对应的指标值,寻找区域之间联系,进行统计分析。

二、工具包

1、CAT12.7
2、xjview:可用来查看体素水平的图片,并且可对VBM的T检验结果做多重比较校正,有兴趣读者可自行了解。

三、基于ROI水平的VBM分析——主要以灰质体积为主

PS:
由于之前的急于完成作业,没有仔细了解cat12,再加上最新版总是报各种错误警告,相信各位读者也遇到过同样的问题,所以为了省事,就采用的老版本,即前面结构态的处理均是采用cat12.5的版本,但这两天小编发现,cat12的新版本cat12.7更新了很多atlas,其中有一个正是小编月前导师交待的任务之一,添加自定义的模板,为了搞定此问题,小编决定从现在开始使用cat12.7,报错就只能尽力解决它。此篇开始只要提及cat12均是使用最新版本,老版本和新版本之间的区别就在于更新了一些atlas,界面更加集成化,其他区别暂时还不清楚,没有用到,基本功能都是一致的。

@copyright:小编原创不易,转载注明出处哦!
https://blog.csdn.net/Sophia2023/article/details/112463920

1、数据准备:
(1)分割后的灰质体积图NII文件,如下图所示:
在这里插入图片描述
(2)分割时选择的atlas图谱如下图所示,小编选择的aal3,读者若有需要也可以选其他,
在这里插入图片描述
选择这个有什么用呢,还记得在VBM预处理分割时会生成的三个文件夹吗,有一个label的文件夹,里面生成的有以下四种文件,之后在后面的处理中cat12会自己调用这些文件,虽然不用导入,但小编希望大家能去了解这个文件,里面的信息量还是很高的,特别是未来要做一些跟算法有关的,可以直接从此处提取相关数据。问题来了!!
在这里插入图片描述
第一个问题: 小编希望读者能自己用matlab打开以下两个mat文件,看一下里面存储的什么数据,带s的数据和不带s的数据分别代表什么?
第二个问题: cat12默认显示的图谱只有四个,没有现在小编现在显示的那么多,大家可以对照一下自己的cat12的分割界面,那我们应该如何显示呢?
第三个问题: 在Atlases里面有一个选项叫own atlas maps,这个代表可以添加自定义的模板,那如何才能添加呢?这个是小编的一个任务,与大家分享,希望也能一起学习找到解决办法!
问题答案小编会根据评论来公布,有问题欢迎讨论,小编会定期查看评论回复,同各位一起学习进步。

2、生成vertex水平上的T值(统计分析采用cat12直接做,这里不用spm12,但是原理步骤一样,生成设计矩阵,估计,做contrast检验分析):
(1)第一步:生成设计矩阵。点击下图中cat12红色框按钮,弹出batch,输入数据,点击运行,在结果文件夹中生成设计矩阵的SPM.mat文件。这个betch就不需要小编再重复了,相信读者也已经熟透了。

在这里插入图片描述
(2)第二步:估计β值。点击如下图所示的cat12菜单红色框按钮,选择上一步的SPM.mat文件,点击done运行,运行状态可以在matlab命令框中查看

在这里插入图片描述
(3)第三步:contrast。点击如下图所示的call Results ,

在这里插入图片描述
弹出以下batch框,选择上一步生成的SPM.mat文件,点done,运行情况在matlab命令框可见。
在这里插入图片描述
依然按照之前的设置方法设置contrast,做T检验,获取t值图像——spmT_0001.nii,整个的过程原理与spm12一致。
(4)ROI分析: 点击如下所示的红色框按钮,选择上一步生成的spm.mat文件
在这里插入图片描述
选择自己想要做的统计检验结果,如下图所示:
在这里插入图片描述
接下来小编跟随默认,选择p值0.05,读者可根据自己需要选择,之后还要继续选择一些选项(小编基本都是默认选择),如下图所示:
在这里插入图片描述
便有了下面的两张图片,第一张其命名原则是:logPThreshold_Nameofcontrast_NameofAtlas_measure.nii。
所以此处的结果表示小编取得p值是0.05,contrast的命名为PAT-CON,采用的atlas图谱为aal3,寻找的是灰质体积在aal3图谱上的差异。此处有一些疑问,就是小编到底计算的是做的是vertex水平还是ROI水平?不知道读者中有没有明白的,小编想了好久,不是特别敢确定。但是小编猜想是ROI的,请继续往下看小编的一个证据。
在这里插入图片描述
第二张是切片图,就是刚刚选择显示的切片层:
在这里插入图片描述
证据在此: 下图是用xjview工具包查看的结果图,注意看文件名,在玻璃脑中显示的是一块一块的,ROI便是区域性的,
在这里插入图片描述

而直接打开的spmT_0001.nii,全是一小点一小点的,vertex是顶点水平,如下图所示,相信读者能直观看出区别所在。

在这里插入图片描述
至此,基于ROI水平的VBM分析结束,欢迎读者提问讨论,相互学习!基于ROI水平的SBM分析下周更新,可期待一下!!


http://chatgpt.dhexx.cn/article/2DGqed8i.shtml

相关文章

基于cat12和SPM12进行VBMSBM数据分析笔记1——数据预处理

前言 今年是小编步入研究生生活的第一年,研究方向待定,但主要以磁共振成像为主,以后会不断地总结这方面的知识,涉及MRI,数据分析基础方法理论,软件操作教程,文献阅读笔记总结等等,用…

基于cat12和SPM12进行大脑VBM数据分析笔记2——统计分析

小白一顿操作猛如虎——拿下VBM的双样本t检验 前言 培训的deadline到了,小编需要交作业了,所以就在此先把笔记记下来。作业需要提交一个报告,but这个报告我应该如何写呢,培训总结?哎,现在还是不清楚&…

磁共振影像分析之: 基于FSL的VBM分析(1)

磁共振影像分析之: 基于FSL的VBM分析(1) 基本概念 在开始之前, 先给出几个基本概念: 磁共振成像 磁共振成像(Magnetic Resonance Imaging, MRI)是一种基于核磁共振原理和射频波探测组织结构和功能的医学影像技术. 值得一提的是, 磁共振成像技术没有辐射, 对人体没有影响. …

MRI图像处理:VBM原理和步骤

VBM是voxel-based morphometry的缩写, 是对被试之间灰质体素粒度统计分析。VBM可以得到人群中volume和gyrification的不同,对clinical score进行相关性分析,VBM不仅仅可以用于结构数据(T1),还可以用在fmri和…

MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)

基于体素的形态学方法(voxel-based morphometry, VBM),是分析大脑解剖学(结构)差异最常用方法之一。 其通过给大脑volume逐体素打标签(分类)的方式来进行组织分割(segmentation&…

LabVIEW程序测试

LabVIEW程序测试 工程师经常不太关注测试,将更多时间用于其他开发。通过一定程度的测试,可以保证节省时间。 开发人员必须清楚地了解对测试的期望程度。此外,还必须标准化测试方法并跟踪测试结果。在开发需求和设计规范时,还要制…

史上最详细的小程序测试用例模板,以后再也不怕测试用例不会写了

目录 1. 文档介绍 1.1 文档目的 1.2 文档范围 1.3 读者对象 1.4 术语与缩写解释 2. 功能测试用例 2.1 被测试对象的介绍 2.2 测试范围与目的 2.3 测试环境与测试辅助工具的描述 2.4 功能测试用例 附录:评审意见 1. 文档介绍 1.1 文档目的 设计测试用例…

软件测试人员一定要会的微信小程序测试点

微信小程序: 不需要下载安装即可使用的应用, 实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。 体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。 应用将无处不在,随时可用&#…

小程序测试流程

流程分为两个方面,解包可以挖掘信息泄露问题、隐藏的接口,抓包可以测试一些逻辑漏洞、API安全问题。两者结合起来就可以边调试边进行测试,更方便于安全测试。 搜索目标小程序 目标搜索不能仅仅局限于主体单位,支撑单位、供应商、…

【软件测试】

系列文章目录 文章目录 系列文章目录前言第四章 单元测试4.1 软件测试过程概述4.2 什么是单元测试4.2.1 单元测试的定义4.2.2 单元测试的重要性4.2.3 单元测试原则 4.3 单元测试的目标和任务4.3.1 单元测试的目标:单元模块被正确编码4.3.2 单元测试的主要任务 4.4 单…

软件测试之测试程序开发

软件测试培训之测试程序开发 脚本维护,测试数据准备,测试监控准备; 测试程序开发 性能测试场景设计和性能测试脚本设计中需要注意以下几个问题: 场景真实性: 每个脚本的具体操作步骤,是和真实环境操作类似的,每个场景内的测试程序之间的逻辑关系,压力比重…

程序员的测试课

git项目地址:GitHub - dreamhead/geektime-todo: Geektime Todo is a demo todo project for Geektime column. 1、实现一个Todo应用 设计规范 1、对于输入参数的检测,由入口部分代码进行处理。如空字符串。 2、Repository 的问题以运行时异常 的形式抛…

软件测试重点知识

软件测试的定义: 利用人工或自动化的手段来运行或测定某个系统,其目的在于测它是否满足规定的需求或检测预期结果与实际结果之间的差异。 软件测试的目的: 发现软件中存在的问题或缺陷,检查软件系统是否满足要求。 软件测试的对象…

跑批利器--读取文件

在上篇文章中已经对示例的基本业务和流程进行了解,同时也知道了SpringBatch的三个接口ItemReader,ItemProcessor,ItemWriter.接下来我们主要是通过示例来具体处理一个文本文件,将里面的数据和内容通过SpringBatch的加工处理来存到新的数据库中. SpringBatch提供专门的类去读取文…

金融任务实例实时、离线跑批,Apache DolphinScheduler 在新网银行的三大应用场景与五大优化...

在新网银行,每天都有大量的任务实例产生,其中实时任务占据多数。为了更好地处理任务实例,新网银行在综合考虑之后,选择使用 Apache DolphinScheduler 来完成这项挑战。如今,新网银行多个项目已经完成了实时与准实时的跑…

线程并发处理跑批任务

定时任务类代码: package com.jzfq.rms.autoApprove.job;import com.alibaba.fastjson.JSONObject; import com.jzfq.rms.autoApprove.bean.InnerRuleProcess; import com.jzfq.rms.autoApprove.bean.InnerRuleProcessQueryBean; import com.jzfq.rms.autoApprove.s…

Oracle-job跑批变慢案例

前言: 近期处理了一起应用job跑批变慢的案例,在一天job执行时间突然增加了几十倍,后面通过分析是由于索引的设计不合理导致执行计划的异常,把当时的问题分析过程记录下来,分享给大家。 问题: 数据库job存储执行时间增加几十倍 原因…

架构师自诉:如何做到百万数据半小时跑批结束

业务背景 跑批通常指代的是我们应用程序针对某一批数据进行特定的处理 在金融业务中一般跑批的场景有分户日结、账务计提、欠款批扣、不良资产处理等等 具体举一个例子 🌰 客户在我司进行借款,并约定每月 10 号码还款,在客户自主授权银行…

基于Kettle跑批的案例说明

需求概述 通过动态配置表的方式完成在kettle里动态配置参数,并调用ktr,实现跑批的目的。 问题分析 定义一个ktr读取配置表的信息并将拷贝记录到结果定义一个ktr从结果里获取记录并设置变量定义业务ktr(即按照业务需要开发的…

学习笔记-如何设计离线跑批系统

一、基本概念 离线跑批:通常指批量加工数据、完成一系列流程的定时任务。 业务场景:在银行、金融、支付出现较多,其他行业也可能涉及。 1. 定时的数据状态更新(到期失效) 2. 数据计算(计算罚息、计提&…