Skip to content

nwbmatic

NWB creator from various data streams

TODO badges

Overview

This package started as a main feature of pynapple IO module. It is now a standalone package to help create NWB from various data streams from electrophysiological and calcium imaging pipelines. It supports outputs from :

Electrophysiology Calcium imaging Behavior
Phy matlab CNMF-E DeepLabCut
Neurosuite Inscopix CNMF-E Optitrack
Minian
Suite2P

Warning A larger choice of data format is available from neuroconv

Usage

The general workflow of loading a session is described by the infographic below. As it is challenging to accomodate all possible types of format, we aimed to keep the IO of nwbmatic minimal while allowing the user to inherit the base loader and import their own custom io functions.

The base loader is thus responsible for initializing the NWB file containing the tracking data, the epochs and the session informations.

title

Getting Started

Installation

The best way to install nwbmatic is with pip within a new conda environment :

$ conda create --name nwbmatic pip python=3.8
$ conda activate nwbmatic
$ pip install nwbmatic

or directly from the source code:

$ conda create --name nwbmatic pip python=3.8
$ conda activate nwbmatic
$ # clone the repository
$ git clone https://github.com/pynapple-org/nwbmatic.git
$ cd nwbmatic
$ # Install in editable mode with `-e` or, equivalently, `--editable`
$ pip install -e .

This procedure will install all the dependencies including

  • pynapple
  • pandas
  • numpy
  • pynwb 2.0
  • h5py

Example

In this example, a session preprocessed with phy will be copied to NWB and loaded.

import nwbmatic as ntm

data = ntm.load_session("path/to/my/session", "phy")

Credits

Thanks to Selen Calgin, Sara Mahallati and Luigi Petrucco for their contributions.