EdSheeranla / beapp

The Batch Electroencephalography Automated Processing Platform (BEAPP)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The Batch Electroencephalography Automated Processing Platform (BEAPP)

The Boston EEG Automated Processing Pipeline (BEAPP) is a modular, Matlab-based software designed to facilitate automated, flexible batch processing of baseline and event-related EEG files in datasets with mixed acquisition formats.

Rather than prescribing a specified set of EEG processing steps, BEAPP allows users to choose from a menu of options. Each option can be turned on or off, and options turned “on” can be tailored to fit the user’s needs.  BEAPP currently provides options for the following user-controlled modules:

  1. PREP Pipeline
    1. Line noise removal, interpolation of bad channels, robust average referencing
  2. Filtering
    1. High-pass
    2. Low-pass
    3. Notch
    4. CleanLine
  3. Resampling
  4. Independent Components Analysis (ICA) with optional use of MARA artifact classifier
  5. HAPPE Pipeline
    1. Select 10-20 channel locations, and other channels of interest
    2. 1 Hz high-pass filter
    3. CleanLine to remove line noise
    4. Wavelet cleaning
    5. ICA with MARA
    6. Interpolate bad channels
    7. Average reference
  6. Re-Referencing
    1. Laplacian (CSDLP)
    2. Average re-referencing
    3. Reference to individual or subset of electrodes
    4. REST
  7. Detrending
    1. Mean
    2. Linear
    3. Kalman
  8. Amplitude-based artifact detection for segment removal
  9. Segmentation
    1. Stimulus-locked (for task-related data)
    2. Non-stimulus-locked (for continuous or “resting” data)
  10. Power spectral decomposition (PSD)
  11. Inter-trial phase coherence (ITPC)

BEAPP aims to strike a balance between assuming only a basic level of MATLAB and EEG signal processing experience, while also offering a flexible menu of opportunities for more advanced users.  At a minimum, no programming experience is required to use BEAPP, but basic familiarity with troubleshooting in Matlab will likely come in handy.

User guides for running BEAPP programmatically and using a GUI can be found in the documentation folder.

Next Steps:

BEAPP is intended to be a dynamic, rather than static, platform for EEG processing.  This means that we plan to continue adding additional functionality over time, and we encourage other users to add functionality as well. 

What’s on Our Wishlist (coming soon):

  1. Improved GUI for user inputs
  2. Formatted dataset-wide run reporting (general dataset statistics, formatted warnings in a report)
  3. Reading files in directly from .bdf/.edf and .set files
  4. Coherence
  5. Phase lag index
  6. Topoplotting outputs with mixed source acquisition layouts/ number of channels
  7. Phase amplitude coupling
  8. Ability to change the order of modules

  In publications, please reference:

Levin AR, Méndez Leal AS, Gabard-Durnam LJ, and O'Leary, HM. BEAPP: The Batch Electroencephalography Automated Processing Platform. Frontiers in Neuroscience (2018).

Correspondence: April R. Levin, MD april.levin@childrens.harvard.edu

Additional Credits:

BEAPP utilizes functionality from the software listed below. Users who choose to run any of this software through BEAPP should cite the appropriate papers in any publications.

EEGLAB Version 14.1.2b:

Delorme A & Makeig S (2004) EEGLAB: an open source toolbox for analysis of single-trial EEG dynamics. Journal of Neuroscience Methods 134:9-21

PREP pipeline Version 0.52: 

Bigdely-Shamlo N, Mullen T, Kothe C, Su K-M and Robbins KA (2015) The PREP pipeline: standardized preprocessing for large-scale EEG analysis Front. Neuroinform. 9:16. doi: 10.3389/fninf.2015.00016

CSD Toolbox: 

Kayser, J., Tenke, C.E. (2006). Principal components analysis of Laplacian waveforms as a generic method for identifying ERP generator patterns: I. Evaluation with auditory oddball tasks. Clinical Neurophysiology, 117(2), 348-368

Users using low-resolution (less than 64 channel) montages with the CSD toolbox should also cite: Kayser, J., Tenke, C.E. (2006). Principal components analysis of Laplacian waveforms as a generic method for identifying ERP generator patterns: II. Adequacy of low-density estimates. Clinical Neurophysiology, 117(2), 369-380

HAPPE:

Gabard-Durnam, L. J., Mendez Leal, A. S., Wilkinson, C. L., & Levin, A. R. (2018). The Harvard Automated Processing Pipeline for Electroencephalography (HAPPE): standardized processing software for developmental and high-artifact data. Frontiers in Neuroscience (2018).

The REST Toolbox:

 Li Dong*, Fali Li, Qiang Liu, Xin Wen, Yongxiu Lai, Peng Xu and Dezhong Yao*. MATLAB Toolboxes for Reference Electrode Standardization Technique (REST) of Scalp EEG. Frontiers in Neuroscience, 2017:11(601).

MARA:

Winkler et al., Automatic Classification of Artifactual ICA-Components for Artifact Removal in EEG Signals. Behavioral and Brain Functions 7:30 (2011).

CleanLine:

Mullen, T. (2012). NITRC: CleanLine: Tool/Resource Info.

Requirements:

 BEAPP was written in Matlab 2016a. Older versions of Matlab may not support certain functions used in BEAPP.

 

About

The Batch Electroencephalography Automated Processing Platform (BEAPP)

License:Other


Languages

Language:MATLAB 76.8%Language:Jupyter Notebook 13.1%Language:C 4.9%Language:Python 2.5%Language:C++ 1.6%Language:Shell 0.3%Language:Makefile 0.2%Language:Csound Document 0.2%Language:Mathematica 0.2%Language:Java 0.1%Language:Scala 0.0%Language:HTML 0.0%Language:Batchfile 0.0%Language:M 0.0%Language:QMake 0.0%Language:Emacs Lisp 0.0%Language:AGS Script 0.0%