Skip to main content

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 Video

Click the image above to watch the demo video on YouTube


Features

  • Image I/O: Load .lif, .czi, .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 with fixed-threshold mode for inhibitor experiments
  • 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 (Recommended)

# Create and activate conda environment
conda create -n microlive python=3.10 -y
conda activate microlive

# Install MicroLive
pip install microlive

# Launch the GUI
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:

# Create environment
conda create -n microlive python=3.10 -y
conda activate 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

# Launch
microlive

Using Conda Environment Files

Pre-configured environment files are available:

# macOS / CPU
conda env create -f installation/microlive.yml
conda activate microlive

# Windows/Linux with NVIDIA GPU
conda env create -f installation/microlive_cuda.yml
conda activate 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)

Development Installation

For developers who want to modify the source code:

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

# Create environment
conda create -n microlive python=3.10 -y
conda activate microlive

# Install in editable mode
pip install -e .

# Launch
microlive

Troubleshooting Installation

If you encounter errors during installation (especially on Python 3.12):

# Option 1: Upgrade pip and pre-install numpy
pip install --upgrade pip setuptools wheel
pip install numpy
pip install microlive

# Option 2: Use Python 3.10 (most compatible)
conda create -n microlive python=3.10 -y
conda activate microlive
pip install microlive

Common error: ModuleNotFoundError: No module named 'numpy' during pystackreg build

  • This occurs when pip tries to build older package versions from source
  • Solution: Pre-install NumPy before installing MicroLive

Usage

GUI Application

conda activate microlive
microlive

Programmatic API

import microlive.microscopy as mi

# Load images from a Leica .lif file
reader = mi.ReadLif("experiment.lif")
(list_images, list_names, pixel_XY, pixel_Z,
 channel_names, num_channels, *_) = reader.read()

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

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

# Spot detection
spots = mi.SpotDetection(
    image=image[0],  # Single time point [Z, Y, X, C]
    channels_spots=[0],
    channels_cytosol=[],
    channels_nucleus=[],
    masks_complete_cells=masks,
    yx_spot_size_in_px=5,
    threshold_for_spot_detection=100
)

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
│   │   ├── model_downloader.py   # ML model provisioning
│   │   └── resources.py          # Resource paths
│   ├── data/                     # ML models and resources
│   └── pipelines/                # Analysis pipeline modules
├── simulations/                  # Spot simulation & validation (not in pip)
│   ├── spot_simulator.py         # Multi-cell simulation engine
│   ├── run_simulation.py         # CLI runner
│   ├── visualize_results.py      # Visualization tools
│   ├── config_*.yaml             # Configuration examples
│   └── tests/                    # 9-test validation suite (100% pass)
├── 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
│   ├── microlive.yml             # Conda env (macOS / CPU)
│   └── microlive_cuda.yml        # Conda env (NVIDIA GPU)
├── 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. Bioinformatics Advances, 2026; vbag095. DOI: 10.1093/bioadv/vbag095

@article{aguilera2026microlive,
  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={Bioinformatics Advances},
  pages={vbag095},
  year={2026},
  doi={10.1093/bioadv/vbag095}
}

Support

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.40.tar.gz (10.6 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.40-py3-none-any.whl (10.6 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: microlive-1.0.40.tar.gz
  • Upload date:
  • Size: 10.6 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.40.tar.gz
Algorithm Hash digest
SHA256 880ba7e7e87d6f78784f9a97baf0afe5d02a937aaaac48c5c7efabcdd7b7cdca
MD5 4d76f11a33fd2755db320330e5845aa6
BLAKE2b-256 e1fe390c7602d966dbfdcfd805ea1989e1e277893cb6148b7c480924615e78b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: microlive-1.0.40-py3-none-any.whl
  • Upload date:
  • Size: 10.6 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.40-py3-none-any.whl
Algorithm Hash digest
SHA256 1431f7b3399916759fd64b837e2d0b896f2c8f5b7f45d09f7cf503bdd8b62bf8
MD5 726fb5caf203bdf290996b0b501fab1f
BLAKE2b-256 a2966e79cb94b0aa8bc8d9e7952f48cf05f7cff48f422a06d8dfbf6a0ce718d0

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.44

2 files

1.0.43

2 files

1.0.42

2 files

1.0.41

2 files

This release

1.0.40 This release

2 files

1.0.39

2 files

1.0.38

2 files

1.0.37

2 files

1.0.36

2 files

1.0.35

2 files

1.0.34

2 files

1.0.33

2 files

1.0.32

2 files

1.0.31

2 files

1.0.30

2 files

1.0.29

2 files

1.0.28

2 files

1.0.27

2 files

1.0.26

2 files

1.0.25

2 files

1.0.24

2 files

1.0.23

2 files

1.0.22

2 files

1.0.21

2 files

1.0.20

2 files

1.0.19

2 files

1.0.18

2 files

1.0.17

2 files

1.0.16

2 files

1.0.15

2 files

1.0.14

1 file

1.0.13

2 files

1.0.12

2 files

1.0.11

2 files

1.0.10

2 files

1.0.9

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page