Neo: an object model for handling electrophysiology data in multiple formats

Neuroscientists use many different software tools to acquire, analyze and visualize electrophysiological signals. However, incompatible data models and file formats make it difficult to exchange data between these tools. This reduces scientific productivity, renders potentially useful analysis metho...

Full description

Saved in:
Bibliographic Details
Published in:Frontiers in neuroinformatics Vol. 8; p. 10
Main Authors: Garcia, Samuel, Guarino, Domenico, Jaillet, Florent, Jennings, Todd, Pröpper, Robert, Rautenberg, Philipp L., Rodgers, Chris C., Sobolev, Andrey, Wachtler, Thomas, Yger, Pierre, Davison, Andrew P.
Format: Journal Article
Language:English
Published: Switzerland Frontiers Research Foundation 20.02.2014
Frontiers Media
Frontiers Media S.A
Subjects:
ISSN:1662-5196, 1662-5196
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Neuroscientists use many different software tools to acquire, analyze and visualize electrophysiological signals. However, incompatible data models and file formats make it difficult to exchange data between these tools. This reduces scientific productivity, renders potentially useful analysis methods inaccessible and impedes collaboration between labs. A common representation of the core data would improve interoperability and facilitate data-sharing. To that end, we propose here a language-independent object model, named "Neo," suitable for representing data acquired from electroencephalographic, intracellular, or extracellular recordings, or generated from simulations. As a concrete instantiation of this object model we have developed an open source implementation in the Python programming language. In addition to representing electrophysiology data in memory for the purposes of analysis and visualization, the Python implementation provides a set of input/output (IO) modules for reading/writing the data from/to a variety of commonly used file formats. Support is included for formats produced by most of the major manufacturers of electrophysiology recording equipment and also for more generic formats such as MATLAB. Data representation and data analysis are conceptually separate: it is easier to write robust analysis code if it is focused on analysis and relies on an underlying package to handle data representation. For that reason, and also to be as lightweight as possible, the Neo object model and the associated Python package are deliberately limited to representation of data, with no functions for data analysis or visualization. Software for neurophysiology data analysis and visualization built on top of Neo automatically gains the benefits of interoperability, easier data sharing and automatic format conversion; there is already a burgeoning ecosystem of such tools. We intend that Neo should become the standard basis for Python tools in neurophysiology.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
content type line 23
PMCID: PMC3930095
Reviewed by: Matthew Brett, University of Cambridge, UK; Luke Campagnola, University of North Carolina at Chapel Hill, USA; Alois Schlögl, Institute of Science and Technology, Austria
This article was submitted to the journal Frontiers in Neuroinformatics.
Edited by: Yaroslav O. Halchenko, Dartmouth College, USA
ISSN:1662-5196
1662-5196
DOI:10.3389/fninf.2014.00010