Dear Kim,
It is difficult to guess what has gone wrong from this error
message. I suspect there has been a failure to specify the
inputs or stimulus functions properly. You can check this by
simply running the design specification with the spm_batch.m
we sent out on the email (omitting the data specification and
estimation calls (i.e. SPM.xY and spm_spm(.. ). Then change
the original spm_batch.m slowly (to match the one you want)
until you encounter the error.
The missing field is the [sparse] stimulus function
SPM.Sess(s).U(u).u
that is built when you specify the onsets and durations of an
experimental input.
I hope this helps - Karl
At 11:48 09/12/2002 -0500, Kim Celone wrote:
>I am also having some problems with the adapting the batch file given on
>the mailing list. I was able to patch the one listed below and a few
>others, but I am pretty new to SPM and can't figure out the following
>error:
>
>??? Reference to non-existent field 'u'.
>
>Error in ==> /opt/local/spm2b/spm_Volterra.m
>On line 41 ==> for k = 1:size(U(i).u,2)
>
>Error in ==> /opt/local/spm2b/spm_fMRI_design.m
>On line 280 ==> [X,Xn,Fc] = spm_Volterra(U,bf,V);
>
>Error in ==> /opt/local/spm2b/spm_fmri_spm_ui.m
>On line 209 ==> SPM = spm_fMRI_design(SPM);
>
>Error in ==>
>/denali/data7/ubc_nc_ap3_spm2b/test/stats/duration_0/stats_batch.m
>On line 51 ==> SPM = spm_fmri_spm_ui(SPM);
>
>Obviously I haven't set this field, but I am not really sure how to set
>it because from referencing some other SPM.mat files it looks like a
>pretty complicated structure. In SPM_fMRI_design it describes this
>field as (t x j) inputs or stimulus function matrix.
>
>Any help would be appreciated.
>
>Kim
>
>>>> Karl Friston <[log in to unmask]> 12/06/02 07:09AM >>>
>Dear Thierry,
>
>>I have been using SPM2b batch mode in the first-level analysis of an
>>fMRI study. It is truly clearer than the previous batch modes in
>>SPM99: it is straightforward to understand the meaning of (most of)
>>the SPM.mat elements. It might be useful to compile in a single
>>explanatory file the meaning of each element in the matrix.
>>However, adapting the batch file given on the mailing list in a multi
>>session analysis I encountered a small problem: there is no
>>reference to the question "Are session replicated?" in the SPM.mat
>>file (or none I could find). I resolved this by adding an element
>>in the SPM.mat find (like SPM.repl= 0|1) and a "try/catch" loop in
>>the spm_fMRI_design.m, line 222. I don't know if this is necessary
>>or if there are other tricks but it worked perfectly.
>
>Yes - we have come across this bug here. We have modified
>spm_fMRI_design from:
>
>if length(SPM.nscan) > 1 & ~any(diff(SPM.nscan))
>
>to
>
>if length(SPM.nscan) > 1 & ~any(diff(SPM.nscan)) &
>~isfield(SPM,'Sess')
>
>In principle this should work.
>
>>But I have an error in the second level analysis (first level is
>>multi session/single subject). After using "Basic models->One sample
>>t-test", SPM2b writes an SPM.mat in the folder, but cannot estimate
>>it (neither with "results" or "estimate"). It gives the error
>>message given at the end of this mail. I checked manually that
>>SPM.mat doesn't have a reference to SPM.xVol (other elements are
>>missing too).
>>I think maybe the new SPM.mat features used in SPM2b wasn't updated
>>in the "basic model" evaluation. Anyway, any help on how to
>>implement the second-level analysis with SPM2b will be greatly
>>appreciated!
>
>Only the fMRI routines are called by the batch script released on
>this helpline. PET and basic models call spm_spm_ui which has not
>been 'batched' yet. It is possible to call spm_spm_ui directly but
>the design specification is not so transparent. We left this out
>because PET and second-level fMRI analyses are usually quite simple
>and quick to do by hand.
>
>If you cannot estimate a basic model (specified through the GUI)
>could you let me know what error messages are returned by spm_spm
>(this is the routine that fills in SPM.xVOL).
>
>With best wishes,
>
>Karl
>
>
|