当前位置: 首页 > news >正文

将AAL图谱对应到Yeo7大网络中【原理,代码分析】

AAL是混合图谱,不只包含皮层,也涵盖皮层下和小脑区域。

步骤:
对于AAL模板中的每一个区域:
查看它内部的体素中,有多少属于 Yeo7 的哪一个网络;
用投票的方式选出该区域最多体素对应的网络;
最终将每个区域赋一个 Yeo7 网络标签(1~7)。

图谱:

  1. Yeo2011_7Networks_MNI152…
    这是标准的 Yeo 7 网络分布图谱,将皮层分成 7 个功能网络;

  2. Buckner2011_7Networks_MNI152…
    来源:Buckner et al. (2011);对小脑(cerebellum)区域进行 Yeo 7 网络的投影/扩展;将 Yeo 图谱扩展到小脑(通常皮层图谱不包括小脑);所以这个图谱主要是 小脑区域的功能网络归属。

  3. Choi2012_7Networks_MNI152…
    来源:Choi et al. (2012);是 Yeo 图谱在 纹状体(striatum) 的投影;这个是纹状体的 Yeo 网络标签图。
    纹状体图谱说明:
    https://surfer.nmr.mgh.harvard.edu/fswiki/StriatumParcellation_Choi2012
    在这里插入图片描述
    在这里插入图片描述

比如我这里想把AAL2图谱映射到Yeo 7大网络中:

[YeoData,YeoHeader]=y_Read('~\Yeo2011_7Networks_MNI152_FreeSurferConformed1mm_LiberalMask.nii\Yeo2011_7Networks_MNI152_FreeSurferConformed1mm_LiberalMask.nii');
[BucknerData,BucknerHeader]=y_Read('~\Buckner2011_7Networks_MNI152_FreeSurferConformed1mm_LooseMask.nii\Buckner2011_7Networks_MNI152_FreeSurferConformed1mm_LooseMask.nii');
[ChoiData,ChoiHeader]=y_Read('~\Choi2012_7Networks_MNI152_FreeSurferConformed1mm_LooseMask.nii\7_Network_FS2MNI_loosemask_new_converted.nii');
[AAL,AALHeader]= y_Read('~\Reslice_AAL2.nii');
unique(AAL)
ROINetwork=zeros(120,7);
%循环统计每个 ROI 在各个 Yeo 网络中的体素数
for ROI=1:120for iNetwork=1:7Temp = length(find(YeoData(find(AAL==ROI)) == iNetwork));Temp = Temp + length(find(BucknerData(find(AAL==ROI)) == iNetwork));Temp = Temp + length(find(ChoiData(find(AAL==ROI)) == iNetwork));ROINetwork(ROI,iNetwork) = Temp;end
end[MaxNumber YeoNetwork] = max(ROINetwork');
MaxNumber=MaxNumber';
YeoNetwork=YeoNetwork';

对于每个 AAL2 的 ROI(编号1到120):

找出 AAL2 图谱中属于该 ROI 的所有体素;

然后看这些体素在 Yeo、Buckner、Choi 各图谱中,有多少体素属于当前 iNetwork(1到7);

三者加起来作为该 ROI 对该功能网络的“归属体素数”。

ROINetwork统计每个 ROI 中有多少个体素落在每一个功能网络里,如下所示。
在这里插入图片描述

[MaxNumber, YeoNetwork] = max(ROINetwork')
对每个 ROI,找到对应的网络中最多体素的那个网络编号。

MaxNumber 是最大体素数

YeoNetwork 是该 ROI 最可能属于的 Yeo 网络编号(1–7)

YeoNetwork 是一个 120×1 向量,代表每个 AAL ROI 对应的功能网络标签
在这里插入图片描述

http://www.dtcms.com/a/314559.html

相关文章:

  • 断点续传Demo实现
  • 16.8 华为昇腾CANN架构深度实战:3大核心引擎解析与性能优化216%秘籍
  • C++高频知识点(十四)
  • 如果发送的数据和接受的数据不一致时,怎么办?
  • 从 Hive 数仓出发,全面剖析 StarRocks、MySQL、HBase 的使用场景与区别
  • Linux-Day02.Linux指令
  • Vue 3 + AntV X6 实现流程编辑功能
  • C语言-指针[指针数组和数组指针]
  • 【web应用】Maven:Java 生态的构建与依赖管理利器
  • LeetCode算法日记 - Day 1: 移动零、复写零
  • 排序算法——归并排序(图文演示)
  • 最小二乘法MSE
  • 【Linux】重生之从零开始学习运维之GTID复制
  • 【动态规划 | 回文字串问题】动态规划解回文问题的核心套路
  • docker镜像源配置教程,以及解决安装好docker配置镜像源后,出现报错。Job for docker.service failed
  • 在 C++ 中实现类似 Vue 3 的 Pinia 状态管理库
  • C++模板知识点3『std::initializer_list初始化时逗号表达式的执行顺序』
  • 2025-08月特辑---私有化部署gitea仓库
  • Android UI 组件系列(九):ListView 性能优化与 ViewHolder 模式实战
  • 信息安全概述
  • LightRAG:大模型时代的低成本检索利器
  • HCIP笔记1
  • OpenCV计算机视觉实战(18)——视频处理详解
  • 经典设计模式
  • 电商系统想撑住大流量?ZKmall开源商城靠微服务 + Spring Boot3 解决单体架构难题
  • VS2019 Qt5.14.2 OpenCV4.4.0 全流程安装及开发环境搭建与配置(工业相机环境配置)
  • SpringMVC在前后端分离架构中的执行流程详解
  • 【C++指南】STL stack 完全解读(一):从入门到掌握基础操作
  • 【C#】操作Execl和Word文件-2
  • 深入理解基础 IO:从 C 库函数到系统调用的全景指南