-
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
ENH: Use OpenMEEG for iEEG #1624
Comments
There is no integration of OpenMEEG into MNE yet but this is planned for 2015. There will be some help coming soon. But any progress you make already will make things go faster. You should do it via python bindings. thanks @maedoc ! |
ping @souravamishra |
I've had some trouble constructing OpenMEEG objects directly with the SWIG based API (sometimes segfaults as result), and the examples all seem to use the file-based constructors. Is this normal? |
oups :-/
have a look at: https://raw.githubusercontent.com/openmeeg/openmeeg_sample_data/master/compute_leadfields.py |
This is what I meant, the objects like HeadModel are constructed by passing the name of a file, where I would have expected a Python API allowing it to be constructed explicity via OTOH this is probably the most well tested way of using OpenMEEG no?
I won't bother about this a third time, but won't this introduce a binary dependency among platform, python & numpy versions? Could be a headache for distribution, compared to just "make sure OpenMEEG is in $PATH". I'm rounding out a first version, assuming the 3 layer BEM, and will send a PR to know what is preferred for API etc. |
Also capturing stdout of subprocess is easier than a shared library with stuff like |
point taken although it's a bit disappointing to have a file based approach. I did not think about the std::cout usage... no experience with that. @souravamishra should soon be able to help improv the binding. don't hesitate to type the few lines you would like to be able to write |
@maedoc let me know if you have some data I could treat with |
Test, not treat (silly mobile) |
@Eric89GXL there are several epilepsy s/M/EEG data sets but would require clinical release. Either I could run tests myself or ask the right person about how to pass the data along. What do you have in mind? |
Ultimately we need to have some unit tests, and ideally some example showing the functionality. Maybe we can use the |
If simulated data would work, then I'll be able to put it together quickly. |
@agramfort wrt binding OpenMEEG I think a Cython module which provides a minimal in-process API would be nicer than the SWIG approach which assumes head model & surfaces are stored in files. It would statically link OpenMEEG libs and be packed into per platform wheels. wdyt? |
I'd love this but question is who will do this? do you have time to give
this a try?
otherwise it will have to wait I hire someone to do this... might be in a
few months... or more.
|
I'm at a point where I need this to work, and I can implement what I mentioned above over the next few weeks, but I think it's worth some discussion of use cases. My current workflow is something like
This all assumes that FreeSurfer recon is done and At least, I can start on wrapping some of the C++ APIs which would be required to replace the wdyt? |
I don't want to replicate that here, it's just what I was doing in the past. Ideally we'd use nibabel to load the formats, etc. |
let's make it work first then we'll make it nice :)
|
I've not done anything here since we're focused on the sEEG currently with lots of subcortical structures, where we don't have source orientation info, so we use a simple 1/r^2 rule 🙉 . |
OpenMEEG for mne-python is on our agenda, as soon as we get the resources...
Maureen
----- Mail original -----
| I've not done anything here since we're focused on the sEEG currently with
| lots of subcortical structures, where we don't have source orientation info,
| so we use a simple 1/r^2 rule 🙉 .
| —
| You are receiving this because you were mentioned.
| Reply to this email directly, view it on GitHub , or mute the thread .
|
@mclerc @agramfort friendly question: have there been any updates on MNE-Python <-> OpenMEEG? |
FYI there is some progress being pushed here in openmeeg/openmeeg#443 and conda-forge/openmeeg-feedstock#18 |
... the TL;DR of those is basically that support will hopefully be added to MNE-Python in the next couple of months, starting with:
As part of (1) we'll make a PR to MNE-Python to hopefully wrap nicely to OpenMEEG such that you can pass it standard MNE-Python objects and get back an instance of Forward just like with |
it's now possible thanks the hard work of @larsoner to install openmeeg with conda or pip on all 3 platforms 🎉 it means that the https://github.com/mne-tools/mne-openmeeg project can be resurrected to offer alternative forward models for MEG/EEG but importantly iEEG. @maedoc do you have a bit of bandwidth to help here? Otherwise I'll restart the ball after my summer break. |
Thanks to all of you who put a lot of effort in putting OpenMEEG into better shape, much appreciated !
(my role was limited to pinging @papadop when his notifications had broken down...)
The MNE perspective sounds appealing !
…----- Le 2 Aoû 22, à 8:29, Alexandre Gramfort ***@***.***> a écrit :
| it's now possible thanks the hard work of [ https://github.com/larsoner |
| @larsoner ] to install openmeeg with conda or pip on all 3 platforms 🎉
| it means that the [ https://github.com/mne-tools/mne-openmeeg |
| https://github.com/mne-tools/mne-openmeeg ] project can be resurrected to offer
| alternative forward models for MEG/EEG but importantly iEEG.
| [ https://github.com/maedoc | @maedoc ] do you have a bit of bandwidth to help
| here? Otherwise I'll restart the ball after my summer break.
| —
| Reply to this email directly, [
| #1624 (comment) |
| view it on GitHub ] , or [
| https://github.com/notifications/unsubscribe-auth/AAKTX3HGAPNO5KCSUBJY5STVXC53NANCNFSM4AWKFH6A
| | unsubscribe ] .
| You are receiving this because you were mentioned. Message ID:
| ***@***.***>
|
iEEG is an important use case for our team. I could look at this after the summer break also. |
Thanks for this great effort - excited about it |
mne-openmeeg still needs to be written with the new openmeeg binaries.
I'll have a look later this month
there is nothing to see here at this point
… Message ID: ***@***.***>
|
I'd like to use OpenMEEG to generate forward solutions, especially for sEEG (#1623), under the assumption that MNE's forward module doesn't provide the same support for sEEG/internal potential as OpenMEEG (?).
Assuming I have the normal BEM surfaces, and additionally the positions of the sEEG electrodes, I'm able to get s/M/EEG lead fields, more or less by hand using the command line OpenMEEG tools.
Is this already available in MNE? I could find no reference to OM in MNE. If I make a PR for this, which is preferred, a) calling the command line utils b) using the Python module?
The text was updated successfully, but these errors were encountered: