Skip to content
Dung Truong edited this page Feb 8, 2021 · 8 revisions


Welcome to the repository for the Source Information Flow Toolbox (SIFT)

Developed and Maintained by: Tim Mullen (SCCN, INC, UCSD)
Email: <Tim's first name> (at) sccn (dot) ucsd (dot) edu

SIFT is an EEGLAB-compatible toolbox for analysis and visualization of multivariate causality and information flow between sources of electrophysiological (EEG/ECoG/MEG) activity. It consists of a suite of command-line functions with an integrated Graphical User Interface for easy access to multiple features. There are currently six modules: data preprocessing, model fitting and connectivity estimation, statistical analysis, visualization, group analysis, and neuronal data simulation.

Methods currently implemented include:

  • Preprocessing routines
  • Time-varying (adaptive) multivariate autoregessive modeling
    • granger causality
    • directed transfer function (DTF, dDTF)
    • partial directed coherence (PDC, GPDC, PDCF, RPDC)
    • multiple and partial coherence
    • event-related spectral perturbation (ERSP)
    • and many other measures...
  • Bootstrap/resampling and analytical statistics
    • single-condition (test for absence of information flow)
    • between-condition (test for condition A = condition B)
    • event-related (difference from baseline))
  • A suite of programs for interactive visualization of information flow dynamics across time and frequency (with optional 3D visualization in MRI-coregistered source-space).

SIFT Downloads

SIFT releases can be downloaded below. For installation and startup instructions please refer to [Chapter 6.1 of the SIFT Manual](Chapter 6.1. System Requirements).

TIP: You can also install SIFT using the EEGLAB Extension Manager.
Compatibility Warning: If you are using Matlab R2013a or later, please use SIFT 0.9.8-alpha or a later version. Please note that SIFT has only been tested with Matlab R2009a through R2013b. Some features of the software may not be compatible with earlier/later versions of Matlab.

Please note that the SIFT datastructures created using alpha versions of SIFT (release 0.9.8-alpha or earlier) are not fully compatible with release 1.0-beta (or later) versions of SIFT.

You may use the function hlp_upgradeAlphaToBeta() (included with SIFT beta release 1.33) to upgrade datasets created in SIFT 0.9.8-alpha or earlier to beta-compatible versions. No data will be deleted in this conversion.

SIFT Latest Build (unstable)

SIFT 1.4.1 *NEW*

SIFT 1.3 Beta

SIFT 0.9.8-alpha

Sample data for the tutorial (143 Mb)

70-page SIFT manual. It gives both SIFT methods theory and a practical guide to using SIFT using downloadable sample data. An updated web version is also available below. NOTE: The practical guide applies to alpha releases of SIFT. A tutorial for version 1.0-beta or later is available here

Sample slides from the 15th International EEGLAB Workshop in Beijing, China (June 16, 2012): SIFT Lecture: Theory and Applications

SIFT Lecture: Practicum

Citing SIFT

If you use SIFT for a paper or talk PLEASE don't forget to mention you used SIFT (provide the URL to this wiki) and include the following citation(s):
Mullen, T. R. The dynamic brain: Modeling neural dynamics and interactions from human electrophysiological recordings (Order No. 3639187). 2014. Available from Dissertations & Theses @ University of California; ProQuest Dissertations & Theses A&I. (1619637939)

Delorme, A., Mullen, T., Kothe, C., et al "EEGLAB, SIFT, NFT, BCILAB, and ERICA: New Tools for Advanced EEG Processing", Computational Intelligence and Neuroscience, vol. 2011, Article ID 130714, 12 pages, 2011 pdf

And we'd be very happy to hear of any papers you have published using this toolbox :) fan/hate mail welcome at my email above.
This is all very important for continuing maintenance and development of this software. Thanks very much!

SIFT Online Handbook and User Manual

A video-lecture on the (very) basic theory and application of SIFT to modeling distributed brain dynamics in EEG is available here

Table of Contents

2. Introduction

3. Multivariate Autoregressive Modeling
3.1. Stationarity and Stability
3.2. The Multivariate Least-Squares Estimator
3.3. Frequency-Domain Representation
3.4. Modeling non-stationary data using adaptive VAR models
3.4.1 Segmentation-based Adaptive VAR (AMVAR) models
3.5. Model order selection
3.6. Model Validation
3.6.1. Checking the whiteness of the residuals Autocorrelation Function (ACF) Test Portmanteau Tests
3.6.2. Checking the consistency of the model
3.6.3. Checking the stability and stationarity of the model
3.6.4. Comparing parametric and nonparametric spectra and coherence

4. Granger Causality and Extensions
4.1. Time-Domain GC
4.2. Frequency-Domain GC
4.3. A partial list of VAR-based spectral, coherence and GC estimators
4.4. Time-Frequency GC
4.5. (Cross-) correlation does not imply (Granger-) causation

'''5. Statistics '''
' 5.1. Asymptotic analytic statistics'
5.2. Nonparametric surrogate statistics
5.2.1. Bootstrap resampling
5.2.2. Phase Randomization

'''6. Using SIFT to analyze neural information flow dynamics '''
6.1. System Requirements
6.2. Configuring EEGLAB
6.3. Loading the data
6.4. The SIFT analysis pipeline
6.5. Preprocessing
6.5.1. Theory: preprocessing Component Selection Epoching Filtering Downsampling Differencing Detrending Normalization
6.6. Model Fitting and Validation
6.6.1. Theory: selecting a window length Local Stationarity Temporal Smoothing Sufficient amount of data Process dynamics and neurophysiology
6.6.2. Selecting the model order
6.6.3. Fitting the final model
6.6.4. Validating the fitted model
6.7. Connectivity Estimation
6.8. Statistics
6.9. Visualization
6.9.1. Interactive Time-Frequency Grid
6.9.2. Interactive Causal BrainMovie3D
6.9.3. Causal Projection
6.10. Group Analysis
6.10.1. Disjoint Clustering
6.10.2. Bayesian Mixture Model

7. Conclusions and Future Work

8. Acknowledgements

9. Appendix I: SIFT 0.1a Function Reference

10. References