Skip to content

[Dataset][Bug] Zhou2020 S-subjects (1–12) loaded as generic EEG1–EEG41 with no montage #1120

Description

@bruAristimunha

Summary

For Zhou2020, the S-subjects (1–12, 41 EEG channels) are loaded with placeholder channel names EEG1EEG41 and no montage, whereas the A-subjects (13–20, 26 EEG channels) get real 10–20 names and standard_1005. Any channel-name- or position-based analysis (selecting C3/Cz/C4, sensorimotor ROIs, montage/topographies, Laplacian, etc.) therefore silently fails for 12 of the 20 subjects.

Where

moabb/datasets/zhou2020.py, _get_single_subject_data:

if subject <= 12:
    n_eeg = _S_N_EEG               # 41
    ch_names = [f"EEG{i + 1}" for i in range(n_eeg)]   # <-- generic placeholders
else:
    n_eeg = _A_N_EEG               # 26
    ch_names = list(_26CH_NAMES)   # real 10-20 names

and in _npz_to_raw the montage is only set when names are non-generic:

if ch_names[0] != "EEG1":
    raw.set_montage(make_standard_montage("standard_1005"), on_missing="warn")

So the S-cohort has neither names nor positions.

Impact

12/20 subjects are unusable for any spatial/sensorimotor analysis. Downstream tooling that locates C3/Cz/C4 (or a sensorimotor strip) skips these subjects entirely.

What I checked (the names are genuinely not in the distributed data)

  • Raw NPZ (Zenodo record 18988317): the signal array is positional (46 cols = 41 EEG + 4 EOG + 1 trigger); there is no channel-name array.
  • NEMAR BIDS mirror (nm000237): sub-01/..._channels.tsv lists EEG1…EEG41 generically and there is no electrodes.tsv. (sub-13, an A-subject, correctly has 26 named channels.)
  • Paper (Zhou et al., 2021, Front. Hum. Neurosci. 15:701091): documents only the 26 prior-selected electrodes (== the A-cohort _26CH_NAMES), grouped into SMA/PMC/M1/S1 in Fig 1B. The full 41-channel layout for S-subjects is not given.
  • IEEE DataPort / Zenodo description: only "41 EEG + 4 EOG".

Empirical note

I tested the natural guess that the 41 = the 26 selected + 15 extra (i.e. EEG1–26 == _26CH_NAMES, so C3=EEG14, Cz=EEG16, C4=EEG18). A μ-band (8–12 Hz) ERD lateralisation analysis (left- vs right-hand MI) refutes it: EEG14/16/18 are middle-ranked, not the motor channels, whereas an A-subject positive control (real names) shows the expected contralateral C3/C4 pattern. The lateralising channels in the S-cohort sit later in the sequence (≈EEG26–30), consistent with a standard front-to-back acquisition order (e.g. the 64-ch Neuroscan Quik-Cap default), but this cannot be confirmed from the distributed data alone.

Ask

Could the maintainers / data authors provide the ordered 41-channel montage used for the S-subjects (or confirm they follow the Neuroscan 64-ch Quik-Cap default order)? With that, zhou2020.py can set real names + standard_1005 for S-subjects and the whole dataset becomes spatially usable. I'm happy to open the PR once the layout is confirmed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions