mne.make_forward_solution(info, trans, src, bem, meg=True, eeg=True, mindist=0.0, ignore_ref=False, n_jobs=1, verbose=None)[source]

Calculate a forward solution for a subject.

infoinstance of mne.Info | str

If str, then it should be a filename to a Raw, Epochs, or Evoked file with measurement information. If dict, should be an info dict (such as one from Raw, Epochs, or Evoked).

transstr | dict | instance of Transform | None

If str, the path to the head<->MRI transform *-trans.fif file produced during coregistration. Can also be 'fsaverage' to use the built-in fsaverage transformation. If trans is None, an identity matrix is assumed.

Changed in version 0.19: Support for ‘fsaverage’ argument.

srcstr | instance of SourceSpaces

If string, should be a source space filename. Can also be an instance of loaded or generated SourceSpaces.

bemdict | str

Filename of the BEM (e.g., “sample-5120-5120-5120-bem-sol.fif”) to use, or a loaded sphere model (dict).


If True (Default), include MEG computations.


If True (Default), include EEG computations.


Minimum distance of sources from inner skull surface (in mm).


If True, do not include reference channels in compensation. This option should be True for KIT files, since forward computation with reference channels is not currently supported.


The number of jobs to run in parallel (default 1). Requires the joblib package.

verbosebool, str, int, or None

If not None, override default verbose level (see mne.verbose() and Logging documentation for more). If used, it should be passed as a keyword-argument only.

fwdinstance of Forward

The forward solution.


The --grad option from MNE-C (to compute gradients) is not implemented here.

To create a fixed-orientation forward solution, use this function followed by mne.convert_forward_solution().