Change the default HRF for dmUBLOCK

Hello,

I would like to fit GLM using dmUBLOCK(-t) multiple times, each time employing a different HRF with varying peak times. For instance, given 4 HRFs peaking at 3, 5, 7 and 9s, GLM will be solved 4 times separately (using 3dDeconvolve to generate the design matrix and then solve it using 3dREMLfit), each time one of the HRFs is used for the whole brain.

The following is what I can do using the default HRF of dmUBLOCK. dmUBLOCK(-t) is used because my event duration varies from trial to trial (based on event annotations of simultaneous EEG recording inside the scanner, e.g., observational not designed task), and t is the average duration of each event type for interpreting the % change. My time file is onset married with duration, e.g., 36.8:2.1 for an event onset of 36.8s with 2.1s duration.

-regress_3dD_stop                                                            \
-regress_reml_exec                                                           \
-regress_stim_times       ./type1_dm.1D ./type2_dm.1D ./type3_dm.1D          \
-regress_stim_labels      type1 type2 type3                                  \
-regress_basis_multi      'dmUBLOCK(-0.2)' 'dmUBLOCK(-0.2)' 'dmUBLOCK(-3.7)' \
-regress_stim_types       AM1 AM1 AM1                                        \

It seems that dmUBLOCK has dmUBLOCK4 and dmUBLOCK5 options, but is there a way to define other HRF shapes like GAM and WAV do? Otherwise, if I use GAM or WAV, how can I normalize the regressor resulting from convolution in the way dmUBLOCK does? Alternatively, I can compute the desired regressor outside AFNI, but is there a way to feed it to afni_proc.py? Thanks a lot.

Best,
Zhengchen

1 Like