P1 client w-measurement-explorer

Measurement Explorer

Switch measurement method and window on the same ERP and watch both the value and its across-subject variance move.

5 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.

Modes: default — the widget below runs in default. Use Share state to put the exact view in the URL.

Measurement Explorer

mode: default
Loading Measurement Explorer…

Data: ds-erpcore · license CC-BY-SA-4.0 · DOI TODO(confirm) · labels: algorithmic · a cropped, re-referenced or filtered derivative of the source recording. Share-alike. This asset is derived from a source whose licence requires that anything built from it carry the same licence. If you reuse it, distribute your version under CC-BY-SA-4.0 and keep the attribution below.
Kappenman, E., Farrens, J., Zhang, W., Stewart, A. X., & Luck, S. J. (2020). ERP CORE: An Open Resource for Human Event-related Potential Research. PsyArXiv. Paper DOI 10.31234/osf.io/4azqm. Dataset DOI 10.18112/openneuro.ds003069.v1.0.0, https://osf.io/thsqg/. Licensed CC-BY-SA-4.0; this is a derived asset and is distributed under the same licence (data/directory.yaml license_decision, section 13 item 15).

What it does

One noisy single-subject ERP, five ways of turning it into a number, and a noise control. Choose peak amplitude, mean amplitude, area, peak latency or fractional-area latency; drag the measurement window on the waveform; then either add seeded noise or thin the trial count, and watch two things at once — the value for this subject, and the spread of the same measurement across every subject the asset carries.

That second panel is the point of the widget. A measurement is not good or bad in isolation; it is good or bad relative to the variance it produces across subjects, which is what a group test has to see through.

Controls

ControlWhat it sets
MethodPeak amplitude, mean amplitude, area, peak latency, fractional-area latency
PolarityWhich extremum the peak measures take
Area modeSigned, rectified, positive-only or negative-only area
FractionThe fraction for the fractional-area latency (50% by default)
Measurement windowThe interval the measurement is taken over, draggable on the waveform
Baseline windowWhere the residual-noise estimate is taken
Noise modeAdd seeded noise, or keep a fraction of the trials
Noise level / trials keptHow much noise, or what percentage of trials survives
New noise drawAdvances the seed
Subject / conditionWhich subject and which condition (or the difference wave) is measured
Reference waveformDraw the noise-free shipped average behind the noisy one

What to look for

default

  • With the noise at zero, peak and mean amplitude agree about which subject is large and which is small. They are measuring the same waveform.
  • Raise the noise and every subject’s peak amplitude climbs, while the mean amplitudes stay put and only scatter. Noise can push a maximum further out but never pull it back, so the peak is biased upward by noise — which is what makes it unusable when conditions or subjects differ in trial count (pf-peak-amplitude-noise-bias).
  • Watch the across-subject panel, not only the single subject: peak amplitude has the wider spread at every noise level, so a real effect has to be larger before it can be seen through it.
  • Drag the window. A narrow window tracks the peak and inherits its noise; a wider one is steadier but mixes in whatever else falls inside it. A window chosen because it looked biggest is a post-hoc window (pf-post-hoc-windows).
  • Peak latency and fractional-area latency answer the same question differently: the peak latency jumps between local maxima as the noise changes, while the 50% area latency moves smoothly, because every sample in the window contributes to it.

Used in

  • L3.3 Measuring ERPs (default)

Data provenance

ds-erpcore — ERP CORE (Kappenman et al., 2021), open access, per-subject downloadable. Biosemi ActiveTwo, 30 EEG + 3 EOG electrodes in a 10-20 placement scheme, 1024 Hz, CMS online reference, 60 Hz mains, no software filters, 40 participants per paradigm.

Two assets, both from the P3 paradigm. The single-trial asset is sub-001 at Pz: 200 trials over −0.199 to 0.801 s at 256 Hz, baseline-corrected to (−0.2, 0) s, every trial kept — including the ones a rejection criterion would drop — with a per-trial pre-stimulus noise estimate, so trial count can be thinned for real rather than simulated. The index file adds 20 subjects’ per-condition average waveforms on the same time grid, computed over accepted trials only, which is what the across-subject variance panel is computed from. Derived: FIR band-pass 0.1–40 Hz at the native rate, epoched, re-referenced offline to the average of P9 and P10 (the montage has no mastoid sites; P9/P10 are the nearest stand-in), resampled 1024 → 256 Hz. Generated by data/scripts/extract_p2_widgets.py; measurement.json is the widget index, trials.json the §4.5 sidecar of trials.bin, and both are registered in data/manifest.json. The frame’s provenance line is the authority.

TODO(confirm): the asset sidecar records a licence conflict in the source — the OSF node record for thsqg says CC BY 4.0, the per-paradigm component’s own LICENSE file says CC BY-SA 4.0, and its dataset_description.json says CC0. The site states CC BY 4.0 on the strength of the node record; the author reconciles the three (§10.11 item 8, §13 item 22) and mirrors the entry into data/registry.yaml. TODO(confirm): the dataset DOI and paper DOI are TODO(confirm) in data/directory.yaml. TODO(confirm): the per-trial and per-subject rejection flags are label_source: algorithmic until the author reviews them (§4.5), so the accepted-trial counts behind the subject averages are provisional.

Open the code

site/src/components/widgets/w-measurement-explorer/Widget.svelte, index.ts, meta.ts, README.md. Repository link: TODO(confirm) (GitHub org/repo, §13 item 3).