TDT: decoding analysis with a single chunk

Hi all - we want to use The Decoding Toolbox (3.999E) to perform a multivariate analysis of an fMRI task in which we’d like to decode condition. Our task has a block design and is completed in a single run. In this single run of the task, participants complete 16 blocks in total, 8 blocks of condition 1 and 8 blocks of condition 2. Each block is 14-18 s long and is separated by fixation on a central cross jittered between 8-12 s in duration. Because we have only 1 run of the task (i.e. 1 chunk), we are not sure about the best way to analyze the data. One option seems to be using a bootstrapping procedure (‘make_design_boot.m’ in TDT). Is this the best way to perform this analysis? Thanks in advance!

Hi Sreda,

Wow, that’s not a lot of data. I’m not sure that this will work unless you are dealing with strong signal or have a lot of participants.

I’d suggest generating a separate regressor for each block and then leave pairs of blocks out that belong to either condition. This means you should ideally set up your design manually (i.e. define filenames, chunks, and labels). make_design_boot.m will turn out to be a little inefficient even though it would get the job done (since it will sample randomly and will probably . If you know a little bit about combinations, then you could figure out all pairs of trials that you could leave out (always leave one of each one out). This should also give you a more accurate estimate of the information content. The accuracies will likely be low but this shouldn’t matter much since the data are just noisy. Only the group-level analysis will probably tell if there is an effect to be found.

Just to clarify, I’ll assume you run conditions 1 and 2 interleaved (i.e. 1 2 1 2 1 2 …). In the first iteration, you could leave out the first two, in the next the second two, in the next the third two, etc. However, you could additionally leave out the first together with the fourth, or together with the sixth, etc. That will give you a lot more possible combinations, I think it might be 36. See below for the relevant indices to be left out assuming interleaved presentation of both conditions.

Another hack you could do is take make_design_boot.m and just generate a lot of iterations and only keep unique columns in the design matrix. Just using make_design_boot.m should not be terribly inefficient since TDT will recognize when training data is the same and will only train a classifier once (i.e. the only overhead exists for repeatedly testing the same pair of left-out trials).


1 2
1 4
1 6
1 8
1 10
1 12
1 14
1 16
3 4
3 6