mne.preprocessing.realign_raw(raw, other, t_raw, t_other, verbose=None)[source]

Realign two simultaneous recordings.

Due to clock drift, recordings at a given same sample rate made by two separate devices simultaneously can become out of sync over time. This function uses event times captured by both acquisition devices to resample other to match raw.

rawinstance of Raw

The first raw instance.

otherinstance of Raw

The second raw instance. It will be resampled to match raw.

t_rawarray_like, shape (n_events,)

The times of shared events in raw relative to raw.times[0] (0). Typically these could be events on some TTL channel like find_events(raw)[:, 0] - raw.first_event.

t_otherarray_like, shape (n_events,)

The times of shared events in other relative to other.times[0].

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.


This function operates inplace. It will:

  1. Estimate the zero-order (start offset) and first-order (clock drift) correction.

  2. Crop the start of raw or other, depending on which started recording first.

  3. Resample other to match raw based on the clock drift.

  4. Crop the end of raw or other, depending on which stopped recording first (and the clock drift rate).

This function is primarily designed to work on recordings made at the same sample rate, but it can also operate on recordings made at different sample rates to resample and deal with clock drift simultaneously.

New in version 0.22.

Examples using mne.preprocessing.realign_raw