Forward models
Head models and conductivity assumptions, fsaverage as a template, coregistration, the leadfield, and expected localization error.
Prerequisites: L5.3 · Surface Laplacian and CSD
4 claims on this page are unverified. TODO(confirm) marks a specific statement the author has not yet checked against a
primary source. Everything else on this page has been reviewed. Treat a marked claim as
provisional and go to the cited source rather than quoting the sentence.
Objectives
- Describe head models (sphere, BEM, FEM) and conductivity assumptions
- Use a template anatomy such as fsaverage, and coregister
- Compute a leadfield
- State expected localization error with templates and few channels
Why this matters
The forward problem — given a source, what appears at the electrodes — is the only part of source analysis that is well posed. Everything Level 5 goes on to do rests on it, and every assumption you make here propagates into every source estimate you produce later, silently. This lesson is also where the site runs into a wall that is itself teaching material: the two template anatomies that would have supplied a realistic head model are not openly licensed, so no boundary-element model ships, and the reason is exactly the kind of thing the “template versus individual MRI” objective is about.
Concepts
The leadfield is a matrix, and it is the whole forward model
Fix a head: its geometry, its tissue conductivities, the electrode positions. Fix a set of candidate source locations. Then the map from source activity to sensor voltages is linear and time-invariant (L5.1), so it is a matrix:
x(t) = L · j(t) + noise
x is the n_channels vector of measurements, j the source amplitudes at each candidate location and orientation, and L the leadfield (or gain matrix). Column k of L is the scalp topography a unit source at location and orientation k produces. That is the entire content of a forward model: a set of topographies, one per candidate source.
Three things follow.
- A forward model is a set of assumptions made visible. Every choice below — head shape, conductivities, electrode positions, source space — changes the columns of
Land therefore changes every inverse estimate computed from it. - The forward problem is well posed and the inverse is not (L5.5). Computing
Lis a physics calculation with one answer. Recoveringjfromxis not. - Orientation is part of the source. A source at a fixed position with three orthogonal orientations gives three different topographies, and any moment is an exact linear combination of them. The shipped asset uses precisely that: it stores three Cartesian orientations per position, which is a complete basis, not a sampling.
Head models, from cheapest to most expensive
Single homogeneous sphere. One conducting sphere, one conductivity, an analytic solution. No skull. Fast, checkable, and wrong in a specific direction: with no resistive skull it produces a larger and sharper scalp potential per unit moment than a real head does. This is the model behind L5.1’s simulator and behind this widget’s intro mode.
Concentric spheres. Several nested spherical shells with different conductivities — typically brain, CSF, skull, scalp. Still analytic, still spherical, but it now contains the one feature that dominates EEG: a thin, highly resistive skull. MNE’s default four-shell model, which this lesson uses, sets relative radii 0.90 / 0.92 / 0.97 / 1.00 and conductivities 0.33 / 1.00 / 0.004 / 0.33 S/m.
Boundary element model (BEM). Realistic surfaces — inner skull, outer skull, scalp — extracted from an MRI, each enclosing a compartment of uniform conductivity, with the potential solved numerically on those surfaces. Captures real head shape, which is the thing spheres cannot.
Finite element model (FEM). A volume mesh rather than surfaces, so conductivity may vary within a compartment and anisotropy (white-matter tracts, skull layers) can be represented. Most expensive, most assumptions available to get wrong.
The skull is the dominant conductivity assumption
In the four-shell model above, the skull’s conductivity is 0.004 S/m against the brain’s 0.33 — a ratio of 82.5 to 1 by construction. That single number is most of what a realistic head model changes about an EEG scalp map. TODO(confirm): the true brain-to-skull conductivity ratio is contested in the literature and modern estimates are substantially lower than the older textbook figure; the value used here is MNE’s default, not a measurement, and any lesson claim about the real ratio must be sourced before publication.
Getting it wrong has a specific signature. Because the skull spreads current laterally before it reaches the scalp, an over-resistive skull blurs the map and shrinks it; an under-resistive one sharpens it. In an inverse solution, that translates into a systematic depth and amplitude error, not into obvious nonsense — which is why it is rarely caught.
What actually ships here, and why it is not a BEM
Spec §6 asks this lesson to compare a sphere against a BEM. It cannot, and the reason is a licence, not an engineering limit. Both template anatomies that could have supplied one were verified against primary sources on 2026-09-18 and both fail the site’s snippet gate:
ds-fsaverageis governed by the FreeSurfer Software License Agreement v1.0 (February 2011), which covers “downloads of software and/or data”. It does permit derivative works and redistribution — but only by propagating the entire agreement onto every copy, which is a share-alike condition and not one of the permissive licences the site’s policy admits. The finding is settled. What makes it a finding rather than a lookup is that every convenient channel is silent: the archive MNE downloads contains no LICENSE file at all, the hosting node records no licence, and MNE’s dataset documentation names none. A check of only the convenient sources would have concluded there was nothing to worry about.ds-mne-sampleis genuinely contested and is an open decision for this site’s author. Four statements disagree: MNE’s own documentation grants no licence and adds a restriction (“provided solely for the purpose of getting familiar with the MNE software”); the channeldata_path()downloads from carries no licence record and no licence file; the OpenNeuro mirror ds000248 v1.2.4 declares CC0, and its README reproduces MNE’s acquisition paragraph verbatim while omitting the restriction sentence; and the archive bundlesfsaverage, so part of it inherits the question above.
The second case is worth sitting with, because it is not the usual “read the licence more carefully” story. Where several statements all permit redistribution and differ only about conditions, you can comply with all of them by obeying the strictest. “Familiarisation only” is not like that: it either governs, in which case nothing may ship, or it does not. There is no strictest-reading compromise, so the decision has to be made by a person.
So what ships in the widget’s forward mode is two concentric sphere models — one shell against four — carrying is_bem: false and this sentence, which the widget prints verbatim:
These are spherical head models, not a realistic (BEM) head model. They show what the skull’s conductivity does to a scalp map; they show nothing about real head shape. The realistic model is not shipped because its template anatomy is not openly licensed.
Two concentric spheres cannot move the peak channel. Both models share one centre and are symmetric about the line through the source, so adding shells can only shrink and blur the map, never shift where its maximum sits. A real head is not a sphere and can move it. This comparison therefore understates what a realistic head model would change, and “the peak stayed put” must not be carried away as a fact about head models in general.
One shell versus four: what the skull does
Four shells against one, same dipole, same 21 electrodes, 20 nA·m, both maps average-referenced over the compared channels. r is the spatial correlation of the two maps across channels — how much of the pattern they share. MAG is the ratio of their magnitudes — how much of the size. RDM is the conventional shape distance, and after average referencing it is exactly sqrt(2 − 2r), so it is a restatement of r rather than an independent fact.
| Dipole | r | RDM | MAG | Peak channel |
|---|---|---|---|---|
| Left temporal, tangential, 15 mm below the scalp | 0.922 | 0.394 | 0.376 | T7 to T7, 0 mm |
| Left temporal, radial, same place | 0.943 | 0.338 | 0.582 | T7 to T7, 0 mm |
| Vertex, radial, 15 mm below the scalp | 0.959 | 0.288 | 0.377 | Cz to Cz, 0 mm |
| Midline, radial, 45 mm below the scalp | 0.967 | 0.258 | 0.650 | Fz to Fz, 0 mm |
The pattern across the four rows is the lesson:
- The skull costs between a third and two thirds of the amplitude. A source that a skull-free model says produces 10 µV at the scalp produces 3.8 to 6.5 µV once a resistive skull is in the way, depending on where and how it is oriented. If you are calibrating anything against absolute amplitude, this is the term that dominates.
- The pattern survives, at
rof 0.92 and above in every case. The skull blurs and attenuates far more than it rearranges. - Orientation matters as much as depth. At the same position, the tangential source loses 62 % of its amplitude and the radial one loses 42 %. A tangential source’s field has to travel further laterally through the skull to reach the electrodes on either side of it, and pays more for the trip.
- Deep sources lose proportionally less. The 45 mm source keeps 65 % of its amplitude against the shallow ones’ 38 %. Its map was already broad, so there is less high spatial frequency for the skull to remove. The same effect across the whole stored grid: the median amplitude ratio runs from 0.778 at 72 mm below the scalp to 0.541 at 10.8 mm, and the map-shape similarity from 0.998 to 0.933.
A trap the widget had to fix, and why it is worth knowing
The stored model is precomputed on a grid of 1536 positions, so a dipole you place by hand almost never sits exactly on a stored one. The obvious implementation — compare the analytic sphere at your exact position against the stored map at the nearest one — folds grid error into what is presented as physics. On the vertex preset, that alone reported the skull’s effect as MAG 0.178 where the true value is 0.377: a two-fold error, in the direction of making the skull look more important than it is.
The fix is to snap once and evaluate both models at the same stored position, and to display the snap distance always. The general lesson is not about this widget: whenever you compare two models, check that they are being evaluated on the same thing. Comparing a template forward model at one source grid against an individual one at another is the same error at full scale.
Template versus individual anatomy
A template anatomy — fsaverage is the canonical one — is an average of many brains, so it is nobody’s. Using it means accepting a systematic error whose size depends on how far the subject’s head departs from the average, and that error does not average away across subjects in the way random error does.
What the site can say honestly about the size of that error is: nothing quantitative. TODO(confirm): the expected localization error of a template head model relative to an individual MRI, and its dependence on channel count, is a number this lesson must state and this site has not sourced; (Michel, 2019) is the reading-list entry and is the place to establish it. Do not quote a figure from memory, and be suspicious of papers that do.
Three components of the error are separable in principle and worth naming:
- Anatomy. The shape of the brain, skull and scalp; the depth and orientation of the cortical surface at the source.
- Coregistration. Aligning the electrode coordinate frame with the anatomical one, usually through the fiducials (nasion, left and right pre-auricular points) plus head-shape points. A coregistration error translates directly into a localization error and is the easiest of the three to check and the most often skipped: MNE’s coregistration tools report a fit residual, and the residual should be in the report.
- Electrode positions. Template positions assume a standard head; digitized positions measure the actual one.
ds-lemonships digitized positions for a large subject set and is the dataset for asking how much that matters. TODO(confirm):ds-lemon’s exact licence terms are recorded as unverified in the site’s catalogue.
Channel count and coverage, before any head model
There is a ceiling on what the electrodes themselves can see, and it binds before the head model does. The widget measures it directly: it reports how well its spherical-spline interpolation reproduces the exact analytic field it is drawing, on 19 to 21 electrodes.
| Source | Correlation with the exact field | Drawn peak over exact peak |
|---|---|---|
| 45 mm below the scalp, radial | 0.997 | 1.00 |
| 22 mm below the scalp, radial | 0.868 | 1.02 |
| 15 mm below the scalp, tangential | 0.711 | 0.26 |
A deep source survives a sparse montage nearly intact, because its field is broad and a sparse montage samples broad fields well. A shallow, focal, tangential source does not: at 19 electrodes its map is reproduced at r = 0.71 and its peak amplitude is off by a factor of four. That is not a defect of the interpolation; it is what nineteen electrodes can see. Coverage compounds it: a montage that stops above the ears samples the inferior temporal and occipital surfaces not at all, and no head model recovers a field that was never measured.
So the order of operations for a real study is: decide what you need to resolve, choose the montage, then argue about head models. A BEM on 19 channels is a precise calculation on an under-sampled measurement.
The data behind this lesson
- The shipped forward maps are synthetic: analytic concentric-sphere head models on MNE’s
standard_1005positions, 21 sites (the classic 19 plus Fpz and Oz), re-centred and scaled to a 9 cm sphere. Computed with MNE 1.10.2 bydata/scripts/make_forward_maps.py; no recorded data is involved and no dataset is cited, because none could be. - The grid: 8 shells at eccentricities 0.20 to 0.88, 192 Fibonacci-lattice directions per shell, 1536 positions, spanning 10.8 to 72.0 mm below the scalp. Nothing is stored outside those depths and the widget says so rather than extrapolating. Orientation is exact, not interpolated.
- The one-shell stored model is the same model the widget computes analytically in
intromode, so selecting it makes the two panels agree — the widget checking itself. ds-fsaverageandds-mne-sampleare listed in this lesson’s frontmatter because the lesson is about them. No asset derived from either ships, and no notebook here downloads either.- TODO(confirm):
RDMandMAGare the conventional names in the forward-modelling literature but have not been checked here against a primary source; a lesson that attributes them must verify first.
Explore
What to look for
- Press “Vertex, radial” and read the four numbers, not the maps.
rsays how much of the pattern the models share,MAGhow much of the size; here they agree on the pattern at 0.959 and differ on the size by a factor of nearly three. Deciding a map “looks the same” is not the same measurement. - Press “Left temporal, tangential” and then “Left temporal, radial” — the same place, two orientations,
MAG0.376 against 0.582. Orientation, not just depth, decides what the skull costs. - Watch the peak channel refuse to move, then read the disclosure under the maps. It cannot move, because both models are concentric spheres about one centre. This is the one result on the page you must not generalise.
- Read the “nearest stored dipole” line every time you move the source. Both panels are drawn for that stored position, deliberately, so that what you see is the head model and not the grid.
- Switch the stored model to the one-shell version. It is the same model the left panel computes analytically, so the two panels should now agree — and the line reporting how faithfully the spline reproduces the exact field is the “few channels” ceiling, before any head model is chosen.
Practice
Forward models without a boundary-element model: the leadfield on concentric spheres, one shell against four, what fewer electrodes cost, and template electrode positions against one subject's digitised set nb-5-4-forward
Downloads from ds-lemon.
The notebook builds forward solutions from head models that need no licensed anatomy: MNE’s sphere models, a volume source space, and a leadfield for a real montage, so that the leadfield’s shape, its dependence on conductivity and its dependence on electrode positions can all be computed rather than described. The comparison §6 asks for — a template BEM against an individual-MRI BEM — cannot be run from this site’s notebooks while both template anatomies fail the licence gate, and the notebook says so at the point where that cell would have been rather than quietly omitting it.
Exercises
Exercise ex-5-4-skull-numbers
NumericIn the widget's forward mode, select the 'Left temporal, tangential' preset (15 mm below the scalp, 21 channels, both maps average-referenced). Read off the spatial correlation r between the one-shell and four-shell maps, and MAG, the ratio of the four-shell map's magnitude to the one-shell map's.
Exercise ex-5-4-peak-channel
Multiple choiceAcross all four presets, the peak channel is identical in the one-shell and the four-shell model — T7 to T7, Cz to Cz, Fz to Fz, a separation of 0 mm every time. What does that establish about head models?
Exercise ex-5-4-few-channels
Multiple choiceOn a 19-electrode montage, the widget measures how faithfully the drawn map reproduces the exact analytic field. Which source is reproduced worst, and why?
Exercise ex-5-4-one-shell-vs-four
Free responseOne shell versus four — what does the skull do? Using the four presets, describe what changes between the two head models and what does not, and then state what this comparison CANNOT tell you about a realistic head model.
Pitfalls
Overclaiming source depth or precision
- Symptom
- "Hippocampal generator" from 32 channels and a template head.
- Cause
Two facts, and they compound.
- Detect
- Ask what else would have produced the same scalp data. For a deep claim, the answer is always “a superficial patch”, and the figure below is the demonstration. If the analysis cannot exclude it, the claim is not supported. - Compute the point-spread function at the claimed location. It needs no data — only the inverse operator and the leadfield, Res = W·L — so there is never an excuse for not k…
- Fix
- State the claim at the scale the resolution supports — lobar or broad regional, for a superficial cortical generator — and give the point-spread width at that location alongside it. - Prefer relative claims within one study. A difference between conditions computed through one pipeline shares its head-model, montage and prior errors between the two conditions, so much of the systematic error ca…
In other tools
In other toolsEEGLAB · FieldTrip — names only
The equivalents of what this lesson does, for a reader who works in another toolbox. Function names only: their own documentation is the place to learn how to call them.
EEGLAB
pop_dipfit_settingsdipfit pluginpop_leadfielddipfit plugin
FieldTrip
ft_prepare_headmodelFieldTripft_prepare_meshFieldTripft_prepare_sourcemodelFieldTripft_prepare_leadfieldFieldTrip
Names checked 2026-09-18 against EEGLAB 2026.0.0 (plugins at the versions in EEGLAB’s own plugin list) and FieldTrip 20251218.
Reading
- Michel & Brunet (2019). EEG source imaging practical review. unverified
- Gramfort et al. (2014). MNE software. unverified