首先准备一个mask,reslice到与fMRI相同的分辨率。注意这个mask里面不是ROI的地方值为零,而且每个ROI体素的值都是这个ROI对应的编号。比如我用的Power 264 ROI,ROI值最大是264。
然后用matlab写代码。把fMRI从四维转成二维去做会比较方便。
fmri = spm_vol('ICA_denoised_sub-600001103037_task-rest_bold.nii');
fdata = spm_read_vols(fmri);
mask = spm_vol('rROI_264_MNI_1mm.nii');
mdata = spm_read_vols(mask);
d = size(fdata,4);
time = 124;
if d == time
fdataTran = reshape(fdata,[],d);
mdata = reshape(mdata,[],1); % 将mask转换为一个列向量,当成索引表
slide264 = zeros(264,time);
for j = 1:264
roi_index = find(mdata==j);
slide264(j,:) = mean(fdataTran(roi_index,:));
end
end