Software
In the course of my research I tend to write large quantities of code (Matlab, C/C++), which I am incorporating into toolboxes for public release. I'm a strong proponent of the open-source philosophy and all software will be released with source code under the GPL license (unless prohibited by other powers-that-be). I prefer not to release code until it has been debugged, commented, and documented sufficiently so that it may be used by others in a relatively painless manner (also sparing me the need to respond to a plethora of queries). A Connectivity Analysis Toolbox for electrophysiological (EEG, ECoG) information flow analysis is forthcoming as an EEGLAB plugin.

ECoG NeuroVisualizer


The ECoG Neurovisualizer (EViz) is a beta piece of MATLAB software being developed by myself (Tim Mullen) to facilitate visualization and analysis of complex spatio-temporal patterns of information flow in Electrocorticographic data. I primarily developed it for the use of our ECoG group within the Knight Lab at UC Berkeley. As such, it is somewhat tailored to our particular 64-channel grid setup. EViz was designed around the concept of using information and temporal latency-based clustering to identify functionally-specific regions of interest (ROIs) and then observing information transfer properties between these ROI clusters. A CNS poster preliminarily outlining this concept is available here and a schematic diagram is detailed in Figure 2 below. Another package of software which I developed (for which the interface is currently still command-line) computes cross-correlations, Mutual Information, Frequency-domain conditional Granger Causality, etc and produces matrices of peak connectivity values, temporal latencies, etc. This is then loaded into EViz for further clustering analysis, statistics, and graphical visualization.

 

EViz is still a very beta work-in-progress and as yet does not allow GUI access to many of the other visualization and computational/statistical methods I have coded. Currently it is designed to handle Mutual Information and Cross-Correlation. I am currently extending its functionality to include other approaches I'm using (coherence, granger causality, dynamic bayes nets). At some point, I plan to make this entire package accessible as an open-source toolbox for analyzing causal interaction (perhaps linking it to other causal connectivity toolboxes such as A.K. Seth's Causal Connectivity Toolbox (granger causality-based)).

 

In Figure 1 you will find screenshots of a more or less recent version of EViz. Click on them to expand and view a demonstration of some of the functionality. Due to the fact that the program is currently custom-tailored to our grid setup and preprocessing scripts, EViz is not yet ready for mass download. I will upload a link here when the program has developed further.

 

You may note that some of the text in the command buttons, etc are clipped. This is due to the way text is differentially rendered in Linux matlab vs. Windows Matlab. All future versions will display well in both Linux/Unix and Windows.


Figure 1.  Screenshots from EViz software

 
 
 
 
 

 



Figure 2.  Schematic of information-based clustering approach to analyzing information flow between cortical regions of interest








Source Information Flow Toolbox (SIFT)





Brain Network Dynamics During Error Commission



Available in alpha release at http://sccn.ucsd.edu/wiki/SIFT


This is a comprehensive Matlab toolbox for analyzing causality and information flow in electrophysiological data. It consists of a suite of command-line functions with an integrated GUI for easy access to multiple features. The toolbox is fully EEGLAB-compatible and is released as an EEGLAB plugin. 


Methods currently implemented include:

  • preprocessing routines
  • adaptive multivariate autoregessive modeling (granger causality, directed transfer function, multiple and partial coherence, spectra, and many other measures)
  • boostrap/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))
  • network analytics and summary statistics including net information flow between ROIs defined manually or via information-based clustering
  • a suite of programs for interactive visualization of information flow dynamics across time and frequency (with optional 3D visualization in MRI-coregistered source-space).



Matlab Code

ICACLUS algorithm

Description:  This program finds an overlapping clustering of time series using my modification of the ICACLUS algorithm by Wu and Yu.  A paper in which I apply this method to intracranial EEG data is available here.


Download:  


   Matlab
 (.zip)







 Copyright (c) 2009 Tim Mullen