Trial-by-Trial ROI response?

Hey everyone:

Sorry for the beginner question. I want to look at the response of a particular ROI to stimuli on a trial-by-trial basis. After performing a more ‘traditional’ ROI analysis on the beta weights of (e.g.) the amygdala I found no difference in the amygdala’s response to different stimuli but I believe this is in large part because the amygdala habituates quickly. So basically I want to look at the amygdala’s response (and potentially the IRF) to trial 1, trial 2, etc. Like a lot of studies though, my design is event related (not block) so I can’t just look at the scaled time course (pre deconvolution).

Is there an option in the deconvolution program (or a different program) where I can get trial by trial responses or trial by trial IRFs?
Will -stim_times_IM give me what I’m looking for? It seems like this might work to give me individual numbers - betas? - that I could pull out of an ROI mask to show how the ROI responds over which, which would be one of the things I want.

I also know I can get IRFs with the iresp option but does that just give me one average IRF? If so, is there a way to get individual trial IRFs for a specific ROI?

Thank you so much.


-stim_times_IM works for both voxel-wise and ROI-wise analysis with 3dDeconvolve/3dREMLfit.

is there a way to get individual trial IRFs for a specific ROI?

Are you referring to estimating the hemodynamic response through multiple basis functions such as TENTzero instead of presuming a fixed-shape IRF such as BLOCK(d,1)? If so, it is most likely unfeasible to estimate the IRF at the trial level with an event-related design.

Thanks Gang!
Sorry my second question wasn’t clear but you basically interpreted it correctly. That’s what I thought as well (it not being feasible at the event related level) but it’s nice to have it confirmed.

Two final questions: I’ve used PROC_PY to generate my preprocessing scripts for the first analysis run-through. For the final analysis I am using 3dREMLfit to get my stats but I notice my REML command, as generated by PROC, uses the Xmat created by the previous 3dDeconvolve command as I’ve copied below.

3dREMLfit -matrix X.xmat.1D \
 -input "pb05.sub-S08V1A.r01.scale+tlrc.HEAD pb05.sub-S08V1A.r02.scale+tlrc.HEAD pb05.sub-S08V1A.r03.scale+tlrc.HEAD" \
 -tout -Rbuck stats.sub-S08V1A_REML -Rvar stats.sub-S08V1A_REMLvar \
 -Rerrts errts.sub-S08V1A_REML -verb $*

So I just wanted to check: 1) When I re-run new code using the


option do I need to rerun 3dDeconvolve with the


option, 3dREMLfit with the option, or both?

  1. Even though I ultimately will be using this output for an ROI analysis, I would still use the same input files as above, correct? These are whole-brain files. I’m assuming that I rerun whole-brain deconvolution with the new options then extract the ROI betas from the new output just like a “regular” ROI analysis.

Thank you for all of your help!


For your first question: yes, you need to rerun both 3dDeconvolve and 3dREMLfit with the option -stim_times_IM. For the ROI analysis at the individual subject level, there are two approaches: (1) perform whole-brain voxel-wise analysis and then extract the effect estimates at each particular ROI, (2) extract the EPI time series and perform regression analysis with the ROI time series. The two approaches will end up with similar (but not exactly the same) effect estimates, but you can directly obtain statistic value for the effect estimate from (2), but not (1).