Units before and after compute_current_source_density

  • MNE version: e.g. 1.7.0.dist
  • operating system: e.g. Windows 10

Hi all,

I am trying to use a CSD as part of an ERP analyses, following the methods of this paper and have some questions around it.

First, their method:

we used a standard surface Laplacian transform, as implemented in BrainVision Analyser software (Munich, Germany) using 3 as the degree of spline and 15 as a maximum of degrees for the Legendre polynomial (Perrin, Bertrand, & Pernier, 1987; Perrin, Pernier, Bertrand, & Echallier, 1989)

(I wasn’t sure whether this was to be done before epoching or not so just in case, I did it before. For the context of this example, I’m doing it after epoching)

  1. using this function, am I correct in putting: stiffness = 3, n_legendre_terms = 15 ?

  2. When I look at my voltage maps before and after, my value aligns with this example, where the before plot goes from -5 to 5 microvolts, and the after goes from -4 to 4 milliV/m2

In contrast to that, the paper linked above present “after” (response-locked) results that are around 30 to -30microV/m2 while their before (stim locked though, but I’m assuming it should be matched) goes from around 6 to -6 microvolt. Similarly, my co-supervisor mentioned seing mostly ERP amplitudes around 10-20 microV/m2

Are my settings or reasoning wrong? Do I need to convert something first?

  1. Finally, I have a similar problem as Issue with mne.viz.plot_compare_evokeds() and mne.grand_average(), where ylim within plot_compare_evokeds is ignored, and the y-axis seems to stop around -2,2 or -4,4 microvolt

Source file, code, and outputs are available in this link

Many thanks!

Arthur

2 Likes

@alexrockhill Could you have a look at this question?
Assuming distances between electrodes are in meters and the EEG is in Volts as it should be for MNE, do you know from the top of your head what unit should the CSD function spit out?

1 Like

Hmm, I’m not sure about that I did this with @larsoner so maybe he would know. We just ported the algorithm over from matlab and tested that it gave the same results so I didn’t dig into the methods too much…

1 Like

All data in MNE should be in SI units so the unit should be V/m^2 I think, and the code seems to suggest so, too:

1 Like

thanks for looking into this (just seeing the response now sorry)

So even if the data in MNE is in V/m2, I’m assuming that it is the plotting function that is automatically converting it into millivolt/m2, and that value is correct?

Anyways, looking into the study cited by the one I want to replicate (all by Kayser and Tenke) and their other reports, it seems that we are all aligned in terms of order of magnitude, excepted for that one paper.

So I’d say there’s no problem here.

For my last question, it turned out to be a me-problem! Thanks to @mscheltienne, turns out the issue was due to me wrongly setting the key to eeg instead of csd!

ylim=dict(csd=[-6, 2])

Maybe it could be worth adding the csd key on the description of ylim for

https://mne.tools/stable/generated/mne.viz.plot_compare_evokeds.html
https://mne.tools/stable/generated/mne.viz.plot_evoked_topo.html
https://mne.tools/stable/generated/mne.viz.plot_evoked.html

?

Thanks!