mne.preprocessing.compute_proj_ecg#
- mne.preprocessing.compute_proj_ecg(raw, raw_event=None, tmin=-0.2, tmax=0.4, n_grad=2, n_mag=2, n_eeg=2, l_freq=1.0, h_freq=35.0, average=True, filter_length='10s', n_jobs=None, ch_name=None, reject={'eeg': 5e-05, 'eog': 0.00025, 'grad': 2e-10, 'mag': 3e-12}, flat=None, bads=(), avg_ref=False, no_proj=False, event_id=999, ecg_l_freq=5, ecg_h_freq=35, tstart=0.0, qrs_threshold='auto', filter_method='fir', iir_params=None, copy=True, return_drop_log=False, meg='separate', verbose=None)[source]#
Compute SSP (signal-space projection) vectors for ECG artifacts.
This function will:
Filter the ECG data channel.
Find ECG R wave peaks using
mne.preprocessing.find_ecg_events()
.Filter the raw data.
Create
Epochs
around the R wave peaks, capturing the heartbeats.Optionally average the
Epochs
to produce anEvoked
ifaverage=True
was passed (default).Calculate SSP projection vectors on that data to capture the artifacts.
Note
Raw data will be loaded if it hasn’t been preloaded already.
- Parameters:
- raw
mne.io.Raw
Raw input file.
- raw_event
mne.io.Raw
orNone
Raw file to use for event detection (if None, raw is used).
- tmin
float
Time before event in seconds.
- tmax
float
Time after event in seconds.
- n_grad
int
Number of SSP vectors for gradiometers.
- n_mag
int
Number of SSP vectors for magnetometers.
- n_eeg
int
Number of SSP vectors for EEG.
- l_freq
float
|None
Filter low cut-off frequency for the data channels in Hz.
- h_freq
float
|None
Filter high cut-off frequency for the data channels in Hz.
- averagebool
Compute SSP after averaging. Default is True.
- filter_length
str
|int
|None
Number of taps to use for filtering.
- n_jobs
int
|None
The number of jobs to run in parallel. If
-1
, it is set to the number of CPU cores. Requires thejoblib
package.None
(default) is a marker for ‘unset’ that will be interpreted asn_jobs=1
(sequential execution) unless the call is performed under ajoblib.parallel_config
context manager that sets another value forn_jobs
.- ch_name
str
|None
Channel to use for ECG detection (Required if no ECG found).
- reject
dict
|None
Epoch rejection configuration (see Epochs).
- flat
dict
|None
Epoch flat configuration (see Epochs).
- bads
list
List with (additional) bad channels.
- avg_refbool
Add EEG average reference proj.
- no_projbool
Exclude the SSP projectors currently in the fiff file.
- event_id
int
ID to use for events.
- ecg_l_freq
float
Low pass frequency applied to the ECG channel for event detection.
- ecg_h_freq
float
High pass frequency applied to the ECG channel for event detection.
- tstart
float
Start artifact detection after tstart seconds.
- qrs_threshold
float
|str
Between 0 and 1. qrs detection threshold. Can also be “auto” to automatically choose the threshold that generates a reasonable number of heartbeats (40-160 beats / min).
- filter_method
str
Method for filtering (‘iir’ or ‘fir’).
- iir_params
dict
|None
Dictionary of parameters to use for IIR filtering. See mne.filter.construct_iir_filter for details. If iir_params is None and method=”iir”, 4th order Butterworth will be used.
- copybool
If False, filtering raw data is done in place. Defaults to True.
- return_drop_logbool
If True, return the drop log.
New in v0.15.
- meg
str
Can be
'separate'
(default) or'combined'
to compute projectors for magnetometers and gradiometers separately or jointly. If'combined'
,n_mag == n_grad
is required and the number of projectors computed for MEG will ben_mag
.New in v0.18.
- 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.
- raw
- Returns:
- projs
list
ofProjection
List of computed projection vectors.
- ecg_events
ndarray
Detected ECG events.
- drop_log
list
The drop log, if requested.
- projs
See also
Notes
Filtering is applied to the ECG channel while finding events using
ecg_l_freq
andecg_h_freq
, and then to theraw
instance usingl_freq
andh_freq
before creation of the epochs used to create the projectors.
Examples using mne.preprocessing.compute_proj_ecg
#
Divide continuous data into equally-spaced epochs