Skip to main content

Solves the M/EEG inverse problem using artificial neural networks with Python 3 and the MNE library.

Project description

esinet: Electric Source Imaging using Artificial Neural Networks (ANNs)

esinet let's you solve the EEG inverse problem using ANNs with the mne-python framework. It currently supports three main architectures:

ConvDip

A convolutional neural network as described in our first paper.

Fully-connected network

A fully-connected neural network which is trained on single time instances of M/EEG data. This model was described in our second paper alongside the LSTM.

Long-short term memory network

A Long-short-term memory (LSTM) model which is trained on sequences of EEG data. This model is described in detail and published in our second paper.


esinet

Neural network design was created here



Dependencies:


Installation from PyPi

Use pip to install esinet and all its dependencies from PyPi:

pip install esinet

Quick start

The following code demonstrates how to use this package:

from esinet import Simulation, Net
from esinet.forward import create_forward_model, get_info

# Create generic Forward Model
info = get_info()
fwd = create_forward_model(info=info, sampling='ico2')

# Simulate M/EEG data
settings = dict(duration_of_trial=0.1)
sim = Simulation(fwd, info, settings=settings)
sim.simulate(n_samples=200)

# Train neural network (LSTM) on the simulated data
net = Net(fwd)
net.fit(sim)

# Plot
stc = net.predict(sim)[0]
sim.source_data[0].plot()
stc.plot()

First steps

Check out one of the tutorials to learn how to use the package:

  • Tutorial 1: The fastest way to get started with esinet. This tutorial can be used as an entry point. If you want to dig deeper you should have a look at the next tutorials, too!
  • Tutorial 2: Use esinet with low-level functions that allow for more control over your parameters with respect to simulations and training of the neural network.
  • Tutorial 3: A demonstration of simulation parameters and how they affect the model performance.
  • opm_source: Source imaging of optically pumped magnetometer (OPM) data. The tutorial is based on the one provided by mne

Feedback

Please leave your feedback and bug reports at lukas_hecker@web.de.


Literature

Please cite these publications if you are using this code:

Hecker, L., Rupprecht, R., van Elst, L. T., & Kornmeier, J. (2022). Long-Short Term Memory Networks for Electric Source Imaging with Distributed Dipole Models. bioRxiv.

Hecker, L., Rupprecht, R., Tebartz van Elst, L., & Kornmeier, J. (2021). ConvDip: A convolutional neural network for better EEG Source Imaging. Frontiers in Neuroscience, 15, 533.

Troubleshooting

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

esinet-0.3.0-py3-none-any.whl (48.0 kB view details)

Uploaded Python 3

File details

Details for the file esinet-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: esinet-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 48.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for esinet-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1bde9226e37355c8554ca791a931cbd0800eb9e0912b08e2c095158599bd274b
MD5 dfe7f7cac644cc1b5802c850acfb9679
BLAKE2b-256 5f4aadfbd2a39d895ed385fba57d02be81742aff304a2b4d61f74f8118ec4891

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page