PyNWB provides a high-level Python API for reading and writing NWB formatted HDF5 files. This section will provide a broad overview of the functionality provided for reading and writing neurophysiology data into NWB files.
The NWB format is built around two concepts: TimeSeries and Modules. TimeSeries are objects for storing time series data, and Modules are objects for storing and grouping analyses. The following sections describe these classes in further detail.
NWB files are represented in PyNWB with NWBFile objects.
NWBFile objects provide functionality for creating TimeSeries datasets
and Modules, as well as functionality for storing experimental metadata and other metadata related to data provenance.
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:
TimeSeries- a general
Modules are objects that group together common analyses done during processing of data. Module objects are unique collections of
analysis results. To standardize the storage of common analyses, NWB provides the concept of an Interface, where the output of
common analyses are represented as objects that extend the
Interface class. In most cases, you will not need
to interact with the
Interface 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
is spike clustering. In NWB, the result of kind of analysis will be reprsented with a
The following Interface objects are provided by the API and NWB specification: