fMRI(2-1)后续分析流程包括ALFF / fALFF, ReHo,VMHC,DC,Seed FC,FC,dFC,BCT,小世界,组水平分析,VBM,组水平 GLM
fMRI 后续分析流程对应脚本:run_post_analysis.m前置依赖:run_full_pipeline.m(v3.2) 完成输出工具链: DPABI v6.x BCT (2019_03_03) SPM25✅ 总体概览run_full_pipeline 输出 results/Y_filtered.mat ← 去噪滤波时间序列矩阵 results/Filtered_*.nii ← 去噪滤波 4D NIfTI results/Denoised_*.nii ← 去噪未滤波 4D NIfTI results/brain_mask.nii ← 全脑二值掩模 mri/mwp1*.nii ← 调制灰质 (VBM) ↓ [ALFF] y_alff_falff → ALFF.nii, fALFF.nii [A] y_reho → ReHo.nii, sReHo.nii [B] y_VMHC → VMHC.nii, sVMHC.nii [C] y_DegreeCentrality → DC_WeightedSum.nii, DC_BinarizedSum.nii [D] Pearson 相关 → SeedFC/FC_*.nii (6个种子点) [E] Atlas 脑区 FC 矩阵 → FC_matrix.mat [F] 滑动窗口 k-means → dFC/dFC_states.mat [G] BCT 图论分析 → GraphTheory.mat ↓ 组水平分析 (需 group_csv) [H] SPM VBM 组间 t-test → group_analysis/ [I] SPM 组水平 GLM → group_analysis/GroupComp_*/✅ 调用方式% 最简调用跳过 atlas FC 和组分析run_post_analysis(F:\test)% 完整调用包含 atlas FC 矩阵 组水平分析run_post_analysis(F:\test,D:\atlases\AAL3.nii,F:\test\groups.csv)参数类型说明root_dir必填数据根目录与run_full_pipeline一致atlas_file可选脑区 atlas NIfTI如 AAL3、Schaefer200留空跳过 E/F 模块group_csv可选被试分组 CSV列SubjectID,Group[1A, 2B], 协变量…留空跳过 H/I 模块✅ 全局参数参数变量值说明TR3重复时间秒dc_threshold0.25度中心性 Pearson r 阈值reho_nvoxel27ReHo 邻域体素数3×3×3 立方体do_dfcfalse动态FC总开关默认关闭计算耗时较长如需启用请改为truedfc_window_sec60动态FC滑动窗口长度秒dfc_step1滑动步长帧dfc_k5dFC k-means 聚类数✅ 被试级分析模块ALFF / fALFF低频振幅必须在带通滤波前计算输入为Denoised_*.nii去噪未滤波数据。y_alff_falff(denoised_nii,TR,bp_high_alff,bp_low_alff,...mask_file,{alff_file,falff_file},[],[],[],10);% bp_low_alff 0.01 Hz% bp_high_alff 0.08 Hz参数位置值说明AllVolumeDenoised_*.nii⚠️ 去噪未滤波数据TR3重复时间HighCutoff0.08带通上截止LowCutoff0.01带通下截止Maskbrain_mask.nii全脑掩模Output{ALFF.nii, fALFF.nii}两个输出文件CUTNUMBER10并行分块数输出文件说明results/ALFF.nii低频振幅图results/fALFF.nii分数低频振幅图⚠️为何不用Filtered_*.niiALFF 通过 FFT 在频域计算功率谱若输入已经过带通滤波0.01–0.08 Hz 以外的频率能量已被清零分母全频段总功率失真fALFF 比值将严重偏高。A. ReHo局部一致性y_reho(filtered_nii,reho_nvoxel,mask_file,reho_file,...0,[],TR,[],[],[],[],10);spm_smooth(reho_file,reho_sm,[444]);参数值说明AllVolumeFiltered_*.nii去噪滤波数据NVoxel273×3×3 邻域26近邻中心IsNeedDetrend0已在流水线中去线性趋势Band[]不重复滤波输出文件说明results/ReHo.nii局部一致性原始未平滑results/sReHo.nii4mm FWHM 平滑后组分析用B. VMHC体素镜像同伦连接y_VMHC(filtered_nii,vmhc_file,mask_file,0,[],TR,[],[],[],[]);spm_smooth(vmhc_file,vmhc_sm,[444]);参数值说明AllVolumeFiltered_*.nii去噪滤波数据IsNeedDetrend0不重复去趋势Band[]不重复滤波输出文件说明results/VMHC.nii体素与镜像体素的 Pearson rresults/sVMHC.nii4mm 平滑后组分析用ℹ️ VMHC 要求数据已配准到对称的 MNI 空间run_full_pipelineStep 6 的标准化满足此要求。C. 度中心性Degree Centralityy_DegreeCentrality(filtered_nii,dc_threshold,...{dc_w_file,dc_b_file},mask_file,0,[],TR,[],[],[],[],10);参数值说明AllVolumeFiltered_*.nii去噪滤波数据rThreshold0.25Pearson r 阈值OutputName{DC_WeightedSum.nii, DC_BinarizedSum.nii}加权 二值IsNeedDetrend0不重复去趋势输出文件说明results/DC_WeightedSum.nii加权度中心性组分析用results/DC_BinarizedSum.nii二值度中心性超过阈值的连接数D. 种子点功能连接Seed FC从Y_filtered.mat直接计算速度比逐体素 NIfTI 读取快 10–50 倍。loadedload(filtered_mat,Y_filtered,mask_1d,V);Y_filtloaded.Y_filtered;% T × nBrainseed_tsmean(Y_filt(:,roi_1d),2);% 种子点平均时间序列r_mapcorr(seed_ts,Y_filt);% nBrain × 1 Pearson rz_mapatanh(r_map);% Fisher-z 变换预设种子点6个 ROIMNI 坐标球形 6mm 半径种子点MNI 坐标网络PCC[0, -52, 26]默认模式网络DMN后节点mPFC[0, 52, -6]DMN 前节点L_DLPFC[-46, 26, 28]执行控制网络R_DLPFC[46, 26, 28]执行控制网络L_Amygdala[-24, -4, -22]情绪网络R_Amygdala[24, -4, -22]情绪网络输出文件说明results/SeedFC/FC_PCC.niiPCC 种子点 FC 图Fisher-zresults/SeedFC/FC_mPFC.niimPFC 种子点 FC 图results/SeedFC/FC_*.nii其余4个种子点同理E. Atlas 脑区 FC 矩阵需提供atlas_file参数。% 1. 重采样 atlas 到功能像空间y_Reslice(atlas_file,atlas_rs,abs(V_fc.mat(1,1))*[111],0,filtered_nii);% 2. 提取每个 ROI 的平均时间序列% 3. 计算 Pearson 相关矩阵FC_rcorr(roi_ts);% n_roi × n_roiFC_zatanh(FC_r);% Fisher-z 变换FC_z(isinf(FC_z))0;FC_z(eye(n_roi)1)0;% 对角线置零输出文件变量说明results/FC_matrix.matFC_rn_roi × n_roi Pearson r 矩阵FC_zn_roi × n_roi Fisher-z 矩阵roi_idsROI 编号向量results/atlas_func_space.nii—重采样到功能像空间的 atlasF. 动态功能连接dFC⚠️默认关闭由于滑动窗口 k-means 计算耗时较长此模块由全局开关do_dfc控制默认值为false。如需启用请在脚本顶部将do_dfc false;改为do_dfc true;。需要atlas_file和已完成的FC_matrix.mat。win_sizeround(dfc_window_sec/TR);% 60s / 3 20帧n_windowsfloor((nt-win_size)/dfc_step)1;% 每个窗口计算 FC 矩阵上三角向量forw1:n_windows win_tsroi_ts_dfc(t_start:t_end,:);% win_size × n_roiwin_rcorr(win_ts);dfc_vec(w,:)atanh(win_r(triu_idx));% 1 × n_edgesend% k-means 聚类[dfc_labels,dfc_centers]kmeans(dfc_vec,dfc_k,Replicates,10,MaxIter,200);参数值说明窗口长度60s 20帧dfc_window_sec / TR滑动步长1帧dfc_step聚类数5dfc_k重复次数10避免局部最优输出文件变量说明results/dFC/dFC_states.matdfc_vecn_windows × n_edges FC 向量矩阵dfc_labelsn_windows × 1 状态标签 (1–k)dfc_centersk × n_edges 状态中心win_size,dfc_step,triu_idx参数存档G. 图论分析BCT依赖FC_matrix.mat。使用 BCT (Brain Connectivity Toolbox, 2019_03_03)。BCT 路径DPABI/RedistributedToolboxes/BCT/2019_03_03_BCT/预处理步骤% 1. 比例阈值化保留前 20% 最强正连接W_thrthreshold_proportional(W,0.2);W_thr(W_thr0)0;% 2. 权重归一化到 [0, 1]BCT 要求W_normweight_conversion(W_thr,normalize);计算指标BCT 函数输出变量含义clustering_coef_wu(W_norm)CC节点聚类系数 (n_roi × 1)charpath(D, 0, 0)lambda,efficiency特征路径长度、全局效率community_louvain(W_norm)Ci,Q模块划分、模块度efficiency_wei(W_norm, 1)Eloc局部效率 (per node)efficiency_wei(W_norm)Eglob全局效率标量degrees_und(W_thr)deg节点度strengths_und(W_norm)str节点强度betweenness_wei(1./(W_normeps))BC介数中心性randmio_und_connected(W_norm, 5)×100—随机参考网络小世界系数计算% 随机网络参考100次forri1:100W_randrandmio_und_connected(W_norm,5);CC_rand(ri)mean(clustering_coef_wu(W_rand));lam_rand(ri)charpath(distance_wei(1./(W_randeps)),0,0);endgammamean(CC)/mean(CC_rand);% 归一化聚类系数 (γ 1 为小世界特征)lam_nlambda/mean(lam_rand);% 归一化路径长度 (λ ≈ 1 为小世界特征)sigmagamma/lam_n;% 小世界系数 (σ 1 表示小世界网络)输出文件变量说明results/GraphTheory.matCC,lambda,efficiency聚类系数、路径长度、效率Eglob,Eloc全局/局部效率Q,Ci模块度、模块划分gamma,lam_n,sigma小世界归一化指标deg,str,BC节点级度/强度/介数W_norm,W_thr归一化/阈值化权重矩阵✅ 组水平分析前置条件提供group_csv文件格式SubjectID,Group test-01,1 test-02,1 test-03,2 test-04,2Group 1A 组Group 2B 组每组最少 2 人组分析建议 ≥ 4 人H. VBM 灰质体积组分析CAT12% mwp1 文件来自 CAT12 的 mri/ 子目录mri_dirfullfile(fdir,mri);fdir(fullfile(mri_dir,mwp1*.nii));% 注意不是被试根目录⚠️路径要点mwp1*.nii在{被试目录}/mri/mwp1*.nii不在被试根目录下。使用 SPMfactorial_design两样本 t-test进行组间灰质体积比较。输出路径VBM 组分析结果group_analysis/(SPM.mat 等)I. 组水平 GLMDPABI 衍生指标对以下指标分别进行组间两样本 t-test指标文件说明sReHo.nii平滑后局部一致性ALFF.nii低频振幅fALFF.nii分数低频振幅sVMHC.nii平滑后镜像同伦连接DC_WeightedSum.nii加权度中心性每个指标的组分析包含三步 SPM batchspm.stats.factorial_design设计矩阵spm.stats.fmri_est参数估计spm.stats.con对比AB 和 BA输出路径各指标 SPM 分析group_analysis/GroupComp_{指标名}/图论汇总表group_analysis/GraphTheory_summary.csv✅ 断点续跑机制每个分析模块独立检测输出文件已完成则自动跳过。模块跳过条件ALFF/fALFFALFF.niifALFF.nii存在A. ReHoReHo.nii存在B. VMHCVMHC.nii存在C. DegreeDC_WeightedSum.nii存在D. SeedFC各SeedFC/FC_*.nii逐一检测E. FC 矩阵FC_matrix.mat存在F. dFCdo_dfcfalse时直接跳过do_dfctrue时dFC/dFC_states.mat存在则跳过G. 图论GraphTheory.mat存在H. VBM— 组分析不跳过需手动管理I. GLM各GroupComp_*/SPM.mat存在则跳过✅ 完整输出目录结构F:\test\ ├── test-01\ │ └── results\ │ ├── ALFF.nii ← ALFF去噪未滤波数据计算 │ ├── fALFF.nii ← 分数低频振幅 │ ├── ReHo.nii ← A. 局部一致性未平滑 │ ├── sReHo.nii ← A. 4mm 平滑组分析用 │ ├── VMHC.nii ← B. 镜像同伦连接未平滑 │ ├── sVMHC.nii ← B. 4mm 平滑组分析用 │ ├── DC_WeightedSum.nii ← C. 加权度中心性 │ ├── DC_BinarizedSum.nii ← C. 二值度中心性 │ ├── SeedFC\ │ │ ├── FC_PCC.nii ← D. PCC 种子点 FC │ │ ├── FC_mPFC.nii ← D. mPFC 种子点 FC │ │ ├── FC_L_DLPFC.nii ← D. 左DLPFC 种子点 FC │ │ ├── FC_R_DLPFC.nii ← D. 右DLPFC 种子点 FC │ │ ├── FC_L_Amygdala.nii ← D. 左杏仁核种子点 FC │ │ └── FC_R_Amygdala.nii ← D. 右杏仁核种子点 FC │ ├── FC_matrix.mat ← E. Atlas 脑区 FC 矩阵 │ ├── atlas_func_space.nii ← E. 重采样到功能像空间的 atlas │ ├── dFC\ │ │ └── dFC_states.mat ← F. 动态FC状态 │ └── GraphTheory.mat ← G. BCT 图论指标 │ └── group_analysis\ ├── VBM_results.mat ← H. VBM 组分析SPM batch 结果 ├── GroupComp_sReHo\ ← I. ReHo 组分析 │ ├── SPM.mat │ └── ... ├── GroupComp_ALFF\ ← I. ALFF 组分析 ├── GroupComp_fALFF\ ← I. fALFF 组分析 ├── GroupComp_sVMHC\ ← I. VMHC 组分析 ├── GroupComp_DC_WeightedSum\ ← I. 度中心性组分析 └── GraphTheory_summary.csv ← G. 图论指标汇总表✅ 各分析模块输入来源汇总模块输入文件来源ALFF/fALFFDenoised_*.nii⚠️ 去噪未滤波流水线 Step 8iReHoFiltered_*.nii去噪滤波流水线 Step 8kVMHCFiltered_*.nii去噪滤波流水线 Step 8kDegree CentralityFiltered_*.nii去噪滤波流水线 Step 8kSeed FCY_filtered.mat去噪滤波矩阵流水线 Step 8kAtlas FCY_filtered.mat去噪滤波矩阵流水线 Step 8kdFCY_filtered.matFC_matrix.mat矩阵 模块E结果图论FC_matrix.mat模块E结果VBMmri/mwp1*.niiCAT12 输出流水线 Step 2组水平 GLM各被试指标 NIfTI各被试模块输出✅ 软件依赖软件版本用途SPM25 (25.01.02)组水平 GLM batchDPABIv6.xy_alff_falff,y_reho,y_VMHC,y_DegreeCentrality,y_ResliceBCT2019_03_03图论分析clustering_coef_wu等MATLABR2014b—BCT 路径从 DPABI 目录自动加载DPABI/RedistributedToolboxes/BCT/2019_03_03_BCT/