This is a list of openly available software and code for working with electrophysiological data, particularly for EEG, MEG, ECoG/iEEG, and LFP data.
The goal here is to list re-usable tools for working with the specified data, and is not generally focused on code that is available for specific analysis on particular datasets (though these may be included where they are licensed for re-use, and are the best available starting point for a particular use case).
By 'open', here we mean that source code is provided and is released with a permissive license. Commercial products are not listed. Be sure to double check the license before using / modifying linked code. Note that some tools may require non-open dependencies (for example, Matlab tools are listed, but are not fully open).
The following are general purpose platforms, with functionality including: loading data, preprocessing, visualization, standard analysis, and making figures.
MNE is a general purpose tool for processing, analyzing and visualizing M/EEG data.
Neural Ensemble, an initiative for open-source software in neuroscience, includes a set of tools that comprise a platform for managing and analyzing electrophysiology data.
Neo: for representing electrophysiology data, and reading neurophysiological file formats.
Elephant: for analyzing electrophysiological data.
Wonambi is a general purpose tool for processing, analyzing and visualizing EEG data, including specific tools focused on sleep scoring and analysis.
NeuroKit is a tool for neurophysiological signal processing.
FieldTrip is a general purpose tool for processing, analyzing and visualizing M/EEG and iEEG/ECoG data.
BrainStorm is a general purpose tool for processing, analyzing and visualizing focused primarily on MEG data, but includes support for EEG & ECoG data.
EEGLab is a general purpose tool for processing, analyzing and visualizing EEG data.
SPM is a general purpose toolbox for neuroimaging, that includes support for processing M/EEG data.
NutMEG is a general purpose tool for processing, analyzing and visualizing MEG data.
EEGUtils is a general purpose tool for processing, analyzing and visualizing EEG data.
EEGuana is a package for working with EEG data.
EEG.jl is an EEG processing library.
CarTool is an EEG analysis toolbox.
The following are standalone tools, independent of general software platforms, for specific purposes.
NeuroDSP is a package for calculating a broad range of measures on neural time series, including a range of time-domain measures such as waveform shape analyses.
FOOOF is a package for parameterizing neural power spectra.
Bycycle is a tool for cycle-by-cycle analyses of neural oscillations.
Spectral connectivity is a package including a group of functional connectivity and coherence related measures.
PACTools is a package for calculating phase-amplitude coupling measures in neural time series.
Tensor PAC is a tool for calculating phase-amplitude coupling measures, using tensors and parallel computing.
PyEEG includes some implementations of information theoretic and complexity related measures for neural time series.
A collection of tools for analyzing ECoG data.
EELBrain is a tool for statistical analysis of M/EEG data
RestingIAF is a tool for estimating the peak individual alpha frequency.
Phase Opposition is a collection of functions for calculating phase opposition measures.
The Amsterdam Decoding and Modeling Toolbox does encoding and decoding model analysis on M/EEG data.
HERMES is tool for estimating connectivity measures between M/EEG signals.
SEREEGA is a package for simulating synthetic data that mimic event-related EEG activity.
Unfold is a tool for deconvolving overlapping EEG signals and for non-linear modeling.
A tool for statistical analysis of already preprocessed M/EEG data, focused mainly around the 'threshold-free cluster enhancement' method.
ERA is a tool for calculating reliability estimates for ERP data.
SynchroSqueezing is a tool for time-frequency and time-scale analyses.
AutoMagic is a standardized toolbox for preprocessing EEG datasets.
The MVGC toolbox is designed to run Granger-causal analysis on multivariate time-series data.
OpemMEEG is a package for solving forward problems for EEG & MEG data.
The following are plugins, designed primary for use with one of the aforementioned general purpose tools.
AutoReject is a tool for preprocessing M/EEG data, but algorithmically determining and applying rejection thresholds, with MNE.
MNE-BIDS is a tool for creating BIDS compatible datasets with MNE.
The PREP pipeline is a standardized processing tool for EEG data, using EEGLab.
ADJUST is an automatic artifact identification and removal tool, using EEGLab.
ERPLab is a tool for event-related potential (ERP) analysis of EEG data, with EEGLab.
LIMO is a tool for Linear Modeling of EEG data, with EEGLab.
The Source Information Flow Toolbox (SIFT) is a tool for causality and information flow measures, with EEGLab.
The Measure Projection Toolbox (MPT) is a tool for probabilistic multi-subject EEG independent component analysis, with EEGLab.
The Physionet project maintains a list of software available in the PhysioToolkit, which includes some software that can be used with electrophysiology data.