Skip to main content

Tools for quickly generating `.nwb` files from non-standard Mindscope Neuropixels experiments.

Project description

np_nwb

Tools for quickly generating .nwb files from non-standard Mindscope Neuropixels experiments.

Generating an .nwb file will entail:

  • inputting a path to a folder of raw data from a single experiment (session_folder)
  • creating an instance of pynwb.NWBFile and writing to disk (nwb_file)
  • passing nwb_file + session_folder, to various modules that add nwb components
  • each module should:
    • accept or load an instance of pynwb.NWBFile from nwb_file
    • recognize the type of experiment contained in session_folder
    • process raw data in session_folder accordingly
    • append tables to the pynwb.NWBFile instance
    • optionally write to disk
    • return the pynwb.NWBFile instance

Each module should therefore provide a function implementing the following append() interface:

import logging
import pathlib
import tempfile
from typing import Optional

import np_tools
import pynwb

logger = logging.getLogger(__name__)


def append(
    session_folder: str | pathlib.Path,
    nwb_file: str | pathlib.Path | pynwb.NWBFile,
    output_file: Optional[str | pathlib.Path] = None,
    ) -> pynwb.NWBFile:
    """Append one or more new components to an `.nwb` file.

    - callable from within a Python process, by accepting & returning instances of `pynwb.NWBFile` 
    - callable from the command line, in which case all three input arguments are required, with `nwb_file` specified as a path
    """
    session_folder = pathlib.Path(session_folder)

    # ... process session_folder

    if not isinstance(nwb_file, pynwb.NWBFile):
        nwb_file = np_tools.load_nwb(nwb_file) 
    
    # ... append new components to nwb_file

    if output_file is not None:
        np_tools.save_nwb(nwb_file, output_file)
    
    return nwb_file

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

np_nwb-0.1.2.tar.gz (36.2 kB view details)

Uploaded Source

Built Distribution

np_nwb-0.1.2-py3-none-any.whl (45.3 kB view details)

Uploaded Python 3

File details

Details for the file np_nwb-0.1.2.tar.gz.

File metadata

  • Download URL: np_nwb-0.1.2.tar.gz
  • Upload date:
  • Size: 36.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.7.4 CPython/3.11.1

File hashes

Hashes for np_nwb-0.1.2.tar.gz
Algorithm Hash digest
SHA256 336c85347d2723a6e0e919db626300725f0c07e87908704b4a1f0c31c9408417
MD5 dfb4b5292aea016312aa79119786c231
BLAKE2b-256 c4da645bde35b26a32d144ce6be7cb43ece6fe82be54c2c4477ffe26053cc523

See more details on using hashes here.

File details

Details for the file np_nwb-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: np_nwb-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 45.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.7.4 CPython/3.11.1

File hashes

Hashes for np_nwb-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 71e4f8a7ad395630fca63748fbd0c2be9720be045bf2867f24bf2d7e92743539
MD5 ac6c16ed4606406ee0d83be3a4ab2009
BLAKE2b-256 9f057b7c89f74492e9c3f58295e46b67532cd735521bbb90e6bb9e5c0e6a156c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page