一些关于fMRI脑数据的预处理工具

一些关于fMRI脑数据的预处理工具

  • 前言
  • 概述
  • SPM12工具箱
  • FSL工具箱
  • FreeSurfer工具箱
  • BrainNet Viewer工具箱
  • circularGraph工具箱
  • Nipype集成框架
  • fMRIPrep集成框架
  • 参考文献

前言

March 25, 2022
这里是关于fMRI脑数据的预处理工具的相关调研
主要是关于数据的预处理,数据的分析以及可视化的部分软件的调研。
在这里插入图片描述原创文章,未经同意请勿转载

概述

📌 预处理/显示工具的笔记
在这里插入图片描述
有关fMRI预处理的工具常见的有SPM、FSL、FreeSurfer等(这三款是比较常用的预处理工具,对于计算机类专业来说),此外最近还有比较新的集成框架如Nipype,其其集成了大部分常用的神经影像学数据处理软件,包括ANTS 、SPM、 FSL、 FreeSurfer、 Camino、 MRtrix、 MNE、 AFNI 、Slicer 、dprasf等;还有Dosenbach软件,主要用于BOLD的处理、以及fMRIPrep,主要用于研究人员和临床医生对任务和静息态的功能磁共振数据进行预处理等。基于图形的网络可视化工具箱有很多,包括BCT、eConnectome 、GAT、PANDA、NetworkX 、Brainwaver 、 GRETNA等。而脑部连接的可视化软件常见的有BrainNet Viewer和circularGraph等。脑网络构建:gretna,graph。

笔记这里只记录最常见的三种预处理软件、可视化软件以及新出现的集成框架工具箱。

在这里插入图片描述

基于rs-fMRI的预处理工具箱

  • REST
    • REST是一个静息态功能磁共振数据分析工具,可以计算功能连接(FC),区域同质性(ReHo值),振幅低频率波动(ALFF),Granger因果分析(GCA)等指标。同时包含丰富的图像分析工具,如各种统计分析、可视化,多重比较校正,时间序列提取,结果出图等。
  • FSL - MELODIC
    • FSL MELODIC 3.0是牛津大学开发的一个功能磁共振后处理软件。该方法无需指定任何先验模型,凭借独立分量分析(ICA)将单个或多个四维数据集分解成不同的空间和时间组件,从而寻找活跃区域。
  • GIFT
    • 基于Matlab的专门用来做ICA分析的工具包,可以用来进行基于任务fMRI和静息fMRI的ICA分析及其后续分析。
  • MICA
    • 基于Matlab的易于操作的ICA分析软件。可以实现较大样本量数据的ICA分析,通过多次运算求得稳定的ICA分析结果,克服ICA分析的不稳定性。
  • DPARSF(A)
    • 流水线式自动化的fMRI和静息态fMRI数据预处理,静息态fMRI数据后处理工具包。可以实现目前主流的各种静息态fMRI指标的计算。可以实现并行的快速计算。

SPM12工具箱

在这里插入图片描述用于预处理数据的工具包,支持PET,VBM,EEG,MEG,fMRI等。该版本众多研究文献中所常用的版本,也有些文献仍然在使用SPM8,不过在SPM12中也存在着之前版本的操作,官方下载链接

有关spm的教程有【官方教程】、【有关fMRI预处理的教程】(需要科学上网)
在这里插入图片描述


FSL工具箱

FSL有相关的中文课程教程 FSL training course(2019, Beijing)、其他相关教程
在这里插入图片描述

  • 定义: FSL是英国牛津大学脑功能磁共振成像中心( FMRIB’s Software Library - FMRIB)开发的一个软件库,发布于 2000年 。【适用于所有操作系统】
  • 用途:
    (1)用于结构 MRI、功能 MRI(任务、静息)、扩散 MRI的分析
    (2)MRI, CT数据的预处理和分析
    (3)MRI, CT数据的查看
    在这里插入图片描述

FreeSurfer工具箱

