Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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.
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 file format we developed a C++ library.
The 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.