mne.preprocessing.regress_artifact#
- mne.preprocessing.regress_artifact(inst, picks=None, *, exclude='bads', picks_artifact='eog', betas=None, proj=True, copy=True, verbose=None)[source]#
 Remove artifacts using regression based on reference channels.
- Parameters:
 - instinstance of 
Epochs|Raw The instance to process.
- picks
str| array_like |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 good data channels. Note that channels ininfo['bads']will be included if their names or indices are explicitly provided.- exclude
list| ‘bads’ List of channels to exclude from the regression, only used when picking based on types (e.g., exclude=”bads” when picks=”meg”). Specify
'bads'(the default) to exclude all channels marked as bad.New in v1.2.
- picks_artifactarray_like | 
str Channel picks to use as predictor/explanatory variables capturing the artifact of interest (default is “eog”).
- betas
ndarray, shape (n_picks, n_picks_ref) |None The regression coefficients to use. If None (default), they will be estimated from the data.
- projbool
 Whether to automatically apply SSP projection vectors before performing the regression. Default is
True.- copybool
 If True (default), copy the instance before modifying it.
- verbosebool | 
str|int|None Control verbosity of the logging output. If
None, use the default verbosity level. See the logging documentation andmne.verbose()for details. Should only be passed as a keyword argument.
- instinstance of 
 - Returns:
 
Notes
To implement the method outlined in [1], remove the evoked response from epochs before estimating the regression coefficients, then apply those regression coefficients to the original data in two calls like (here for a single-condition
epochsonly):>>> epochs_no_ave = epochs.copy().subtract_evoked() >>> _, betas = mne.preprocessing.regress(epochs_no_ave) >>> epochs_clean, _ = mne.preprocessing.regress(epochs, betas=betas)
References