FreeSurfer是美国MIT Health Sciences&Technology和Massachusetts General Hospital共同开发的磁共振数据处理软件。该软件是一款用于分析脑神经数据的工具集合,它提供了一系列的算法来量化人脑的功能、连接以及结构属性,能对高分辨率的磁共振图像进行三维重建,生成展平或胀平图像,并能得到皮质厚度、面积、灰质容积等解剖参数。FreeSurfer最初起源于一个个软件包,这个软件包目的是基于T1图像通过自动创建的一组人脑宏观可见的结构模型,进而构建大脑皮层的表层。FreeSurfer是免费的,兼容多个软硬件平台,并且它还是开源的。
在这里插入图片描述FreeSurfer的【官方文档连接】、【中文文档连接】、【B站推荐教程】、【知乎推荐教程】


BrainNet Viewer工具箱

在这里插入图片描述
论文连接:BrainNet Viewer: A Network Visualization Tool for Human Brain Connectomics

【相关文档连接】、【知乎使用教程链接】

📌 BrainNet Viewer是一个用于人脑连接的网络可视化工具。需要导入四种类型的导入文件brain surface、node、edge和volume文件。

在这里插入图片描述

brain surface脑表面文件。brain surface文件是一个以’ nv '为后缀的ASCII文本文件,包含四个字段:顶点的数量、每个顶点的坐标、三角形面的数量和组成三角形的顶点的索引。
使用FreeSurfer (http://surfer.nmr mgh.harvard.edu/)生成的半球网格.pial 文件和使用BrainVISA (http://brainvisa.info/)生成的mesh文件也支持直接加载。

node节点文件。节点文件是一个“node”后缀的ASCII文本文件。
节点信息在节点文件中排列为6列:

  • 1-3列分别表示节点的x、y、z坐标;
  • 第4列表示节点颜色的索引;
  • 第5列表示节点大小;
  • 列6表示节点标签。第6列中的’-'符号表示对应节点没有标签。

这个文件的值很容易根据显示的网络的各个方面进行安排。例如,节点的模块信息可以分配到第4列,用颜色区分节点属于不同模块。第5列可设为节点度、中心性和t值,以强调根据大小不同的节点差异。

edge边文件。brain edge文件是一个以’ edge '为后缀的ASCII文本文件,表示节点之间的一个关联矩阵(例如相关性),可以进行加权或二值化,因此,矩阵的大小必须与节点的数量相对应。
volume文件。BrainNet Viewer可以方便地将体积数据映射到大脑表面,它可以是功能连通性图、灰质密度图、统计参数图或脑图集。采用NIfTI或Analyze格式,可以使用单个或成对的nii文件。


circularGraph工具箱

【官方工具链接】、【腾讯云教程文档】、

软件:Matlab 2014b 以上版本 (注意版本!!)

适用数据类型:尤其适合描述连接、相关、小世界网络等

源脚本链接:http://nl.mathworks.com/matlabcentral/fileexchange/48576-circulargraph(Paul Kassebaum 2016)
在这里插入图片描述function的调用:·function =circularGraph(X)function=circularGraph(X,'PropertyName',propertyvalue,...)

其中,X为一个相关矩阵,后面的都是根据自己需求的参数设置。

最基本的调用这样做就可以了:

X = [你的矩阵]

Figure;circularGraph(X)% 画图


Nipype集成框架

截止目前为止,Nipype在类Unix系统上会运行的更稳定一些,例如Linux、MacOS都是完美支持的,对于Windows则不完全支持(虽然能够通过Conda和Pip安装上,但是运行的时候会报错,似乎其中引用了一个getpwd的包,而这个包只支持Linux等系统)。Nipype是一个用Python编写的框架,主要用于处理神经影像学的各类数据,其集成了大部分常用的神经影像学数据处理软件,包括ANTS, SPM, FSL, FreeSurfer, Camino, MRtrix, MNE, AFNI, Slicer等,其中我只用过SPM和FSL,用这个框架可以自定义工作流,使不同的软件协同工作。
在这里插入图片描述
相关链接

  • 官方链接【链接】
  • 官方文档教程【链接】
  • 处理数据的CSDN【教程集合】
  • 知乎【安装使用教程】

fMRIPrep集成框架

fMRIPrep是一个功能强大且方便的工具,能够使研究人员和临床医生对任务和静息态的功能磁共振数据进行预处理。它的输出结果可广泛应用于进行功能定位的被试内分析、基于体素的分析(voxel-based analysis)、基于皮层表面的分析(surface-based analysis)、基于任务的组分析、静息态功能连接分析等等。fMRIPrep的安装其实官方给出了三种方法,其中两种是基于container技术,另一种是基于python。官方对于安装实际上更推荐用container技术(Docker或者Singularity),至于python的版本其实也是基于Nipype这个库,这里就主要介绍docker的安装方式。fMRIPrep是由不同的子流程组成。根据输入数据,子流程可动态地集成不同的配置。这些子流程可与目前广泛应用的开源的神经影像工具包(表1所示)相结合。其中,工作流程引擎Nipype用来划分工作流程并处理执行细节(例如资源管理)。fMRIPrep工作流程主要包括两个子模块:结构MRI处理流程和fMRI处理流程。

fMRIPrep的【官方文档】、【知乎简介】、【BOld数据处理笔记-知乎】、【论文链接】、【论文预览链接】
在这里插入图片描述


参考文献

  • fMRI技术指南总结 - 知乎
  • 介绍一款 MRI&CT 图像预处理强大工具–FSL - 知乎
  • BrainNet Viewer:人类大脑连接的网络可视化工具 - 知乎
  • Nature Methods:fMRIPrep: 一个稳定的fMRI数据预处理工具 - 知乎
  • FreeSurfer和FSL的安装和使用-CSDN博客_freesurfer去头骨
  • SPM12 核磁数据预处理 傻瓜攻略_Iris_bysshqx17的博客-CSDN博客_spm12

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows环境提示“‘mysql‘ 不是内部或外部命令,也不是可运行的程序或批处文理件” 简易记录

在Windows环境下使用DOS命令窗登入MYSQL,提示“mysql 不是内部或外部命令,也不是可运行的程序或批处理文件。” 这意味着系统无法找到 mysql.exe可执行文件,这是因为 MySQL 没有正确安装或未添加到系统PATH环境变量中所致。 处理方法&#x…

分组背包问题笔记

分组背包是选不同的组&#xff0c;每个组中只能选一个物品。分组背包就是01背包的变种&#xff0c;多重背包就是特殊的分组背包。 //分组背包 #include<iostream> using namespace std; const int N 110; int f[N], v[N], w[N], n, m;int main() {ios::sync_with_stdio(…

ShardingSphereJDBC简单入门

ShardingSphere 介绍ShardingSphere-JDBCSharding-Sphere-ProxyShardingSphere-Sidecar混合架构运行模式DistSQL可拔插架构ShardingSphere的发展路线 主从复制ShardingSphere-JDBC功能SQL解析SQL支持程度SQL稳定支持SQL实验性支持 MySQL不支持SQL清单分页 数据分片垂直分片水平…

Python 爬虫开发完整环境部署,爬虫核心框架安装

Python 爬虫开发完整环境部署 前言&#xff1a; ​ 关于本篇笔记&#xff0c;参考书籍为 《Python 爬虫开发实战3 》 笔记做出来的一方原因是为了自己对 Python 爬虫加深认知&#xff0c;一方面也想为大家解决在爬虫技术区的一些问题&#xff0c;本篇文章所使用的环境为&#x…

关于Ubuntu22.04恢复误删文件的记录

挂载在Ubuntu22.04下的固态盘有文件被误删了&#xff0c;该固态盘是ntfs格式的。 在网上找了很多教程&#xff0c;最后决定用TestDisk工具进行恢复。 现记录如下&#xff1a; Ubuntu安装testdisk sudo apt-get install testdisk运行testdisk sudo testdisk得到 我选择的是…

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译 1、下载Jetson BSP包和交叉编译环境 地址&#xff1a;https://developer.nvidia.com/embedded/jetson-linux-archive下载需要版本即可&#xff0c;此次编译采用32.4.2版本 需要下载的文件如下&#xff1a; 2、新建一个文件…

LeetCode(66)二叉树的最大深度【二叉树】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 二叉树的最大深度 1.题目 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7]…

Python类调用实例方法

在 Python 的类体中定义的方法默认都是实例方法&#xff0c;通过对象来调用实例方法。 但要提醒大家的是&#xff0c;Python 的类在很大程度上是一个命名空间&#xff0c;当程序在类体中定义变量、方法时&#xff0c;与前面介绍的定义变量、定义函数其实并没有太大的不同。对比…

解析神器Xpath详解+实战

解析神器Xpath详解实战 有同学说&#xff0c;我正则用的不好&#xff0c;处理HTML文档很累&#xff0c;有没有其他的方法&#xff1f; 有&#xff01;那就是XPath&#xff0c;我们可以先将 HTML文件 转换成 XML文档&#xff0c;然后用 XPath 查找 HTML 节点或元素。 目标&am…

【KMP】【判断是否是重复子字符串】Leetcode 459 重复的子字符串

【KMP】【判断是否是重复子字符串】Leetcode 459 重复的子字符串 解法1 拼接字符串-掐头去尾后判断是否含有原字符串解法2 KMP——重复子串的最小单位是这个字符串里的最长相等前后缀所不包含的子串解法3 暴力解法KMP ---------------&#x1f388;&#x1f388;题目链接&…

【C++11特性篇】一文助小白轻松理解 C++中的【左值&左值引用】【右值&右值引用】

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一.【左值&#xff06;左值引用】&…

