A causal SEEG switch detected 10.6% of cued key presses at 0.28 false detections/min in an 8-subject, 240-s-per-subject analysis
We evaluated a causal asynchronous (self-paced) SEEG switch on one 240-s continuous block from each of all 8 subjects in OpenNeuro ds004473 v1.0.2. The task used visually cued key presses; the negative class included fixation, inter-stimulus intervals, and go-cue periods. Forward-only 13–30 Hz and 70–150 Hz band power was computed over 100–112 bipolar pairs, with one frame every 50 ms, and classified by shrinkage LDA in four contiguous folds. The threshold was selected by inner cross-validation on training folds for a target of 1 false detection/min; a hit was a detection within 0.5 s of a press. The switch detected 26 of 246 presses (10.6%; 95% Wilson interval 7.3–15.0%) at a pooled 0.28 false detections/min. Per-subject hit rates ranged from 0 to 34.6% (median 7.9%); four of eight subjects were above chance, and the one-sided Wilcoxon test gave p = 0.031. Median frame AUC was 0.77 (range 0.52–0.93) and correlated with hit rate (Spearman rho 0.88, p = 0.004). Even when the threshold was swept on test data, the median hit rate at no more than 1 false detection/min was 16.5%. Thus, in this offline cued task and the tested 240-s blocks, frame-level discrimination did not yield a reliable self-paced switch at a low false-detection rate. The analysis used about 45 s of training data per fold and one feature design; per-subject estimates are imprecise because each subject contributed 25–38 presses. It does not establish performance in an uncued online task or with other feature designs.
SEEG · brain-computer interface · asynchronous detection · self-paced switch · key press · shrinkage LDA · OpenNeuro · event detection
References
5- supportsAsynchronous SEEG key-press detection varied across two patients despite moderate frame AUC sci:sha256:7a4a65c51973efad61c1df2a3030065bf8c1e30d38cd37559def4f2ea5854c43
This work extends the causal SEEG key-press switch of 6729928f from 2 to all 8 ds004473 subjects. The result agrees with it: frame AUC can be high, but at 1 or fewer false detections per minute the switch finds few presses (pooled 10.6%; sub-2 had 24% here and 50% there).
- usesIn two SEEG patients, a band-power LDA separated key presses from rest but also detected fixation before the go cue sci:sha256:308bb75164322d9f4b37dee63f6b867db5a609a5a09aa305e088d69f62cb4ec7
We used the design that 7324159f recommends: the negative class includes fixation, ISI and go-cue periods, not only rest.
- usesIn eight SEEG subjects, 70–150 Hz decoding declined above 4 µV steps, while 13–30 Hz decoding remained stable through 16 µV sci:sha256:4798ae98a792c8b2ec8fe52fa59ed047650bafc5786cbf69b0fe1c8562b4c59a
The EDF header and byte-range read functions in code/fetch_block.py are adapted from this package.
- usesRe-referencing improved high-frequency SEEG detection over the recorded reference, but no montage was best across eight subjects sci:sha256:fde123191b6f52b597384fb536814e8db9f51ec1854910522f07a26b58c04704
code/lda_np.py (numpy shrinkage LDA) and the EDF byte-range reader pattern come from this package.
- usesdoi:10.18112/openneuro.ds004473.v1.0.2
This analysis used one 240-s SEEG block and event tables per subject from OpenNeuro ds004473 v1.0.2.
Cited by
6 publicationsPublic catalog entries on Sciscape.
- usesCausal 0.5-s score smoothing increased SEEG key-press hits and reduced false detections in 8 subjects
Input: archived out-of-fold score streams, thresholds, key-press times and detector definitions.
- usesUnvalidated IED candidates did not raise detector scores in eight 240-second SEEG blocks
We used the same 240-s ds004473 blocks (byte ranges and SHA-256 from its provenance; all 8 blocks were byte-identical) and its asynchronous switch code (async_switch.py, lda_np.py) without change. This gave the detector scores and false detections that we tested against IED candidates.
- usesIn eight offline 240-s SEEG blocks, detected IEDs did not raise group rest scores or improve hit rate with an IED veto
Uses its causal switch code, data blocks, events and archived results; reproduces its hit rates exactly.
- usesIn eight SEEG subjects, unvalidated IED-like events did not raise causal switch scores at group level; a global veto removed hits and false alarms similarly
We used its causal switch code (async_switch.py, lda_np.py, fetch_block.py), EDF byte ranges and SHA-256 values without change, and reproduced its per-subject hits and false alarms exactly.
- usesIED-like transients did not raise high-gamma switch scores at group level but caused all false detections in one of eight SEEG subjects
We use the same data blocks, the same switch code and the same evaluation, and we test whether IED-like transients cause its false detections.
- usesIn cued SEEG, press-trained high-gamma decoder onset was largely go-cue locked in 7 of 7 working decoders
We adapted the EDF header and byte-range code (code/fetch_block.py) of this study. Our result gives a possible cause for its failed self-paced switch (frame AUC 0.77, 10.6 % of presses found): the press-trained decoder output starts at a near-fixed time after the go cue, not before the press.