SSP Cookbook

Authors: Elizabeth Bock, Francois Tadel

Removing artifacts from MEG recordings using Signal Space Projections can sometimes be very efficient. Here are a few tricks to help you remove artifacts from your data that are ongoing or repeating.

General Strategies

We typically use one of three strategies to define an SSP projector:

  1. Continuous: PCA analysis over continuous recordings, for which the artifact is ongoing (example 1).

  2. Events: PCA analysis for concatenated "events", for which the artifact is discrete and repeating in the recording. This can be done from the continuous recordings as illustrated in the introduction tutorials, or from imported epochs (example 3).

  3. Topography: Visual identification of one topography that represents the artifact and is converted to an SSP projector (example 2).

Example 1: Continuous artifacts

Here the subject has metal dental work that moves when he breathes.

The first step is to identify the artifact and channel(s) that are most affected. After scanning though the data, it appears there are some artifacts present throughout the recording.


First, slower perturbations in the posterior temporal areas, as seen in the channels highlighted in red. Then there are sharp 'jumps', highlighted in blue, which do not seem to be physiological, but instead are most likely sensor noise. We can also see artifacts from the heart.

In addition, performing a power spectrum density (PSD) helps identify the channels and the frequencies which are most affected by these artifacts.


The temporal channels have higher power in the lower freq ([0,6]Hz) and the topography shows a dipole below the posterior part of the sensor array.

Since the slower artifact is ongoing and not necessarily a well-defined 'event', we will use the first strategy.

  1. Using the Artifacts menu, select SSP: Generic
    • Time window: this should be the time window of the artifact. Here I use the first 100 seconds of the recording since the event is well defined in this time, but you can use longer times to better define the event if necessary.
    • Event name: empty
    • Event window: ignore this
    • Frequency band: from the PSD I can see that the artifact is mostly defined in [0.5,10]Hz. If you know the freq band of the artifact, you should adjust this accordingly, if not, you can use a more broadband to get an overall view.
    • Sensor types: MEG
    • Compute using existing: uncheck this box
    • Save averaged artifact: uncheck this box
    • Method to calculate: choose PCA
  2. Run the process
  3. Review the resulting projectors and find component(s) that eliminate the artifact. Be sure to review the topography and the time series of the component to confirm you are only removing the artifact.


  4. We can see here that the first two components are most likely artifacts. Selecting these two does a very good job of removing the artifact.


  5. Now do the same for cardiac events. Detect the events either from the ECG channel or from an MEG sensor. In this case, we do not have an extra ECG channel and therefore MRT41 is used. Compute the SSP on those cardiac events. Select the appropriate component. I chose the first one component because it represented the artifact. Before (left) and after (right) cardiac SSP correction.

    cardiac_artifact_before.png cardiac_artifact_after.png

Example 2: SSP from a topography

Here is an example with an artifact from a 3D video monitor that was placed inside the MSR.

Reviewing the MEG channels and power spectrum reveals a strong artifact in the frontal sensors at 24Hz and its harmonics. We also see eye blink artifact.


If we zoom in a bit to see the artifact clearer, we can see that there is a strong repeating topography. We will make a projector with this topography. grab_SSP_from_topo.png

Right-click on the topography > Snapshot > Use as SSP projector.

Now just the eyeblinks remain. Detect the eye blink events (with either the EOG channel or one of the MEG channels showing the artifact). Compute the SSP and select the appropriate projector.

The resulting projectors and the clean data are shown here: SSP_topos_for_artifacts.png artifacts_after_SSPs.png

Example 3: SSP from the averaged artifact

After detecting heartbeats and creating an SSP projector, there was some residual artifacts remaining. Here is an optional workflow to remove that entire artifact:

  1. Delete any existing cardiac SSP.
  2. Using the Artifacts menu, select SSP: Generic
    • Time window: this should be the time window of the artifact
    • Event name: cardiac
    • Event window: [-40,40]ms
    • Frequency band: [4,40]Hz. Here I am opening up the freq range from the standard because my artifact seems to be better defined in this range
    • Sensor types: MEG
    • Compute using existing: check this box
    • Save averaged artifact: check this box
    • Method to calculate: choose PCA
  3. Select the first component, then save.
  4. In the database, you will have two new files representing the average cardiac artifact (before) and (after)

  5. From the file marked (after), find the maximum peak. You may want to only look at a subset of sensors, here I have only the frontal and temporal sensors

  6. Open a topography:


  7. Right click the topography and select Snapshot > Save as SSP projector and save to disk

  8. Open the link to raw file and the dialog Artifacts > Select active projectors

  9. Load your saved projector into this dialog (open file icon in the upper-left corner) and apply.

Artifacts evaluation

One efficient way of representing the impact of this artifact correction is to epoch the recordings around the artifacts before and after the correction. Use the same time window as the one used in the SSP options around each marker, and average all the segments of recordings. The examples below are related with the CTF median nerve tutorial.


The following image represents the file "blink_uncorrected / Avg: blink", which is the average of the 18 identified blinks before the SSP correction, [-200,+200]ms around the "blink" events. The time series, the 2D topography at the peak (t = 0ms), and the mapping on the cortex of these fields, using the basic inverse model calculated in the previous tutorial.


The next image represents the file "blink_ssp / Avg: blink", which is the exact same thing, but after the SSP correction. The artifact is gone. If you do this and you can still see some clear evoked component in the time series figure, the SSP correction was not efficient: the artifact is not properly identified, or you should select different components using the "Select active projectors" window.



We can do the same thing with the heartbeats: epoch [-40,+40]ms around the "cardiac" events, average the trials, and review the event-related fields at three instants:

The peak of the P wave (t = -30ms):


The peak of the QRS complex (t = 0ms):


The peak of the T wave (t = 25ms):


These peaks may look big, but they are in fact much smaller (300 fT for the average of 346 repetitions) than what we observed for the eye blinks (1500 fT for 18 repetitions). You can notice that none of these topographies are similar to the components we obtained after calculating the SSP for the cardiac artifact. We don't know how to correct this artifact, it doesn't look too bad in terms of recordings contamination.

Tutorials/SSPCookbook (last edited 2016-08-02 15:14:22 by FrancoisTadel)