C#中简单的继承和多态

今天我们来聊一聊继承&#xff0c;说实话今天也是我第一次接触。 继承的概念是什么呢&#xff1f;就是一个类可以继承另一个类的属性和方法&#xff08;成员&#xff09; 继承是面向对象编程中的一个非常重要的特性。 好了&#xff0c;废话不多说&#xff0c;下面切入正题&a…

微信小程序使用camera扫码获取相机权限

确保用户隐私指引已经明确使用相机功能 “mp-weixin”: "permission": {"scope.camera": {"desc": "需要使用相机功能&#xff0c;请授权"}}wx.authorize({scope: scope.camera,success(res) {console.log(res, 用户成功授权)// 用户…

C语言实现Hoare版快速排序(递归版)

Hoare版 快速排序是由Hoare发明的&#xff0c;所以我们先来讲创始人的想法。我们直接切入主题&#xff0c;Hoare版快速排序的思想是将一个值设定为key&#xff0c;这个值不一定是第一个&#xff0c;如果你选其它的值作为你的key&#xff0c;那么你的思路也就要转换一下&#xf…

巧妙的使用WPF中的资源

其实&#xff0c;在wpf中&#xff0c;最核心的就是xaml&#xff0c;因为只有xaml&#xff0c;才能体现出用的是wpf&#xff0c;而不是普通的cs文件&#xff0c;cs文件在winform中等等程序都可以使用的&#xff0c;唯独xaml才是wpf中最重要的&#xff0c;最精华的东西&#xff0…

gitlab ci pages

参考文章 gitlab pages是什么 一个可以利用gitlab的域名和项目部署自己静态网站的机制 开启 到gitlab的如下页面 通过gitlab.ci部署项目的静态网站 # build ruby 1/3: # stage: build # script: # - echo "ruby1"# build ruby 2/3: # stage: build …

jupyter notebook介绍、安装和使用

简介 Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算&#xff1a;开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍 简而言之&#xff0c;Jupyter Notebook是以网页的形式打开&#xff0c;可以在网页页面中直接编写代码和运…

Spring Boot+Mybatis设置sql日志打印

在全局配置文件添加以下内容&#xff1a;logging.level.com.demo.mapperdebug&#xff0c;com.demo.mapper&#xff1a;src下的mapper路径&#xff0c;debug&#xff1a;设置日志打印级别为debug&#xff0c;亦可设置为&#xff1a;ERROR、WARN、INFO application.properties …

10-流媒体-RTMP编译

将h264推流给服务器&#xff0c;就完成了采集端的推流工作。一般在嵌入式系统常用的rtmp推流方案是rtmpdump。使用rtmp库涉及到一些编译过程&#xff0c;下面我们一点点描述。 关于rtmp的使用涉及到3个开源库的编译&#xff08;openssl, zlib, rtmpdump&#xff09;&#xff0c…

【C++】optional的使用(一)

这篇文章介绍下C17引入的std::optional 为什么要有 optional 一般来说&#xff0c;如果想要一个函数返回“多个”值&#xff0c;C程序员倾向于使用结构体/类完成这个操作。即定义一个通用的结构体&#xff0c;在函数内部完成装填&#xff0c;然后返回一个实例化的结构体。 #…