docs(quest): add realtime-pipeline Quest setup; fix np.trapz + cli glue#15
Open
AlanYWu wants to merge 1 commit into
Open
docs(quest): add realtime-pipeline Quest setup; fix np.trapz + cli glue#15AlanYWu wants to merge 1 commit into
AlanYWu wants to merge 1 commit into
Conversation
- Add docs/running-on-quest.md adapted to the final-realtime-pipeline: two sockets (ws://127.0.0.1:8765 predictions, ws://127.0.0.1:8766 markers), pipeline collect/realtime commands, FreeNavScene wiring, and adb reverse / LAN options for both ports. - Fix NumPy 2.x incompatibility: np.trapz -> np.trapezoid in eeg_to_meta/inference.py and ml_pipeline/features.py. - pipeline/cli.py: forward participant + sentinel mi_threshold / blink_threshold = None on the eeg_args Namespace so eeg_to_meta/main.py:run_pipeline doesn't AttributeError; drop the --mi-threshold / --blink-threshold CLI flags so per-class thresholds stay hardcoded in the classifier model bundle's CLASS_THRESHOLDS.
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.
Summary
docs/running-on-quest.mdadapted to thefinal-realtime-pipelinearchitecture (two WebSockets —
ws://127.0.0.1:8765predictions,ws://127.0.0.1:8766markers), driven bypython -m pipeline collectand
python -m pipeline realtime, with FreeNavScene wiring and Path Badb reverse/ LAN instructions for both ports. Replaces the oldtools/bci_ws_stub_server.pyflow on port 5000.np.trapz(removed in NumPy 2.x) →np.trapezoidineeg_to_meta/inference.pyandml_pipeline/features.py. Without this,pipeline realtimecrashes on first inference under NumPy ≥ 2.0.pipeline/cli.py: drop the--mi-threshold/--blink-thresholdflags and the override block — per-class thresholds stay hardcoded in
the classifier model bundle's
CLASS_THRESHOLDS. Also forwardparticipantand sentinelmi_threshold=None, blink_threshold=Noneon the
eeg_argsNamespace soeeg_to_meta/main.py:run_pipelinedoesn't
AttributeError.Verification
python -m pipeline realtime --participant 5 --skip-personalize \\ --model ml_pipeline/models/realtime_models.pkl --mockboots theWebSocket on
ws://127.0.0.1:8765and emits stable predictions(
Active class thresholds: {mi_*: 0.55, intentional_blink: 0.6}).Test plan
[PredictionWebSocketClient] Connected to ws://127.0.0.1:8765and the server log flips to
ws_clients=1.python -m pipeline collect --participant N --runs 1 --mock→ markers reach the Python collector on:8766.adb reverse tcp:8765 tcp:8765andtcp:8766 tcp:8766, then re-verify both connects.