3dsvm with block-design data: use 3dTfitter? B)-


We’d like to do some multi-voxel pattern analysis using data from a simple block-design study with baseline epochs long enough for the HRF to settle. One fork in the decision tree for implementing this approach is whether to use for training and testing a series of betas from individual blocks of each condition (using, e.g., 3dLSS) or to use the preprocessed BOLD time-series. We’re opting for the latter since we have lots of TRs and not-so-many blocks per condition. With that decided, we need for training and testing to wed the actual task timing to the BOLD data which means deconvolving the HRF out of neural activity. To do this, would you recommend using 3dTfitter?

All best,


Hi Paul,

I would use each volume (instead of betas from individual blocks) and exclude block transitions (4-6 seconds) if you have a (true) blocked design and if you expect a steady-state signal after 2-6 seconds for each block. I would only recommend 3dDeconvolve, 3dLSS, 3dTfitter, etc. as an initial step for event-related or mixed designs. We’ve used 3dLSS with some success for event-related designs. I haven’t tried 3dTfitter yet…

[Side note: Keep in mind that 3dsvm temporally detrends the classifier output (-predictions) by default since we have seen drifts in the past. The drift depends on the level of preprocessing though. You can disable temporal detrending using the -nodetrend flag. I would also recommend using the -nopredscale flag to center the predictions around 0].

Hope this helps.


Thanks kindly for the tip, Jonathan!