利用功能磁共振技术进行静息状态默认神经网络的功能连接分析。
为何磁共振成像能反出大脑的工作状态?活跃脑区耗氧量更大,血流量更多,BOLD信号更显著。
从核磁共振机器拿到的扫描数据后缀为.ncm,要输入到matlab进行分析处理需先转换.nii后缀文件。

打开matlab,在输入文件夹中配置好spm工具包路径。命令行输入spm并回车打开spm工具,选择FMRI(功能核磁共振)。按照数据预处理步骤:时间矫正、头动矫正、归一化、平滑处理。




对处理完成后的.nii文件发现多出前缀swra,使用matlab代码进行功能连接分析。
<matlab>
%%读取数据并画图
xj=spm_select(inf,'.nii','');
data0=zeros(53,63,52,300);
for i =1:300
xj1=spm_vol(deblank(xj(i,:)));
temp0=spm_read_vols(xj1);
clear xj1;
data0(:,:,:,i)=temp0;
clear temp0;
end
cube_data = data0(26:28,20:22,33:35,:);
% 4. 计算每个时间点上,立方体所有体素的平均值
mean_time_series = mean(cube_data, [1, 2, 3]);
% 5. 使用squeeze函数移除所有大小为1的维度,得到一个T维的向量
PCCs = squeeze(mean_time_series);
figure;
plot(PCCs);
h=spectrum.welch;
Hpsd=psd(h,PCCs,'Fs',0.5);
figure;
plot(Hpsd);
%%
%%线性回归滤波去头动等
headm=load("rp_a20251019_164114Brainepilepsyeegfmrils008a1001_006.txt");
noisexx=zeros(300,7);
noisexx(:,1:6)=headm;
noisexx(:,7)=ones(300,1);
signal=PCCs;
[b2,bint,r1,rint,stats]=regress(signal,noisexx);
b=fir1(64,[0.01/(0.5/2),0.08/(0.5/2)]);
rgnxts=filtfilt(b,1,r1);
figure;
plot(rgnxts);
seedts=rgnxts;
clear rgnxts;
%%
%%对每一个体素进行去头动,滤波后与pcc计算相关系数,考察功能联系强弱
corr_r=zeros(size(data0,1),size(data0,2),size(data0,3));
for i=1:size(data0,1)
for j=1:size(data0,2)
for k=1:size(data0,3)
xts=squeeze(data0(i,j,k,:));
[b2,bint,r1,rint,stats]=regress(xts,noisexx);
rgnxts=filtfilt(b,1,r1);
clear r1;
temp2=corrcoef(seedts,rgnxts);
corr_r(i,j,k)=temp2(1,2);
clear rgnxts temp2;
end
end
end
%%
%%将功能连接存储下来
xj=spm_select(Inf,'.nii','select_new_images_head_info');
xj1=spm_vol(deblank(xj(1,:)));
xj1.fname='pcc_cor_mean.nii';
xj1.dt=[16,0];
spm_write_vol(xj1,corr_r);
save('PCC_cor_mean.mat','corr_r');
最后得到后扣带回体素与其他体素的功能连接。利用Mricro查看网络连接。

可以看到处理结果呈现出明显的默认神经网络。说明人在静息状态下默认神经网络处于高度活跃状态。
