Live-cell microscopy image analysis and single-molecule measurements
Project description
MicroLive 
Authors: Luis U. Aguilera, William S. Raymond, Rhiannon M. Sears, Nathan L. Nowling, Brian Munsky, Ning Zhao
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.
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
- Documentation: User Guide | Tutorial | API Reference
- Issues & Contributions: GitHub
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb3314d1a8b991d2e6de7916d8a31007188c5bbfbdd13ebcb9b16c5169e3bf1a
|
|
| MD5 |
32807b7efa5aa85f4e99daca21410f1e
|
|
| BLAKE2b-256 |
f8af40645d61c37c9d9ffb352c874794c0aaf6a82701fd8520a6b961e1909051
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebed0a524699ef0829a3b3680fb0500123ff550e5dfc7e96c579b2e4be83de23
|
|
| MD5 |
d80c56fcb47ce58f308cbd26b2a3071b
|
|
| BLAKE2b-256 |
4235feb4c572490c52e3e8d621d16c0f0ef87208a518aca4bef63113c6bb9401
|