Skip to content
Jan Grewe edited this page Aug 26, 2018 · 45 revisions

About NIX

The NIX project (previously called Pandora) started in the context of the Electrophysiology Task Force which is part of the INCF Datasharing Program. As such, the Task Force aims to develop standardized methods and models for storing electrophysiology and other neuroscience data together with their metadata in one common file format based on HDF5.

NIX is one approach to this problem: it uses highly generic models for data as well as for metadata and defines standard schemata for HDF5 files representing these models. Last but not least NIX aims to provide a convenient C++ library to simplify the access to the defined format. (more)

The Data Model

The design principle of the data model used by NIX, was to create a rather minimalistic, generic, yet expressive model, that is able to represent data stored in other widely used formats or models like Neuroshare or NEO without any loss of information. Due to its generic approach, the data model is also able to represent other kinds of data used in the field e.g. image data or image stacks.

Since NIX was also designed to annotate data with metadata the model includes the odML model for metadata (Grewe et al. (2011)).

Neither the data model nor the model for metadata are domain-specific to electrophysiology, but both models can be linked to predefined or custom terminologies which enables the user to give elements of the models a domain-specific, semantic context. (more)

The Implementation in HDF5

As mentioned above, the overall goal of this project is to define a standard file format based on the Hierarchical Data Format (HDF5). Based on the concepts of the data models used by NIX we defined a schema for HDF5 files. (more)

An example file, that shows the basic file structure can be downloaded here.

How to Store Electrophysiology Data

Due to the generic character of the NIX data model, there is not one single way of representing certain kinds of electrophysiological data e.g. analog signals, neural events or spike trains. We therefore provide some guidelines that describe how to represent electrophysiological data using the NIX model. (more)

The NIX C++ Library

As a reference implementation for the data model we developed a C++ library.

  • An introduction/tutorial can be found here
  • API documentation can be found here.

Contribute to the Project

The NIX project was started with the intention to improve data sharing within the neuroscience community and to make data management easier for the scientists. We encourage everyone to join the project, share ideas or to pass criticism on the project.

Contact:

The project is maintained by the German Neuroinformatics Node (G-Node) email to dev[at]g-node.org.

Clone this wiki locally