Hi Toshi
You forgot to CC the SPM mailing list :-) I have done so for you, in the hope you get a reply from a resting state DCM expert. I suspect that best practice will be to use the new PEB (Parametric Empirical Bayes) framework in SPM12 to model condition as a between-groups effect at the group level - instructions at https://en.wikibooks.org/wiki/User:Peterz/sandbox .
Best
Peter
-----Original Message-----
From: Toshi Kawagoe [mailto:[log in to unmask]]
Sent: 16 February 2017 11:18
To: Zeidman, Peter <[log in to unmask]>
Subject: Re: different DCM results between simple averaging and BPA averaging
I appreciate your kindness.
My data were resting-state fMRI data. I'm trying to do the spectral DCM which is more suited for such data.
I have 2 conditions (10 mins for each) although they are both resting-state (open and close eyes, for example). These are different sessions (counter-balanced order). I mean the long-time break between those sessions. So I did not create the single file. Also, because only 2 ROIs were considered for those data, I did not care for the model selection and I defined the full-connected one is winning (but should I do the selection?).
The following script is that I did for one subject in one condition.
Actually, I do not have confidence the set driving input and connection parameters.
Could you point out the wrong point and any comment.
*******************************
spm_dir = strcat(**spmdirectory**);
% Specification DCM ---------------------------------------------------------------
% Load SPM.mat for DCM
% read GLM file "SPM.mat"
load(fullfile(spm_dir,'SPM.mat'));
% Load time series of VOI
load(fullfile(spm_dir,'VOI_ROI1.mat'),'xY');
DCM.xY(1) = xY;
load(fullfile(spm_dir,'VOI_ROI2.mat'),'xY');
DCM.xY(2) = 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);
% Driving Input registration
DCM.U.dt = SPM.Sess.U(1).dt;
n_sess = 1; %<--- Edit for user
DCM.U.name = [SPM.Sess.U.name];
DCM.U.u = [SPM.Sess(1, n_sess).U(1, 1).u(33:end,1)]; %<--- Edit for user,
DCM.delays = repmat(SPM.xY.RT,DCM.n,1);
DCM.TE = 0.03; %<--- Edit for user: TE edit for user
DCM.options.nonlinear = 0;
DCM.options.two_state = 0;
DCM.options.stochastic = 0;
% DCM.options.nograph = 1;
% Setting Connection Modelling -------------------------------------------------------
% DCM.a: Intrinsic connection
% DCM.c: Driving input
% DCM.b: Modulatio input
% DCM.d: Nonlinear modulation
% Intrinsic connection
DCM.a = [ % <--- Edit for user
1,1;
1,1];
% Driving input
DCM.c = [ % <--- Edit for user
0;0];
% Modulation input
% n_area x n_area x n_factor
DCM.b = zeros(DCM.n, DCM.n, 1);
% NonLinear modulation
% n_area x n_area x n_area
% DCM.d = zeros(DCM.n, DCM.n, DCM.n);
DCM_name1 = 'DCM_cond1.mat'; %
save(fullfile(spm_dir,DCM_name1),'DCM'); % <--- Edit for user
DCM = spm_dcm_fmri_csd(fullfile(spm_dir,DCM_name1)) ; % spectral DCM
*******************************
Best regards, Toshi
|