mne.preprocessing.oversampled_temporal_projection(raw, duration=10.0, picks=None, verbose=None)[source]

Denoise MEG channels using leave-one-out temporal projection.

rawinstance of Raw

Raw data to denoise.

durationfloat | str

The window duration (in seconds; default 10.) to use. Can also be “min” to use as short a window as possible.

picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all data channels. Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

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.

raw_cleaninstance of Raw

The cleaned data.


This algorithm is computationally expensive, and can be several times slower than realtime for conventional M/EEG datasets. It uses a leave-one-out procedure with parallel temporal projection to remove individual sensor noise under the assumption that sampled fields (e.g., MEG and EEG) are oversampled by the sensor array 1.

OTP can improve sensor noise levels (especially under visual inspection) and repair some bad channels. This noise reduction is known to interact with tSSS such that increasing the st_correlation value will likely be necessary.

Channels marked as bad will not be used to reconstruct good channels, but good channels will be used to process the bad channels. Depending on the type of noise present in the bad channels, this might make them usable again.

Use of this algorithm is covered by a provisional patent.

New in version 0.16.



Eric Larson and Samu Taulu. Reducing sensor noise in MEG and EEG recordings using oversampled temporal projection. IEEE Transactions on Biomedical Engineering, 65(5):1002–1013, 2018. doi:10.1109/TBME.2017.2734641.

Examples using mne.preprocessing.oversampled_temporal_projection