To clarify the initial message:
> I have also tried out a few values like 0, 32, 6000 and had the impression that this results in identical predictors.
This was because I didn't have any on periods during the last few seconds of the session, so the stimulus function remains identical, but one would probably obtain an error message then.
When adding e.g. 32 dummy time bins at the beginning (as reflected by the 33 added to ton) then sf should be of the same length, thus not just the time bins as determined via the number of volumes in the design and the microtime resolution (= number of time bins per repetition time) but e.g. +32. The + 128 instead of +32 adds some more time bins to sf for whatever reason, but they are "removed" again via sf = sf(1:(k*T + 32),:);
Accordingly, if one wanted to go with x dummy bins one would have to add x + 1 to ton (instead of 33), sf = sparse((k*T + x),size(u,2)); instead of sf = sparse((k*T + 128),size(u,2)); and then a line like sf = sf(1:(k*T + x),:); should be unneccesary, as sf already has the proper size along that dimension.
However, it's important to also update line 230 in spm_fMRI_design X = X((0:(k - 1))*fMRI_T + fMRI_T0 + 32,:), you would not want to have + 32 but + x (so that the predictors, to which x dummy volumes had been added at the beginning, are synchronized with the representative time point of the first volume (as defined via microtime settings).
Best
Helmut
|