An EEG artifact is any recorded signal that does not come from the brain activity under study. Artifacts matter beyond looking messy: a classifier will learn whatever separates the classes, and if participants blink more in one condition, the decoder can end up reading the blinks.
There are three tools, used in this order: drop the electrodes that are not recording properly, separate and remove artifact sources with ICA, and reject the trials that are still contaminated.
Common artifacts and how to spot them
| Artifact | Looks like | Usual remedy |
|---|---|---|
| Eye blink | Large slow deflection, strongest frontally | ICA |
| Eye movement | Box-shaped shifts, opposite polarity left vs right | ICA |
| Muscle (EMG) | Broadband high-frequency bursts, often temporal | ICA where separable, otherwise trial rejection |
| Cardiac (ECG) | Regular sharp peaks about once a second | ICA |
| Line noise | Narrow peak at 50 or 60 Hz | Notch filter |
| Bad electrode | Flat line, railing or constant noise | Drop the channel |
| Movement | Large irregular excursions across channels | Trial rejection |
ICA: separate, then decide
Independent Component Analysis unmixes the recording into statistically independent sources. Blinks, muscle and heartbeat tend to concentrate in their own components, so removing those components and reconstructing the signal removes the artifact while keeping the rest.
BCILattice's ICA Review step runs FastICA (scikit-learn) or Picard (MNE) and suggests artifact components using measures such as excess kurtosis (sharp transients like blinks and QRS complexes), skew, and the 1/f slope of the component spectrum (cortical background sits near −1, and a flat or positive slope points to muscle). Each suggestion carries its reason. Nothing is rejected until you label it and apply. Rejection then writes a new ICA-cleaned stage and records which components were removed.
Bad channels first
Screening channels before ICA is standard practice, because a dead or railing channel distorts the decomposition. Channel Quality scores every channel with Variance + Noise (the default), Kurtosis + Variance, or Peak-to-Peak Amplitude, flags channels whose score passes a sensitivity threshold, and always force-flags a flat-line channel. You confirm the drops.
It refuses normalised input on purpose: bad-channel detection is based on amplitude and variance, and normalisation removes exactly the scale those measures read.
Automatic labelling, if you want it
The free extension shelf adds the established automatic tools as blocks: MNE-ICALabel for automatic ICA component classification (brain, muscle, eye, heart, line noise), Autoreject for epoch rejection with thresholds fitted by cross-validation, PyPREP for the PREP pipeline, and MEEGkit for ZapLine, DSS and ASR. They are useful at scale. Check what they decide on a few recordings before trusting them across a cohort.
Trial rejection
After cleaning, some trials are still unusable. Epoching offers automatic robust rejection, which drops epochs whose peak-to-peak amplitude exceeds the median plus k × MAD across trials (k defaults to 3.5), or a fixed peak-to-peak threshold in the signal's native units, suggested from your data. Rejection is off by default, and when it is on you see which trials were dropped and why.
Questions
How do I remove eye blinks from EEG?
Run ICA, identify the components that capture the blink (large, frontal, highly kurtotic), remove them and reconstruct the signal. This keeps the brain activity in the same time windows rather than discarding them.
What is ICA in EEG?
Independent Component Analysis is a blind source separation method that unmixes multichannel EEG into statistically independent components. Artifacts such as blinks and heartbeat tend to separate into their own components, which can then be removed.
FastICA or Picard?
Both estimate the same kind of decomposition. Picard usually converges faster and more reliably on real EEG, and FastICA is the classic, widely available choice. BCILattice offers both.
Should I reject trials or clean them?
Clean what can be separated, such as blinks and heartbeat with ICA, and reject what cannot, such as large movement artifacts. Rejecting too much loses statistical power; cleaning too aggressively removes brain signal.
Can artifacts inflate BCI accuracy?
Yes. If an artifact differs between classes, for example more blinks in one condition, a classifier can learn it instead of the brain signal and report accuracy that has nothing to do with the brain.
Read the reference
Related
EEG Preprocessing Pipeline: Steps in Order
Preprocessing turns a raw recording into clean, labelled trials. There is a conventional order, a few places where it genuinely matters, and many where labs reasonably disagree.
EEG Signal Processing Software
Filtering, referencing, resampling and normalization, each writing a named stage that carries the settings it ran with — so a downstream result can always be traced back to the conditioning that produced it.
EEG Analysis Software
ICA review with components you actually label, channel scoring you confirm, epoching with rejection you can see, and a time-frequency view that computes once and derives seven views from it.
How EEG Works: What an EEG Measures
Electroencephalography (EEG) records the brain's electrical activity with electrodes on the scalp. It has millisecond timing and centimetre-scale blur, and knowing both is the key to using it well.