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

2023-12-17 15:12
文章标签 工具 数据 预处理 fmri

本文主要是介绍一些关于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

这篇关于一些关于fMRI脑数据的预处理工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/504841

相关文章

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

C# 预处理指令(# 指令)的具体使用

《C#预处理指令(#指令)的具体使用》本文主要介绍了C#预处理指令(#指令)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1、预处理指令的本质2、条件编译指令2.1 #define 和 #undef2.2 #if, #el

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p

使用MyBatis TypeHandler实现数据加密与解密的具体方案

《使用MyBatisTypeHandler实现数据加密与解密的具体方案》在我们日常的开发工作中,经常会遇到一些敏感数据需要存储,比如用户的手机号、身份证号、银行卡号等,为了保障数据安全,我们通常会对... 目录1. 核心概念:什么是 TypeHandler?2. 实战场景3. 代码实现步骤步骤 1:定义 E

使用C#导出Excel数据并保存多种格式的完整示例

《使用C#导出Excel数据并保存多种格式的完整示例》在现代企业信息化管理中,Excel已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开Excel,本文... 目录引言1. 安装 Spire.XLS2. 创建工作簿和填充数据3. 保存为不同格式4. 效果展示5

Python多任务爬虫实现爬取图片和GDP数据

《Python多任务爬虫实现爬取图片和GDP数据》本文主要介绍了基于FastAPI开发Web站点的方法,包括搭建Web服务器、处理图片资源、实现多任务爬虫和数据可视化,同时,还简要介绍了Python爬... 目录一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务