translationalneuromodeling / tapas

TAPAS - Translational Algorithms for Psychiatry-Advancing Science
https://translationalneuromodeling.github.io/tapas/
GNU General Public License v3.0
211 stars 88 forks source link

Confusion over how to cope with multiband acquisition in TAPAS Physio #231

Open spiderssilk opened 1 year ago

spiderssilk commented 1 year ago

Greetings,

I've been looking through past posts, but I still don't have insight as to how to cope with multiband acquisitions in Tapas Physio. I use the custom format to specify the cardiac and respiratory inputs. We have a long TR considering it is a multiband acquisition on a Siemens Tim Trio 3T machine (we're doing fMRI in animal subjects). Specifically, TR = 3, acceleration factor = 2, and slices = 76. For the realignment preprocessing step in SPM, I specify a slice timing file which is just a list of relative times (in ms) specifying when each slice was acquired within the TR.

For example:

2197.5 0 1490 80 1570 157.5 ...and so on (slice 2 and slice 40 are acquired at the start of the TR).

My question is: how can I utilize this information to more accurately extract RETROICOR regressors? In other words, can I reformat the slice timing info into something TAPAS can use? If I choose a single slice, my understanding is the program will assume these are acquired sequentially in time. For most multiband scenarios, the TR is less than 1sec, so it probably doesn't much matter if you would take that approach, but with a TR of 3 seconds it could make quite a bit of difference, also considering the resting heart rate of our animal subjects is much higher than that of humans.

Thanks for any advice.

Tasha

mrikasper commented 1 year ago

Dear Tasha,

My apologies for the late reply. Solving the multiband timing input is unfortunately a well-known (and requested) missing feature in PhysIO, but there are some workarounds, see for example this thread and the links therein.

Basically, you can ask PhysIO to extract regressors for each of your slice events, by setting

This way, you will get 38 regressor matrices (text files named multiple_regressors1.txt...multiple_regressors38.txt or similar) that correspond to the different slice acquisition events you have in one TR. The label is in time (not spatial location), i.e., the file with label 1 would refer to slices 2 and 40 in space. There is no automatic sorting, but unfortunately, SPM also doesn't support different GLMs for different slices, so you would have to decide on one "most relevant" slice you want to align the regressors to.

You can also use other software packages that support slice-specific GLMs with the respective multiple regressor txt-file created by PhysIO. In that case, if you have a mapping [slice location in space] -> [slice timing position within TR], you can use that to rename/copy the files to reflect spatial slice position instead of time.

I hope that helps, my apologies that there is no automatic option yet - if you are interested in implementing this, please reach out, I can show you some points to start from.

All the best, Lars