任务态相关的一些知识总结

news2024/11/20 3:26:06

静息态的数据处理现在都比较简单了,因为有了fmriprep和qsiprep流程工具,没有特别的难度。
而关于任务态,则有一些独特的处理方式,因为最近要做任务态的数据分析,所以学习一下。

先学习下R的4个重输出函数:cat , sink, wirteLines, write.table
1.cat函数即能输出到屏幕,也能输出到文件.
使用方式:cat(… , file = “”, sep = " ", fill = FALSE, labels = NULL,append = FALSE)
有file时,输出到file。无file时,输出到屏幕。
append参数:布尔值。TRUE时,输出内容追加到文件尾部。FALSE,覆盖文件原始内容。
2.sink函数将输出结果重定向到文件。
使用方式:sink(file = NULL, append = FALSE, type = c(“output”, “message”),split = FALSE)
append参数:布尔值。TRUE时,输出内容追加到文件尾部。FALSE,覆盖文件原始内容。
3.writeLines函数将字符串向量输出到文件中(会覆盖原始内容)
使用方式:writeLines(text, con = stdout(), sep = “\n”, useBytes = FALSE)
text:字符串向量;con:输出文件
4.write.table()函数将dataframe的内容输出到文件。

事件

静息态一般不考虑事件,而任务态有多个block的事件设计,先把这些block合并成1个bold文件,如果不会用代码可以用fslmath -t的命令。

预处理

等bold图像按照常规fmriprep处理以后,这个就是预处理完的准备好的数据,用于后续统计分析和指标计算。

统计建模

任务态的一个特点就是事件相关,需要有events表格文件,注明每个时间点属于哪个事件。
拟合函数:
The Hemodynamic Response Function (HRF)
在患者被刺激后,其bold信号一般经历“逐步增加-至顶峰-再降低”的过程,这个过程的形状可以用gamma分布的函数去拟合,

伽玛分布(Gamma Distribution)是统计学的一种连续概率函数,是概率统计中一种非常重要的分布。“指数分布”和“χ2分布”都是伽马分布的特例。
在这里插入图片描述

当使用 Gamma 分布去拟合 BOLD 响应时,可将其称为典型血液动力学响应函数或HRF,而gamma分布又可以称为基函数(basis function)。
stick function
gamma分布去拟合的bold信号,其刺激一般是数秒内的。如果是持续了一段时间的刺激,如持续刺激15秒,或者持续完成某个事件15秒以上,这个时候可以用另一个函数去拟合,stick function,它是gamma和block刺激进行卷积的结果。
在这里插入图片描述
上图中的红色和绿色,取其平均值,这就是一级分析,SPM里面的first-level analysis。
一级分析就是对每个被试进行建模,二级分析是利用一级分析产生的建模参数,在GLM上进行平均和对比估计,contrast。
不过不同的是,SPM的second-level是组分析,而fsl的higher-level才是组分析,fsl的second-level只是对估计的参数进行平均。
GLM模型参数选择:

Fixed Effects:
Mixed Effects: Simple OLS (Ordinary Least Squares): This will perform a t-test on the average parameter estimates calculated for each subject, without taking into account the variability between the runs for each subject;
Mixed Effects: FLAME 1: Weight each subject’s parameter estimate by the variance of that contrast estimate. In other words, a subject with relatively low variance will be weighted more, and a subject with relatively high variance will be weighted less;
Mixed Effects: FLAME 1+2: A more rigorous version of FLAME 1. It takes much longer, and is only helpful for analyzing small samples (e.g., 10 subjects or fewer);
Randomise: A non-parametric test.

使用混合效应模型,去拟合GLM模型,然后对voxel或者cluster进行校正,就得到最后的结果。即事件刺激的脑区。

Finite Impulse Response (FIR)
有限脉冲响应
HRF是最常用的拟合事件的函数,它的特点是为特定事件的所有被试估计单个最佳拟合参数。
假设需要观察事件开始后bold信号随活动的时间进程而变化,就需要使用FIR函数去拟合。
FIR函数,有限脉冲响应模型,我们可以指定时间窗口的长度和要估计的时间点数,例如在一个事件从开始到持续到完成以后的10秒内,我们想观察这10秒的每2秒不同阶段变化,可以使用FIR函数生成5个拟合参数,而HRF对于这10秒只能生成1个拟合参数。其实可以类比于动态分析里的滑动时间窗。
(Prefrontal cortex organization: dissociating effects of temporal abstraction, relational abstraction, and integration with FMRI, Cerebral cortex, 2013.)
在这里插入图片描述
如上图,Y轴是beta估计值,代表激活,X轴是分隔的时间段(2秒)。
(Exploring fMRI Results Space: 31 Variants of an fMRI Analysis in AFNI, FSL, and SPM, 2016)

Nilearn完成任务态分析

Nilearn的相关函数:
Nilearn的一级分析和二级分析,跟SPM是对应的,一级在被试上,二级是组分析。

# fit GLM
first_level_model = FirstLevelModel(t_r=t_r, slice_time_ref=slice_time_ref)
first_level_model = first_level_model.fit(
    run_imgs=adhd_dataset.func[0], design_matrices=design_matrix
)
# contrast estimate
z_map = first_level_model.compute_contrast(
    contrasts["seed_based_glm"], output_type="z_score"
)
# generate report
from nilearn.reporting import make_glm_report
report = make_glm_report(
    first_level_model,
    contrasts=contrasts,
    title="ADHD DMN Report",
    cluster_threshold=15,
    min_distance=8.0,
    plot_type="glass",
)

nilearn.glm.first_level.FirstLevelModel(t_r=None, slice_time_ref=0.0, hrf_model=‘glover’, drift_model=‘cosine’, high_pass=0.01, drift_order=1, fir_delays=[0], min_onset=-24, mask_img=None, target_affine=None, target_shape=None, smoothing_fwhm=None, memory=Memory(location=None), memory_level=1, standardize=False, signal_scaling=0, noise_model=‘ar1’, verbose=0, n_jobs=1, minimize_memory=True, subject_label=None, random_state=None)
hrf_model: ‘spm’ (default), ‘spm + derivative’, ‘spm + derivative + dispersion’, ‘glover’…‘fir’

在大多数情况下,spm标准模型和glover模型不会产生大的差异。
在这里插入图片描述

固定效应统计:compute_fixed_effects
设计矩阵:
在这里插入图片描述
nilearn的二级分析:
用make_second_level_design_matrix函数。
在这里插入图片描述
经过一级二级分析,然后再进行校正,就可以得到全脑激活图了。

使用nilearn的另一个好处就是,除了统计分析,还可以直接用这些结果进行机器学习。“用于基于任务的功能连接和解码的 Beta 系列建模”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

更懂业务的数智平台,应对数智化转型的“千变万化”

本文作者 跨界的申斯基 毫无疑问,随着数智化转型的加速,越来越多的企业正在把数智化战略提升到一个全新的高度,转型的进程也正从“浅层次”的数智化走向“深层次”数智化的阶段。 这也让企业的数智化转型进入到了一个全新的阶段,…

windows权限维持之shift后门

原理:沾滞键的目的是为了帮助那些按键有困难的人设计的,在Windows系统下连续按5次shift键后,系统就会执行C:\Windows\System32下的sethc.exe,也就是启用了沾滞键,但是当我们将shell.exe文件把sethc.exe文件通过更改名称…

AI 工具合辑盘点(七)持续更新 之 AI 音乐制作工具

AI 音乐制作工具 AI 也正在民主化音乐。它正在改变音乐创作的方式,赋予每个人成为音乐家的机会。创作音乐杰作所需的一切只是一个想法、一台电脑和一个 AI 音乐生成器。🎶 AI 生成的音乐可以在几分钟内创作出来,结果取决于你的提示——几乎…

Python-web开发学习笔记(1)--- HTML基础

大家好,我是尚拙谨言,欢迎来到本专栏。本专栏主要是为web开发学习服务的,一共分为3个部分:前端介绍、数据库、Django,均为python web开发的学习笔记,希望能帮助到大家,也以此作为我个人的学习记…

Qt 从入门到入土【下篇】

Qt 从入门到入土【上篇】 推荐一个非常好的视频 本文目录 6. 对话框QDialog6.1 基本概念6.2 标准对话框6.3 自定义消息框6.4 消息对话框6.5 标准文件对话框 7. 布局管理器7.1 系统提供的布局控件7.2 利用widget做布局 8. 常用控件8.1 QLabel 控件使用8.2 QLineEdit8.3 其他控件…

从不同视角来看待API数据接口

一、作为产品经理向客户推广API数据接口,需要注意以下几点: 1.了解目标客户:在推广API数据接口之前,首先需要了解目标客户的需求和痛点,针对客户的实际情况提供更具体化的解决方案。 2.强调API接口的价值&#xff1a…

Istio 故障注入之延时(fixedDelay)、中断(abort)

Istio 故障注入 Istio 故障注入与其他在网络层引入错误(例如延迟数据包或者直接杀死 Pod)的机制不同,Istio 允许在应用程序层注入故障。这使得可以注入更多相关的故障,比如 HTTP 错误代码等。 Istio 可以注入两种类型的故障&…

springboot整合vue2-uploader文件分片上传、秒传、断点续传

1:vue-simple-uploader介绍 vue-simple-uploader是基于 simple-uploader.js 封装的vue上传插件。它的优点包括且不限于以下几种: 支持文件、多文件、文件夹上传;支持拖拽文件、文件夹上传可暂停、继续上传错误处理支持“秒传”,…

2023年博客之星入围选拔重装开启——今年没有拉票环节啦

2023年博客之星入围选拔开始啦! 2022的博客之星大赛言犹在耳,2023的活动又接踵而至了。今年的博客之星(包括博客新星)的入围规则很简单: 2023年新规则 1.不需要拉票!不喜欢这个环节的有福啦 2.从年初就…

python对医疗数据进行分析,看看哪个年龄段最容易生病

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 什么是数据分析 明确目的–获得数据(爬虫,现有,公开的数据)–数据预处理——数据可视化——结论 准备 环境使用: 在开始写我们的代码之前,我们要准备好运行代码的程序 Anacon…

附录3-动态组件 component与keep-alive setup()写法

目录 1 基本使用 2 按钮切换组件 3 keep-alive 3.1 在切换组件的时候,默认情况下被切换的组件就会被销毁 3.1.1 数据情况 3.1.2 生命周期函数情况 3.2 使用 keep-alive 3.3 keep-alive的生命周期函数 3.4 缓存指定组件 include 3.5 不缓存指定组…

Redis学习——day02

Redis学习基础 性能测试工具:Redis-benchmarkRedis基础知识:redis的数据类型:特殊数据类型: 性能测试工具:Redis-benchmark 官方自带的测试工具参数:简单练习:redis-benchmark -h localhost -p…

前端开发环境搭建踩坑笔记——npm install node-sass安装失败的解决方案

文章目录 问题背景问题描述解决方案1. 检查node-sass安装版本是否正确。2. 检查是否是网络问题 总结 问题背景 开发新的前端项目时,总少不了搭建开发环境和执行npm install安装依赖包,但npm install的过程总是充满着玄学,很难保证一次性成功…

Java之多线程初阶2

一.上节内容复习 上节内容指路:Java之多线程初阶 1.进程和线程的区别 1.进程中至少包含一个线程(主线程) 2.进程是申请计算机资源的最小单位 3.线程是CPU调度的最小单位 4.进程之间是相互隔离的,线程是使用的是进程统一申请来的资源,之间可以相互影响 2.创建线程的四种方…

设计模式——适配器模式(类适配器、对象适配器)

是什么? 我们平时的有线耳机接口分为USB的和Type-C的接口,但是手机的耳机插口却只有一个,像华为的耳机插口现在基本都是Type-c的,那如果我们现在只有USB接口的耳机怎么办呢,这个时候就需要使用到一个转换器&#xff0c…

数据汇总从20s优化至2s(小经验)

目录 项目背景: 数据汇总访问时间长的问题: 解决方案: 1.创建参与访问表 2.使用redis进行优化 总结: 项目背景: 一个简单的抽奖系统,当要统计每天的参与访问,总的参与访问 数据汇总访问时…

运维高可用架构的 6 大常规方案

在介绍高可用架构的方案之前,先说一下什么是高可用架构,高可用架构应具备但不限于以下特征: 主从切换 很好理解,当其中一台机器的服务宕机后,对于服务调用者来说,能够迅速的切换到其他可用服务,…

俩小伙一晚上写了个 AI 应用,月入两万??(文末附开发教程)

开发出一款能够与 AI 对话生成和编辑思维导图的工具,听起来似乎只能是一群专业的 AI 背景团队花费大量的时间和精力训练模型,打磨应用才能完成的事情。 但是,两名大学生却在一夜之间完成了,就像炼金术士将庸俗的材料转化成黄金一…

吃掉脂肪,狂减33斤!午餐菜单一次性公开!

一周高效减脂蔬菜沙拉|上班族学生党减脂备餐便当 😘我是4个月瘦30斤,减脂迫在眉睫,巨掉秤好吃的蔬菜沙拉来咯!肉类提前备好放冷冻,工作日只需10分钟搞定,做减脂早午晚餐都可以哦~ …

Mysql 中left join时 on、and、where区别

1、准备两张表student与class表 student class 2、left join on左连接 select * from student s left join class c on s.classId c.id 左表数据全部显示,关联到的右表数据显示,没有显示null 3、left join on ... and对左表student进行条件筛选 …