구축 방법 — EEG Fundamentals · v1.0 · 2026-10-26
■ 방법
- 공개 EEG 기록을 브라우저에서 계산해 보여 주는 학습 주제. 탭 6개: Electrodes & Channels / Reference & Montage / Frequency Bands / Alpha & Topography / Artifacts / What EEG Cannot Do. 학습 모델 없음
- Spectrum: Welch, 256점 Hann, 절반 겹침, 구간 평균 빼기(scipy.signal.welch 기본과 같음). Band(정한 값): delta 1–4, theta 4–8, alpha 8–13, beta 13–30, gamma 30–45 Hz
- Filter: 4차 Butterworth high-pass·low-pass(2차 두 단), 60 Hz notch(Q 8), 앞뒤로 두 번 걸러 위상 지연 없음, 양 끝 1초 거울 반사
- Reference: recorded / average / bipolar montage(double banana 18쌍) / neighbor bipolar / small Laplacian(이웃 4곳 평균 빼기)
- Topomap: inverse distance weighting(1/거리²). 전극 위치: MNE standard_1005 3D 좌표를 방위 등거리 투영
- 전처리: Python 3 · MNE 1.13.2 · NumPy 2.5.3 · SciPy 1.18.1 · wfdb. 파이썬 기준값은 브라우저와 같은 필터(python/jsfilt.py)를 씀. 실행 prepare 20261025T102831Z · measures 20261025T114536Z
- 화면 계산: 직접 쓴 JavaScript(eeg-core.js, bci-core.js), 외부 라이브러리 없음
- LLM 없음
■ 데이터
- EEG Motor Movement/Imagery Dataset 1.0.0 (PhysioNet, Schalk 외) · ODC-By 1.0 · 64채널 160 Hz · S001 R02(눈 감은 휴식 61초)·R01(눈 뜬 휴식 61초) → EEG 기초·Metrics
- 모든 원본 파일을 PhysioNet SHA256SUMS로 대조함
- 브라우저용: 0.1 µV 단위 16비트 정수, base64(EEG 기초 R02·R01 각 1.67 MB, P300 1.05 MB, SSVEP 1.02 MB, Motor Imagery 1.35 MB). BCI 데이터는 BCI 탭을 열 때 받음
- 성격: 공개 실측 데이터. EEGMMIDB의 기록 reference 위치는 데이터 설명에 없음
- 사용자 입력 저장 없음
■ 검증
- 브라우저 ↔ 파이썬 대조: band 상대 세기 64×5 최대 차이 0.000005 · Metrics 10개 × reference 2 × recording 2 중앙값 최대 상대 차이 0.0017 · Coherence 일치 · CCA 일치(0.650378) · P300·SSVEP·Motor Imagery 정확도와 ERD 곡선 일치
- Alpha(average reference): 뒤통수 8곳 70.3% / 앞이마 34.5%, permutation test 1만 번 중 0회. Oz alpha peak 10.0 Hz
- Berger effect(S001, average reference): 뒤통수 relative alpha 눈 감음 70.3% → 눈 뜸 12.6%
- sensors.aileelab.com으로 옮긴 뒤 같은 검사(tests/eeg/core-test.mjs)를 다시 돌려 위 수치가 모두 그대로임을 확인(2026-10-26)
■ 범위
- EEG 기초·Metrics는 건강한 자원자 1명의 쉬는 기록 2분. 지표 값은 정상 기준이나 감정 판정이 아님. BCI 체험은 각 데이터의 참가자 1–3명이며 다른 사람·장비의 성능을 대신하지 않음
■ 출처
- Schalk, G. et al. (2004). BCI2000: A general-purpose brain-computer interface (BCI) system. IEEE Transactions on Biomedical Engineering 51(6).
- Goldberger, A. et al. (2000). PhysioBank, PhysioToolkit, and PhysioNet. Circulation 101(23).
- Berger, H. (1929). Über das Elektrenkephalogramm des Menschen. Archiv für Psychiatrie und Nervenkrankheiten 87.
- Welch, P. (1967). The use of fast Fourier transform for the estimation of power spectra. IEEE Transactions on Audio and Electroacoustics 15(2).
- 데이터: EEG Motor Movement/Imagery Dataset 1.0.0 · ODC-By 1.0 · https://physionet.org/content/eegmmidb/1.0.0/
- 도구: MNE-Python 1.13.2 · BSD-3 · wfdb · MIT (전처리 때만 사용)
How it's built — EEG Fundamentals · v1.0 · 2026-10-26
■ Method
- A learning topic that computes on a public EEG recording in the browser. 6 tabs: Electrodes & Channels / Reference & Montage / Frequency Bands / Alpha & Topography / Artifacts / What EEG Cannot Do. No trained model
- Spectrum: Welch, 256-point Hann, half overlap, segment mean removed (same as scipy.signal.welch defaults). Bands (set values): delta 1–4, theta 4–8, alpha 8–13, beta 13–30, gamma 30–45 Hz
- Filters: 4th-order Butterworth high-pass and low-pass (two 2nd-order stages), 60 Hz notch (Q 8), forward and backward for zero phase, 1 s mirror padding
- References: recorded / average / bipolar montage (18-pair double banana) / neighbor bipolar / small Laplacian (minus the mean of 4 neighbors)
- Topomap: inverse distance weighting (1/distance²). Electrode positions: MNE standard_1005 3D coordinates, azimuthal equidistant projection
- Preprocessing: Python 3 · MNE 1.13.2 · NumPy 2.5.3 · SciPy 1.18.1 · wfdb. Python references use the same filters as the browser (python/jsfilt.py). Runs: prepare 20261025T102831Z · measures 20261025T114536Z
- On-page computation: hand-written JavaScript (eeg-core.js, bci-core.js), no external libraries
- No LLM
■ Data
- EEG Motor Movement/Imagery Dataset 1.0.0 (PhysioNet, Schalk et al.) · ODC-By 1.0 · 64 channels, 160 Hz · S001 R02 (eyes-closed rest, 61 s) and R01 (eyes-open rest, 61 s) → EEG basics and Metrics
- Every source file was checked against PhysioNet's SHA256SUMS
- Browser format: 16-bit integers in 0.1 µV units, base64 (basics R02 and R01 1.67 MB each, P300 1.05 MB, SSVEP 1.02 MB, Motor Imagery 1.35 MB). BCI data loads when the BCI tab opens
- Nature: public measured data. The EEGMMIDB recording reference is not stated in the dataset description
- Nothing typed by visitors is saved
■ Validation
- Browser vs Python: relative band power 64×5 within 0.000005 · 10 metrics × 2 references × 2 recordings, medians within 0.0017 relative · coherence agrees · CCA agrees (0.650378) · P300, SSVEP and Motor Imagery accuracies and ERD curves agree
- Alpha (average reference): 8 back sites 70.3% / 8 front sites 34.5%, 0 of 10,000 permutations. Oz alpha peak 10.0 Hz
- Berger effect (S001, average reference): posterior relative alpha 70.3% eyes closed → 12.6% eyes open
- After the move to sensors.aileelab.com the same checks (tests/eeg/core-test.mjs) were rerun and every number above was unchanged (2026-10-26)
■ Scope
- EEG basics and Metrics use two minutes of rest from one healthy volunteer; metric values are not norms or emotion judgments. The BCI demos use 1–3 participants per dataset and do not stand for other people or devices
■ Sources
- Schalk, G. et al. (2004). BCI2000: A general-purpose brain-computer interface (BCI) system. IEEE Transactions on Biomedical Engineering 51(6).
- Goldberger, A. et al. (2000). PhysioBank, PhysioToolkit, and PhysioNet. Circulation 101(23).
- Berger, H. (1929). Über das Elektrenkephalogramm des Menschen. Archiv für Psychiatrie und Nervenkrankheiten 87.
- Welch, P. (1967). The use of fast Fourier transform for the estimation of power spectra. IEEE Transactions on Audio and Electroacoustics 15(2).
- Data: EEG Motor Movement/Imagery Dataset 1.0.0 · ODC-By 1.0 · https://physionet.org/content/eegmmidb/1.0.0/
- Tools: MNE-Python 1.13.2 · BSD-3 · wfdb · MIT (preprocessing only)
■ History
- 2026-10-26 · v1.0 · Released