Choice of inverse operator in case of resting state EEG

No question about the code per se, but I could use some help understanding the use of the inverse operator for resting state EEG data.

Is there any advantage in calculating the source PSD values/epochs on inverse operators derived from narrowband filtered data (delta, …, beta) over using the same inverse operator derived from broadband filtered data (1.5-40 Hz)?

Some context: the data is resting state and I intend to use the same noise covariance matrix (identity matrix) regardless of the frequency range of interest, which makes me believe I only need to compute the inverse operator for my broadband cortical signal, and not for each band seperately.

The reason I am asking is that I observe a small difference between both methods, e.g. for delta:
Method 1:inverse operator derived from broadband filter with fmin = 1.5 Hz and fmax = 4 Hz
Average power (6590,8)

[[9.56763174e-10 1.24931190e-09 1.52772841e-09 ... 1.76038614e-09
  1.67219170e-09 1.64530438e-09]
 [8.26087445e-10 1.17333296e-09 1.40139410e-09 ... 1.64014080e-09
  1.48380376e-09 1.40014022e-09]
 [8.47870981e-10 1.21117137e-09 1.49278952e-09 ... 1.78950599e-09
  1.52176490e-09 1.57311583e-09]
 [6.74411834e-10 9.78748067e-10 1.17202800e-09 ... 1.46453494e-09
  1.35993799e-09 1.39948656e-09]
 [6.40588818e-10 9.29214005e-10 1.11440379e-09 ... 1.39675566e-09
  1.29619498e-09 1.33795859e-09]
 [6.74045211e-10 9.75321145e-10 1.17137386e-09 ... 1.45750841e-09
  1.35316089e-09 1.38864280e-09]]

Method 2: inverse operator derived from passband filtered epochs (delta) with fmin =1.5 Hz and fmax = 4Hz
Average power (6590,8)

[[8.12947488e-10 1.00539618e-09 1.14412079e-09 ... 8.30747087e-10
  6.24956392e-10 4.70511543e-10]
 [6.93727387e-10 9.29477531e-10 1.04234848e-09 ... 7.98024045e-10
  5.65210628e-10 3.99083164e-10]
 [6.93049943e-10 9.34984033e-10 1.08525464e-09 ... 8.94035755e-10
  5.71421773e-10 4.49558812e-10]
 [5.62166366e-10 7.64839217e-10 8.61073072e-10 ... 7.08300891e-10
  5.06656670e-10 3.99428148e-10]
 [5.33802551e-10 7.25919640e-10 8.18221537e-10 ... 6.75188002e-10
  4.81844740e-10 3.81201676e-10]
 [5.62300131e-10 7.62615692e-10 8.60526621e-10 ... 7.05796791e-10
  5.05995182e-10 3.97951712e-10]]

As you can see, both methods lead to different results. In both cases, I use the function mne.minimum_norm.compute_source_psd_epochs.

Is only the second method here correct or are both correct?


Hello @TijmenWartenberg,

I don’t know the answer here with absolute certainty, so I’m tagging @agramfort, who might know!

Best wishes,

@agramfort is the expert

But my feeling is that you need to apply the same processing to the noise covariance as you do to the actual signal for it to be mathematically correct.


1 Like


I would say both solutions are valid. It depends on what you call noise here…
With one noise cov per band you have one inverse operator per band which
also means that the inverse mapping matrix is frequency specific. It can boost
the SNR in the frequency band of interest maybe… note that doing something
like this you end doing something conceptually similar to the DICS beamformer as you have
frequency-specific spatial filters.

to sum up yes it is 2 different things so don’t be worried if you have different results.

my 2c

Late thanks for your replies. I did make a decision eventually.