mne.set_bipolar_reference(inst, anode, cathode, ch_name=None, ch_info=None, drop_refs=True, copy=True, verbose=None)[source]

Re-reference selected channels using a bipolar referencing scheme.

A bipolar reference takes the difference between two channels (the anode minus the cathode) and adds it as a new virtual channel. The original channels will be dropped.

Multiple anodes and cathodes can be specified, in which case multiple virtual channels will be created. The 1st anode will be subtracted from the 1st cathode, the 2nd anode from the 2nd cathode, etc.

By default, the virtual channels will be annotated with channel info of the anodes, their locations set to (0, 0, 0) and coil types set to EEG_BIPOLAR.

instinstance of Raw | Epochs | Evoked

Data containing the unreferenced channels.

anodestr | list of str

The name(s) of the channel(s) to use as anode in the bipolar reference.

cathodestr | list of str

The name(s) of the channel(s) to use as cathode in the bipolar reference.

ch_namestr | list of str | None

The channel name(s) for the virtual channel(s) containing the resulting signal. By default, bipolar channels are named after the anode and cathode, but it is recommended to supply a more meaningful name.

ch_infodict | list of dict | None

This parameter can be used to supply a dictionary (or a dictionary for each bipolar channel) containing channel information to merge in, overwriting the default values. Defaults to None.


Whether to drop the anode/cathode channels from the instance.


Whether to operate on a copy of the data (True) or modify it in-place (False). Defaults to True.

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.

instinstance of Raw | Epochs | Evoked

Data with the specified channels re-referenced.

See also


Convenience function for creating an EEG reference.


  1. If the anodes contain any EEG channels, this function removes any pre-existing average reference projections.

  2. During source localization, the EEG signal should have an average reference.

  3. The data must be preloaded.

New in version 0.9.0.

Examples using mne.set_bipolar_reference