一些关于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

相关文章

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转