XFit-style dipole fitting GUI#13074
Conversation
|
Didn't get to it this week, might have time Monday. If not, then it'll probably be another week because next week is full of meetings for me! |
|
There's no hurry :) |
larsoner
left a comment
There was a problem hiding this comment.
Looks pretty reasonable so far. Can you update + flesh out the top comment? For example I think towncrier is done and you have some unit tests, so not clear to me what is still missing.
I still need to actually do some manual testing to see how it works as well, which could be a next step (you can put it as a TODO in the top comment if you want 😄 )
| ) | ||
| parser.add_option( | ||
| "-b", | ||
| "--bem", |
There was a problem hiding this comment.
Someday we should maybe allow --sphere... I think MNE-C had some way to do this. Can you add a TODO comment in case someone wants to try?
There was a problem hiding this comment.
If --bem is not speficied, a default auto-fitted sphere will be used. If the user wants to have control of the sphere, wouldn't it be easier if they just do this through mne.make_sphere_model than expose all the sphere parameters on the command line?
|
@wmvanvliet this is in draft mode, is this good to go from your end? If so feel free to mark as ready, ping me, and I'll try actually using it and see if there are any show-stopping issues. CircleCI failure is real: so is its style complaint in case you want to test locally, I can replicate the example error with I'll look to see if I can see what docutils is angry about |
larsoner
left a comment
There was a problem hiding this comment.
Uggghh when I run locally I get a reference cycle. Working on fixing it and will push if I figure it out
|
Fixed ref cycle (need weakrefs to all callbacks) and improved scraping to use GUI-style scraping |
|
Only thing blocking this IMO is faster unit tests with better coverage. |
|
@wmvanvliet looks like still draft mode, let me know when I should look and test it out (and hopefully merge!) |
|
You already helped a lot figuring out the ref cycles. We still need better test coverage before thinking about merging this. |
|
Do you need help with tests? I might have time next week to get some in |
|
Of course any help is appreciated and motivating! My main issue with writing these tests is speed. How can we test this GUI at any type of reasonable speed? |
A couple ideas to get the ball rolling:
With these in place maybe it's already doable, but if not we should look to see what takes a lot of time and figure out how to make it faster (e.g., via caching, more monkey patching, etc.) |
This adds a GUI to perform guided dipole modeling in the spirit of MEGIN's XFit program. This PR contains the base functionality needed to make the GUI useful. Useful enough to include in the next release of MNE-Python. The plan is to keep adding features in future PRs as well as some sorely needed speed improvements.
See here for a list of currently supported features: #11977
This PR depends on: #12071
Minimal example:
Todo: