-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Allow making inverse solutions from fixed-orientation discrete forward models, enabling multi-dipole modeling #10464
Conversation
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.
Looks neat
I am also think it's probably too much code to write for most users but it's a great step forward.
Thanks!
Yeah, I went perhaps a little overboard on the figures. Also, guided dipole fitting using code is not the best way. You should really be using Xfit for that. However, constructing the actual multi-dipole model once you have the dipoles is not that bad. |
@wmvanvliet can you see why CIs complain? |
3ff1e2c
to
91643b4
Compare
91643b4
to
5d794a3
Compare
Qt somehow broke, but I don't think that is related to the changes I've been making. |
There were some unit tests that explicitly tested for errors throws when computing fixed orientation inverses from discrete forward models. I've removed them. |
tell us when you're happy here so we can review
… Message ID: ***@***.***>
|
I think I'm happy! |
* upstream/main: (40 commits) FIX: Flake (mne-tools#10540) FIX: Correct link (mne-tools#10536) DOC: Update installers (mne-tools#10535) ENH: Add dark mode to website (mne-tools#10523) WIP: Copy BEM surfaces by default (don't symlink) (mne-tools#10531) Avoid lowpass=0 in brainvision data (mne-tools#10517) DOC: Update installers [skip azp] [skip actions] (mne-tools#10528) FIX: Fix for old build (mne-tools#10527) Fix line noise at wrong frequencies (mne-tools#10525) FIX : read fids in eeglab (mne-tools#10521) MAINT: Prefer PySide6 in testing (mne-tools#10513) ENH: Add overview_mode support (mne-tools#10501) MRG: Updates for qtpy in mne-qt-browser (mne-tools#10509) BUG: Fix bug with themes on macOS (mne-tools#10500) MAINT: Bump installer links (mne-tools#10511) Add metadata to combine_channels (mne-tools#10504) MAINT: Standardize tests (mne-tools#10502) CI: Test circle (mne-tools#10506) ENH: Use HiDPI splash screen on HiDPI screens (mne-tools#10503) WIP,MNT: Add support for QtPy (mne-tools#10430) ...
I merged with upstream/main to fix the CircleCI error, but it looks like |
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.
Looks great other than some minor comments!
Co-authored-by: Eric Larson <larson.eric.d@gmail.com>
I like to put that in at the very end, since it produces so many merge conflicts |
Thanks @wmvanvliet ! |
Pushed |
* upstream/main: (52 commits) MAINT: Extra test for coreg (mne-tools#10549) BUG: Fix annot meas_date / crop (mne-tools#10491) Update latest.inc Use liblinear solver instead of lbgfs in all decodung examples [skip azp][skip actions] (mne-tools#10552) STY: Hotfix for HTML [ci skip] Allow making inverse solutions from fixed-orientation discrete forward models, enabling multi-dipole modeling (mne-tools#10464) Correct documented default number of CV splits [skip azp][skip actions] (mne-tools#10548) MRG: Add error checking to prevent the creation of montage with invalid [x, y, z] (mne-tools#10547) MRG: Add "verbose" parameter to pick_channels() method (mne-tools#10544) CI: Avoid bad PySide6 (mne-tools#10545) FIX: Flake (mne-tools#10540) FIX: Correct link (mne-tools#10536) DOC: Update installers (mne-tools#10535) ENH: Add dark mode to website (mne-tools#10523) WIP: Copy BEM surfaces by default (don't symlink) (mne-tools#10531) Avoid lowpass=0 in brainvision data (mne-tools#10517) DOC: Update installers [skip azp] [skip actions] (mne-tools#10528) FIX: Fix for old build (mne-tools#10527) Fix line noise at wrong frequencies (mne-tools#10525) FIX : read fids in eeglab (mne-tools#10521) ...
* upstream/main: MAINT: Extra test for coreg (mne-tools#10549) BUG: Fix annot meas_date / crop (mne-tools#10491) Update latest.inc Use liblinear solver instead of lbgfs in all decodung examples [skip azp][skip actions] (mne-tools#10552) STY: Hotfix for HTML [ci skip] Allow making inverse solutions from fixed-orientation discrete forward models, enabling multi-dipole modeling (mne-tools#10464)
…10520 * upstream/main: MAINT: Extra test for coreg (mne-tools#10549) BUG: Fix annot meas_date / crop (mne-tools#10491) Update latest.inc Use liblinear solver instead of lbgfs in all decodung examples [skip azp][skip actions] (mne-tools#10552) STY: Hotfix for HTML [ci skip] Allow making inverse solutions from fixed-orientation discrete forward models, enabling multi-dipole modeling (mne-tools#10464) Correct documented default number of CV splits [skip azp][skip actions] (mne-tools#10548) MRG: Add error checking to prevent the creation of montage with invalid [x, y, z] (mne-tools#10547) MRG: Add "verbose" parameter to pick_channels() method (mne-tools#10544) CI: Avoid bad PySide6 (mne-tools#10545)
Picking this up from #10440.
MNE-Python has most of the ingredients for Xfit-style multi-dipole modeling. This PR removes the last barrier in the way of building a multi-dipole inverse solution: allowing the building of inverse models for the type of forward models produced by
make_forward_dipole
, namely fixed-orientation, discrete forward models.Todo:
_prepare_forward
make_forward_dipole
take a list of dipoles to prevent having to manually concatenate them