静息态功能磁共振成像(rs-fMRI)原理与数据分析学习笔记(3):R-fMRI Data Processing DPARSFA

视频来自:3_R-fMRI_Data_Processing_DPARSFA_哔哩哔哩_bilibili

pdf:The R-fMRI Course | The R-fMRI Network

目录

1. DPABI基本流程和下载方式

1.1. 静息态功能磁共振成像数据流程

1.2. DPABI下载

2. DPABI软件操作

2.1. 数据分类和整合

1. DPABI基本流程和下载方式

1.1. 静息态功能磁共振成像数据流程

(1)总流程

(2)计算指标

        ① 传统

        ②通常使用(配准到MNI标准空间下)

        ③原始空间的计算

(3) 数据分类

        ①将Data.zip中的Functional DICOM data放在FunRaw文件中

        ②将Data.zip中的Structural DICOM data放在T1Raw文件中

1.2. DPABI下载

(1)下载路径:DPABI: a toolbox for Data Processing & Analysis for Brain Imaging | The R-fMRI Network (rfmri.org)

(2)解压至matlab\toolbox

(3)打开matlab的(设置路径)

(4)在左侧添加并包含子文件夹(将解压的dpabi文件选中)

(5)在matlab的命令行窗口(不是电脑的cmd)输入dpabi

(6)出现dpabi窗口则成功打开

2. DPABI软件操作

2.1. DPABI按键

(1)DPABI界面点击Utilities→DICOM Sorter

        ①SUffix:后可输入IMA或dcm或none(输入none要确保文件夹下没有其他如txt格式的文件)

        ②Add All:选中大文件夹

        ③Anonymize DICOM files:将被试匿名

(2)DPABI界面点击Utilities→DICOM Sorter→Sort

        ①Participants:右键可以移除被试或保存ID

        ②Time Points:检查数据是否有错,输入为0则不检查,输入其他数字则按时检查数据

        ③TR(s):扫描一个完整大脑所需要的时间(一层一层扫,现在一般几百毫秒一个,长一点可能两秒),一般知道的话可以自己填,填0可以自动从数据集里读TR数据(但不一定对)

        ④EPI DICOM to NIFTI:epi数据类型转成nifti

        ⑤Apply Mats:已经调整过一次可以勾选,调用上一次所用

        ⑥Remove First:去掉前面的时间点,以确保磁场已经达到稳态,且被试刚开始心理可能因不适应产生波动

        ⑦Slice Timing:大脑通常采用隔层扫描的方式,导致相邻层数可能被扫的时间相差甚远,因此需要矫正,使相邻节点看上去像是相邻时间点被扫描的(下图左侧为矫正,右侧为实际)

        ⑧Slice Number:默认为0,但是自己填一个最好

        ⑨Slice Order:可以输表达式[1:2:n-1],[2:2:n]

        ⑩Reference Slice:矫正中点,一般填n-1这个数字(因为是从1~n-1扫,再从2~n扫,所以奇数的末尾实际上是最中间被扫到的点)

        ⑪Realign:头动矫正。因头动产生数据读取差异,因此需要调整到看上去是没动的状态。暂目前推荐使用FJ_Jenkinson效果较好

        ⑫Reorient Fun/T1:对图像的观察,质量控制,将位置调整的和标准位置相似,以确保拟合 

        ⑬AutoMask:选上可以检验功能上得到覆盖

        ⑭Crop T1:如果图像已经不是NIFTI可以选上,把脖子去掉

        ⑮Bet:把结构项变成功能项时头皮干扰较大,Bet去掉结构上和功能上的头皮。但是带着头皮去做Segment效果较好。且Bet时粗略剥头皮,可能对图像造成损失

        ⑯Segment:一般不勾。把大脑分为白质灰质(c1文件为原始空间下的灰质密度,c2文件为原始空间下的白质密度,c3为原始空间CSF脑脊液密度;wc1为MNI空间灰质密度,wc2为MNI空间白质密度,wc3为MNI空间CSF密度;mwc1、2、3分别为为灰质、白质、CSF体积的变化)

        ⑰New Segment + DARTEL:一般勾。

        ⑱Nuisance Convariates Regression:控制生理噪声(一般Plolynomial trend填1,并采用Friston24)

        ⑲Head momtion scrubbing regressors:可以再nuisance的时候做scrubbing也可以在做完所有预处理再做,但是推荐FD(Jenkinson)以及FD“bad”填写0.2

        ⑳Nuisance Setting用均值最多,或PCA(Mask based on segmentation or SPM apriorir)。且白质里一般没有什么信号,一般都是噪声。Global Signal一般不去除,否则可能带来假的或者负的功能连接,但是它对去除头动很有用。可以都做一遍

        ㉑Normalize:空间配置,不同地方扫出来的脑图可能不太一样,得配到统一的模板上(DARTEL用得最多,但费时)

        ㉒Smooth:配准效果不佳时提高配准,提高信噪比([4,4,4],[6,6,6],[8,8,8]都可以,一般默认前者,但是平滑和越高一般可以增强重复使用性)。且ReHO不用做平滑

        ㉓Default Mask:所有的计算仅局限在脑内,且所有功能模板在50%的阈值(可以选其他的Mask)

        ㉔Detrend:随时间序列有线性向上或向下的趋势,由此用这个去掉。但这个软件在之前已经去掉了所有在这可以不勾画

        ㉕ALFF和fALFF:低频段能量和全频段能量,后面可勾filter

        ㉖ReHo之后做平滑,之前不做

        ㉗Degree Centrality:衡量一个体素对于全脑体素的关联/相关性

        ㉘Extract ROI time courses:提取额外ROI时间点,对于做网络分析功能重要

        ㉙VMHC:做镜像

        ㉚缩写大全(方便看文件名)

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是用MATLAB分析静息脑电数据的代码示例: 1. 求α频段的功率的代码: ```matlab % 读取EEG数据 eeg_data = load('eeg_data.mat'); eeg = eeg_data.eeg; % 假设eeg是一个N x M的矩阵,其中N是时间点数,M是通道数 % 设定分析参数 fs = 1000; % 采样率 f_alpha = [8, 12]; % alpha频段的频率范围 % 计算功率谱密度 pwelch_params = struct('Fs', fs, 'Window', hann(512), 'OverlapLength', 256, 'NFFT', 1024); [pxx, f] = pwelch(eeg(:, 1), pwelch_params.Window, pwelch_params.OverlapLength, pwelch_params.NFFT, pwelch_params.Fs); % 提取alpha频段的功率 alpha_idx = (f >= f_alpha(1) & f <= f_alpha(2)); alpha_power = trapz(pxx(alpha_idx)); % 使用梯形积分法计算功率 % 显示结果 fprintf('Alpha power: %.3f\n', alpha_power); ``` 在这个示例中,我们假设EEG数据已经存储在了一个名为`eeg_data.mat`的MAT文件中,其中变量名为`eeg`。我们首先设定了采样率和alpha频段的频率范围,然后使用MATLAB的`pwelch`函数计算功率谱密度。该函数的输入包括信号、窗口函数、重叠长度和FFT长度等参数。在计算出功率谱密度后,我们使用梯形积分法计算出alpha频段的功率。 2. 求α频段的能量的代码: ```matlab % 读取EEG数据 eeg_data = load('eeg_data.mat'); eeg = eeg_data.eeg; % 假设eeg是一个N x M的矩阵,其中N是时间点数,M是通道数 % 设定分析参数 fs = 1000; % 采样率 f_alpha = [8, 12]; % alpha频段的频率范围 % 计算能量谱密度 pwelch_params = struct('Fs', fs, 'Window', hann(512), 'OverlapLength', 256, 'NFFT', 1024); [pxx, f] = pwelch(eeg(:, 1), pwelch_params.Window, pwelch_params.OverlapLength, pwelch_params.NFFT, pwelch_params.Fs); % 提取alpha频段的能量 alpha_idx = (f >= f_alpha(1) & f <= f_alpha(2)); alpha_energy = trapz(pxx(alpha_idx) / sum(pxx)); % 使用梯形积分法计算能量 % 显示结果 fprintf('Alpha energy: %.3f\n', alpha_energy); ``` 这个示例和上一个示例的主要区别在于计算的是能量谱密度而不是功率谱密度。能量谱密度可以认为是功率谱密度乘以采样间隔的平方,因此在计算alpha频段的能量时需要将功率谱密度除以总能量,以得到归一化的能量谱密度。另外,我们同样使用梯形积分法计算出alpha频段的能量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值