Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
development:forwinv [2010/07/21 13:43]
robert
development:forwinv [2017/08/17 11:21] (current)
Line 1: Line 1:
 ====== Functions for forward and inverse computation of EEG/MEG data ====== ====== Functions for forward and inverse computation of EEG/MEG data ======
  
-FieldTrip has a consistent set of low-level ​functions for forward ​and inverse computations,​ i.e. source estimation. The main reason for making the functions consistent is that that facilitates supporting the different methods in the FieldTrip toolbox. Another reason is that this allows other projects ​to re-use ​the implemented methods and perhaps also to contribute to FieldTrip.+The functions for forward ​computation of the leadfield have moved to the [[development:​forward|fieldtrip/​forward]] directory.
  
-The low-level functions are combined in the **forward** and the **inverse** toolboxes, which are released together with FieldTrip but can also be downloaded [[ftp://​ftp.fcdonders.nl/​pub/​fieldtrip/​modules|here]] as separate toolboxes. In the past these functions were combined in one toolbox. 
-===== Module layout ===== 
  
-Both, the **forward** and **inverse** modules contain high-level functions that are publicly available for the end-user. ​The functionality of these functions ​within these modules depend on low-level functions. This is in particular the case for the forward module where high-level functions depend on functions for specific head models. These functions are not available to the end-user and combined in a private directory. +The functions for the inverse estimation of source parameters ​have moved to the [[development:inverse|fieldtrip/​inverse]] directory.
- +
-===== Supported methods for forward computations of the potential or field ===== +
- +
-The following forward methods are implemented for computing the electric potential (EEG): +
-  * single sphere +
-  * multiple concentric spheres with up to 4 shells +
-  * boundary element model using dipoli, using external command-line executable +
-  * boundary element model using openmeeg, using external command-line executable +
-  * boundary element model using bemcp, using external mex files +
-  * all forward models supported by the Neuromag meg-calc toolbox +
-\\ +
- +
-The following forward methods are implemented for computing the magnetic field (MEG): +
-  * single sphere +
-  * multiple spheres, one for each sensor +
-  * realistic single-shell model based on leadfield expansion (Nolte method) +
-  * all forward models supported by the Neuromag meg-calc toolbox +
-\\ +
- +
-===== Supported methods for inverse estimation of the source parameters ​===== +
- +
-The inverse methods for computing a source reconstruction can be divided into three categories: **dipole fitting** (using an overdetermined model with a few sources), **dipole scaning** (using a metric that can be computed independently on each point of a grid) and **distributed source modelling** (using an underdetermined distributed source model). The following source reconstruction methods are implemented +
- +
-  * dipole fitting  +
-    * simultaneous optimisation of position, orientation and strength +
-    * symmetry constrains and/or fixed position, with free orientation and strength +
-  * dipole scanning +
-    * dynamic imaging of coherent sources (DICS) +
-    * linear constrained minimum variance (LCMV) +
-    * partial canonical coherence (PCC) +
-    * multiple signal classification (MUSIC) +
-    * scanning for residual variance +
-  * distributed source modeling +
-    * minimum norm estimation without regularisation (MNE) +
- +
-===== Definition of the function-calls (API) ===== +
- +
-To read in the volume conduction model and the definition of the sensor array (electrodes or gradiometers) from file, one would start with: +
-  [vol]  = read_vol(filename) +
-  [sens] = read_sens(filename) +
- +
-If desired the volume conduction model and the sensor array can be spatially transformed using a 4x4 homogenous transformation matrix. E.g. the electrodes can be translated and rotated ​to align them with head coordinate system, or they can be translated and rotated to switch to another coordinate system. +
-  [vol]  = transform_vol(transform,​ vol) +
-  [sens] = transform_sens(transform,​ sens) +
- +
-Prior to all forward and inverse computations, ​the following function should be called: +
-  ​[vol, sens] = prepare_vol_sens(vol,​ sens, ...) +
- +
-The only function that is subsequently required for computing the potential or field distribution is  +
-  ​[lf] = compute_leadfield(pos,​ sens, vol, ...) +
- +
-The functions for the inverse computation of the source activity, i.e. for computing the source reconstruction are +
-  [dipout] = dipole_fit(dip,​ sens, vol, dat, ...) +
-  [dipout] = beamformer_dics(dip,​ sens, vol, dat, cov, ...) +
-  [dipout] = beamformer_lcmv(dip,​ sens, vol, dat, cov, ...) +
-  [dipout] = beamformer_pcc(dip,​ sens, vol, dat, cov, ...) +
-  [dipout] = music(dip, sens, vol, dat, ...) +
-  [dipout] = minimumnormestimate(dip,​ sens, vol, dat, ...) +
-  [dipout] = residualvariance(dip,​ sens, vol, dat, ...) +
- +
-The input array "​pos"​ contains the dipole position (1x3 or Nx3). +
- +
-The input structure "​dip"​ contains the initial dipole model or dipole grid that is used for source reconstruction. +
- +
-The input structure "​sens"​ contains the electrode positions or the gradiometer positions and orientations. +
- +
-The input structure "​vol"​ contains the geometry and conductivity of the volume conductor model. +
- +
-Most functions have additional optional input arguments that are specified as key-value pairs. +
-====== Recent changes to the forward code ====== +
- +
-{{page>​changelog:forward_changelog}} +
- +
-====== Recent changes to the inverse ​code ====== +
- +
-{{page>​changelog:​inverse_changelog}} +
-====== Related documentation ====== +
- +
-The literature references to the implemented methods are given [[:​references_to_implemented_methods|here]]. +
- +
-Frequently asked questions about forward and inverse modeling: +
- +
-{{topic>​faq +source &​list}} +
- +
-Example material for forward and inverse modelingde:​ +
- +
-{{topic>​example +source &​list}} +
- +
-Ttutorial material for forward and inverse modeling: +
- +
-{{topic>​tutorial +source &list}}+