EEG units

HI,

I am curious about the units used for forward head modeling. Are they supposed to be microvolts on the scalp surface? I tried three different cortical source models as follows:

dipoles min forw soln max forw soln from
2,503 -1,912 2,016 Freesurfer (lh & rh.pial)
10,003 -2,041 2,016 FreeSurfer (" ")
64,000 -0.0028 0.0026 Human Connectome Project (?)

I read a post about units, but it mainly addresses the units for dipole sources after inverse solutions. I could not find anything about scalp voltages for the forward solution.

I understand how the sources are scaled by the size of the patches used, but I am not sure how this works the other way around. I note that the HCP dipole locations produce much smaller scalp EEG, which does not seem correct. If I were doing this, I would use unit dipoles, which fits with the observation that the 2,500 and 10,000 dipoles produce similar sized EEG values on the scalp.

Please enlighten me.

-Jeff

Hi Jeff,

All internal units in Brainstorm, with possibly minor exceptions in a few cases for user clarity, are in MKS, so the forward model is designed to transform current dipoles expressed as Amps-meter (A-m) into Volts, and therefore the units of the gain matrix are (for EEG): V / (A-m). When plotting, we often apply transformations to express in friendlier units, such as nA-m, microVolt, femtoT. But if you’re extracting the gain matrix results for further analyses, it should be MKS.

But I’m otherwise not following your question. By Freesurfer and HCP, you mean you imported a cortical surface into the Brainstorm Anatomy section, created an otherwise standard head model (skull and scalp surfaces), then created the gain matrix, then scanned the gain matrix for maxima and minima?

If so, have you tried viewing all of your surfaces and checking the scales? Is it possible that the HCP came in as millimeters, rather than meters, or some other mistake in scaling? That would be one explanation as to why the HCP is off by a factor of 1000.

  • John

Hi John,

Thanks for the details. I think you got what I was intending to say. I will double check a few things and see if I can understand the discrepancy.

One point to clarify. This is pretty basic, but I want to make sure. The EEG Gain matrix assumes unit dipoles, correct? So wherever the dipole positions come from, FreeSurfer or HCP or whatever, the entries in the Gain matrix represent Volts on the scalp surface base on a 1 amp-meter dipole at that location inside the head.

Thus the numbers I get of ±2,000 represent ± 2,000 Volts on the scalp from a 1 Amp-Meter dipole. If I scale both by 10^6, then a 1.0 mA-mm dipole produces ±2 microvolts on the scalp.

Best regards,
-Jeff

1 Like

Hi Jeff,

Correct, the EEG gain matrix converts A-m to Volts. Thus the units in the Gain matrix are (V / (A-m)).

Because units are very important, and because I have seen some spectacular scaling issues over the years, I always like to do a careful units cancellation when hopping around the orders of engineering units, in both numerator and denominator.

You’re correct 1 mA-mm * (A /1000 mA)*(m/1000 mm) = 10^(-6) A-m ( = 1 microA-m = 1,000 nA-m) (everybody has their favorite units).

However, you’re seeing 2,000 Volts * (10^6 microvolts / V) yields 2,000 microvolts (not 2 as you state!), or +/- 2 millivolts on the surface, over several thousand dipoles.

Let’s look at the conversion factors in a bit more detail, for the sake of the larger audience who may wander through here.

My personally favorite dipolar unit is the nA-m, since evoked activity generates nominally a 10 nA-m response, and interictal spikes are nominally 100 nA-m.

To convert from A-m to nA-m, the conversion factor applied to the gain matrix (where A-m is in the denominator) would be 10^(-9), i.e 1 ( V / (A-m)) * (1 A / 10^9 nA) = 10^(-9) (V / (nA-m)). To further convert to micro Volts, * (10^6 microvolts / V) yields

1 (V / (A-m)) = 10^(-3) (micro Volts / (nA-m)).

I looked at one of my EEG 3-sphere forward models for a young child, 23 channels by 15,000 dipoles, for a gain matrix in the head model that is 23 x 45,000 columns. I plotted the gain matrix values directly and saw a range of roughly +/- 300 (V/(A-m)), or 0.3 microvolts per nA-m.

I then adjusted the number of vertices to 2,000, reran the 3-sphere head model, and saw the same range, confirming that Brainstorm is not adjusting the scale of each cortical dipole by the number of sources.

Thus your “Freesurfer” results are consistent in that 2,000 or 10,000 dipoles does not affect the range. But at 2,000 V/(A-m), it seems a little large to me, but that may be a consequence of OpenMEEG vs 3-sphere. Can you rerun your FreeSurfer and HCP models using the simpler 3-sphere model?

The HCP definitely seems too small.

But let’s rule out (1) OpenMEEG instability by rerunning as 3-sphere, and (2) strange HCP units by checking also that the cortex is scaled correctly.

-John

PS, For those interested, there’s a long-winded description by me on the units in modeling at:
http://neuroimage.usc.edu/forums/showthread.php?1246-Doubt-about-current-density-units-pA-m-or-pA-m2&p=5453#post5453

Hi John,

I was hoping you could help me with a similar problem using FieldTrip.

I’m using dipole fitting and my inputs are in mm (CTF coordinates, BEM OpenMEEG headmodels (cond: [0.33 0.0041 0.33]) and BioSemi electrode positions) and uV (128 electrode EEG data) and getting an output .dip.mom field in the 10+3/4 scale. If I change my inputs to M and V I get 10-4 scale. I assumed if I changed to M and V I could be sure the .dip.mom field was in Am but I’ve been told to expect something in the nAm range for dipoles. I see in the FT dipole fitting MMN tutorial the axes are +/-0.2 but the unit isn’t given and the input is MEG and cm data.

Do you have any idea what the .dip.mom units are? If they are in uAmm or nAm they make sense but otherwise they’re too high and I’ve gone back through all the code rechecking that we consistently use mm and uV.

I’d really appreciate your help,