neura-library

Utility tools for system neuroscience research, including Open Source Wrapper or Parser


Keywords
Neuroscience, visual, cellular, imaging, brain, mapping, spatial, navigation
License
Other
Install
pip install neura-library==0.1.0

Documentation

neuralib

PyPI - Python Version PyPI version Downloads

Ruff uv Document Status

Utility tools for rodent system neuroscience research, including Open Source Wrapper or Parser

Checkout Release notes

Installation

conda environment

  • Create and activate a new conda environment (Python >=3.9, but >=3.11 not yet tested), then install:
conda create -n neuralib python=3.9
conda activate neuralib
pip install neura-library
  • If you wish to install all dependencies, run:
pip install neura-library[all]
  • If you wish to install the minimal required dependencies according to usage purpose:

Choices in []: atlas, scanner, calimg, segmentation, model, track, gpu, profile, imagelib, tools, full Example of using the atlas module:

pip install neura-library[atlas]
  • If installing in developer mode (Install pre-commit and linter check by ruff)
pip install neura-library[dev]
pre-commit install
ruff check .

uv virtual environment

  • Install uv, run in Unix or git bash (Windows):
curl -LsSf https://astral.sh/uv/install.sh | sh
  • Follow uv project structure doc:
uv init
  • Make sure python version (>=3.9, but >=3.11 not yet tested), both in pyproject.py and .python-version
uv python install 3.9
  • If you wish to install all dependencies, run:
uv add neura-library[all]
  • If you wish to install the minimal required dependencies according to usage purpose:

Choices in []: atlas, scanner, calimg, segmentation, model, track, gpu, profile, imagelib, tools, full Example of using the atlas module:

uv add neura-library[atlas]
  • If installing in developer mode (Install pre-commit and linter check by ruff)
uv add neura-library[dev]
pre-commit install
ruff check .

Module

atlas

  • Module for whole brain, slice view visualization and rois classification
    • neuralib.atlas.ccf: Customized hierarchical classification for the mouse brain atlas
    • neuralib.atlas.brainrender: cli-based wrapper for brainrender
    • neuralib.atlas.cellatlas: Volume and cell types counts for each brain region, refer to Cell Atlas
    • neuralib.atlas.ibl: Slice view plotting wrapper for ibllib and iblatlas

calimg

  • Module for 2photon calcium imaging acquisition and result parsing
    • neuralib.calimg.scan_image: Data acquired from ScanImage ( under DEV)
    • neuralib.calimg.scanbox: Data acquired from Scanbox
    • neuralib.calimg.suite2p: Result parser for suite2p
    • neuralib.calimg.spikes: dF/F to spike activity (OASIS/Cascade)

segmentation

  • Module for neuronal segmentation
    • neuralib.segmentation.cellpose: Result Parser and batch running for cellpose
    • neuralib.segmentation.stardist: Result Parser and batch running for stardist

model

  • neuralib.model.bayes_decoding: Position decoding using population neuronal activity

  • neuralib.model.rastermap: Run and result parser for rastermap

morpho

  • Morphological reconstruction data presentation

tracking

  • Module for other open-source tools wrapper
    • neuralib.tracking.deeplabcut: Result parser for DeepLabCut

    • neuralib.tracking.facemap: Result parser for facemap

Utilities Modules

  • neuralib.argp: Use argparse as dataclass field

  • neuralib.persistence: caching the analyzed results (i.e., concatenation for statistic purpose)

  • neuralib.bokeh_model: Interactive dashboard visualization

  • neuralib.sqlp: Python functions to build a SQL (sqlite3) statement.

  • neuralib.plot: Module for general plotting purpose

  • neuralib.imglib: Image processing library (under DEV)

  • neuralib.tools.gspread: Google spreadsheet API wrapper for read/write

  • neuralib.tools.slack_bot: Real-time slack notification bot for analysis pipeline

  • neuralib.util.cli_args: run script as subprocess

  • neuralib.util.color_logging: logging with color format

  • neuralib.util.gpu: OS-dependent gpu info

  • neuralib.util.profile_test: simple benchmark profile testing

  • neuralib.util.table: rich table visualization

  • neuralib.util.segments: Epoch or value segments

CLI project.scripts

  • brender: see examples in api