% function ContratAnalysis: % this function creates contrast of SP vs fix. It uses te SPM.mat file within the provided directory % % input: % directory - directory to search for SPM.mat file function ContrastAnalysis(directory) % create batch file matlabbatch = []; matlabbatch{1}.spm.stats.con.spmmat = cellstr([directory '/SPM.mat']); matlabbatch{1}.spm.stats.con.consess{1}.tcon.name = 'SP > sacc'; contrast = zeros(8,24); contrast(:,4) = 1; contrast(:,16) = -1; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{1}.tcon.convec = contrast(:); % equivalent to % matlabbatch{1}.spm.stats.con.consess{1}.tcon.convec = [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ... % 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ... % session 2 % 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ... % session 3 % 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ... % session 4 % 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ... % session 5 % 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ... % session 6 % 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ... % session 7 % 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ... % session 8 % ]; matlabbatch{1}.spm.stats.con.consess{1}.tcon.sessrep = 'none'; matlabbatch{1}.spm.stats.con.consess{2}.tcon.name = 'sacc > SP'; contrast = zeros(8,24); contrast(:,4) = -1; contrast(:,16) = 1; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{2}.tcon.convec = contrast(:); matlabbatch{1}.spm.stats.con.consess{2}.tcon.sessrep = 'none'; matlabbatch{1}.spm.stats.con.consess{3}.tcon.name = 'motion > sacc'; contrast = zeros(8,24); contrast(:,10) = 1; contrast(:,16) = -1; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{3}.tcon.convec = contrast(:); matlabbatch{1}.spm.stats.con.consess{3}.tcon.sessrep = 'none'; matlabbatch{1}.spm.stats.con.consess{4}.tcon.name = 'sacc > motion'; contrast = zeros(8,24); contrast(:,10) = -1; contrast(:,16) = 1; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{4}.tcon.convec = contrast(:); matlabbatch{1}.spm.stats.con.consess{4}.tcon.sessrep = 'none'; matlabbatch{1}.spm.stats.con.consess{5}.tcon.name = 'sp > motion'; contrast = zeros(8,24); contrast(:,4) = 1; contrast(:,10) = -1; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{5}.tcon.convec = contrast(:); matlabbatch{1}.spm.stats.con.consess{5}.tcon.sessrep = 'none'; matlabbatch{1}.spm.stats.con.consess{6}.tcon.name = 'motion > sp'; contrast = zeros(8,24); contrast(:,4) = -1; contrast(:,10) = 1; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{6}.tcon.convec = contrast(:); matlabbatch{1}.spm.stats.con.consess{6}.tcon.sessrep = 'none'; matlabbatch{1}.spm.stats.con.consess{7}.tcon.name = 'sp + motion > sacc'; contrast = zeros(8,24); contrast(:,4) = 1; contrast(:,10) = 1; contrast(:,16) = -2; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{7}.tcon.convec = contrast(:); matlabbatch{1}.spm.stats.con.consess{7}.tcon.sessrep = 'none'; matlabbatch{1}.spm.stats.con.consess{8}.tcon.name = 'SP > baseline'; contrast = zeros(8,24); contrast(:,4) = 1; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{8}.tcon.convec = contrast(:); matlabbatch{1}.spm.stats.con.consess{8}.tcon.sessrep = 'none'; matlabbatch{1}.spm.stats.con.consess{9}.tcon.name = 'sacc > baseline'; contrast = zeros(8,24); contrast(:,16) = 1; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{9}.tcon.convec = contrast(:); matlabbatch{1}.spm.stats.con.consess{9}.tcon.sessrep = 'none'; matlabbatch{1}.spm.stats.con.consess{10}.tcon.name = 'motion > baseline'; contrast = zeros(8,24); contrast(:,10) = 1; contrast = contrast'; matlabbatch{1}.spm.stats.con.consess{10}.tcon.convec = contrast(:); matlabbatch{1}.spm.stats.con.consess{10}.tcon.sessrep = 'none'; % execute job spm_jobman('run',matlabbatch); end