mne-tools / mne-lsl

A framework for real-time brain signal streaming with MNE-Python.
https://mne.tools/mne-lsl
BSD 3-Clause "New" or "Revised" License
61 stars 28 forks source link

Overhaul of the StreamViewer #51

Open mscheltienne opened 2 years ago

mscheltienne commented 2 years ago

The StreamViewer API needs an overhaul. It will be rename as Viewer to match the new Stream and Player API. The new Viewer API will interface with one or more Stream and will use methods from Stream to edit the stream properties:

Moreover, the Viewer should be able to connect to multiple streams. Streams with a regular sampling rate should be displayed as channels (/!\ identical channel names between streams must be covered) while streams with an irregular sampling rate should be displayed as vertical lines.

For the filter, some thinking is required to compensate or ignore the causal delay introduced on one or all channels (and between a regular sampling rate stream and the vertical lines from an irregular one).

The backend should be pyqtgraph with OpenGL for better display.

mscheltienne commented 2 years ago

For real-time annotation, the causality of the filter prevents us from getting a clear relationship between a location on the viewing area and a location in the saved dataset. PR #47 can serve as a basis for a second attempt.

mscheltienne commented 1 year ago

Depends on the overhaul of the Receiver API: