I’m currently working on performing source reconstruction on MEG data, using a modified version of the github link posted above. We have a mesh which is co-registered with the MEG file, then we generate a forward solution and apply a LCMV beamformer, however we get some odd results. The problem is with the MNE Source Estimates, there is a DC shift, and the signal amplitude becomes positive.
I’ve included a screenshot of a single “problematic” subject. First, of a time series of the MEG data after pre-processing to show that the MEG signal is unique for each gradiometer. And second, the time series of the source estimate just after the beamformer is applied.
Any help or suggestions would be much appreciated.
from what I see from your script, you are setting the default for pick_ori in your call to make_lcmv. That default is None, which is described in the docstring as: Orientations are pooled after computing a vector beamformer (Default).
That means that the signals of each orientation are squared before they are summed up to give one time course per source point.
Thank you for the suggestion. Switching the ‘pick_ori’ to ‘max_power’ fixed the squared issue for all subjects, which is great news.
However, the time series of the source estimates for some subjects are complex numbers, and the signal shape for each of their dipoles is still the same, just like in the image I posted. For the other subjects, their times series are regular decimal numbers and their signal shapes are different for each dipole.
Do you have any ideas as to what might be causing that issue for some subjects?
Ah, I missed that part of your question the first time, sorry!
Is the signal the same for all the dipoles or just some?
What kind of forward model are you using?
And have you plotted your covariance matrix?
Sorry for the late reply. But the good news is that we were able to solve the issue.
The signal was the same for all the dipoles. What fixed the issue for us was to convert the forward solution to fixed orientation using mne.convert_forward_solution() and then when making the beamformer to specify ‘None’ for the noise_covariance because we are only using gradiometers.