basis functions for movie data

Dear experts of AFNI,

I am using AFNI to analyze fmri data where monkey were training to watch movies.

The design was simple, 2.5min resting (no visual stimuls, no rewards) → 5 min movies watching (with regular rewards) → 2.5min resting
In total of 10mins, and many runs were collected.

I want to use the data to locate regions that “deactivated” (lower averaged BOLD response for example) during the movies-watching, compared with the resting period.
Since the stimulus was very long (5min), it seems not suitable to use the BLOCK(300) basis function to model the regression.

Is there any better basis function or other methods to model very long stimuli like movies?


Cirong Liu

When you say “many runs”, how many is “many”? The reason I ask is that it sounds like each run has one movie-event only, and averaging across events is part of the usual FMRI analysis strategy.

The answer to your specific question depends on the question you are asking about the time series shape during the movie interval, versus the pre- and post-movie rest intervals. If all you are asking is “the size of the average BOLD effect during the movie”, then 'BLOCK(300,1)" is a reasonable choice. But that does not mean you are expecting the BLOCK shape to fit the data well – it is just that the beta coefficient for the BLOCK shape for the 300 s movie interval will provide an estimate of the average signal change (up or down) during that interval. If you want a better fit, you could use ‘TENTzero(0,310,32)’ to provide an undulating fit – in this case, you would get 30 betas, and then you would have to average them to get the average response – which should be close to the result you would get from ‘BLOCK(300,1)’ – this averaging could be done with the proper 3dTstat command, if you parse out the details of the format of the output statistics dataset using 3dinfo. Negative average responses would correspond to “deactivation”.

Other details that occur to me, if you are using
[li] Use option -regress_motion_per_run if you are analyzing all runs for one subject in a single command.
[/li][li] Alternatively, analyze each run in a separate run, and then combine the results later somehow.
I have never analyzed datasets like this, so to some extent you’ll have to feel your way through the analysis pathways.