import openmeeg as om |
## Load data |
geom = om.Geometry() |
geom.read(‘head_model.geom’, ‘head_model.cond’) |
dipoles = om.Matrix() |
dipoles.load(‘cortex_dipoles.txt’) |
meg_sensors = om.Sensors() |
meg_sensors.load(‘meg_channels.squids’) |
eeg_electrodes = om.Matrix() |
eeg_electrodes.load(‘eeg_channels.txt’) |
int_electrodes = om.Matrix() |
int_electrodes.load(‘internal_electrodes.txt’) |
## Assemble matrices |
gauss_order = 3 |
use_adaptive_integration = True |
hm = om.HeadMat(geom, gauss_order) |
hminv = hm.inverse() |
dsm = om.DipSourceMat(geom, dipoles, gauss_order, use_adaptive_integration) |
# For EEG |
h2em = om.Head2EEGMat(geom, eeg_electrodes) |
# For MEG |
ds2mm = om.DipSource2MEGMat(dipoles, meg_sensors) |
h2mm = om.Head2MEGMat(geom, meg_sensors) |
# For EIT (using the same electrodes as EEG) |
eitsm = om.EITSourceMat(geom, eeg_electrodes, gauss_order) |
# For Internal Potential |
iphm = om.Surf2VolMat(geom, int_electrodes) |
ipsm = om.DipSource2InternalPotMat(geom, dipoles, int_electrodes) |
## Compute leadfiels |
eeg_leadfield = om.GainEEG(hminv, dsm, h2em) |
meg_leadfield = om.GainMEG(hminv, dsm, h2mm, ds2mm) |
eit_leadfield = om.GainEEG(hminv, eitsm, h2em) |
ip_leadfield = om.GainInternalPot(hminv, dsm, iphm, ipsm) |