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.
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.