NWB:N File Format

The NWB Format is built around two concepts: TimeSeries and ProcessingModules.

TimeSeries are objects for storing time series data, and Processing Modules are objects for storing and grouping analyses. The following sections describe these classes in further detail.

NWBFile

NWB files are represented in PyNWB with NWBFile objects. NWBFile objects provide functionality for creating TimeSeries datasets and Processing Modules, as well as functionality for storing experimental metadata and other metadata related to data provenance.

TimeSeries

TimeSeries objects store time series data. These Python objects correspond to TimeSeries specifications provided by the NWB format specification. Like the NWB specification, TimeSeries Python objects follow an object-oriented inheritance pattern. For example, the class TimeSeries serves as the base class for all other TimeSeries types.

The following TimeSeries objects are provided by the API and NWB specification:

Processing Modules

Processing modules are objects that group together common analyses done during processing of data. Processing module objects are unique collections of analysis results. To standardize the storage of common analyses, NWB provides the concept of an NWBDataInterface, where the output of common analyses are represented as objects that extend the NWBDataInterface class. In most cases, you will not need to interact with the NWBDataInterface class directly. More commonly, you will be creating instances of classes that extend this class. For example, a common analysis step for spike data (represented in NWB as a SpikeEventSeries object) is spike clustering. In NWB, the result of this kind of analysis will be represented with a Clustering object.

The following analysis NWBDataInterface objects are provided by the API and NWB specification:

Additionally, the TimeSeries described above are also subclasses of NWBDataInterface, and can therefore be used anywhere NWBDataInterface is allowed.

Note

In addition to NWBContainer which functions as a common base type for Group objects NWBData provides a common base for the specification of datasets in the NWB:N format.