We simulate a resting-state EEG experiment comparing the Alpha Power of two groups across 10 channels. After running an independent-samples t-test at each electrode, we obtain one t-value per channel. The map below shows the raw statistical landscape we need TFCE to interpret.
Our target electrode is Fz, which sits at a respectable peak of t = +2.5. Rather than ask "is this number significant in isolation?", eTFCE asks: "How much topological support does this peak receive from its entire neighbourhood?"
| Channel | Physical Neighbors (The Adjacency Web) |
Alpha Power (t-value) |
|---|---|---|
| Fpz | F3, Fz, F4 | +1.5 |
| F3 | Fpz, Fz, C3 | +1.5 |
| Fz (Target) | Fpz, F3, F4, Cz | +2.5 |
| F4 | Fpz, Fz, C4 | +1.5 |
| C3 | F3, Cz, P3 | −1.2 |
| Cz | Fz, C3, C4, Pz | 0.0 |
| C4 | F4, Cz, P4 | −1.2 |
| P3 | C3, Pz | −1.2 |
| Pz | Cz, P3, P4 | −2.0 |
| P4 | C4, Pz | 0.0 |
🗺 Interactive Adjacency Explorer
Hover over any electrode to reveal its physical neighbours on the scalp
👆 Hover over an electrode to explore its adjacency
Phase 1 Splitting the Universes
Before any integration happens, eTFCE performs a polarity split. Positive and negative signals are separated into two independent universes to prevent zero-crossing crashes — a signed peak riding through zero would otherwise cancel itself out mid-calculation.
Our target electrode Fz has a t-value of +2.5, so it lives in the Positive Universe.
⊕ Positive Universe
Fpz: 1.5
F3: 1.5
Fz: 2.5
F4: 1.5
all others: 0.0
⊖ Negative Universe
Fz was positive, so it is locked to 0.0 here. It will accumulate exactly 0.00 mass in the negative tail — which we will use in the final recombination step.
Phase 2 Defining the Exact Slices (eTFCE)
The key difference between classical TFCE and exact TFCE (eTFCE) is how the integration steps are chosen. Instead of a user-defined step-size swept from zero to the maximum, eTFCE uses only the unique height values actually present in the data as its integration boundaries.
In the Positive Universe, the only values are 1.5 and 2.5. Because integration always starts from the "ground" (height = 0), this gives us exactly two horizontal slices:
Slice 1
From $0.0 \rightarrow 1.5$
Step height $\Delta h = 1.5$
Slice 2
From $1.5 \rightarrow 2.5$
Step height $\Delta h = 1.0$
Standard MEEG Parameters
We use the standard weights from Mensen & Khatami (2013):
- Extent exponent $E = 0.5$ (i.e., square root of cluster size)
- Height exponent $H = 2.0$ (i.e., height squared)
where $e$ = cluster extent (number of electrodes), $h$ = threshold height of the slice, $\Delta h$ = slice thickness.
Phase 3 The Integration Loop for Fz
For each slice, the algorithm performs three sub-steps: (i) build a binary mask of surviving channels, (ii) trace the connected cluster containing Fz via the adjacency web, and (iii) accumulate the slice mass.
The broad frontal foundation
Step i — Binary Mask.
Every channel whose value $\geq 1.5$ becomes 1; the rest become 0.
Step ii — Adjacency Check.
Fz is a 1. The algorithm traces its physical neighbors from the adjacency table:
- Fpz → 1 (Connected)
- F3 → 1 (Connected)
- F4 → 1 (Connected)
- Cz → 0 (Bridge broken)
Fz, Fpz, F3, and F4 form a single, unbroken frontal cluster. The cluster extent $e = 4$.
Step iii — Calculate Mass for Fz at Slice 1:
The isolated peak
Step i — Binary Mask. The threshold rises to 2.5. Only channels with value $\geq 2.5$ survive.
Step ii — Adjacency Check.
All frontal neighbours of Fz have dropped below the threshold and become 0.
Fz now stands completely alone.
Fz is a cluster of one. The cluster extent $e = 1$.
Step iii — Calculate Mass for Fz at Slice 2:
Phase 4 Final Recombination
The integration loop is complete. We now sum the per-slice masses from the Positive Universe and subtract any mass from the Negative Universe.
| Universe | Slice | Mass | Running Total |
|---|---|---|---|
| Positive | Slice 1 ($h=1.5$, $e=4$) | 6.75 | 6.75 |
| Positive | Slice 2 ($h=2.5$, $e=1$) | 6.25 | 13.00 |
| Negative | Fz locked to 0 in this universe | 0.00 | 0.00 |
| eTFCEFz = Positive − Negative = 13.00 − 0.00 | +13.00 | ||
Final eTFCE Score — Electrode Fz
Final Intuition Check What the Math is Really Saying
Look at how beautifully the mathematics mirrors the neuroscience.
Fz had a raw peak of +2.5. When it was at the top of its peak (Slice 2), it was standing alone — its cluster extent was 1, so it accumulated mass slowly (only $6.25$). This reflects the biological reality that an isolated peak, no matter how tall, carries limited interpretive weight.
But because Fz was resting on a broad, highly active frontal foundation (Slice 1 — the wide plateau shared with Fpz, F3, F4), its frontal neighbours literally pushed it up, donating a massive bonus of $6.75$ to its base. The cluster's spatial breadth was captured, not just the electrode's height.
By integrating both the broad foundation and the isolated peak, eTFCE successfully captured the total topological volume of electrode Fz — a quantity that is simultaneously sensitive to height and spatial extent, without any arbitrary threshold choice.
The practical upshot: TFCE will naturally score a tall, spatially isolated blip lower than a moderately tall but spatially broad cluster. This is exactly what we want — true neural effects tend to be topographically coherent, whereas noise spikes tend to be spatially isolated. TFCE exploits this distinction mathematically, giving you mass-univariate inference that respects the spatial structure of EEG data.