Skip to main content

Live-cell microscopy image analysis and single-molecule measurements

Project description

MicroLive Micro Logo

Authors: Luis U. Aguilera, William S. Raymond, Rhiannon M. Sears, Nathan L. Nowling, Brian Munsky, Ning Zhao

PyPI version Documentation Tutorial API Reference License: GPL v3 Python 3.10+ PyQt5

About

MicroLive is a Python-based GUI application for live-cell microscopy image analysis and single-molecule measurements. It provides an end-to-end workflow from image loading through particle tracking, colocalization analysis, and statistical analysis.

MicroLive Demo

Features

  • Image I/O: Load .lif, .tif, .ome.tif with metadata extraction and dimension mapping
  • Registration: Drift correction via phase correlation
  • Segmentation: Cellpose (GPU), watershed, manual ROI, or external mask import
  • Photobleaching correction: Exponential decay modeling
  • Particle tracking: 2D (TrackPy) and 3D (Big-FISH) detection with multi-channel support
  • Automated threshold detection: Hybrid Big-FISH/TrueSpot method
  • Trajectory linking: Nearest-neighbor with memory and cluster analysis
  • Intensity quantification: Background subtraction, PSF fitting, SNR calculation
  • Colocalization: CNN-based, distance-based, and manual verification
  • MSD analysis: Per-cell diffusion coefficient calculation
  • Correlation: Auto- and cross-correlation with exponential/linear fitting
  • Export: PNG, TIFF, CSV, MP4/GIF with full metadata logging

Documentation

  • User Guide — Complete guide to using MicroLive
  • Tutorial — Step-by-step tutorials for all workflows
  • API Reference — Technical documentation for developers

Installation

Quick Install (pip)

pip install microlive

Launch MicroLive

microlive

That's it! MicroLive will launch with GPU acceleration automatically enabled:

  • macOS (Apple Silicon): MPS GPU acceleration works automatically
  • Linux/Windows (CPU): Works out of the box

GPU Acceleration for NVIDIA (Windows/Linux)

For NVIDIA GPU acceleration, install PyTorch with CUDA support before installing MicroLive:

# Install PyTorch with CUDA 12.4 (adjust version as needed)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124

# Then install MicroLive
pip install microlive

Verify GPU Support

from microlive.utils.device import check_gpu_status
check_gpu_status()

Expected output:

PyTorch version: 2.x.x
✅ CUDA available: NVIDIA GeForce RTX ...
   Memory: 8.0 GB

Or for Apple Silicon:

PyTorch version: 2.x.x
✅ MPS available: Apple Silicon GPU (MPS)

Alternative: Conda Installation (Development)

For development or if you prefer Conda:

# Clone the repository
git clone --depth 1 https://github.com/ningzhaoAnschutz/microlive.git
cd microlive

# macOS (Apple Silicon)
conda env create -f installation/micro_mac.yml
conda activate micro_mac
pip install -e .

# Windows (NVIDIA GPU)
conda env create -f installation/micro_windows.yml
conda activate micro_windows
pip install -e .

Usage

GUI Application

# Launch the GUI
microlive

Programmatic API

import microlive.microscopy as mi

# Load images from a Leica .lif file
reader = mi.ReadLif("experiment.lif")
images = reader.get_images()

# Access image data
image = reader.list_images[0]
print(f"Image shape: {image.shape}")  # (T, Z, Y, X, C)

# Run Cellpose segmentation
cellpose = mi.Cellpose(image_for_segmentation=image[0, 0, :, :, 0])
masks = cellpose.calculate_masks()

# Spot detection
spots = mi.SpotDetection(
    image=image,
    spot_size_yx=5,
    threshold=100
)
detected = spots.detect_spots()

Project Structure

microlive/
├── microlive/                    # Core package (pip installable)
│   ├── microscopy.py             # Main analysis classes
│   ├── imports.py                # Central import management
│   ├── ml_spot_detection.py      # ML-based spot detection
│   ├── gui/                      # GUI application
│   │   ├── app.py                # Main GUI window
│   │   └── main.py               # CLI entry point
│   ├── utils/                    # Utility modules
│   │   ├── device.py             # GPU detection
│   │   └── resources.py          # Resource paths
│   └── pipelines/                # Analysis pipeline modules
├── docs/                         # Documentation
│   ├── user_guide.md             # User manual
│   ├── tutorial.md               # Step-by-step tutorials
│   └── api_reference.md          # API documentation
├── modeling/                     # Research/development (not in pip package)
├── notebooks/                    # Example Jupyter notebooks
├── installation/                 # Environment files (for Conda users)
├── tests/                        # Test suite
├── pyproject.toml                # Package configuration
└── LICENSE                       # GPL v3 License

License

This project is licensed under the GNU General Public License v3 (GPLv3). See LICENSE for details.


Citation

If you use MicroLive in your research, please cite:

Aguilera LU, Raymond WS, Sears RM, Nowling NL, Munsky B, Zhao N. MicroLive: An Image Processing Toolkit for Quantifying Live-cell Single-Molecule Microscopy. bioRxiv, 2025.
DOI: 10.1101/2025.09.25.678587

@article{aguilera2025microlive,
  title={MicroLive: An Image Processing Toolkit for Quantifying Live-cell Single-Molecule Microscopy},
  author={Aguilera, Luis U and Raymond, William S and Sears, Rhiannon M and Nowling, Nathan L and Munsky, Brian and Zhao, Ning},
  journal={bioRxiv},
  pages={2025--09},
  year={2025},
  publisher={Cold Spring Harbor Laboratory},
  doi={10.1101/2025.09.25.678587}
}

Support

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

microlive-1.0.0.tar.gz (8.5 MB view details)

Uploaded Source

Built Distribution

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

microlive-1.0.0-py3-none-any.whl (8.5 MB view details)

Uploaded Python 3

File details

Details for the file microlive-1.0.0.tar.gz.

File metadata

  • Download URL: microlive-1.0.0.tar.gz
  • Upload date:
  • Size: 8.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for microlive-1.0.0.tar.gz
Algorithm Hash digest
SHA256 eb3314d1a8b991d2e6de7916d8a31007188c5bbfbdd13ebcb9b16c5169e3bf1a
MD5 32807b7efa5aa85f4e99daca21410f1e
BLAKE2b-256 f8af40645d61c37c9d9ffb352c874794c0aaf6a82701fd8520a6b961e1909051

See more details on using hashes here.

File details

Details for the file microlive-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: microlive-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for microlive-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ebed0a524699ef0829a3b3680fb0500123ff550e5dfc7e96c579b2e4be83de23
MD5 d80c56fcb47ce58f308cbd26b2a3071b
BLAKE2b-256 4235feb4c572490c52e3e8d621d16c0f0ef87208a518aca4bef63113c6bb9401

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