用于对fMRI数据进行相关分析的工具。
项目描述
rapidtide软件包
Rapidtide是一个用于从fMRI和fNIRS数据集中建模、表征、可视化和去除时间变化的生理性血液信号的Python程序套件。该套件的主要工具是rapidtide程序,它用于表征整体血流量,以及happy,它专注于心脏带。
完整文档在:http://rapidtide.readthedocs.io/en/latest/
rapidtide程序
Rapidtide 不仅是这个软件包中第一个程序的名称,它还用于对功能成像数据进行快速时间延迟分析,以找到体素时间序列与其他时间序列之间的时间滞后相关性,主要是在低频振荡(LFO)频段。
我为什么要了解时间滞后相关性呢?
这是出于我们团队(麦克莱恩医院的视磁学组 - http://www.nirs-fmri.net)的工作,该工作研究了神经成像数据(fMRI)和同时记录的近红外光谱(NIRS)数据之间的相关性,无论是在大脑还是外围。我们发现,fMRI数据中低频“噪声”的大部分是由于通过大脑的血液中真实、随机的血氧饱和度和体积(两者都会影响BOLD fMRI图像的强度)的波动。更有趣的是,因为这些血液的特性随着血液本身移动,这为确定大脑中任何位置的血液到达时间提供了一种方法。这本身很有趣,但更重要的是,这为您提供了一个方法来最优地模拟(并去除)fMRI数据中的频段生理噪声(参见以下参考文献)。
在与这项工作合作了几年之后,我们还发现,您不需要使用同时NIRS来找到这种血液信号——您可以从富含血液的BOLD体素中获取,例如上矢状窦,或者从BOLD数据的全局平均信号中提取它。您还可以跟踪外源性应用的波形,例如高碳酸和/或高氧气体挑战,以真正提高您的信噪比。因此,有很多时候您可能想要进行这种相关性分析。
顺便说一句,这些工具中的一些通常很有用,可以查看来自其他来源的时间序列之间的相关性——例如进行PPI,甚至是一些基于种子的分析。
[*] “随机”在这个上下文中意味着“由我们没有任何信息的东西决定” - 可能是EtCO2变化,或交感神经系统的活动——所以并不真正是随机的。
相关性分析很简单——为什么要使用这个包呢?
简单的回答是:“相关性分析很简单,但使用一个预先编写的包来处理文件I/O、滤波、重采样、窗口等,甚至更容易”。一个稍微复杂一点的回答是,虽然相关性分析做起来很简单,但要做到正确却很难;有无数种方法可以做得不正确。幸运的是,我在过去的8年中犯了许多错误,并相应地纠正了我的代码。所以,与其重复我那些无聊的错误,为什么不犯一些新的、有趣的错误呢?探索你自己的、独特的错误空间...
快乐
最近,受Henning Voss关于fMRI中心脏信号超采样论文的启发,我们开发了一种从fMRI数据中提取和清洁心脏波形的方法,即使fMRI的TR太长,无法正确采样心脏波形。然后,可以通过这种方式追踪心脏压力波的脉冲,就像我们追踪LFO信号一样。此外,这允许您在扫描期间获得心脏波形,即使在以下情况下:1)您没有使用容积描记器,或2)您使用了,但记录质量很差,这种情况比您想象的要多。
“快乐”与这些有什么关系?
至于为什么“快乐”是Rapidtide的一部分,部分是出于实际原因(Rapidtide中的库有很多代码在Happy中被重用),部分是主题性的——Rapidtide已从“让我们看看fMRI数据中的低频信号”包发展成“让我们看看fMRI数据中的所有内容,除了神经元激活”,所以Happy非常适合。
你为什么要发布这个包?
出于许多原因。
我希望人们能使用它!我认为如果进行时间延迟分析变得更容易,人们更有可能去这么做。我的团队没有足够的时间和人员来做我认为有趣的每个实验,所以我希望其他人会这么做,这样我就可以阅读他们的论文并学习有趣的东西。
这是做科学研究的正确方式——我可以说很多话,但如果没有人能复制我的结果,没有人会相信它(我们经常遇到这种情况,因为我们观察到的静息态数据的一些含义可能有些不舒服)。在fMRI领域,从数据到结果需要大量的处理,因此确认结果的一部分涉及到能够看到数据处理的过程。如果你不得不从头开始做所有事情,你甚至不会尝试去确认任何人的结果。
在任何复杂的处理方案中,都有可能(或者在我的情况下,很可能会)犯愚蠢的错误,无论是编码错误还是概念错误,我几乎可以肯定我已经犯了一些(尽管希望最糟糕的错误已经被处理掉了)。更多的用户和更多的眼睛关注代码,使它们更有可能被发现。尽管我对有人可能发现我的代码中的错误感到不舒服,但我宁愿他们这么做,这样我就可以修复它[†]。
这是回馈社区。我受益于许多作者的慷慨,他们为我制作了我用于工作和娱乐的开源工具,所以我认为我也应该这样做。
[†]或者更好的是,作为授权用户,您可以修复它,并推送一个对所有人都有益的修复...
稳定性等。
这是一个不断发展的代码库。我一直在不断修改它。话虽如此,现在我已经将这个代码库发布到世界,我正在更加负责任地锁定稳定的发布点。然而,在发布之间,我还会修改一些东西,尽管这大部分将限于开发分支。**非常有可能,在任何时候,开发分支都会非常不稳定,所以除非您有很好的理由使用它,否则请远离它。**我最终开始使用更现代的方法,并添加了自动测试,所以随着时间的推移,希望“之间”的发布会更有可靠性。但话说回来,我的测试经常失败,即使东西实际上工作。可能应该处理这个问题。经常查看以获取令人兴奋的新功能和错误修复!
Python版本兼容性
我早就切换到使用Python 3作为我的日常驱动程序,所以我知道那里一切正常。然而,我知道很多人不能或不愿意从Python 2x切换过来,所以我保留了Python 2.7的兼容性相当长一段时间。
话虽如此,墙上的字已经写得很清楚,因为我依赖于许多已经放弃Python 2.x支持的包,所以从2.0版本开始,rapidtide也放弃了。然而,从版本1.9.0开始,我也将代码发布在一个docker容器中(fredericklab/rapidtide),其中已经在一个完全配置的Python 3环境中安装了一切,所以实际上没有必要继续支持2.x。所以现在就是f-strings时代,孩子们!
好吧,我已经心动了。这里有什么内容?
rapidtide - 这是包的核心 - 这是工作马力的程序,将确定NIFTI文件中所有体素与时间“探头”回归器(可以从多个地方获得,包括数据本身)之间的时间滞后相关性 - 它快速确定时间延迟……选项繁多,几乎所有内容都可以调整,但我已尽量挑选一组良好的默认选项,以便进行最基本的处理。至少需要一个4D NIFTI文件作为输入,以及所有输出文件的根名称。它生成一系列3D NIFTI文件参数图(最大相关滞后时间、最大相关值、哪些体素的掩码等)和一些包含有用信息的文本文件(显著性阈值、处理时间信息、可配置选项的值列表)。
happy - 这是rapidtide的伴侣,专注于心脏信号。happy有三个功能 - 它试图通过全未处理的fMRI数据的切片选择性平均,在fMRI数据集的时间进程中确定心脏波形。它还使用深度学习过滤器清除这个初始估计,推断出同时记录的脉搏图。最后,它使用导出的或提供的脉搏图信号,在心脏波形的一个周期内构建心脏搏动图,类似于Voss。
showxcorrx - 与rapidtide类似,但用于单个时间序列。输入两个文本文件,计算并显示它们之间的时间滞后交叉相关性,拟合最大时间滞后,并估计相关性的显著性。它具有一系列过滤、窗口和相关性选项。
rapidtide2x_legacy、happy_legacy、showxcorr_legacy - 相同名称程序的老版本。这些使用旧调用约定,以与旧工作流程兼容。这些最终会消失,它们实际上没有更新或错误修复,所以如果你正在使用它们,请切换到新的,如果你没有使用它们,请不要使用。
rapidtide2std - 这是一个将rapidtide输出图登记到标准坐标的实用程序。通常,在原始空间运行rapidtide然后转换到MNI152空间要快得多。注意:这将仅在你有一个正常工作的FSL安装时工作。
happy2std - 猜测。
showtc - 这是一个非常简单的命令行实用程序,它从文本文件中获取时间序列,并在matplotlib窗口中绘制其中的数据。就是这样。这是一个快速查看文件内容的良好工具。有许多选项可以使绘图更美观。
showxy - 另一个简单的命令行实用程序,显示包含空格分隔的x-y对的文本文件中的数据。
showhist - 另一个简单的命令行实用程序,显示由rapidtide生成的直方图。
resamp1tc - 将某些采样率的输入文本文件输出为以指定采样率重新采样的文本文件。
resamplenifti - 将某些TR的输入NIFTI文件输出为以指定TR重新采样的NIFTI文件。
tidepool - 这是一个GUI工具,可以在一个地方显示rapidtide生成的所有各种图和时间序列,叠加在解剖图像上。这使得更容易看到所有图之间的关系,探头回归器在运行中的演变,以及滤波参数的影响。要使用它,从命令行启动tidepool,然后选择一个滞后时间图 - tidepool将确定根名称并拉入所有其他相关数据。在原始空间或标准空间中工作。
财务支持
此代码库正在由美国NIH(1R01 NS097512,RF1 MH130637-01)的拨款开发和支持。
使用的附加包
Rapidtide不可能没有许多其他开源包。这些包括
numpy
Stéfan van der Walt, S. Chris Colbert 和 Gaël Varoquaux. NumPy 数组:高效数值计算的结构,科学计算中的计算,13,22-30(2011)| https://doi.org/10.1109/MCSE.2011.37
scipy
Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland, Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson, Warren Weckesser, Jonathan Bright, Stéfan J. van der Walt, Matthew Brett, Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R. J. Nelson, Eric Jones, Robert Kern, Eric Larson, CJ Carey, İlhan Polat, Yu Feng, Eric W. Moore, Jake VanderPlas, Denis Laxalde, Josef Perktold, Robert Cimrman, Ian Henriksen, E.A. Quintero, Charles R Harris, Anne M. Archibald, Antônio H. Ribeiro, Fabian Pedregosa, Paul van Mulbregt 和 SciPy 1.0 贡献者。 (2020) SciPy 1.0:Python 科学计算的基本算法。自然方法,17,261–272(2020)| https://doi.org/10.1038/s41592-019-0686-2
matplotlib
John D. Hunter. Matplotlib:二维图形环境,科学计算中的计算,9,90-95(2007)| https://doi.org/10.1109/MCSE.2007.55
nibabel
scikit-learn
Pedregosa, F.,Varoquaux, G.,Gramfort, A.,Michel, V.,Thirion, B.,Grisel, O.,Blondel, M.,Prettenhofer, P.,Weiss, R.,Dubourg, V.,Vanderplas, J.,Passos, A.,Cournapeau, D.,Brucher, M.,Perrot, M. 和 Duchesnay, E.,Scikit-learn:Python 中的机器学习。机器学习研究杂志,2011. 12: p. 2825-2830. | https://scikit-learn.cn
pandas
McKinney, W.,pandas:数据分析与统计的基础 Python 库。Python 在高性能科学计算中的应用,2011. 14。
nilearn
参考文献
所有提到的论文的 PDF 链接可以在 OMG 网站上找到: https://www.nirs-fmri.net/home/publications
静息态 fMRI 数据中系统性低频振荡的概述
Tong Y, Hocke LM, Frederick BB. (2019) 静息态 BOLD fMRI 中的低频系统性血流动力学“噪声”:特征、原因、影响、缓解策略和应用。神经科学前沿,2019 年 8 月 14 日 | https://doi.org/10.3389/fnins.2019.00787
多模态脑循环成像
Tong Y, Frederick BD. (2010) 同时 fMRI 和近红外光谱 (NIRS) 数据的时滞依赖性多模态处理表明人类大脑中低频振荡信号的全球循环起源。神经图像,53(2),553-64。
Tong Y, Hocke L, Frederick BD. (2011) 隔离 fNIRS 信号中广泛生理性波动的原因。生物医学光学杂志,16(10),106005。
Tong Y, Bergethon PR, Frederick BD. (2011c) 使用 Regressor Interpolation at Progressive Time Delays (RIPTiDe) 的 fMRI 和近红外光谱同时映射脑血管储备的改进方法。神经图像,56(4),2047-2057。
Tong Y, Frederick BD. (2012) 同时 fNIRS 和 fMRI 处理允许独立可视化脑血管中压力波和整体血流传播。神经图像,2012 年 7 月 16 日;61(4):1419-27。
Tong Y, Hocke LM, Licata SC, Frederick BD. (2012) 使用近红外光谱 (NIRS) 在周围测量到的低频振荡与血氧水平依赖性功能磁共振成像 (BOLD fMRI) 信号强烈相关。生物医学光学杂志,2012;17(10):106004. doi: 10.1117/1.JBO.17.10.106004. PubMed PMID: 23224003; PMCID: 3461094。
Tong Y, Hocke LM, Frederick BD. (2013) 短重复时间多带 EPI 和同时脉冲记录允许动态成像心脏搏动信号。磁共振医学,2014;72(5):1268-76. Epub Nov 22, 2013. doi: 10.1002/mrm.25041. PubMed PMID: 24272768。
同义,弗雷德里克·B. (2014) 使用超快速fMRI研究生理效应对BOLD信号的时空分布。人类神经科学前沿 2014;5(196)。doi: doi: 10.3389/fnhum.2014.00196。
同义,弗雷德里克·B. (2014) 使用递归生成回归器追踪BOLD fMRI中的脑血流量。人脑图谱。2014;35(11):5471-85。doi: 10.1002/hbm.22564. PubMed PMID: 24954380; PMCID: PMC4206590。
多纳休·M,斯特罗瑟尔·M,林赛·K,霍克·L,同义,弗雷德里克·B. (2015) 高碳酸血症fMRI的时间延迟处理允许对脑血管反应和血流延迟进行定量参数化。脑血流量与代谢杂志。2015。PubMed PMID: 26661192。Epub 2015年10月19日。doi: 10.1177/0271678X15608643。
霍克·L,卡耶塔诺·K,同义,弗雷德里克·B. (2015) 一种优化的多模态fMRI/NIRS探头,用于超高分辨率映射。神经光子学。2(4),045004(2015年10-12月)。doi: 10.1117/1.NPh.2.4.0450004。
同义,霍克·LM,范·X,詹斯·AC,弗雷德里克·B (2015)。明显的静息态连接性是否可能起源于全身波动?人类神经科学前沿。2015;9。doi: 10.3389/fnhum.2015.00285。
同义,林赛·KP,霍克·LM,维塔尔亚诺·G,明茨波洛斯·D,弗雷德里克·B. (2016) 从静息态功能磁共振成像中提取的灌注信息。脑血流量与代谢杂志:国际脑血流量与代谢学会的官方杂志。2016。doi: 10.1177/0271678X16631755。PubMed PMID: 26873885。
心电波形提取和优化
阿斯兰·S,霍克·L,施瓦茨·N,弗雷德里克·B. (2019) 使用切片排序平均和深度学习重建滤波器从同时多切片fMRI数据中提取心电波形。神经影像学。198,303–316(2019)。
使用时间延迟方法识别和去除生理噪声
同义,林赛·KP,弗雷德里克·BD. (2011b) 使用同时近红外光谱(NIRS)和fMRI对大脑中的生理噪声信号进行划分。脑血流量与代谢。31(12),2352-62。
弗雷德里克·BD,尼克松·LD,同义,Y. (2012) 使用同时fMRI和近红外光谱(NIRS)的渐进时间延迟回归插值(RIPTiDe)处理对BOLD fMRI数据进行生理去噪。神经影像学,2012年4月15日;60(3):1419-27。
同义,霍克·LM,尼克松·LD,利卡塔·SC,林赛·KP,弗雷德里克·BB (2013) 评估外围测量的全身低频振荡对静息态网络独立成分分析结果的影响。神经影像学。2013;76C:202-15。doi: 10.1016/j.neuroimage.2013.03.019。PubMed PMID: 23523805;PMCID: PMC3652630。
霍克·LM,同义,林赛·KP,弗雷德里克·BB (2016)。在具有超高时间分辨率的静息态功能MRI中,比较外围近红外光谱低频振荡与其他去噪方法。磁共振医学:磁共振学会/磁共振学会的官方杂志。2016。| http://dx.doi.org/10.1002/mrm.26038. PubMed PMID: 26854203。
埃尔多冈·S,同义,霍克·L,林赛·K,弗雷德里克·B (2016)。校正静息态fMRI-BOLD信号以血液到达时间,增强功能连接性分析。人类神经科学前沿,2016年6月28日 | http://dx.doi.org/10.3389/fnhum.2016.00311
同义,Y,霍克·LM,和弗雷德里克·BB,静息态BOLD fMRI中的低频全身血流“噪声”:特征、原因、影响、缓解策略和应用。神经科学前沿,2019。13:p. 787。| http://dx.doi.org/10.3389/fnins.2019.00787
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
rapidtide-2.9.8.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d0b99bf12ad7913b855bde58e4e706d3b988425101af843215cda265f611567e |
|
MD5 | 671de25bbe54949ed8e328ca11bf575c |
|
BLAKE2b-256 | 4671bfc1842ed181836296fa8db1a21a66709e72bc116dad04aa1fcba98fda8c |
rapidtide-2.9.8.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 70d8d6d0682f630fc379d182c7a9afdbeca5ba3e0efe8caea72ae1ecf76c0849 |
|
MD5 | 64b67c97bb8f3ff5464dda0c3fbfc051 |
|
BLAKE2b-256 | 853f29e6e12a08e907b80c026a9366836647c645f328bceb72150958f8d80b7a |