mne.chpi.filter_chpi(raw, include_line=True, t_step=0.01, t_window='auto', ext_order=1, allow_line_only=False, verbose=None)[source]

Remove cHPI and line noise from data.


This function will only work properly if cHPI was on during the recording.

rawinstance of Raw

Raw data with cHPI information. Must be preloaded. Operates in-place.


If True, also filter line noise.


Time step to use for estimation, default is 0.01 (10 ms).


Time window to use to estimate the amplitudes, default is 0.2 (200 ms).


The external order for SSS-like interfence suppression. The SSS bases are used as projection vectors during fitting.

Changed in version 0.20: Added ext_order=1 by default, which should improve detection of true HPI signals.


If True, allow filtering line noise only. The default is False, which only allows the function to run when cHPI information is present.

New in version 0.20.

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.

rawinstance of Raw

The raw data.


cHPI signals are in general not stationary, because head movements act like amplitude modulators on cHPI signals. Thus it is recommended to to use this procedure, which uses an iterative fitting method, to remove cHPI signals, as opposed to notch filtering.

New in version 0.12.

Examples using mne.chpi.filter_chpi