Chronux

Chronux is an open-source software package developed for the loading, visualization and analysis of a variety of modalities / formats of neurobiological time series data. Usage of this tool enables neuroscientists to perform a variety of analysis on multichannel electrophysiological data such as LFP (local field potentials), EEG, MEG, Neuronal spike times and also on spatiotemporal data such as FMRI and dynamic optical imaging data. The software consists of a set of MATLAB routines interfaced with C libraries that can be used to perform the tasks that constitute a typical study of neurobiological data. These include local regression and smoothing, spike sorting and spectral analysis - including multitaper spectral analysis, a powerful nonparametric method to estimate power spectrum. The package also includes some GUIs for time series visualization and analysis. Chronux is GNU GPL v2 licensed (and MATLAB is proprietary).

The most recent version of Chronux is version 2.12.

History
From 1996 to 2001, the Marine Biological Laboratory (MBL) at Woods Hole, Massachusetts, USA hosted a workshop on the analysis of neural data. This workshop then evolved into the special topics course on neuroinformatics which is held at the MBL in the last two weeks of August every year. The popularity of these pedagogical efforts and the need for wider dissemination of sophisticated time-series analysis tools in the wider neuroscience community led the Mitra Lab at Cold Spring Harbor Laboratory to initiate an NIH funded effort to develop software tools for neural data analysis in the form of the Chronux package. Chronux is the result of efforts of a number of people, the chief among whom are Hemant Bokil, Peter Andrews, Samar Mehta, Ken Harris, Catherine Loader, Partha Mitra, Hiren Maniar, Ravi Shukla, Ramesh Yadav, Hariharan Nalatore and Sumanjit Kaur. Important contributions were also made by Murray Jarvis, Bijan Pesaran and S.Gopinath. Chronux welcome contributions from interested individuals.

Organization and capabilities of Chronux
Chronux is organized into a number of distinct toolboxes. These include the spectral analysis toolbox, the local regression and likelihood toolbox, and the spike-sorting toolbox. In addition, a number of domain-specific GUIs are part of the Chronux package and more are envisaged. Much of Chronux is written in MATLAB with certain intensive computations being coded in C with a MEX interface to MATLAB. The methods employed are state-of-the-art: For example, the spectral analysis toolbox implements the multitaper spectral estimation method and the local regression and Likelihood toolbox (Locfit) implements a set of highly flexible methods for fitting functions and probability distributions to data. Chronux provides robust estimates of the confidence intervals on computed quantities. Thus, the computation of a spectrum can be augmented by a computation of both asymptotic and jackknife based confidence intervals and the same is true of most quantities in the spectral analysis toolbox. Similarly, the local regression and likelihood toolbox is a MEX front-end to the Locfit package which provides a comprehensive set of tools for model testing and validation.

The graphical user interface
The GUI can be invoked from the MATLAB prompt by typing ndb – short for the Neuro Data Browser (NDB) – which provides a standard user interface for loading, visualizing and analyzing neurobiological time series data. The data can be in different formats such as EEG, MEG, FMRI etc. A standard UI for selecting and visualizing relevant portions (samples/channels/trials) of the time series is used so that it is possible to view, store and analyze the data for a typical study – which can be of the order of several Gb's – from multiple modalities / formats on a single platform. The GUI also provides the facility to view a summary of all the data objects that have been added to the system pool. Currently there are two views of the summarized data – by patient name and by modality/format.

At a basic level, the GUI enables users, to load data, analyze them and visualize the results within the Browser framework without a need to write separate MATLAB codes. For advanced users, it also provides a command line interface, so that data can be directly loaded and visualized for analysis. The usage of XML based plugin-architecture allows for extending support to other modalities and formats and also serves to integrate any other MATLAB toolbox with minimal changes in the plugin XML.

The M2HTML documentation is an archive of online help for all MATLAB routines incorporated in Chronux. This consists of function descriptions and dependency graphs.