Add NeuroLog EEG acquisition app with Cortex client, GUI, recorder, and exporters#1
Open
K-Rutuparna1087 wants to merge 2 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
wss://localhost:6868).clientId/clientSecret, live plotting, session metadata, manual markers, and standard exports for analysis workflows.Description
neuro_logpackage with the following modules:neuro_log/app.py(entry),neuro_log/api.py(Cortex WebSocket JSON-RPC client),neuro_log/gui.py(PyQt6 GUI + live plotting),neuro_log/recorder.py(recording buffer and exporters), andneuro_log/utils.py(helpers and env-based config); seeREADME.mdfor usage notes.CortexApiClient: connect towss://localhost:6868, performrequestAccess/authorize,queryHeadsets,createSession,subscribetoeeg/dev, andinjectMarkerfor manual markers, with callback hookson_status,on_eeg, andon_batteryfor GUI integration.NeuroLogMainWindow) with live plot (matplotlib), connection/status/sampling/battery labels,Connect,Start Recording,Stop Recordingcontrols, session metadata inputs, and manual marker inputs that callcreate_markerand store local markers.EEGRecorderto accumulate samples and markers and export on stop to CSV (timestamp + channels), NumPy.npy(shape(n_samples, n_channels)), MNE.fif(annotations + subject/description), and a markers CSV; filenames are sanitized and written torecordings/.requirements.txtlisting runtime dependencies (PyQt6,websocket-client,matplotlib,numpy,pandas,mne) and an extendedREADME.mdwith installation, credentials (EMOTIV_CLIENT_ID/EMOTIV_CLIENT_SECRET), headset connection, and run/export instructions.Testing
python -m compileall neuro_log, which completed successfully.Codex Task