EEGdash›NeMAR›NM000456
Iss. 456 · 13 subjects · 69 recordings · CC-BY-NC-SA-4.0
Dataset Brief · Human-AI collaboration for co-managing epilepsy in real time

NM000456: eeg, ieeg dataset, 13 subjects#

Human-AI collaboration for co-managing epilepsy in real time: scalp EEG and SEEG from 13 epilepsy monitoring unit patients

Access recordings and metadata through EEGDash.

Citation: Haoer Shi, Zack Goldblum, William Ojemann, Carlos Aguila, Kerry Nix, Katherine Walsh, Sarah Lavelle, Kathryn Davis, Nishant Sinha, Erin Conrad, Brian Litt (20). Human-AI collaboration for co-managing epilepsy in real time: scalp EEG and SEEG from 13 epilepsy monitoring unit patients. 10.82901/nemar.nm000456

Modality: eeg, ieeg Subjects: 13 Recordings: 69 License: CC-BY-NC-SA-4.0 Source: nemar

Metadata: Complete (100%)

13-participant EEG, iEEG dataset — Human-AI collaboration for co-managing epilepsy in real time: scalp EEG and SEEG from 13 epilepsy monitoring unit patients.

EEG, iEEG · 46 (62), 148 (6), 186 ch256 Hz · mixedBIDS 1.10.0Task · monitoring
Layer 01Study
What was asked
Hypothesis, independent & dependent variables, paradigm, cohort, and the editorial caveats around what the recordings can and cannot answer.
Layer 02Signal · BIDS
What was recorded
Sidecars, channels & electrodes, coordinate system, event semantics, and quality stats from the NEMAR pipeline when available.
Layer 03Training · ML
What you can train on
Recommended access modes — MNE Raw, braindecode windows, PyTorch DataLoader — plus the targets the metadata makes addressable.
§ 01Access · Get started

Quickstart#

Install

pip install eegdash

Access the data

from eegdash.dataset import NM000456

dataset = NM000456(cache_dir="./data")
# Get the raw object of the first recording
raw = dataset.datasets[0].raw
print(raw.info)

Filter by subject

dataset = NM000456(cache_dir="./data", subject="01")

Advanced query

dataset = NM000456(
    cache_dir="./data",
    query={"subject": {"$in": ["01", "02"]}},
)

Iterate recordings

for rec in dataset:
    print(rec.subject, rec.raw.info['sfreq'])

If you use this dataset in your research, please cite the original authors.

BibTeX

