Dear SPMers,
I'm using spm2 on a linux box running redhat 8 and matlab 7 and have run
into 2 unusual problems:
1. It appears that spm2 is crashing in some instances when the number of
time bins is not a multiple of the TR, immediately after I select the
response function. I have a run that was collected with the following:
TR=2.5, 42 slices, interleaved descending, 195 volumes. I set the default
time bins/TR to match my sequence - 42 bins with 21 as the sampled bin. For
this run, I select fmri --> design. I enter in TR of 2.5, scans = 195,
specify design in seconds. When I then select HRF with time derivative, it
crashes and says: matrix dimensions must agree (I've not included the whole
error here for ease of reading, but have attached it in a text file).
If I select any other response function (other than hrf with time and
dispersion derivs) with these same parameters (e.g, hrf, fourier set, fir,
etc.) it doesn't crash. Also, it does not complain if I set the time
bins/TR to be a multiple of my TR (e.g., 40, 45, etc.).
2. It also appears that spm2 is crashing at the end of estimation for a
certain combination of number of volumes and number of conditions. I know
this sounds very unlikely, but bear with me... This occurs using a similar
sequence collected with the following: TR=2, 43 slices, interleaved
ascending, 195 volumes. I am able to specify the model without any of the
difficulty of #1 (but specifying 43 time bins). I set up the model with 7
conditions, select hrf with time derivative, and start estimation. At the
end of estimation, it gives the following error: c is not a proper
contrast... and NaN or Inf prevents convergence (see attached).
Here's the most curious part: spm2 doesn't produce the same error with any
other combination of number of conditions with that number of volumes.
Moreover, it doesn't produce that error with 7 conditions, but a
different number of volumes. In other words, it runs fine with 1-6
conditions and 195 volumes, as well as with 8-10 conditions and 195 volumes.
In addition, it runs fine with 7 conditions and a different number of
volumes.
I apologize for the long email, but the problem is quite confusing... I
have the most updated version of spm2 and have been able to reproduce the
same error on a seperate box running redhat 9 and a different copy of matlab
7, as well as on a freshly downloaded and updated copy of spm2 on a
different partition on my raid. Any thoughts would be greatly appreciated.
Thanks,
Phil
Matlab Errors:
1. Time Bins and TR:
SPM2: spm_defaults_edit (v2.25) 17:30:12 - 04/08/2006
=======================================================================
SPM2: spm_fMRI_design (v2.34) 17:31:38 - 04/08/2006
----------------------------------------------------------------
??? Error using ==> minus
Matrix dimensions must agree.
Error in ==> spm_get_bf at 130
D = (bf(:,1) - spm_hrf(dt,p))/dp;
Error in ==> spm_fMRI_design at 233
SPM.xBF = spm_get_bf(SPM.xBF);
Error in ==> spm_fmri_spm_ui at 193
SPM = spm_fMRI_design;
??? Error while evaluating uicontrol Callback.
>>
2. 195 volumes, 7 conditions.
c is not a proper contrast in +c->Tsp in spm_SpUtil
!!! projecting...
> In spm_SpUtil at 323
In spm_FcUtil at 264
In spm_spm at 868
from
c =
1 0
0 1
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
to
c =
1 0
0 1
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
NaN NaN
0 0
0 0
??? Error using ==> svd
NaN or Inf prevents convergence.
Error in ==> spm_sp>sf_set at 1122
[x.u, s, x.v] = svd(full(X),0);
Error in ==> spm_sp at 221
varargout = {sf_set(X)};
Error in ==> spm_SpUtil at 437
varargout = { spm_sp('r:',spm_sp('set',c0),c1) };
Error in ==> spm_FcUtil at 263
Fc.c = spm_SpUtil('i0->c',sX,iX0);
Error in ==> spm_spm at 868
xCon(end + 1) = spm_FcUtil('Set',Fcname,'F','iX0',iX0,xX.xKXs);
??? Error while evaluating uicontrol Callback.
>>
|