Hi SPM experts,
I get different results when I use the SPM Menu window or batch the DCM model specification. What could be the reason?
Thanks in advance
Susanne
In the SPM Menu window I click the following buttons:
Timing information
slice timing [s] 1.6
Echo time TE [s] 0.04
Model options
modulatory effects bilinear
states per regions one
stochastic effects no
For batch I used the following script:
%----------------------------------------------
% Driving input APv blind group
%----------------------------------------------
%----------------------------------------------
clear all
data_path = '/server/fo2-14/data4/data2/DCM_fa3s/110_89/'
cd(data_path)
% Initialise SPM
%--------------------------------------------------------------------------
%spm('Defaults','fMRI');
%spm_jobman('initcfg');
%spm_get_defaults('cmdline',1);
% SPECIFICATION DCM "driving input and intrinsic connectivity within V1-Pv-A1"
%--------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%
% m5 fw/bw-A=V=P-fw/bw
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
% run1
%%%%%%%%%%%%%%%%%%%%%%%%
load(fullfile(data_path,'SPM.mat'));
load(fullfile(data_path,'VOI_A1_1.mat'),'xY');
DCM.xY(1) = xY;
load(fullfile(data_path,'VOI_Pv_1.mat'),'xY');
DCM.xY(2) = xY;
load(fullfile(data_path,'VOI_V1_1.mat'),'xY');
DCM.xY(3) = xY;
DCM.n = length(DCM.xY); % number of regions
DCM.v = length(DCM.xY(1).u); % number of time points
DCM.Y.dt = SPM.xY.RT;
DCM.Y.X0 = DCM.xY(1).X0;
for i = 1:DCM.n
DCM.Y.y(:,i) = DCM.xY(i).u;
DCM.Y.name{i} = DCM.xY(i).name;
end
DCM.Y.Q = spm_Ce(ones(1,DCM.n)*DCM.v);
DCM.U.dt = SPM.Sess(1).U(1).dt;
DCM.U.name = [SPM.Sess(1).U.name];
DCM.U.u = [SPM.Sess(1).U(1).u(33:end,1) ...
SPM.Sess(1).U(2).u(33:end,1) ...
SPM.Sess(1).U(3).u(33:end,1) ...
SPM.Sess(1).U(4).u(33:end,1)];
DCM.delays = repmat(SPM.xY.RT,DCM.n,1);
DCM.TE = 0.04;
DCM.options.nonlinear = 0;
DCM.options.two_state = 0;
DCM.options.stochastic = 0;
DCM.options.nograph = 1;
DCM.a = [1 1 1; 1 1 1; 1 1 1]; % [A1>A1 Pv>A1 V1>A1; A1>Pv Pv>Pv V1>Pv; A1>V1 Pv>V1 V1>V1];
DCM.b = zeros(3,3,4);
DCM.c = [1 1 1 1; 1 1 1 1; 0 0 0 0]; % A1: rv_sl rv_ss sl sl; Pv: rv_sl rv_ss sl sl; V1: rv_sl rv_ss sl sl];
DCM.d = zeros(3,3,0);
save(fullfile(data_path,'finalDCMInputAPv_m5_1.mat'),'DCM');
%----------------------------------------------
%----------------------------------------------
% ESTIMATION
%----------------------------------------------
spm_dcm_estimate(fullfile(data_path, 'finalDCMInputAPv_m5_1.mat'));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------
% Driving input APv blind group
%----------------------------------------------
%----------------------------------------------
clear all
data_path = '/server/fo2-14/data4/data2/DCM_fa3s/110_89/'
cd(data_path)
% Initialise SPM
%--------------------------------------------------------------------------
%spm('Defaults','fMRI');
%spm_jobman('initcfg');
%spm_get_defaults('cmdline',1);
% SPECIFICATION DCM "driving input and intrinsic connectivity within V1-Pv-A1"
%--------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%
% m5 fw/bw-A=V=P-fw/bw
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
% run2
%%%%%%%%%%%%%%%%%%%%%%%%
load(fullfile(data_path,'SPM.mat'));
load(fullfile(data_path,'VOI_A1_2.mat'),'xY');
DCM.xY(1) = xY;
load(fullfile(data_path,'VOI_Pv_2.mat'),'xY');
DCM.xY(2) = xY;
load(fullfile(data_path,'VOI_V1_2.mat'),'xY');
DCM.xY(3) = xY;
DCM.n = length(DCM.xY); % number of regions
DCM.v = length(DCM.xY(1).u); % number of time points
DCM.Y.dt = SPM.xY.RT;
DCM.Y.X0 = DCM.xY(1).X0;
for i = 1:DCM.n
DCM.Y.y(:,i) = DCM.xY(i).u;
DCM.Y.name{i} = DCM.xY(i).name;
end
DCM.Y.Q = spm_Ce(ones(1,DCM.n)*DCM.v);
DCM.U.dt = SPM.Sess(1).U(1).dt;
DCM.U.name = [SPM.Sess(1).U.name];
DCM.U.u = [SPM.Sess(1).U(1).u(33:end,1) ...
SPM.Sess(1).U(2).u(33:end,1) ...
SPM.Sess(1).U(3).u(33:end,1) ...
SPM.Sess(1).U(4).u(33:end,1)];
DCM.delays = repmat(SPM.xY.RT,DCM.n,1);
DCM.TE = 0.04;
DCM.options.nonlinear = 0;
DCM.options.two_state = 0;
DCM.options.stochastic = 0;
DCM.options.nograph = 1;
DCM.a = [1 1 1; 1 1 1; 1 1 1]; % [A1>A1 Pv>A1 V1>A1; A1>Pv Pv>Pv V1>Pv; A1>V1 Pv>V1 V1>V1];
DCM.b = zeros(3,3,4);
DCM.c = [1 1 1 1; 1 1 1 1; 0 0 0 0]; % A1: rv_sl rv_ss sl sl; Pv: rv_sl rv_ss sl sl; V1: rv_sl rv_ss sl sl];
DCM.d = zeros(3,3,0);
save(fullfile(data_path,'finalDCMInputAPv_m5_2.mat'),'DCM');
%----------------------------------------------
%----------------------------------------------
% ESTIMATION
%----------------------------------------------
spm_dcm_estimate(fullfile(data_path, 'finalDCMInputAPv_m5_2.mat'));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------
% Driving input APv blind group
%----------------------------------------------
%----------------------------------------------
clear all
data_path = '/server/fo2-14/data4/data2/DCM_fa3s/110_89/'
cd(data_path)
% Initialise SPM
%--------------------------------------------------------------------------
%spm('Defaults','fMRI');
%spm_jobman('initcfg');
%spm_get_defaults('cmdline',1);
% SPECIFICATION DCM "driving input and intrinsic connectivity within V1-Pv-A1"
%--------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%
% m5 fw/bw-A=V=P-fw/bw
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
% run3
%%%%%%%%%%%%%%%%%%%%%%%%
load(fullfile(data_path,'SPM.mat'));
load(fullfile(data_path,'VOI_A1_3.mat'),'xY');
DCM.xY(1) = xY;
load(fullfile(data_path,'VOI_Pv_3.mat'),'xY');
DCM.xY(2) = xY;
load(fullfile(data_path,'VOI_V1_3.mat'),'xY');
DCM.xY(3) = xY;
DCM.n = length(DCM.xY); % number of regions
DCM.v = length(DCM.xY(1).u); % number of time points
DCM.Y.dt = SPM.xY.RT;
DCM.Y.X0 = DCM.xY(1).X0;
for i = 1:DCM.n
DCM.Y.y(:,i) = DCM.xY(i).u;
DCM.Y.name{i} = DCM.xY(i).name;
end
DCM.Y.Q = spm_Ce(ones(1,DCM.n)*DCM.v);
DCM.U.dt = SPM.Sess(1).U(1).dt;
DCM.U.name = [SPM.Sess(1).U.name];
DCM.U.u = [SPM.Sess(1).U(1).u(33:end,1) ...
SPM.Sess(1).U(2).u(33:end,1) ...
SPM.Sess(1).U(3).u(33:end,1) ...
SPM.Sess(1).U(4).u(33:end,1)];
DCM.delays = repmat(SPM.xY.RT,DCM.n,1);
DCM.TE = 0.04;
DCM.options.nonlinear = 0;
DCM.options.two_state = 0;
DCM.options.stochastic = 0;
DCM.options.nograph = 1;
DCM.a = [1 1 1; 1 1 1; 1 1 1]; % [A1>A1 Pv>A1 V1>A1; A1>Pv Pv>Pv V1>Pv; A1>V1 Pv>V1 V1>V1];
DCM.b = zeros(3,3,4);
DCM.c = [1 1 1 1; 1 1 1 1; 0 0 0 0]; % A1: rv_sl rv_ss sl sl; Pv: rv_sl rv_ss sl sl; V1: rv_sl rv_ss sl sl];
DCM.d = zeros(3,3,0);
save(fullfile(data_path,'finalDCMInputAPv_m5_3.mat'),'DCM');
%----------------------------------------------
%----------------------------------------------
% ESTIMATION
%----------------------------------------------
spm_dcm_estimate(fullfile(data_path, 'finalDCMInputAPv_m5_3.mat'));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------
% Driving input APv blind group
%----------------------------------------------
%----------------------------------------------
clear all
data_path = '/server/fo2-14/data4/data2/DCM_fa3s/110_89/'
cd(data_path)
% Initialise SPM
%--------------------------------------------------------------------------
%spm('Defaults','fMRI');
%spm_jobman('initcfg');
%spm_get_defaults('cmdline',1);
% SPECIFICATION DCM "driving input and intrinsic connectivity within V1-Pv-A1"
%--------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%
% m5 fw/bw-A=V=P-fw/bw
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
% run4
%%%%%%%%%%%%%%%%%%%%%%%%
load(fullfile(data_path,'SPM.mat'));
load(fullfile(data_path,'VOI_A1_4.mat'),'xY');
DCM.xY(1) = xY;
load(fullfile(data_path,'VOI_Pv_4.mat'),'xY');
DCM.xY(2) = xY;
load(fullfile(data_path,'VOI_V1_4.mat'),'xY');
DCM.xY(3) = xY;
DCM.n = length(DCM.xY); % number of regions
DCM.v = length(DCM.xY(1).u); % number of time points
DCM.Y.dt = SPM.xY.RT;
DCM.Y.X0 = DCM.xY(1).X0;
for i = 1:DCM.n
DCM.Y.y(:,i) = DCM.xY(i).u;
DCM.Y.name{i} = DCM.xY(i).name;
end
DCM.Y.Q = spm_Ce(ones(1,DCM.n)*DCM.v);
DCM.U.dt = SPM.Sess(1).U(1).dt;
DCM.U.name = [SPM.Sess(1).U.name];
DCM.U.u = [SPM.Sess(1).U(1).u(33:end,1) ...
SPM.Sess(1).U(2).u(33:end,1) ...
SPM.Sess(1).U(3).u(33:end,1) ...
SPM.Sess(1).U(4).u(33:end,1)];
DCM.delays = repmat(SPM.xY.RT,DCM.n,1);
DCM.TE = 0.04;
DCM.options.nonlinear = 0;
DCM.options.two_state = 0;
DCM.options.stochastic = 0;
DCM.options.nograph = 1;
DCM.a = [1 1 1; 1 1 1; 1 1 1]; % [A1>A1 Pv>A1 V1>A1; A1>Pv Pv>Pv V1>Pv; A1>V1 Pv>V1 V1>V1];
DCM.b = zeros(3,3,4);
DCM.c = [1 1 1 1; 1 1 1 1; 0 0 0 0]; % A1: rv_sl rv_ss sl sl; Pv: rv_sl rv_ss sl sl; V1: rv_sl rv_ss sl sl];
DCM.d = zeros(3,3,0);
save(fullfile(data_path,'finalDCMInputAPv_m5_4.mat'),'DCM');
%----------------------------------------------
%----------------------------------------------
% ESTIMATION
%----------------------------------------------
spm_dcm_estimate(fullfile(data_path, 'finalDCMInputAPv_m5_4.mat'));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------
% Driving input APv blind group
%----------------------------------------------
%----------------------------------------------
clear all
data_path = '/server/fo2-14/data4/data2/DCM_fa3s/110_89/'
cd(data_path)
% Initialise SPM
%--------------------------------------------------------------------------
%spm('Defaults','fMRI');
%spm_jobman('initcfg');
%spm_get_defaults('cmdline',1);
% SPECIFICATION DCM "driving input and intrinsic connectivity within V1-Pv-A1"
%--------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%
% m5 fw/bw-A=V=P-fw/bw
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
% run5
%%%%%%%%%%%%%%%%%%%%%%%%
load(fullfile(data_path,'SPM.mat'));
load(fullfile(data_path,'VOI_A1_5.mat'),'xY');
DCM.xY(1) = xY;
load(fullfile(data_path,'VOI_Pv_5.mat'),'xY');
DCM.xY(2) = xY;
load(fullfile(data_path,'VOI_V1_5.mat'),'xY');
DCM.xY(3) = xY;
DCM.n = length(DCM.xY); % number of regions
DCM.v = length(DCM.xY(1).u); % number of time points
DCM.Y.dt = SPM.xY.RT;
DCM.Y.X0 = DCM.xY(1).X0;
for i = 1:DCM.n
DCM.Y.y(:,i) = DCM.xY(i).u;
DCM.Y.name{i} = DCM.xY(i).name;
end
DCM.Y.Q = spm_Ce(ones(1,DCM.n)*DCM.v);
DCM.U.dt = SPM.Sess(1).U(1).dt;
DCM.U.name = [SPM.Sess(1).U.name];
DCM.U.u = [SPM.Sess(1).U(1).u(33:end,1) ...
SPM.Sess(1).U(2).u(33:end,1) ...
SPM.Sess(1).U(3).u(33:end,1) ...
SPM.Sess(1).U(4).u(33:end,1)];
DCM.delays = repmat(SPM.xY.RT,DCM.n,1);
DCM.TE = 0.04;
DCM.options.nonlinear = 0;
DCM.options.two_state = 0;
DCM.options.stochastic = 0;
DCM.options.nograph = 1;
DCM.a = [1 1 1; 1 1 1; 1 1 1]; % [A1>A1 Pv>A1 V1>A1; A1>Pv Pv>Pv V1>Pv; A1>V1 Pv>V1 V1>V1];
DCM.b = zeros(3,3,4);
DCM.c = [1 1 1 1; 1 1 1 1; 0 0 0 0]; % A1: rv_sl rv_ss sl sl; Pv: rv_sl rv_ss sl sl; V1: rv_sl rv_ss sl sl];
DCM.d = zeros(3,3,0);
save(fullfile(data_path,'finalDCMInputAPv_m5_5.mat'),'DCM');
%----------------------------------------------
%----------------------------------------------
% ESTIMATION
%----------------------------------------------
spm_dcm_estimate(fullfile(data_path, 'finalDCMInputAPv_m5_5.mat'));
|