@dataset{nm000456,
  title = {Human-AI collaboration for co-managing epilepsy in real time: scalp EEG and SEEG from 13 epilepsy monitoring unit patients},
  author = {Haoer Shi and Zack Goldblum and William Ojemann and Carlos Aguila and Kerry Nix and Katherine Walsh and Sarah Lavelle and Kathryn Davis and Nishant Sinha and Erin Conrad and Brian Litt},
  doi = {10.82901/nemar.nm000456},
  url = {https://doi.org/10.82901/nemar.nm000456},
}
§ 02Study · The README

About This Dataset#

BIDS version of Pennsieve Discover dataset 696 version 2, “Data for Human-AI Collaboration for Co-Managing Epilepsy in Real Time”

(Shi, Goldblum, Ojemann, Aguila, Nix, Walsh, Lavelle, Davis, Sinha, Conrad, Litt; doi:10.26275/xbu9-ulpn; licence CC-BY-NC-SA-4.0, kept unchanged). Paper: Goldblum Z, Shi H, Xu Z, et al., “An Implantable Device that Converses with Patients and Learns to Co-Manage Epilepsy”, medRxiv 2026, doi:10.64898/2026.01.26.26344234. Ethics: University of Pennsylvania IRB protocol #849276. Task / paradigm. Inpatient prototype linking scalp and intracranial EEG to a conversational AI agent on the patient’s smartphone during continuous video-EEG monitoring in the Penn Level 4 EMU; 13 patients; seizure detection retrained with patient/clinician feedback (Goldblum, Shi et al., medRxiv 2026, doi:10.64898/2026.01.26.26344234, abstract and Methods). Deposit: one EDF per recording day (raw_data/edf/PennEPIxxxxx/PennEPIxxxxx_dayNN.edf, 69 files), annotation CSVs (seizure_events, patient_events, sleep, medications, databricks_events) and model outputs (deposit readme.md). Modality.**participants.tsv recording_type: 11 of 13 patients are Scalp** EEG; only 2 are SEEG (PID007 = PennEPI00202, PID013 = PennEPI02154) (deposit files/participants.tsv). The atlas modality “ECoG+SEEG” should read “scalp EEG + SEEG (2 of 13)”. Recording system / filters. Processing: bandpass 0.5-100 Hz (scalp) and 0.5-250 Hz (iEEG), notch 60 and 120 Hz; CAR or bipolar re-referencing per algorithm (paper Methods “Cloud data processing”). Acquisition amplifier and sampling rate not stated (n/a; read from EDF headers). Localisation method. None in the deposit or paper: only clinical lobe-level epilepsy localization and laterality per patient (participants.tsv Localization/Laterality). PennEPI00202 and PennEPI02154 (the 2 SEEG patients) are not among the 104 public PennEPI single-subject releases, so no public electrode localisation exists for them.

together as one dataset as deposited.

DOI

Human-AI collaboration for co-managing epilepsy in real time (scalp EEG + SEEG)

  • One EDF per deposit recording day: sub-<id>_task-monitoring_run-<NN>_<eeg|ieeg>.edf, run NN = deposit day number (file dayNN); 69 recordings. Scalp: 46 signal channels at 256 Hz (10-20 + Fpz/Pz/A1/A2, F9/F10/T9/T10/P9/P10, LOC/ROC, EKG, X11-X18, DC1-4, OSAT, PR). SEEG: 1024 Hz depth contacts (L*), plus ECG, DC, TRIG, OSAT/PR/Pleth and unused inputs (C99-C128, typed MISC). Channel types are inferred from labels; references, amplifier and hardware filters are not stated by the source (n/a).

  • events.tsv per run from the deposit annotation CSVs: seizures (seizure_events), patient push-button events (patient_events),

View full README

DOI

Human-AI collaboration for co-managing epilepsy in real time (scalp EEG + SEEG)

  • One EDF per deposit recording day: sub-<id>_task-monitoring_run-<NN>_<eeg|ieeg>.edf, run NN = deposit day number (file dayNN); 69 recordings. Scalp: 46 signal channels at 256 Hz (10-20 + Fpz/Pz/A1/A2, F9/F10/T9/T10/P9/P10, LOC/ROC, EKG, X11-X18, DC1-4, OSAT, PR). SEEG: 1024 Hz depth contacts (L*), plus ECG, DC, TRIG, OSAT/PR/Pleth and unused inputs (C99-C128, typed MISC). Channel types are inferred from labels; references, amplifier and hardware filters are not stated by the source (n/a).

  • events.tsv per run from the deposit annotation CSVs: seizures (seizure_events), patient push-button events (patient_events), sleep-stage onsets (sleep), medication administrations (medications) and patient annotations through the human-AI platform (databricks_events). Onsets are seconds from the EDF start; events outside the span of any EDF stay only in sourcedata/annots.

  • derivatives/humanai-seizure-detection/: the deposit’s intermediate_data (CITL day-by-day predictions, fine-tuning runs, metrics) - model outputs, not raw data.

  • sourcedata/: annots/ (deposit annotation CSVs, dates scrubbed as below), pennsieve/ (deposit readme, changelog, manifest, participants table and sidecar), edf_provenance.tsv (deposit path -> BIDS path, sha256 of the data records of both files), edf_discontinuities.tsv (EDF+D record gaps).

Conversion and privacy review (2026-10-08)

  • The EDFs are the deposit files with a header-only edit. Every header was scanned: patient field X X X X, recording field Startdate DD-JAN-2001 X X X, no names or hospital numbers in any header or channel field, and no text in any EDF+ annotation of any data record. The deposit had already shifted all dates to January 2001 with DD = deposit day; following the release rule (keep year and month, day -> 01) the day was set to 01 in the startdate field and in the Startdate recording subfield of 58 files (the other 11 files already had day 01 and are byte-identical to the deposit). The data records are unchanged: sha256 of the data region of each written file equals that of the deposit file (sourcedata/edf_provenance.tsv). The original headers of the edited files (only difference: the day number, which is kept as the run label / scans.tsv deposit_day) are not redistributed; the unchanged deposit files remain at the DOI above.

  • Annotation CSVs and model outputs: every timestamp column has its day set to 01, and the deposit day is kept in an added <column>_deposit_day column, so relative timing is preserved. One free-text medication note in participants.tsv contained a month/day calendar date; its day was set to 01.

  • PennEPI identifiers are research identifiers of the Penn epilepsy registry, used as subject labels as in the deposit.

  • Some scalp files are EDF+D (discontinuous; scans.tsv edf_subtype). RecordingDuration is the wall-clock span; gaps are listed in sourcedata/edf_discontinuities.tsv.

Overlap with other public data

Not in NEMAR, OpenNeuro, DANDI or EEGDash (searched 2026-10-07/08 by DOI, title, authors and PennEPI ids). Of the 13 patients, only PennEPI00037 also has a public PennEPI single-subject release (Pennsieve 613, doi:10.26275/zm8u-bo15), which holds a different, intracranial recording; the scalp EEG here is not part of it. The two SEEG patients (PennEPI00202, PennEPI02154) have no PennEPI release, and no electrode coordinates or contact localisation are public for them (participants.tsv gives the clinical lobe-level localisation and laterality only).

Electrodes

The two SEEG subjects have electrodes.tsv (contact names from the EDF labels, group = shaft prefix, x/y/z = n/a) and coordsystem.json (space Other, unknown): no electrode localisation is public for them. events.tsv event_text holds the source free text; response_onset is the patient’s platform response time in seconds from the EDF start.

NEMAR Metadata#

[![DOI](https://img.shields.io/badge/DOI-10.82901%2Fnemar.nm000456-blue)](https://doi.org/10.82901/nemar.nm000456) # Human-AI collaboration for co-managing epilepsy in real time (scalp EEG + SEEG) BIDS version of Pennsieve Discover dataset 696 version 2, “Data for Human-AI Collaboration for Co-Managing Epilepsy in Real Time” (Shi, Goldblum, Ojemann, Aguila, Nix, Walsh, Lavelle, Davis, Sinha, Conrad, Litt; doi:10.26275/xbu9-ulpn; licence CC-BY-NC-SA-4.0, kept unchanged). Paper: Goldblum Z, Shi H, Xu Z, et al., “An Implantable Device that Converses with Patients and Learns to Co-Manage Epilepsy”, medRxiv 2026, doi:10.64898/2026.01.26.26344234. Ethics: University of Pennsylvania IRB protocol #849276. Task / paradigm. Inpatient prototype linking scalp and intracranial EEG to a conversational AI agent on the patient’s smartphone during continuous video-EEG monitoring in the Penn Level 4 EMU; 13 patients; seizure detection retrained with patient/clinician feedback (Goldblum, Shi et al., medRxiv 2026, doi:10.64898/2026.01.26.26344234, abstract and Methods). Deposit: one EDF per recording day (raw_data/edf/PennEPIxxxxx/PennEPIxxxxx_dayNN.edf, 69 files), annotation CSVs (seizure_events, patient_events, sleep, medications, databricks_events) and model outputs (deposit readme.md). Modality. participants.tsv recording_type: 11 of 13 patients are Scalp EEG; only 2 are SEEG (PID007 = PennEPI00202, PID013 = PennEPI02154) (deposit files/participants.tsv). The atlas modality “ECoG+SEEG” should read “scalp EEG + SEEG (2 of 13)”. Recording system / filters. Processing: bandpass 0.5-100 Hz (scalp) and 0.5-250 Hz (iEEG), notch 60 and 120 Hz; CAR or bipolar re-referencing per algorithm (paper Methods “Cloud data processing”). Acquisition amplifier and sampling rate not stated (n/a; read from EDF headers). Localisation method. None in the deposit or paper: only clinical lobe-level epilepsy localization and laterality per patient (participants.tsv Localization/Laterality). PennEPI00202 and PennEPI02154 (the 2 SEEG patients) are not among the 104 public PennEPI single-subject releases, so no public electrode localisation exists for them. ## Contents - 13 subjects, sub-<PennEPI id>. 11 scalp-EEG patients (eeg/) and 2 stereo-EEG patients (ieeg/: sub-PennEPI00202, sub-PennEPI02154), kept

together as one dataset as deposited.

  • One EDF per deposit recording day: sub-<id>_task-monitoring_run-<NN>_<eeg|ieeg>.edf, run NN = deposit day number (file dayNN); 69 recordings. Scalp: 46 signal channels at 256 Hz (10-20 + Fpz/Pz/A1/A2, F9/F10/T9/T10/P9/P10, LOC/ROC, EKG, X11-X18, DC1-4, OSAT, PR). SEEG: 1024 Hz depth contacts (L*), plus ECG, DC, TRIG, OSAT/PR/Pleth and unused inputs (C99-C128, typed MISC). Channel types are inferred from labels; references, amplifier and hardware filters are not stated by the source (n/a).

  • events.tsv per run from the deposit annotation CSVs: seizures (seizure_events), patient push-button events (patient_events), sleep-stage onsets (sleep), medication administrations (medications) and patient annotations through the human-AI platform (databricks_events). Onsets are seconds from the EDF start; events outside the span of any EDF stay only in sourcedata/annots.

  • derivatives/humanai-seizure-detection/: the deposit’s intermediate_data (CITL day-by-day predictions, fine-tuning runs, metrics) - model outputs, not raw data.

  • sourcedata/: annots/ (deposit annotation CSVs, dates scrubbed as below), pennsieve/ (deposit readme, changelog, manifest, participants table and sidecar), edf_provenance.tsv (deposit path -> BIDS path, sha256 of the data records of both files), edf_discontinuities.tsv (EDF+D record gaps).

## Conversion and privacy review (2026-10-08) - The EDFs are the deposit files with a header-only edit. Every header was scanned: patient field X X X X, recording field

Startdate DD-JAN-2001 X X X, no names or hospital numbers in any header or channel field, and no text in any EDF+ annotation of any data record. The deposit had already shifted all dates to January 2001 with DD = deposit day; following the release rule (keep year and month, day -> 01) the day was set to 01 in the startdate field and in the Startdate recording subfield of 58 files (the other 11 files already had day 01 and are byte-identical to the deposit). The data records are unchanged: sha256 of the data region of each written file equals that of the deposit file (sourcedata/edf_provenance.tsv). The original headers of the edited files (only difference: the day number, which is kept as the run label / scans.tsv deposit_day) are not redistributed; the unchanged deposit files remain at the DOI above.

  • Annotation CSVs and model outputs: every timestamp column has its day set to 01, and the deposit day is kept in an added <column>_deposit_day column, so relative timing is preserved. One free-text medication note in participants.tsv contained a month/day calendar date; its day was set to 01.

  • PennEPI identifiers are research identifiers of the Penn epilepsy registry, used as subject labels as in the deposit.

  • Some scalp files are EDF+D (discontinuous; scans.tsv edf_subtype). RecordingDuration is the wall-clock span; gaps are listed in sourcedata/edf_discontinuities.tsv.

## Overlap with other public data Not in NEMAR, OpenNeuro, DANDI or EEGDash (searched 2026-10-07/08 by DOI, title, authors and PennEPI ids). Of the 13 patients, only PennEPI00037 also has a public PennEPI single-subject release (Pennsieve 613, doi:10.26275/zm8u-bo15), which holds a different, intracranial recording; the scalp EEG here is not part of it. The two SEEG patients (PennEPI00202, PennEPI02154) have no PennEPI release, and no electrode coordinates or contact localisation are public for them (participants.tsv gives the clinical lobe-level localisation and laterality only). ## Electrodes The two SEEG subjects have electrodes.tsv (contact names from the EDF labels, group = shaft prefix, x/y/z = n/a) and coordsystem.json (space Other, unknown): no electrode localisation is public for them. events.tsv event_text holds the source free text; response_onset is the patient’s platform response time in seconds from the EDF start.

License: CC-BY-NC-SA-4.0

Authors:

  • Haoer Shi

  • Zack Goldblum

  • William Ojemann

  • Carlos Aguila

  • Kerry Nix

  • … and 6 more

Versions:

Version

DOI

Released

current

10.82901/nemar.nm000456

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Sex composition

13
subjects
Female
7
Male
6
F : M ratio
1.17 : 1
54% female · n = 13 subjects with reported sex.

Channel counts (ch)

46148186

Sampling frequencies (Hz)

2561024

Total recording duration: 1392 h

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 46 (62), 148 (6), 186 ch · EEG, iEEG · 256 Hz · mixed · 13 subjects, 69 recordings
Live trace viewer — sub-PennEPI00037 · task-monitoring · run-06

Showing one representative recording out of 13 subjects and 69 recordings in this dataset. Browse the full set on OpenNeuro; drop any other _eeg.{set,edf,bdf,vhdr} file onto the viewer (or pass ?eeg=<url>) to inspect it.

Electrode layout — EEG · 28 sensors — 28 channels

NEMAR Processing Statistics#

The plots below are generated by NEMAR’s automated EEG pipeline. The histogram shows pipeline success for data cleaning and ICA decomposition, the percentage of data frames and EEG channels retained after artefact removal, line noise per channel (RMS, dB), and the age/gender distribution of participants.

HED event descriptors word cloud HED event descriptors word cloud — NM000456
§ 05Manifest · BIDS tree

Manifest#

File Explorer#

Browse the BIDS file structure of this dataset. Records are fetched on demand from the EEGDash catalog the first time you open the explorer.

Recordings—
Files—
Subjects—
Modalities—
Click to load file structure…
Full dataset metadata table

Dataset ID

NM000456

Title

Human-AI collaboration for co-managing epilepsy in real time: scalp EEG and SEEG from 13 epilepsy monitoring unit patients

Author (year)

—

Canonical

—

Importable as

NM000456

Year

20

Authors

Haoer Shi, Zack Goldblum, William Ojemann, Carlos Aguila, Kerry Nix, Katherine Walsh, Sarah Lavelle, Kathryn Davis, Nishant Sinha, Erin Conrad, Brian Litt

License

CC-BY-NC-SA-4.0

Citation / DOI

10.82901/nemar.nm000456

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{nm000456,
  title = {Human-AI collaboration for co-managing epilepsy in real time: scalp EEG and SEEG from 13 epilepsy monitoring unit patients},
  author = {Haoer Shi and Zack Goldblum and William Ojemann and Carlos Aguila and Kerry Nix and Katherine Walsh and Sarah Lavelle and Kathryn Davis and Nishant Sinha and Erin Conrad and Brian Litt},
  doi = {10.82901/nemar.nm000456},
  url = {https://doi.org/10.82901/nemar.nm000456},
}
§ 06API · Programmatic access

API Reference#

Signature
eegdash.dataset
class
eegdash.dataset.NM000456(cache_dir, query=None, s3_bucket=None, **kwargs)
Bases: EEGDashDataset
Author (year)—
Canonical—
Importable asNM000456
Sourceeegdash/dataset/registry.py · [source ↗]
class eegdash.dataset.NM000456(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#

Human-AI collaboration for co-managing epilepsy in real time: scalp EEG and SEEG from 13 epilepsy monitoring unit patients

Study:

nm000456 (NeMAR)

Author (year):

—

Canonical:

—

Also importable as: NM000456.

Modality: eeg, ieeg; Subject type: Unknown. Subjects: 13; recordings: 69; tasks: 1.

Parameters:
  • cache_dir (str | Path) – Directory where data are cached locally.

  • query (dict | None) – Additional MongoDB-style filters to AND with the dataset selection. Must not contain the key dataset.

  • s3_bucket (str | None) – Base S3 bucket used to locate the data.

  • **kwargs (dict) – Additional keyword arguments forwarded to EEGDashDataset.

data_dir#

Local dataset cache directory (cache_dir / dataset_id).

Type:

Path

query#

Merged query with the dataset filter applied.

Type:

dict

records#

Metadata records used to build the dataset, if pre-fetched.

Type:

list[dict] | None

Notes

Each item is a recording; recording-level metadata are available via dataset.description. query supports MongoDB-style filters on fields in ALLOWED_QUERY_FIELDS and is combined with the dataset filter. Dataset-specific caveats are not provided in the summary metadata.

References

OpenNeuro dataset: https://openneuro.org/datasets/nm000456 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000456 DOI: https://doi.org/10.82901/nemar.nm000456

Examples

>>> from eegdash.dataset import NM000456
>>> dataset = NM000456(cache_dir="./data")
>>> recording = dataset[0]
>>> raw = recording.load()
__init__(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#
save(path: str, overwrite: bool = False, offset: int = 0)[source]#

Save datasets to files by creating one subdirectory for each dataset:

path/
    0/
        0-raw.fif | 0-epo.fif
        description.json
        raw_preproc_kwargs.json (if raws were preprocessed)
        window_kwargs.json (if this is a windowed dataset)
        window_preproc_kwargs.json  (if windows were preprocessed)
        target_name.json (if target_name is not None and dataset is raw)
    1/
        1-raw.fif | 1-epo.fif
        description.json
        raw_preproc_kwargs.json (if raws were preprocessed)
        window_kwargs.json (if this is a windowed dataset)
        window_preproc_kwargs.json  (if windows were preprocessed)
        target_name.json (if target_name is not None and dataset is raw)
Parameters:
  • path (str) –

    Directory in which subdirectories are created to store

    -raw.fif | -epo.fif and .json files to.

  • overwrite (bool) – Whether to delete old subdirectories that will be saved to in this call.

  • offset (int) – If provided, the integer is added to the id of the dataset in the concat. This is useful in the setting of very large datasets, where one dataset has to be processed and saved at a time to account for its original position.

Access modesMNE → braindecode → PyTorch → ML
.rawMNE Raw object — standard tools (filter, epoch, ICA, plot_psd).mne
DataLoaderWraps the windowed dataset into a PyTorch DataLoader; supports parallel workers and on-the-fly augmentations.pytorch
Zarr cacheOptional braindecode Zarr mirror for fast resume; persisted to cache_dir.zarr
Hugging FaceNo per-dataset mirror published yet — browse the EEGDash org listing for sibling datasets. See the datasets loader API.huggingface
Croissant 1.0Machine-readable JSON-LD descriptor — NM000456.croissant.json (MLCommons schema, ingestible by PyTorch / TensorFlow / JAX).mlcommons
Examples using EEGDashcurated · start here

Swap any load_dataset(...) call for nm000456 to reproduce the tutorial on this dataset.

Citation

Haoer Shi, Zack Goldblum, William Ojemann, Carlos Aguila, Kerry Nix, … (20). Human-AI collaboration for co-managing epilepsy in real time: scalp EEG and SEEG from 13 epilepsy monitoring unit patients. 10.82901/nemar.nm000456

Provenance

¹Contributed to nemar in BIDS format.

²Curated & ingested by the EEGDash catalog; see CITATION.cff for canonical reference.

³Persistent identifier: 10.82901/nemar.nm000456.

BIDS
BIDS 1.10.0
Sidecars
events · channels · eeg.json
Provenance
CC-BY-NC-SA-4.0 · 10.82901/nemar.nm000456
Machine-readable
Mirrors

See Also#