mne-python
mne-python copied to clipboard
WIP: Add OpenMEEG to CIs
No real support here yet, just checking first to make sure that adding these to requirements.txt and environment.yml doesn't break CIs. Then eventually we can add proper support following https://github.com/mne-tools/mne-openmeeg or something similar
Okay looks like the failures thus far are just due to an eeglabio update. I'll restart this once we figure out how to deal with that
macOS failure is probably https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/issues/310, a bug a caused by me messing up our recipe... hopefully I can fix it soon
@agramfort I added your shims for OpenMEEG-based BEM, I/O, and forward computations, with some tests that you can use when you start trying to port over code. PyPi and conda-forge are updated:
https://pypi.org/project/openmeeg/2.5.1/ https://anaconda.org/conda-forge/openmeeg
Now you can just have fun :)
@agramfort Windows is... having trouble with this. Can you write a little test over in the OpenMEEG repo using equivalent files? Or would it help for me to give it a shot? It'll be easier to debug over there.
@agramfort for now I'm inclined to say it only works on windows, and raise an error there if you try to do it. That way we can continue to make progress on the sEEG generalization aspects in follow-up PRs. WDYT?
... and this is painful:
56.70s call mne/forward/tests/test_make_forward.py::test_make_forward_solution_openmeeg[3]
but I'm not sure there is much we can do about it :(
... and we have a problem that comps is never used here
Looking at the code, I think the best way to handle compensation is with a heavy refactoring of the forward computation code. I could do this at the same time as the MEG+EEG -> MEG+EEG+... dict-based approach that will facilitate iEEG channel forward computation (and maybe even fNIRS someday!).
My vote is to actually get that done and merged first, then rebase this PR and get it to fit within that framework.
+1
Message ID: @.***>
Got it to fail on Windows 3.10 pip pre. Let's try with 2.6.0.dev1 from TestPyPi which has OpenMP disabled...
@agramfort do you want to attempt the rebase here or would you like me to do it?
I won't have time in the coming days in the next days.
Okay with file-based IO for _make_openmeeg_geometry we get on Windows:
E PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\openmeeg-io-t2wktag7\\tmp.geom'
this suggests that OpenMEEG is not letting go of the file pointer. I added this to the OpenMEEG issue tracker
@agramfort feel free to merge if you're happy