-
Notifications
You must be signed in to change notification settings - Fork 70
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
Display datasets in a consistent window #188
Comments
This is loosely related to #175. I agree that in addition a "copy & paste" plot settings feature would be useful. Which parameters would you like to be able to set? Visible time range, visible channels, and scalings? I'm not sure what the best way to implement this feature is. Maybe MNELAB should remember the plot settings and just apply them to all newly created figures? And if this is not possible (e.g. if the time range doesn't exist) then the defaults could be used. I'll think about this some more - if you have suggestions please feel free to share them here! |
Yes I think those parameters would work, and it looks like 175 is along the same lines. The other idea we are exploring, rather than displaying a new Figure each time and copying the parameters, we would use the existing figure and update the graph with the new dataset values; using methods like |
Yes, it is probably better if you implement your alternative idea with Qt, because this use case is a bit too far away from what MNE offers. However, maybe MNELAB could have a second "plot data" option (e.g. "plot data in existing figure" or something along these lines), but I think this will make things complicated. It's probably easier to support some configuration settings and try to restore/reuse figure parameters whenever possible. |
Okay yes I think so too. I'll have a look and let you know how I get on. Thanks |
Hi, An update on how I got on. I searched the MNE source code for options for updating in the same window. I spoke to developers involved in MNE as well as developers involved in matplotlib. The conclusion I came to was that this is possible but as stated by matplotlib there is too much coupling and background action to do it cleanly. Also, matplotlib is mixed and further buried in private attributes and methods in MNE making it even worse... I did start plotting my own EEG graphs using pyqtgraph but hit some issues with speed. There were some obvious options to achieve a faster application but it looked like there was a lot extra work we dont have time for. In the end we settled with EDFBrowser, which is an EDF analyser written in C/C++. It does everything we need and is super fast. Its a shame we couldnt use python. Maybe we'll look into using pyqtgraph again in the future but might take some time to get right. |
Alright, thanks for the update! EDFbrowser is nice, I'm glad that it works for you. I will still keep your use case in mind and probably add something to remember raw plot settings with #175. I'm closing this issue now, but feel free to either post any comments here or in a new issue. |
Hi,
Thanks for making this repo public, mnelab is great and provides a lot of the features we're looking for.
For our application, it would be great if we could display each new dataset into the same window. For example, at the moment:
We want step 5 to load the new dataset into the exisiting window for the first dataset, and preferably preserve the zoom and scrolling positions.
Can we do that in mne-lab already and have I missed a button? Otherwise is this a feature that has been considered or something that would be considered? Are there any ideas or suggestions on the best way to do this? It looks like the ideal approach is to add a main Figure window in the main window class? And then somehow replace the axes with the new dataset plot when we make a new dataset?
Hope that makes sense. Please someone let me know their thoughts.
Thanks!
The text was updated successfully, but these errors were encountered: