hsntools
(formerly 'convnwb') is a module for working with the Human Single-Neuron Pipeline (HSNPipeline).
This module contains general utilities for working with human single-neuron data and projects.
NOTE: this module is in the process of being renamed to hsntools. Future versions of the module will be under the new name. See the changelog for further details on version information.
hsntools
is designed for use in the Human Single-Neuron pipeline, which provides a guide and
template structure for human single-neuron projects, including working with data files, converting
data to the NWB format, and managing projects and analyses.
Available sub-modules in hsntools include:
io
: includes save and load functions and utilities for working with files raw and converted data filesnsp
: 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 spike sortingtimestamps
: includes utilities for managing timestamps and aligning data streamsutils
: includes general utilities for working with data through the conversion process
The hsntools module is a helper module for implementing functionality needed for the Human Single-Neuron Pipeline. It includes utilities related to managing and organizing relevant files, including file I/O, functionality for organizing and aligning multiple data streams and converting data to standardized data files, and utilities for assisting with running analyses across such data and generating structured reports.
hsntools
provides functionality used within the template for the pipeline, including:
Note that hsntools is not a module for and does not include functionality for spike sorting or single-neuron analyses. See the HSNPipeline Overview for information and guidance on these processes and related tooling.
Documentation for the hsntools
module is available
here
Documentation for the HSNPipeline more broadly, which uses hsntools
is available
here
If you have a question about using hsntools
that doesn't seem to be covered by the documentation, feel free to
open an issue and ask!
hsntools
is written in Python, and requires Python >= 3.7 to run.
It has the following required dependenc 7FAD ies:
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.4.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.