Print

Print


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'));