Skip to main content
Social Sci LibreTexts

8.12: Exercise- Commonly Recorded Artifactual Potentials (C.R.A.P.)

  • Page ID
    137784
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    By this point, I hope you have a good idea of how to detect and reject blinks and eye movements. Now we’ll shift to a class of miscellaneous artifacts that I like to call Commonly Recorded Artifactual Potentials (C.R.A.P.). Whereas virtually all participants in all experiments exhibit blinks and eye movements, which have a predictable waveshape and scalp distribution, C.R.A.P. artifacts tend to be idiosyncratic in their waveshape and scalp distribution. This category includes EMG bursts, movement artifacts, skin potentials, and sudden voltage changes of unknown origin.

    In the ERP CORE experiments, our approach to C.R.A.P. was to apply both a simple voltage threshold and the moving window peak-to-peak algorithm to all EEG channels. The simple voltage threshold is particularly good for detecting large drifts in voltage, and a threshold of ±200 µV works well for most participants. The moving window peak-to-peak algorithm is good for detecting muscle bursts and idiosyncratic artifacts that involve sudden voltage changes. The threshold for this routine needs to be adjusted for each participant to ensure that large artifacts are detected without throwing out too many epochs. In most participants, we used a threshold between 100 and 150 µV.

    Let’s try the absolute voltage threshold of ±200 µV with Subject 10 from the MMN experiment. Make the dataset named 10_MMN_preprocessed_filt_be_noblinks active, and select EEGLAB > ERPLAB > Artifact detection in epoched data > Simple voltage thresholds. Set the channels to 3:28, the voltage limits to -200 200, and the Flag 5 button. We’re leaving out Fp1, Fp2, and the EOG channels so that we don’t end up flagging blinks. (I would ordinarily include Fp1 and Fp2, but it will be easier to see how the artifact detection is working in this exercise without them.) Click ACCEPT to run the routine.

    Now look at the artifact table in the Matlab command window. You’ll see that only 17 epochs were flagged by this new artifact test (see the #F5 column in the table). We often catch a relatively small number of artifacts with this test, but that’s okay. Our goal here is to get rid of rare but large artifacts.

    Now scroll through the EEG. All of the epochs that were previously flagged for blinks are still flagged, but you’ll also see occasional epochs that are flagged from our new absolute threshold test. The blinks are indicated by a red waveform for the VEOG-bipolar channel, and the new artifacts are indicated by a red waveform for any of the channels between 3 and 28. For example, Epoch 44 was flagged because of large voltage changes in the F7 and F8 channels. Epochs 43, 63, and 64 were also flagged because of the F7 channel. If you keep scrolling, you’ll see a lot of large, sudden voltage changes in F7 (and to a lesser extent F8). But not all of these sudden voltage changes were large enough to be flagged. There are also some fairly large artifacts of this nature in PO4 that were too small to be flagged (but are still quite large). Our threshold of ±200 µV is designed to flag only very large artifacts.

    I don’t know what caused these artifacts in F7, F8, and PO4. They’re not biological in origin: With the exception of saccadic eye movements, I don’t know of any biological signals that look like this, changing suddenly from one voltage level to another. However, they’re about 100 times larger than the MMN, so they seem like a significant source of noise that will degrade our data quality (i.e., increase the SME).

    To verify this, go ahead and check the aSME values, using a custom window of 125-225 ms as before. As shown in Table 8.2, the aSME values for the F7 channel were improved by removing the C.R.A.P. artifacts. Only 17 trials were rejected, but the artifacts were quite large on those trials, so the rejection produced a noticeable improvement in the aSME values. Our main concern, however, is the FCz channel, which will be used to quantify the MMN in our main analyses. Because the artifacts detected by the absolute threshold test were not present in FCz, rejecting those 17 trials reduced the data quality in this channel, but only slightly.

    Now let’s add a moving window peak-to-peak amplitude test to get rid of more C.R.A.P. epochs. Save the dataset created with the absolute threshold test as 10_MMN_preprocessed_filt_be_noblinks_CRAP200. We’re going to add onto the flags in this dataset, so make sure it’s the active dataset. Select EEGLAB > ERPLAB > Artifact detection in epoched data > Moving window peak-to-peak threshold, set the threshold to 125, set the channels to 3:28, set the window length to 200, set the window step to 100, and select the Flag 6 button. Note that the choice of 125 µV as the threshold was somewhat arbitrary. It’s just a reasonable starting point that works well for the basic science studies in my lab.

    If you look at the artifact table in the Matlab command window, you’ll see that 77 epochs were flagged by this test. However, many of those epochs had previously been flagged for blinks and/or C.R.A.P., and the total number of flagged epochs has increased from 259 to 291. So, we’ve flagged an additional 32 epochs.

    If you look at the EEG, you’ll see that we’ve now flagged many trials with sudden voltage shifts that were missed before, including several in the PO4 channel. All of the epochs that were flagged certainly seemed to have pretty large artifacts in them. We’re not flagging trials with “ordinary” EEG noise. If you check the data quality, you’ll see that the aSME for the F7 channel has improved considerably, and we’ve produced only a small reduction of data quality at FCz (see Table 8.2).

    I also looked at the effects of reducing the threshold from 125 µV to 100 µV. When I inspected the EEG, more trials with clear artifacts were flagged. The data quality for F7 also improved a bit, with only a small reduction in data quality at FCz (see Table 8.2). I tried decreasing the threshold to 75 and even 50 µV, and this resulted in slight improvements at F7 but further worsening at FCz.

    Table 8.2. Effects of C.R.A.P. rejection on data quality.

    Rejection

    aSME at F7 for Deviants

    aSME at F7 for Standards

    aSME at FCz for Deviants

    aSME at FCz for Standards

    Blinks Only

    1.9480

    0.9115

    0. 8264

    0.5353

    Blinks + Voltage Threshold (±200)

    1.6381

    0.9038

    0.8345

    0.5410

    Blinks + Voltage Threshold (±200) + Moving Window (125)

    1.1711

    0.7890

    0.8443

    0.5493

    Blinks + Voltage Threshold (±200) + Moving Window (100)

    1.1158

    0.7368

    0.8504

    0.5449

    So, what threshold is best? Compared to rejection only of blinks, rejecting C.R.A.P. with an absolute threshold of ±200 caused a fairly substantial drop in aSME for F7, and adding the moving window peak-to-peak test with a threshold of 125 caused another large drop in aSME at F7 (and other channels, as well). This rejection of C.R.A.P. caused the aSME at FCz to rise only slightly. Dropping the threshold further caused only minor decreases at F7, along with small increases at FCz. Given that FCz will be the main channel used for measuring the MMN, with the other channels only being used to quantify the scalp topography, the threshold of 125 µV seems like a good compromise for this particular experiment.

    The optimal threshold, and even the optimal set of test to apply, will vary across participants and across experimental paradigms. The key is to ask what set of parameters will be most likely to bring you to a true conclusion about your primary scientific hypothesis. In almost all experiments, this means rejecting artifacts to the extent that they degrade your data quality at the key electrode sites (which you can assess with aSME values) and ensuring that any remaining artifacts are not producing differences between conditions.

    A third issue—which does not typically arise in auditory experiments like our MMN experiment—is whether blinks and eye movements produced changes in the sensory input. We will turn to that issue in a later set of exercises.


    This page titled 8.12: Exercise- Commonly Recorded Artifactual Potentials (C.R.A.P.) is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Steven J Luck directly on the LibreTexts platform.