Skip to main content

Calcium Imaging Pipeline built with Suite2p, Cellpose and Rastermap

Project description

LBM-Suite2p-Python logo

Tests PyPI version Documentation DOI

Installation · Documentation · User Guide · Issues

A volumetric 2-photon calcium imaging processing pipeline for Light Beads Microscopy (LBM) datasets, built on Suite2p.

  • Process volumetric calcium imaging data - motion correction, cell detection, and signal extraction across z-planes
  • Automated quality diagnostics - ROI quality metrics, ΔF/F traces, and correlation maps
  • Scalable architecture - process single planes or entire volumes with consistent parameters

All Planes MasksΔF/F Traces3D ROI Map
Planar Suite2p outputs combined into a 3D representation of neural activity

Note: lbm_suite2p_python is in late-beta stage of active development. File an issue for bugs or feature requests.

Installation

lbm_suite2p_python is available on PyPI:

We recommend using a virtual environment. For help setting up a virtual environment, see the MBO guide on virtual environments.

# create a new project folder
mkdir my_project && cd my_project

# create environment and install (uv recommended)
uv venv --python 3.12.9
uv pip install lbm_suite2p_python

# or with pip
pip install lbm_suite2p_python

Optional Dependencies

# With rastermap for activity clustering visualization
uv pip install "lbm_suite2p_python[rastermap]"

# With cellpose for anatomical cell detection (includes PyTorch)
uv pip install "lbm_suite2p_python[cellpose]"

# All optional dependencies
uv pip install "lbm_suite2p_python[all]"

Development Installation

git clone https://github.com/MillerBrainObservatory/LBM-Suite2p-Python.git
cd LBM-Suite2p-Python
uv pip install -e ".[dev]"

Quick Start

import lbm_suite2p_python as lsp

results = lsp.pipeline(
    input_data="D:/data/raw",   # path to file, directory, or list of files
    save_path=None,             # default: save next to input
    ops=None,                   # default: use MBO-optimized parameters
    planes=None,                # default: process all planes (1-indexed)
    roi_mode=None,              # default: stitch multi-ROI data
    keep_reg=True,              # default: keep data.bin (registered binary)
    keep_raw=False,             # default: delete data_raw.bin after processing
    force_reg=False,            # default: skip if already registered
    force_detect=False,         # default: skip if stat.npy exists
    dff_window_size=None,       # default: auto-calculate from tau and framerate
    dff_percentile=20,          # default: 20th percentile for baseline
    dff_smooth_window=None,     # default: auto-calculate from tau and framerate
)

User Guide for full API reference and examples

Output Gallery

Planar Results

Each z-plane produces diagnostic images automatically saved during processing.

Correlation Segmentation
correlation image with ROI overlay
Mean Segmentation
mean image with ROI overlay
Quality Diagnostics
ROI quality metrics
ΔF/F Traces
ΔF/F traces sorted by quality

Volumetric Results

Volume-level visualizations combine data across all z-planes.

Orthoslices
XZ/YZ orthogonal projections
Rastermap
activity sorted by similarity (rastermap)

GUI

A graphical interface is available via mbo_utilities:

pip install mbo_utilities
mbo                    # launch GUI
mbo /path/to/data      # open file directly

Note: GUI functionality may lag behind the latest pipeline features.

Troubleshooting

Git LFS Download Errors

If you see smudge filter lfs failed when installing from GitHub:

GIT_LFS_SKIP_SMUDGE=1 uv pip install git+https://github.com/MillerBrainObservatory/LBM-Suite2p-Python.git

Or set it permanently:

# Windows
[System.Environment]::SetEnvironmentVariable('GIT_LFS_SKIP_SMUDGE', '1', 'User')
# Linux/macOS
echo 'export GIT_LFS_SKIP_SMUDGE=1' >> ~/.bashrc
source ~/.bashrc
GUI Dependencies

Linux / macOS:

sudo apt install libxcursor-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev

Windows: Install Microsoft Visual C++ Redistributable

Built With

Issues & Support

Contributing

Contributions are welcome! This project uses:

  • Ruff for linting and formatting (line length: 88, numpy docstring style)
  • pytest for testing
  • Sphinx for documentation

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

lbm_suite2p_python-3.1.0.tar.gz (175.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lbm_suite2p_python-3.1.0-py3-none-any.whl (170.6 kB view details)

Uploaded Python 3

File details

Details for the file lbm_suite2p_python-3.1.0.tar.gz.

File metadata

  • Download URL: lbm_suite2p_python-3.1.0.tar.gz
  • Upload date:
  • Size: 175.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.2

File hashes

Hashes for lbm_suite2p_python-3.1.0.tar.gz
Algorithm Hash digest
SHA256 1714f5c641de9fff1885ad3a39260e9f386244d67e3d48acbdcf4e56561dcd6a
MD5 13ffe8806465024b3661f182520f3370
BLAKE2b-256 c0322a3dcf004c498e562c3939109e146a5195b20c114fc2f82c91e578a765f8

See more details on using hashes here.

File details

Details for the file lbm_suite2p_python-3.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lbm_suite2p_python-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb19828ac1f05b985cddd12e7c10574cb7d6cce0420a651d209e8184ccdc8579
MD5 a34e667de69a351937c089cc1a44f741
BLAKE2b-256 1f6f04303a95870d6c6aac2092def1736ffc7cf21d8fbf4a5ee1a725fbdf1395

See more details on using hashes here.

Supported by

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