Chronux
Encyclopedia
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 neuroscientist
s 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
. The package also includes some GUIs for time series visualization and analysis.
(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.
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 thesame 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.
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.
, Locfit, Multitaper spectral analysis library (MTSA) and spike sorting library. Image time series routines, wavelets, tools based on machine learning
, source localization and other advanced tools will be added in later phases.
The MATLAB version of GUI
, will be completely developed to a GUI written in Java
. With the introduction of this Java GUI, Chronux will be completely a user-friendly graphical analysis tool that does not require a user to have license for MATLAB. This will be the first Chronux distribution that is complete and works without a need to find and configure other components. In its final form, Chronux will be a domain specific, quality tested open source software for Neuroscience community.
Time series
In statistics, signal processing, econometrics and mathematical finance, a time series is a sequence of data points, measured typically at successive times spaced at uniform time intervals. Examples of time series are the daily closing value of the Dow Jones index or the annual flow volume of the...
data. Usage of this tool enables neuroscientist
Neuroscientist
A neuroscientist is an individual who studies the scientific field of neuroscience or any of its related sub-fields...
s to perform a variety of analysis on multichannel electrophysiological data such as LFP (local field potentials), EEG
EEG
EEG commonly refers to electroencephalography, a measurement of the electrical activity of the brain.EEG may also refer to:* Emperor Entertainment Group, a Hong Kong-based entertainment company...
, 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
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
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
Local regression
LOESS, or LOWESS , is one of many "modern" modeling methods that build on "classical" methods, such as linear and nonlinear least squares regression. Modern regression methods are designed to address situations in which the classical procedures do not perform well or cannot be effectively applied...
and smoothing
Smoothing
In statistics and image processing, to smooth a data set is to create an approximating function that attempts to capture important patterns in the data, while leaving out noise or other fine-scale structures/rapid phenomena. Many different algorithms are used in smoothing...
, spike sorting and spectral analysis
Spectral analysis
Spectral analysis or Spectrum analysis may refer to:* Spectrum analysis in chemistry and physics, a method of analyzing the chemical properties of matter from bands in their visible spectrum...
. The package also includes some GUIs for time series visualization and analysis.
History
From 1996 to 2001, the Marine Biological LaboratoryMarine Biological Laboratory
The Marine Biological Laboratory is an international center for research and education in biology, biomedicine and ecology. Founded in 1888, the MBL is the oldest independent marine laboratory in the Americas, taking advantage of a coastal setting in the Cape Cod village of Woods Hole, Massachusetts...
(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
Neuroinformatics
Neuroinformatics is a research field concerned with the organization of neuroscience data by the application of computational models and analytical tools. These areas of research are important for the integration and analysis of increasingly large-volume, high-dimensional, and fine-grain...
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
Neuroscience
Neuroscience is the scientific study of the nervous system. Traditionally, neuroscience has been seen as a branch of biology. However, it is currently an interdisciplinary science that collaborates with other fields such as chemistry, computer science, engineering, linguistics, mathematics,...
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 analysisSpectral analysis
Spectral analysis or Spectrum analysis may refer to:* Spectrum analysis in chemistry and physics, a method of analyzing the chemical properties of matter from bands in their visible spectrum...
toolbox, the local regression
Local regression
LOESS, or LOWESS , is one of many "modern" modeling methods that build on "classical" methods, such as linear and nonlinear least squares regression. Modern regression methods are designed to address situations in which the classical procedures do not perform well or cannot be effectively applied...
and likelihood
Likelihood
Likelihood is a measure of how likely an event is, and can be expressed in terms of, for example, probability or odds in favor.-Likelihood function:...
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
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
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
Multitaper
In signal processing, the multitaper method is a technique developed by David J. Thomson to estimate the power spectrum SX of a stationary ergodic finite-variance random process X, given a finite contiguous realization of X as data....
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 thesame 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. More views can be added with minimal effort.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
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
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
The M2HTML documentation is an archive of online help for all MATLAB routines incorporated in Chronux. This consists of function descriptions and dependency graphs. The most recent version of Chronux is version 2.00.Future goals
The existing MATLAB analysis library will be enlarged by including an existing package of autoregressive spectral analysis (ARFIT). Next, an open source low level library will be developed in C to incorporate optimized numerical libraries such as LapackLAPACK
-External links:* : a modern replacement for PLAPACK and ScaLAPACK* on Netlib.org* * * : a modern replacement for LAPACK that is MultiGPU ready* on Sourceforge.net* * optimized LAPACK for Solaris OS on SPARC/x86/x64 and Linux* * *...
, Locfit, Multitaper spectral analysis library (MTSA) and spike sorting library. Image time series routines, wavelets, tools based on machine learning
Machine learning
Machine learning, a branch of artificial intelligence, is a scientific discipline concerned with the design and development of algorithms that allow computers to evolve behaviors based on empirical data, such as from sensor data or databases...
, source localization and other advanced tools will be added in later phases.
The MATLAB version of GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
, will be completely developed to a GUI written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
. With the introduction of this Java GUI, Chronux will be completely a user-friendly graphical analysis tool that does not require a user to have license for MATLAB. This will be the first Chronux distribution that is complete and works without a need to find and configure other components. In its final form, Chronux will be a domain specific, quality tested open source software for Neuroscience community.