I am running a 3dDeconvolve command in AFNI to analyze fMRI data, specifically for a single condition, and have encountered an error. The task was a movie watching where the subject was just watching a movie. I have timestamps and durations when the speech occured in the movie. I would like to see some activation for my ‘Speech’ condition. My goal is to analyze a single condition (Speech) with varying durations. I have a timing file (stim-speech.1D) in a two-column format, where the first column represents the onset times and the second column represents the durations of each event.
** FATAL ERROR: '-stim_times 1': basis function model 'dmUBLOCK(1)' uses 1 parameters,
more than the -1 found in timing file '../stim-speech.1D' [nopt=12]
** Program compile date = Feb 7 2023
Given the nature of my events (varying durations and close onset times), I have considered both dmUBLOCK and TENT basis functions. However, I am not sure which one to use and how to properly structure my timing file or command to avoid errors. Furthermore, I’m not sure what the [nopt=12] in the error message means.
Here are a few lines from my timing file (stim-speech.1D) for reference:
Unless something has gone wrong with the formatting in the new forum, your regressors should be of the form onset:duration not “onset duration”. The : is important.
You appear to only have one run, therefor there should only be one row (or line) in your regressor file.
There is a -stim_times_FSL option that let’s one specify a 3-column FSL-style timing format (which would presumably mean adding a column of 1 to the current 2-column format). But as @colmconn suggests, it might be best to use the AFNI timing format.
If you were to use afni_proc.py to do the processing, AFNI timing is currently required.
I should have mentioned that when using AFNI timing, this “duration modulation” timing would correspond with -stim_times_AM1 (or even AM2 if you had a separate amplutude modulator). The plain -stim_times option would mean no auxiliary values, which is what the error refers to.
++ '-stim_times_AM1 1 ../stim-speech_oneline.1D' has 1 auxiliary values per time point
++ '-stim_times_AM1 1': basis function model 'dmUBLOCK(1)' uses 1 parameters,
out of the 1 found in timing file '../stim-speech_oneline.1D'
++ 3dDeconvolve: AFNI version=AFNI_23.0.02 (Feb 7 2023) [64-bit]
++ Authored by: B. Douglas Ward, et al.
++ loading dataset ../230426JN.results/pb03.230426JN.r01.scale+orig.HEAD
...
Am I right that ‘1 found in timing file’ says about the number of runs? So, If I would have a second row it would consider two runs.
The “out of the 1 found” refers to the number of auxiliary parameters in the timing file. In your case, it would be the event duration parameter.
I think “++ Auto-catenated datasets start at” is the main comment showing how many runs, assuming there is more than 1. The output does not seem to directly specify how many runs it found directly.
@egor.levchenko Oh, I forgot to mention, -TR_1D applies only to the case of -input1D and so is ignored here. Since your -input is a full 4-D time series, it should contain the correct TR (1.5 s). Verify with: 3dinfo -tr pb03.230426JN.r01.scale+orig
If needed, there is a -force_TR option, but it is better to have an accurate number in the dataset, such as via (3drefit -TR).
rick
1 Like
The
National Institute of Mental Health (NIMH) is part of the National Institutes of
Health (NIH), a component of the U.S. Department of Health and Human
Services.