Chronux

Last updated

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 [1] (and MATLAB is proprietary).

Time series Sequence of data over time

A time series is a series of data points indexed in time order. Most commonly, a time series is a sequence taken at successive equally spaced points in time. Thus it is a sequence of discrete-time data. Examples of time series are heights of ocean tides, counts of sunspots, and the daily closing value of the Dow Jones Industrial Average.

Neuroscientist individual who studies neuroscience

A neuroscientist is a scientist who has specialised knowledge in the field of neuroscience, the branch of biology that deals with the physiology, biochemistry, anatomy and molecular biology of neurons and neural circuits and especially their association with behaviour and learning.

MATLAB multi-paradigm numerical computing environment

MATLAB is a multi-paradigm numerical computing environment and proprietary 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, including C, C++, C#, Java, Fortran and Python.

Contents

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.[ citation needed ] 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.[ citation needed ] 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.

Marine Biological Laboratory international center for research and education in biology, biomedicine and ecology

The Marine Biological Laboratory (MBL) is an international center for research and education in biological and environmental science. Founded in Woods Hole, Massachusetts, in 1888, the MBL is a private, nonprofit institution affiliated with the University of Chicago. After being independent for most of its history, it became affiliated with the university on July 1, 2013. It also collaborates with numerous other institutions.

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 experimental data. Neuroinformaticians provide computational tools, mathematical models, and create interoperable databases for clinicians and research scientists. Neuroscience is a heterogeneous field, consisting of many and various sub-disciplines. In order for our understanding of the brain to continue to deepen, it is necessary that these sub-disciplines are able to share data and findings in a meaningful way; Neuroinformaticians facilitate this.

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[ citation needed ]: 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.

Local regression

Local regression or local polynomial regression, also known as moving regression, is a generalization of moving average and polynomial regression. Its most common methods, initially developed for scatterplot smoothing, are LOESS and LOWESS, both pronounced. They are two strongly related non-parametric regression methods that combine multiple regression models in a k-nearest-neighbor-based meta-model.

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. It is one of a number of approaches to spectral density estimation.

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.

XML Markup language developed by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The W3C's XML 1.0 Specification and several other related specifications—all of them free open standards—define XML.

Plug-in (computing) software component that adds a specific feature to an existing software application

In computing, a plug-in is a software component that adds a specific feature to an existing computer program. When a program supports plug-ins, it enables customization.

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

Related Research Articles

GNU Octave numerical computation software

GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. It may also be used as a batch-oriented language. Since it is part of the GNU Project, it is free software under the terms of the GNU General Public License.

Wolfram Mathematica computational software program

Wolfram Mathematica is a modern technical computing system spanning most areas of technical computing — including neural networks, machine learning, image processing, geometry, data science, visualizations, and others. The system is used in many technical, scientific, engineering, mathematical, and computing fields. It was conceived by Stephen Wolfram and is developed by Wolfram Research of Champaign, Illinois. The Wolfram Language is the programming language used in Mathematica.

ROOT data analysis software

ROOT is an object-oriented program and library developed by CERN. It was originally designed for particle physics data analysis and contains several features specific to this field, but it is also used in other applications such as astronomy and data mining. The latest release is 6.16.00, as of 2018-11-14.

Orange (software) component-based data mining and machine learning software suite

Orange is an open-source data visualization, machine learning and data mining toolkit. It features a visual programming front-end for explorative data analysis and interactive data visualization, and can also be used as a Python library.

COMSOL Multiphysics application

COMSOL Multiphysics is a cross-platform finite element analysis, solver and multiphysics simulation software. It allows conventional physics-based user interfaces and coupled systems of partial differential equations (PDEs). COMSOL provides an IDE and unified workflow for electrical, mechanical, fluid, and chemical applications. An API for Java and LiveLink for MATLAB may be used to control the software externally, and the same API is also used via the Method Editor.

Weka (machine learning) suite of machine learning software written in Java

Waikato Environment for Knowledge Analysis (Weka) is a suite of machine learning software written in Java, developed at the University of Waikato, New Zealand. It is free software licensed under the GNU General Public License.

Euler (software) program for quickly and interactively computing with real and complex numbers and matrices, or intervals

Euler is a free and open-source numerical software package. It contains a matrix language, a graphical notebook style interface, and a plot window. Euler is designed for higher level math such as calculus, optimization, and statistics.

The following tables provide a comparison of numerical-analysis software.

EEGLAB is a MATLAB toolbox distributed under the free GNU GPL license for processing data from electroencephalography (EEG), magnetoencephalography (MEG), and other electrophysiological signals. Along with all the basic processing tools, EEGLAB implements independent component analysis (ICA), time/frequency analysis, artifact rejection, and several modes of data visualization. EEGLAB allows users to import their electrophysiological data in about 20 binary file formats, preprocess the data, visualize activity in single trials, and perform ICA. Artifactual ICA components may be subtracted from the data. Alternatively, ICA components representing brain activity may be further processed and analyzed. EEGLAB also allows users to group data from several subjects, and to cluster their independent components.

OpenSim (simulation toolkit)

OpenSim is an open source software for biomechanical modeling, simulation and analysis. Its purpose is to provide free and widely accessible tools for conducting biomechanics research and motor control science. OpenSim enables a wide range of studies, including analysis of walking dynamics, studies of sports performance, simulations of surgical procedures, analysis of joint loads, design of medical devices, and animation of human and animal movement. The software performs inverse dynamics analysis and forward dynamics simulations. OpenSim is used in hundreds of biomechanics laboratories around the world to study movement and has a community of software developers contributing new features.

Spectral concentration problem

The spectral concentration problem in Fourier analysis refers to finding a time sequence of a given length whose discrete Fourier transform is maximally localized on a given frequency interval, as measured by the spectral concentration.

FEBio(Finite Elements for Biomechanics) is a software package for finite element analysis and was specifically designed for applications in biomechanics and bioengineering. It was developed in collaboration with research groups from the University of Utah and Columbia University (MBL).

FieldTrip is a MATLAB software toolbox for magnetoencephalography (MEG) and electroencephalography (EEG) analysis. It is developed at the Donders Institute for Brain, Cognition and Behaviour at the Radboud University Nijmegen, together with collaborating institutes. The development of FieldTrip is supported by funding from the BrainGain, Human Connectome and ChildBrain projects. The FieldTrip software is released as open source under the GNU General Public License.

LIMDEP

LIMDEP is an econometric and statistical software package with a variety of estimation tools. In addition to the core econometric tools for analysis of cross sections and time series, LIMDEP supports methods for panel data analysis, frontier and efficiency estimation and discrete choice modeling. The package also provides a programming language to allow the user to specify, estimate and analyze models that are not contained in the built in menus of model forms.

FEATool Multiphysics

FEATool Multiphysics is a physics, finite element analysis (FEA), and PDE simulation toolbox for MATLAB and the cloud with rollApp. FEATool Multiphysics features the ability to model fully coupled heat transfer, fluid dynamics, chemical engineering, structural mechanics, electromagnetics, as well as user-defined and custom PDE problems in 1D, 2D (axisymmetry), or 3D, all within a simple graphical user interface (GUI) or as convenient MATLAB m-code script files. Having specifically been designed to have a low learning curve and to be able to be used without requiring reading documentation, FEATool has been employed and used in academic research, teaching, and industrial engineering simulation contexts.

References