ICA on multiple runs

mne-bids-pipeline 1.9

Hello!

I’m using MNE-BIDS-Pipeline with resting state CTF data, with 5 runs per subject (1 “true” resting state + 4 meditation states without events, all to be processed in the same way). I have individual MRIs and emptyroom as noise data.

I would like to perform coregistration for each run, but it seems to me that the pipeline coregisters only one time, then concatenates the runs before ICA.

Am I right?

Ideally I would like to coregister each run, concatenate them, then run ICA.

Can I do it? What do you suggest me?

Regarding the source reconstruction steps, I concluded that I cannot do it with the pipeline at the current version (as it only supports evoked data), and I’m performing it with external code. I’m now wandering if also this other issue may force me to abandon the pipeline.

UPDATE: another option that came to my mind to bypass the problem (if effectively it exists) is to run the full pipeline on each run separately (knowing I would perform ICA on single runs instead of a concatenation). What’s your view on it? Is it feasible?

1 Like

When you say “coregistration” you mean MRI←→Head coregistration, or something else? In theory you should only need to do this once…

If you mean Head←→MEG coreg, if you want 5 different coregs you’ll need 5 different forwards and 5 different inverses, and indeed MNE-BIDS-Pipeline isn’t well designed to handle this. You could probably force it do to so by calling each one a different “session” (at least on the latest main version of MBP). But the assumption is that all runs within a given session have the same MEG←→Head alignment (or that you’ll use Maxwell filtering step to virtually transform all runs to the same position+rotation).

For source recon, you can have the pipeline create a minimum-norm source imaging kernel for your data, then you would need to apply it separately (MBP does only support applying the kernel to evoked data within-pipeline).

1 Like

Thanks for the answer.

Yes, I meant head ←→ MEG coregistration (raw.info[‘dev_head_t’]). And yes, we want a fwd and inv operator for each run, in order to account for head movements inside the MEG device.

1 Like