eegprep.clean_artifacts#
- eegprep.clean_artifacts(EEG, ChannelCriterion=0.8, LineNoiseCriterion=4.0, BurstCriterion=5.0, WindowCriterion=0.25, Highpass=(0.25, 0.75), ChannelCriterionMaxBadTime=0.5, BurstCriterionRefMaxBadChns=0.075, BurstCriterionRefTolerances=(-inf, 5.5), BurstRejection=False, WindowCriterionTolerances=(-inf, 7), FlatlineCriterion=5.0, NumSamples=50, SubsetSize=0.25, NoLocsChannelCriterion=0.45, NoLocsChannelCriterionExcluded=0.1, MaxMem=64, Distance='euclidian', Channels=None, Channels_ignore=None, availableRAM_GB=None)#
All-in-one artifact removal, port of MATLAB clean_artifacts.
Removes flatline channels, low-frequency drifts, noisy channels, short-time bursts, and irrecoverable windows in sequence. Core parameters can be passed as None or ‘off’ to use defaults or disable stages.
- Return type:
Tuple[Dict[str,Any],Dict[str,Any],Dict[str,Any],ndarray]- Parameters:
ChannelCriterionMaxBadTime (float)
BurstCriterionRefTolerances (Tuple[float, float] | str | None)
BurstRejection (bool)
WindowCriterionTolerances (Tuple[float, float] | str | None)
NumSamples (int)
SubsetSize (float)
NoLocsChannelCriterion (float)
NoLocsChannelCriterionExcluded (float)
MaxMem (int)
Distance (str)
availableRAM_GB (float | None)
Parameters#
- EEGdict
Raw continuous EEG dataset dict (must include ‘data’, ‘srate’, ‘chanlocs’, etc.).
- ChannelCriterionfloat or ‘off’
Minimum channel correlation threshold for channel cleaning; channels below this value are considered bad. Pass ‘off’ to skip channel criterion. Default 0.8.
- LineNoiseCriterionfloat or ‘off’
Z-score threshold for line-noise contamination; channels exceeding this are considered bad. ‘off’ disables line-noise check. Default 4.0.
- BurstCriterionfloat or ‘off’
ASR standard-deviation cutoff for high-amplitude bursts; values above this relative to calibration data are repaired (or removed if BurstRejection=’on’). ‘off’ skips ASR. Default 5.0.
- WindowCriterionfloat or ‘off’
Fraction (0-1) or count of channels allowed to be bad per window; windows with more bad channels are removed. ‘off’ disables final window removal. Default 0.25.
- Highpasstuple(float, float) or ‘off’
Transition band [low, high] in Hz for initial high-pass filtering. ‘off’ skips drift removal. Default (0.25, 0.75).
- ChannelCriterionMaxBadTimefloat
Maximum tolerated time (seconds or fraction of recording) a channel may be flagged bad before being removed. Default 0.5.
- BurstCriterionRefMaxBadChnsfloat or ‘off’
Maximum fraction of bad channels tolerated when selecting calibration data for ASR. ‘off’ uses all data for calibration. Default 0.075.
- BurstCriterionRefTolerancestuple(float, float) or ‘off’
Power Z-score tolerances for selecting calibration windows in ASR. ‘off’ uses all data. Default (-inf, 5.5).
- BurstRejectionbool
‘on’ to reject (drop) burst segments instead of reconstructing with ASR, ‘off’ to apply ASR repair. Default ‘off’.
- WindowCriterionTolerancestuple(float, float) or ‘off’
Power Z-score bounds for final window removal. ‘off’ disables this stage. Default (-inf, 7).
- FlatlineCriterionfloat or ‘off’
Maximum flatline duration in seconds; channels exceeding this are removed. ‘off’ disables flatline removal. Default 5.0.
- NumSamplesint
Number of RANSAC samples for channel cleaning. Default 50.
- SubsetSizefloat
Size of channel subsets for RANSAC, as fraction (0-1) or count. Default 0.25.
- NoLocsChannelCriterionfloat
Correlation threshold for fallback channel cleaning when no channel locations. Default 0.45.
- NoLocsChannelCriterionExcludedfloat
Fraction of channels excluded when assessing correlation in nolocs cleaning. Default 0.1.
- MaxMemint
Maximum memory in MB for ASR processing. Default 64.
- Distancestr
Distance metric for ASR processing (‘euclidian’). Default ‘euclidian’.
- Channelssequence of str or None
List of channel labels to include before cleaning (pop_select). Default None.
- Channels_ignoresequence of str or None
List of channel labels to exclude before cleaning. Default None.
- availableRAM_GBfloat or None
Available system RAM in GB to adjust MaxMem. Default None.
Returns#
- EEGdict
Final cleaned EEG dataset.
- HPdict
EEG dataset after initial high-pass (drift removal).
- BURdict
EEG dataset after ASR burst repair (before final window removal).
- removed_channelsndarray of bool
Mask indicating which channels were removed during cleaning.