Skip to content
python code for denoising eeg data from eeg-fmri experiments, and fusing with FMRI
Branch: dev
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Python code for denoising eeg data from eeg-fmri experiments, and fusing eeg-fmri data.

A fully automatic pipeline for cleaning raw EEG data acquired inside the scanner.

The package performs the following in sequential order:

  1. gradient artifact removal
  2. ballistocardigram artifact removal

The following features may be added in the future:

  1. Residual noise removal using ICA
  2. EEG motion detection and censoring
  3. Source localization of cleaned scalp space signal
  4. Co-registration of source space with FMRI voxel space
  5. Frequency specific EEG-FMRI correlations in each voxel
  6. Time-varying heart rate based on frequency of EEG ballistocardiogram artifacts
  7. Respiratory volume based on amplitude of EEG ballistocardiogram artifacts
  8. Millisecond precise head motion amplitude based on broadband high frequency EEG power

NB: due to overhead, the maximum size EEG dataset for a computer with 16 Gb RAM is 1.5Gb, this will typically only be a problem during the gradient denoising step

Dependencies can be installed with

cd eegfmripy
python install

These dependencies are the same as for mne-python (

After installation, you can run eegfmripy --help for more info. The pipelines available can be found in the clianalysis folder. Use the configuration YAML's in the configs folder for options that can be supplied to each script.

Example for the full clean - gradient artifact removal, followed by BCG artifact removal:

eegfmripy clean -c configs/config_clean.yml
You can’t perform that action at this time.