hsntools¶
hsntools (formerly ‘convnwb’) is a module for working with the Human Single-Neuron Pipeline (HSNPipeline).
Overview¶
This module contains general utilities for working with human single-neuron data and projects.
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
Scope¶
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¶
Documentation for the hsntools module is available
here
Documentation for the HSNPipeline more broadly, which uses hsntools is available on the
pipeline website
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!
Dependencies¶
hsntools is written in Python, and requires Python >= 3.7 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
Installation¶
The current release version of hsntools is the 1.X.X release series.
See the changelog for notes on major version releases.
Stable Release Version
To install the latest stable release, you can use pip:
$ pip install hsntools
Development Version
To get the current development version, first clone this repository:
$ git clone https://github.com/hsnpipeline/hsntools
To install this cloned copy, move into the directory you just cloned, and run:
$ pip install .
Editable Version
To install an editable version, download the development version as above, and run:
$ pip install -e .
Contribute¶
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.