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).

transdict | str | None

Either a transformation filename (usually made using mne_analyze) or an info dict (usually opened using read_trans()). If string, an ending of fif or fif.gz will be assumed to be in FIF format, any other ending will be assumed to be a text file with a 4x4 transformation matrix (like the –trans MNE-C option). Can be None to use the identity transform.

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).

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().