The Neurodata Without Borders: Neurophysiology (“NWB”) format is designed to store a variety of neurophysiology data, including from intracellular and extracellular electrophysiology experiments, optical physiology experiments, as well as tracking and stimulus data.
The NWB format was originally implemented in the Hierarchical Data Format (HDF5), but has since been generalized to accept multiple data storage formats as backends. Regardless of the backend, NWB is designed to store data in a self-documenting way. The storage schema is described by a specification language and it is extensible to support future scientific needs as well as lab-specific requirements.
A specification language was created to define the schema and provide for extensibility. The schema defines each datum’s display name, semantic type, and relationships to other data. Neurophysiologists contributed to the format’s goals and its schema’s design. The collaborating laboratories provided representative use cases and feedback.
|Format Specification||The NWB format’s functional requirements were determined by representative use cases from the collaborating laboratories.|
Application Programming Interface (API)
Python and MATLAB application programming interfaces (API) are provided for data publishers. Files are generated using HDF5, so the HDFView application can be used to view content, and the HDF5 library can be used to access the data.
|Github repository for the Python Write API’s source code and unit tests.|
|Github repository for the MATLAB Write API’s source code and unit tests.|
The following is a list of tools that are available to work with the NWB format.
|File Diff Tool
|Script that compares two files in the NWB format.|
|Transform MATLAB Data File to HDF5
|Recursively transforms data in the MATLAB format to a more easily processed HDF5 format.|