Question on Finite Impulse Response (FIR) Analysis : Should Regressor Files Include Duration or Onset Only?

AFNI version info (afni -ver): Version AFNI_21.1.12 'Domitian'

Dear experts,

I am using Finite Impulse Response (FIR) analysis with the TENT basis function to analyze data from my own task-based fMRI experiment.

The task procedure is as follows: from 0–0.5 s, a white fixation cross is presented; from 0.5–5.5 s, a premise image is shown; then a premise with conclusion image is presented for 14 s, during which participants must judge whether the conclusion is correct and provide a response. We have four conditions in each run, and for each condition the stimulus timing files only contain the onset times.

Currently, the stimulus text files representing the four conditions (lines 6–9 in the code) only require onset times. My question is: if I want to regress out the previously presented premise (the text file in line 3 of the code) and the incorrect trials (the text file in line 11), should these stimulus files include only the onset times (consistent with the files in lines 6–9), or should both onset and duration be specified?

Below is the relevant part of the current code (due to space limits, only one “if” branch is shown):

if [[ $run -eq 1 ]]; then
		pre_files=(
		$stim_dir/${subj_lower}-ling2-premise.txt
		)
	    base_files=(
		$stim_dir/${subj_lower}-ling2-11.txt
		$stim_dir/${subj_lower}-ling2-12.txt
		$stim_dir/${subj_lower}-ling2-21.txt
		$stim_dir/${subj_lower}-ling2-22.txt
	    )
	    error_file=$stim_dir/${subj_lower}-ling2-error.txt
fi

	afni_proc.py -subj_id ${subj}_r${run} \
	    -script proc.${subj}_r${run} -scr_overwrite \
	    -blocks regress \
	    -dsets $epi_file \
	    -regress_stim_times "${stim_files[@]}" \
	    -regress_stim_labels $stim_labels \
	    -regress_basis 'TENT(0,14,8)' \
	    -regress_stim_types $stim_types \
	    -regress_opts_3dD -jobs 10 \
	    -regress_motion_file $motion_file \
	    -regress_censor_extern $censor_file \
	    -regress_reml_exec \
	    -regress_3dD_stop 

I would greatly appreciate it if the experts here could provide suggestions on how to modify this script.

Thanks so much.

Hello,

Just to be sure, hopefully there is random ITI between such task trials, is that the case?

Regarding durations, note that a TENT function has no duration convolution. When one models using TENT, the total duration is part of the model. For example, with a 4s stimulus and expecting say a 12s BOLD response, one might use a 16s TENT interval (possibly cutting off endpoints, depending on your preferences). So your -regress_basis option might be specified with a list of basis functions, rather than a constant one.

So one difficulty with TENTs is in separating adjacent conditions. That 12s expected BOLD response would be the temporal overlap between responses to adjacent events. Here there is a 5.5 premise image (for which one might expect the BOLD response to last approximately 17.5s, for example) followed by a 14s conclusion image (for which one might expect a 26s response). If they are both modeled with TENTs, there is no way to detangle the ~12s after the end of a premise image from the first 12s after the start of a conclusion image. In such a situation, many people will model the "less important" condition using a fixed shape kernel, and then use TENTs for the "more important" condition.

Does that seem reasonable?

-rick