为了将得到的SBM指标都进行平滑后设计矩阵并进行统计,提取spm和cat的代码进行批量处理
%与之前批处理一致,提取对应文件进行批量处理
clear
clc
raw_path='D:\2023_12_NSSI_YLL\2024_01_15\results_nsa_nsi_hc\smri\cat_nsa43_nsi28_nsi38\'
% [date,name,biao]=xlsread('D:\2023_12_NSSI_YLL\2024_01_15\results_nsa_nsi_hc\smri\nsa43_nsi28_hc38.xlsx',1);
cell_data=dir([raw_path,'*_*'])
for i=1:length(cell_data)
sub_num=cell_data(i).name
sub_data_path=fullfile(raw_path,sub_num,'surf\','*lh.thickness*')
nift_sub=dir(sub_data_path)
sub_paname=fullfile(raw_path,sub_num,'surf\',nift_sub(1).name)
% sub_aim(i,1)={sub_paname}
matlabbatch{1}.spm.tools.cat.stools.surfresamp.data_surf ={sub_paname};
matlabbatch{1}.spm.tools.cat.stools.surfresamp.merge_hemi = 1;
matlabbatch{1}.spm.tools.cat.stools.surfresamp.mesh32k = 1;
matlabbatch{1}.spm.tools.cat.stools.surfresamp.fwhm_surf = 15;
matlabbatch{1}.spm.tools.cat.stools.surfresamp.lazy = 0;
matlabbatch{1}.spm.tools.cat.stools.surfresamp.nproc = 1;
spm_jobman('run',matlabbatch)
end
% analyse thickness Ftest_3_NSA_NSI_HC
%为了将提取到的文件分三列,每列一组,因此采用if语句进行分组
clear
clc
raw_path='D:\2023_12_NSSI_YLL\2024_01_15\results_nsa_nsi_hc\smri\cat_nsa43_nsi28_nsi38\'
% [date,name,biao]=xlsread('D:\2023_12_NSSI_YLL\2024_01_15\results_nsa_nsi_hc\smri\nsa43_nsi28_hc38.xlsx',1);
cell_data=dir([raw_path,'*_*'])
for i=1:length(cell_data)
sub_num=cell_data(i).name
if sub_num(1:3)=='NSA'
sub_data_path_1NSA=fullfile(raw_path,sub_num,'surf\','*s15.mesh.thickness.resampled_32k.NSA*.gii')
nift_sub_1NSA=dir(sub_data_path_1NSA)
sub_paname_1NSA=fullfile(raw_path,sub_num,'surf\',nift_sub_1NSA(1).name)
sub_aim(i,1)={sub_paname_1NSA}
end
if sub_num(1:3)=='NSI'
sub_data_path_2NSI=fullfile(raw_path,sub_num,'surf\','*s15.mesh.thickness.resampled_32k.NSI*.gii')
nift_sub_2NSI=dir(sub_data_path_2NSI)
sub_paname_2NSI=fullfile(raw_path,sub_num,'surf\',nift_sub_2NSI(1).name)
sub_aim(i,2)={sub_paname_2NSI}
end
if sub_num(1:2)=='HC'
sub_data_path_3HC=fullfile(raw_path,sub_num,'surf\','*s15.mesh.thickness.resampled_32k.HC*.gii')
nift_sub_3HC=dir(sub_data_path_3HC)
sub_paname_3HC=fullfile(raw_path,sub_num,'surf\',nift_sub_3HC(1).name)
sub_aim(i,3)={sub_paname_3HC}
end
end
NSA=sub_aim(cellfun(@(x) ~isempty(x), sub_aim(:, 1)), 1)
NSI=sub_aim(cellfun(@(x) ~isempty(x), sub_aim(:, 2)), 2)
HC=sub_aim(cellfun(@(x) ~isempty(x), sub_aim(:, 3)), 3)
matlabbatch{1}.spm.stats.factorial_design.dir ={ 'D:\2023_12_NSSI_YLL\2024_01_15\results_nsa_nsi_hc\smri\SBM\thickness_F'};
matlabbatch{1}.spm.stats.factorial_design.des.anova.icell(1).scans =NSA;
matlabbatch{1}.spm.stats.factorial_design.des.anova.icell(2).scans =NSI;
matlabbatch{1}.spm.stats.factorial_design.des.anova.icell(3).scans =HC;
matlabbatch{1}.spm.stats.factorial_design.des.anova.dept = 0;
matlabbatch{1}.spm.stats.factorial_design.des.anova.variance = 1;
matlabbatch{1}.spm.stats.factorial_design.des.anova.gmsca = 0;
matlabbatch{1}.spm.stats.factorial_design.des.anova.ancova = 0;
matlabbatch{1}.spm.stats.factorial_design.cov = struct('c', {}, 'cname', {}, 'iCFI', {}, 'iCC', {});
matlabbatch{1}.spm.stats.factorial_design.multi_cov = struct('files', {}, 'iCFI', {}, 'iCC', {});
matlabbatch{1}.spm.stats.factorial_design.masking.tm.tma.athresh = 0.1;
matlabbatch{1}.spm.stats.factorial_design.masking.im = 1;
matlabbatch{1}.spm.stats.factorial_design.masking.em = {''};
matlabbatch{1}.spm.stats.factorial_design.globalc.g_omit = 1;
matlabbatch{1}.spm.stats.factorial_design.globalm.gmsca.gmsca_no = 1;
matlabbatch{1}.spm.stats.factorial_design.globalm.glonorm = 1;
matlabbatch{2}.spm.tools.cat.stools.SPM.spmmat(1) = cfg_dep('Factorial design specification: SPM.mat File', substruct('.','val', '{}',{1}, '.','val', '{}',{1}, '.','val', '{}',{1}), substruct('.','spmmat'));
spm_jobman('run',matlabbatch)