Need Help with Running 3dDeconvolve

AFNI version info (afni -ver): 24.2.0

Hi there!

I am very new to AFNI and am struggling a bit with doing the first level analysis of my data. I already preprocessed all of it through fMRIPrep but ended up smoothing it using 3dBlurToFWHM. I specifically need help with using 3dDeconvolve.

I have a block design task where I have three block types (reward, punish, baseline). I created 1D files for each participant for each block that have the onsets of each block. However, I realized the durations of my blocks are slightly variable due to a jitter we incorporated between trials. I calculated the durations of each block and have made a myriad of 1D files.

For example, I've done:
onset:duration onset:duration onset:duration
onset:duration onset:duration onset:duration
&
onset:duration
onset:duration
onset:duration
etc.

I've also done it with a space rather than a ":" both ways.

I have been using BLOCK but keep getting fatal errors like "'-stim_times 1' file 'sub-7024_reward.1D' has 1 auxiliary values per time point [nopt=10]" or "** FATAL ERROR: No time series file on command line!"

Can someone please help point me in the right direction? Should I be using TENT? I'm just not sure what to specify in the () or what the correct 1D format should be.
Thank you so so much!!
Meg

Also, here is part of my .sh script:

3dDeconvolve \
    -input /derivatives/fmriprep/sub-${subject}/ses-01/func/sub-${subject}_ses-01_task-card_dir-AP_space-MNI152NLin2009cAsym_desc-preproc_bold_smooth6mm+MNI+tlrc.BRIK \
           /derivatives/fmriprep/sub-${subject}/ses-01/func/sub-${subject}_ses-01_task-card_dir-PA_space-MNI152NLin2009cAsym_desc-preproc_bold_smooth6mm+MNI+tlrc.BRIK \
    -polort 4 \
    -num_stimts 3 \
    -stim_times 1 /derivatives/card/AFNI/modified/sub-${subject}_reward.1D 'BLOCK' -stim_label 1 reward \
    -stim_times 2 /derivatives/card/AFNI/modified/sub-${subject}_punish.1D 'BLOCK' -stim_label 2 punish \
    -stim_times 3 /derivatives/card/AFNI/modified/sub-${subject}_baseline.1D 'BLOCK' -stim_label 3 baseline \
    -gltsym 'SYM: reward -baseline' -glt_label 1 'reward vs baseline' \
    -gltsym 'SYM: punish -baseline' -glt_label 2 'punish vs baseline' \
    -gltsym 'SYM: reward -punish' -glt_label 3 'reward vs punish' \
    -gltsym 'SYM: punish -reward' -glt_label 4 'punish vs reward' \
    -bucket /oscar/data/jbarredo/nstb/derivatives/card/firstlevel/sub-${subject}_deconvolve_results

Hi Meg,

3dDeconvolve needs to be told whether there are durations (duration modulators) or amplitude modulators, and the basis function for DM will be one of the "dm" variants, probably dmUBLOCK.

  1. Each row of the timing file should correspond to a run, and your onset:durati
    on format is good.

  2. Specify the DM timing files using -stim_times_AM1 (if there are no additional modulators, or -stim_times_AM2 if there are).

  3. Use the dmUBLOCK basis function, rather than a simple BLOCK. It will still use the BLOCK shape as the convolution kernel.

See deconvolve_block for details on these points.

Does that seem reasonable?

-rick

Hi Rick,

Thank you so much for your quick reply- I really appreciate it! Yes, this worked! This is a lot clearer now.

Thanks again and have a great weekend :slight_smile:
Meg