convnwb
is a module of code to help with converting data to the NWB format.
This module contains general, task agnostic, utilities, for converting data to the NWB format.
Available sub-modules in convnwb include:
io
: includes save and load functions and utilities for working with files through the conversion processnsp
: includes functionality that relating to managing recording files from neural signal processorsobjects
: includes objects for storing relevant data, for example electrode or task related informationpaths
: includes a Paths object and utilities for defining and using a consistent path structureplts
: includes plot functions for examining data through the conversion processsorting
: includes functionality relating to managing recording spike sortingtimestamps
: includes utilities for managing timestamps and aligning data streamsutils
: includes general utilities for working with data through the conversion process
For converting data, convnwb can be used together with the ConvertTEMPLATE.
convnwb
is written in Python, and requires Python >= 3.6 to run.
It has the following required dependencies:
There are also optional dependencies, that offer extra functionality:
- pynwb is needed for validating NWB files
- matplotlib is needed for making plots to check conversions
- scikit-learn is needed to aligning sync pulses
- pandas is needed for utilities that load dataframes
- scipy is needed for some load and timestamp related functions
- h5py is needed for utilities that open HDF5 files
- neo is needed for loading & interacting with NSP files
- mat73 is needed for loading .mat files version >= 7.3
- pytest is needed to run the test suite locally
The current release version is the 0.3.X series.
Check the changelog for notes on updates and changes across versions.
This module should be installed from Github:
Install from a clone
First clone this repository, then move into the cloned repository, and install:
$ git clone https://github.com/HSUPipeline/convnwb
$ cd convnwb
$ pip install .
This project welcomes and encourages contributions from the community!
To file bug reports and/or ask questions about this project, please use the Github issue tracker.
When interacting with this project, please follow the code of conduct.