-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EEG Browser] Signal Visualization, Events, Electrode map and EEG split files support #7387
Conversation
c9c2842
to
3138e92
Compare
0b73155
to
0630043
Compare
900d811
to
2eccf3a
Compare
afaa3a8
to
e3c7a44
Compare
e3c7a44
to
becdd49
Compare
23c0f78
to
6eaeaa7
Compare
@maltheism Do you have time to review? |
@laemtl one quick question I thought of while I'm now testing this PR. You have protobuf support for macOS and ubuntu. I'm just wondering if centos that LORIS supports would also have something for protobuf? |
@laemtl when visiting http://localhost/electrophysiology_browser/ I get the following in browser console: Warning: Failed prop type: Invalid prop |
Good point but unrelated to my changes in this PR. I suggest to open an issue to address those errors in all modules. |
Yes, for CentOS users can use the third link: install protoc:
|
Hi @laemtl, thanks for the answers and you're right I didn't realize you weren't using those components while the warnings are coming from the core filter/table. It's taking me some additional time to setup the MRI pipeline and so far I can only visit /electrophysiology_browser for testing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm approving the javascript part of the PR. This PR is large considering all of the work done. Other things will be necessary like handling rare errors but that can be done in separate PRs after this PR is merged.
@cmadjar ready for your manual tests. :)
@driusan - ready for your review -- this has 2 approvals and is needed for the release. thanks! |
This PR adds dynamic visualization of EEG based on a previous project started by Armin Taheri (https://github.com/aces/react-series-data-viewer).
These changes and include cleanup of older code in the Electrophysiology Browser and new features like viewing the list of Events, and an Electrode Map dynamically plotted from the BIDS-compliant coordinates file.
The visualization component uses svg (Visx|D3) and introduces a new stack of dependencies:
Ramda (https://ramdajs.com)
A practical functional library for JavaScript programmers.
Redux (https://redux.js.org)
A Predictable State Container for JS Apps
Visx (https://airbnb.io/visx)
A collection of expressive, low-level visualization primitives for React.
RxJS (https://rxjs-dev.firebaseapp.com/guide/overview)
RxJS is a library for composing asynchronous and event-based programs by using observable sequences.
It provides one core type, the Observable, satellite types (Observer, Schedulers, Subjects) and operators to allow handling asynchronous events as collections.
TypeScript (https://www.typescriptlang.org)
A static type checker for javascript.
Preview
To test
sudo apt-get install -y protobuf-compiler
(Ubuntu > 16.10)brew install protobuf
(Mac)To discuss
This PR contains the protobuf file used to generate the frontend (js) and backend (python, used in Loris MRI) chunk message encoder/parser. I'm not sure this file should be stored here and what would be a good compilation pipeline.
To fix
The electrode map needs to support a coordinate system to perform appropriate rotations.