Hello,大家好!
Rose小哥今天主要介绍一下常见用来进行脑成像数据分析的Python工具包。
脑成像技术已经成为认知科学和心理学研究领域中一种重要的研究手段,帮助研究者不断深入发掘我们脑中的秘密。伴随着研究的不断深入,各式各样的指标参数和分析方法也不断推陈出新,以迅雷不及掩耳之势进入了我们的视野。如何用它们来完善和深入我们自己的研究,成为多数研究者共同的问题。
PsychoPy
PsychoPy是一个用于刺激呈现的工具包,适用于心理物理、脑成像和其他心理学实验。它提供一整套方便的图形交互界面,帮助研究者设计实验流程,确定各类实验刺激(图片、视频或音频等)的呈现时间和时长,并记录被试的反应情况(如按键和反应时)。
https://www.psychopy.org
NiBabel
Nibabel提供了对脑成像数据的读写接口,支持多种数据格式,如ANALYZE(plain,SPM),GIFTI,NIfTI,MINC和PAR/REC文件。可以说,NiBabel是python在脑成像领域应用的重要基石。
https://nipy.org/nibabel/
NiPy
NiPy提供了一系列用于功能脑成像数据处理/分析的工具,包括常用的基于一般线性模型(General Linear Model,GLM)的统计分析,silce timing,motion correction,以及图像配准等分析处理。
http://nipy.org/nipy/
Nipype
Nipype是一个用于整合当前各种主流分析软件的工具包,通过它可以将SPM,FSL,FreeSUrfer,AFNI等软件中的各个处理程序,连接成一套个人订制的数据分析处理流程,给予研究者最大的自由度,根据自己的需要使用软件。Nipype在进行大批量数据处理,尤其是调用并行处理机制上具有独特的优势。
https://nipype.readthedocs.io/en/latest/
PyMVPA
当前多体素分析(Multi-Voxel Pattern Analysis, MVPA)已经成为了一种新的数据分析潮流,而来自Haxby实验室的这款PyMVPA工具包则为研究者进行MVPA分析提供了便利,通过它可以方便的调用多种多元方法对数据进行分析,如构建分类器,searchlight分析等。
http://www.pymvpa.org
PySurfer
PySurfer是一个数据可视化工具,可以将FreeSurfer软件产生的数据在大脑皮层上进行可视化,并提供多种可视化角度和配色方案,是一个很方便和高效的可视化/作图工具。
http://pysurfer.github.io
FreeROI
FreeROI是一个基于Python的多用途图像处理软件,提供多种图像分割(如分水岭分割和区域增长等)和图像处理(如平滑,二值化等)工具,并针对确定感兴趣区域(Region of Interest,ROI)提供多种方便实用的实现方案,可方便的由全脑激活图提取ROI,或根据坐标生成规则形状的ROI(如小球或立方体)。同时,软件提供了一个非常人性化的图形操作界面,以所见即所得的形式完成所有操作。
http://freeroi.brainactivityatlas.org
在构建机器学习、深度学习算法来处理脑电等生理数据是,往往要借助机器学习、深度学习等框架,下面介绍几款常用在脑电等生理数据分析中的机器学习、深度学习工具。
Scikit-learn
Scikit-learn是一个当前很流行的机器学习工具包,提供了多种在模型训练、测试时必需的分析方法和工具,可以轻松实现各种分类器(如SVM,决策树,随机森林等)。
https://scikit-learn.org/stable/
PyTorch
PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的的深度神经网络。
https://pytorch.org
TensorFlow
TensorFlow 是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,可以让研究人员推动机器学习领域的先进技术的发展,并让开发者轻松地构建和部署由机器学习提供支持的应用。
https://www.tensorflow.org
Keras
Keras是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。
https://keras.io
参考
[1] http://sealhuang.github.io/python-in-neuroimage