-
Notifications
You must be signed in to change notification settings - Fork 11
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
First iteration of a PyNM GUI for easy feature extraction and visualization #361
Open
toni-neurosc
wants to merge
35
commits into
main
Choose a base branch
from
gui
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
…d SocketIO, add PyPlot graphing
* add routing and dummy pages * added toolbar, changed styling * updated channels gui * Add multiple simultaneous websocket connections * Fix backend dependencies * Detect if app running in WebView * Fix some websocket issues * update deps * Unify TitleBar and AppToolbar into AppBar, use UserAgent to detect PyWebView * Add App Info modal dialog when clicking on Title * Fix handling of keyboard interrupt events, add parameter to make PyWebView optional * hide resize handle for normal browsers * Delete test data, add test folder to .gitignore * Remove npm lock file, add to .gitignore * Delete ThemedApp * Delete and ignore uv.lock * Undo reset.css changes --------- Co-authored-by: Samed Rouven Vossberg <57455873+SamedVossberg@users.noreply.github.com>
* nm channels connected to backend and fix in backend * debugging backend connection, adding POST to Channels * add fastAPI call for LSL * add LSL Stream search * add LSL Stream setup * Remove hardcoded backend port from websocket store and add ws proxy to vite * Divide file and source selection into separate components and routes * add offline Stream setup and modularize SourceSelectionSettings * minor change: replace navigate with react-router Link * add test file for LSL stream setup * minor: fix routes * Add FileBrowser component and API endpoints to access local computer file system * debug backend and chanels * LSLOfflineStream: run in a separate subprocess, add blocking and non-blocking modes, add context manager * Made channels component scrollable * Update StreamSelector, change some components to MUI, add immer to sessionStore * Add jsconfig and Eslint jsdoc plugin * fix option to setup LSL stream * set port to 50001 * Filter out React 19 warnings for MUI components * Fix JSDoc linting style * - Update to Zustand 5, add utility functions to create stores with middleware and devtools - Make sessionStore and uiStore persistent - Refactor Channels page - Add FileManager class - Start adding JSDoc documentation and configs - Add TitledBox component - Remove mock data generation - Fix backend hot-reloading (hack) - Add dev parameter to AppManager (enables hot reloading) - Other fixes and changes --------- Co-authored-by: Samed Rouven Vossberg <57455873+SamedVossberg@users.noreply.github.com> Co-authored-by: Toni M. Brotons <10654467+toni-neurosc@users.noreply.github.com>
* Set up development environment * Add PyWebView window API, create basic app UI, add Zustand stores, add SocketIO, add PyPlot graphing * Changed accordion to collapsible box * Create drag and drop sortable list * Add switches and conditional texfields to preprocessing section, fixed DnD * fixed switches to work for all levels of settings * Made preprocessing section display options based on selected options * Added frequency settings * fixed frequencies component * Change from Flask to FastAPI, add loggers * Add websockets with FastAPI, defer imports, fix Graph component * Improve sidebar * Layout redesign: new App bar, and other improvements (#356) * add routing and dummy pages * added toolbar, changed styling * updated channels gui * Add multiple simultaneous websocket connections * Fix backend dependencies * Detect if app running in WebView * Fix some websocket issues * update deps * Unify TitleBar and AppToolbar into AppBar, use UserAgent to detect PyWebView * Add App Info modal dialog when clicking on Title * Fix handling of keyboard interrupt events, add parameter to make PyWebView optional * hide resize handle for normal browsers * Delete test data, add test folder to .gitignore * Remove npm lock file, add to .gitignore * Delete ThemedApp * Delete and ignore uv.lock * Undo reset.css changes --------- Co-authored-by: Samed Rouven Vossberg <57455873+SamedVossberg@users.noreply.github.com> * Remove SettingsPanel component * Change toml to tomllib (python 3.11 required) * Changed accordion to collapsible box * Create drag and drop sortable list * Add switches and conditional texfields to preprocessing section, fixed DnD * prevent title word wrap * save * save2 * fixed frequencies component * Massive changes to Settings page * temporarily ignore frontend build files * Change toml to tomllib (python 3.11 required) * Change from Flask to FastAPI, add loggers * Add websockets with FastAPI, defer imports, fix Graph component * Layout redesign: new App bar, and other improvements (#356) * add routing and dummy pages * added toolbar, changed styling * updated channels gui * Add multiple simultaneous websocket connections * Fix backend dependencies * Detect if app running in WebView * Fix some websocket issues * update deps * Unify TitleBar and AppToolbar into AppBar, use UserAgent to detect PyWebView * Add App Info modal dialog when clicking on Title * Fix handling of keyboard interrupt events, add parameter to make PyWebView optional * hide resize handle for normal browsers * Delete test data, add test folder to .gitignore * Remove npm lock file, add to .gitignore * Delete ThemedApp * Delete and ignore uv.lock * Undo reset.css changes --------- Co-authored-by: Samed Rouven Vossberg <57455873+SamedVossberg@users.noreply.github.com> * Add backend stream init and frontend setup page (#358) * nm channels connected to backend and fix in backend * debugging backend connection, adding POST to Channels * add fastAPI call for LSL * add LSL Stream search * add LSL Stream setup * Remove hardcoded backend port from websocket store and add ws proxy to vite * Divide file and source selection into separate components and routes * add offline Stream setup and modularize SourceSelectionSettings * minor change: replace navigate with react-router Link * add test file for LSL stream setup * minor: fix routes * Add FileBrowser component and API endpoints to access local computer file system * debug backend and chanels * LSLOfflineStream: run in a separate subprocess, add blocking and non-blocking modes, add context manager * Made channels component scrollable * Update StreamSelector, change some components to MUI, add immer to sessionStore * Add jsconfig and Eslint jsdoc plugin * fix option to setup LSL stream * set port to 50001 * Filter out React 19 warnings for MUI components * Fix JSDoc linting style * - Update to Zustand 5, add utility functions to create stores with middleware and devtools - Make sessionStore and uiStore persistent - Refactor Channels page - Add FileManager class - Start adding JSDoc documentation and configs - Add TitledBox component - Remove mock data generation - Fix backend hot-reloading (hack) - Add dev parameter to AppManager (enables hot reloading) - Other fixes and changes --------- Co-authored-by: Samed Rouven Vossberg <57455873+SamedVossberg@users.noreply.github.com> Co-authored-by: Toni M. Brotons <10654467+toni-neurosc@users.noreply.github.com> * - Migrate many components to MUI - Remove most module.css files - Add recursively rendering Settings component - Temporarily emove Sidebar from layout (component remains in codebase) - Reorganize component and page file structure with less subfolders * add backend stream run process * fix imports * fix additional imports * add debugging file and fix another import * WIP calling run function and setting up websocket connetion * fix rebase errors * add backend stream run process * add debugging file and fix another import --------- Co-authored-by: Antonio Martinez Brotons <10654467+toni-neurosc@users.noreply.github.com> Co-authored-by: elizametno <elizametno@yandex.ru> Co-authored-by: Samed Rouven Vossberg <57455873+SamedVossberg@users.noreply.github.com> Co-authored-by: timonmerk <timon.merk@charite.de> Co-authored-by: timonmerk <timon.merk95@gmail.com>
…be setup with frontend.
@toni-neurosc Are there any changes here that we need to keep track of? |
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.
This PR intends to track the progress of the GUI branch, comment on the current state of this part of the project, perhaps propose features or changes, and add review comments to the code if necessary.
The progress of the GUI is also tracked in issue #351