Dear SPM-list and dear SnPM-authors
I was quite enthusiastic when I heard about SnPM13 (Dear SnPM-authors: Thank you for your work on the much anticipated SnPM13!) and wanted to give it a try for an exploratory VBM-analysis with only a couple of subjects (9:9). I used "2 Groups Two Sample T Test; 1 scan per subject" (see below for a description of the used parameters).
However, after hitting the "run"-button in the batch editor, SPM stops after a couple of seconds resulting in an error message from SPM and an error-string within the Matlab-window as follows:
////////////////////////////////////////////////////////////////////////
Running job #2
------------------------------------------------------------------------
Running '2 Groups: Two Sample T test; 1 scan per subject'
Failed '2 Groups: Two Sample T test; 1 scan per subject'
Cell contents reference from a non-cell array object.
In file "myhomedir/spm12b/toolbox/SnPM13/snpm_ui.m" (???), function "snpm_ui" at line 398.
In file "myhomedir/spm12b/toolbox/SnPM13/config/snpm_run_ui.m" (???), function "snpm_run_ui" at line 12.
The following modules did not run:
Failed: 2 Groups: Two Sample T test; 1 scan per subject
////////////////////////////////////////////////////////////////////////
The named snpm_ui.m-file line 398 seems to correspond to the "Get globals" section of the GLM ('GX = job.globalc.g_user{1}(:);'):
////////////////////////////////////////////////////////////////////////
%-Get globals
%-----------------------------------------------------------------------
if (iGloNorm==1) && (iGMsca==1)
% No need for globals, omit
iGXcalc = 1;
elseif isfield(job.globalc,'g_omit')
%iGXcalc=1;
% Global needed and none requested, force iGXcalc to grand mean (3)
iGXcalc=3;
elseif isfield(job.globalc,'g_user')
iGXcalc=2;
GX = job.globalc.g_user{1}(:);
rg = GX;
if length(GX) ~= nScan
error(['User-specified globals length [%d] doesn''t match number of' ...
' scans [%d]'],length(GX),nScan);
end
elseif isfield(job.globalc,'g_mean')
iGXcalc=3;
end
sGXcalc=deblank(sGXcalc(iGXcalc,:));
////////////////////////////////////////////////////////////////////////
I did not work through all of the code. But as I guessed it may be be a problem with a string in my "Global values" I just put in manually some random numbers, leading to the same error. After I left out the globals section and the corresponding proportional scaling the model is just set up properly without any errors...
Do you have a guess what I might have done wrong and how to set up the model correctly? Or is this some nasty bug or due to an incompatibility with my Matlab version? Your help is very much appreciated!
Cheers,
Jakob
Information on my machine and the analysis:
I use the latest update of SPM12b (v5852) and SnPM13.01 and use a rather old Matlab (R2011b) (There is also an error, when I try to set up the analysis in SPM8) run under ubuntu 12.04.
I set up the analysis as follows:
I chose "SnPM13" from the toolbox dropdown-menu, clicked on the resulting dropdown-menu "SnPM13" and chose "Specify" -> "2 Groups Two Sample T Test; 1 scan per subject". In the batch-editor I then specified the "analysis directory", defined my resulting smoothed GM-data from a DARTEL-algorithm for "Group 1 scans" and "Group 2 scans", chose and defined 3 covariates (sex, age and ageĀ²), I left "Number of Permutations" untouched (5000), variance smoothing was set to [8 8 8], Memory usage was left untouched (High). Cluster inference was set to "Yes" and I defined an explicit mask. Global calculation was set to "User" with the TIV as "Global values". For "Global normalisation" I used "Proportional" "Normalisation" and left out "Overall grand mean scaling".
|