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

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I