mne.beamformer.make_lcmv, ,reduce_rank=True or False

Hello,
I’m trying to do Volume source reconstruction en MEG data (no EEG).

filters = make_lcmv(info, forward, data_cov, reg=0.05,reduce_rank=True,
                                    noise_cov=noise_cov, pick_ori='max-power',
                                    weight_norm='unit-noise-gain', rank=rank)

What is your recommendation for reduce_rank?
Best

  • MNE version: 0.24.0
  • operating system: Ubuntu 18.04

Hi Leila,

with MEG data, one of the three orientations of your forward model can carry mostly noise. (Note that this is only true for MEG though, not EEG - it arises, because MEG is insensitive to radial components).
If you follow this assumption, you can set reduce_rank to True to discard this orientation. If you use a spherical headmodel, this is even strictly necessary for MEG data.
If you want to read a little more about this, you can have a look here: https://doi.org/10.1016/j.neuroimage.2021.118789 where we discuss this in more detail under section 3.3.

Hope this helps,
Britta

1 Like

Hi Britta,
Many thanks for your response, it’s very helpful. An other question, I have another question, I fixed the noise and data rank as follows :


rank = mne.compute_rank(data_epochs, rank='info')
noise_rank = mne.compute_rank(Noise_epochs, rank='info')
noise_rank['meg'] = np.min([rank['meg'], noise_rank['meg']])

data_cov = mne.compute_covariance(epochs, method='empirical', rank=rank)
noise_cov = mne.compute_covariance(Noise_epochs, method='empirical', rank=noise_rank)

filters = make_lcmv(data_epochs.info, forward, data_cov, reg=0.05,reduce_rank=True,
                                    noise_cov=noise_cov, pick_ori='max-power',
                                    weight_norm='unit-noise-gain', rank=rank)

Does this seem fair to you?

Hi Leila,

that depends a little on your data / what you want to achieve. It is for example not strictly necessary to supply a noise covariance to the beamformer (unless you want to combine channel types, e.g. EEG and MEG or gradiometers and magnetometers). If you need to take care of the rank in the special way you do then also depends on whether your noise epochs are from a different recording than the data epochs - if they are from the same recording, you process them similarly (e.g. wrt ICA or projectors), and you have a sufficient amount of samples for each, then they should have the same rank.

Similarly with regularization: I would probably not regularize unless you know it is absolutely necessary (e.g. because your data is severely rank deficient) - it will decrease your spatial resolution.

Unfortunately there are no definitive answers to this, as it depends a lot on data quality etc.

Hope this helps,
Britta

1 Like