napari-PICASSO

napari-PICASSO

Blind fluorescence unmixing

License PyPI Python Version tests codecov napari hub

Unmix spectral spillover

Automatic Usage

You can find the PICASSO plugin in the menu Plugins > napari-PICASSO: PICASSO. Select sink images that have spectral spillover from corresponding source images, then click run to optimise the mixing parameters with PICASSO.

Manual Usage

Select the manual button in options pop up window. Then select sink images that have spectral spillover from corresponding source images. In the source images window, sliders for each $source$ control the mixing spillover, $m$ (top), and background, $b$ (bottom, optional).

Mixing model

$$ sink = \sum_{i} m_i(source - b_i) $$

Installation

You can install napari-PICASSO via pip:

pip install napari-PICASSO

Details

napari-PICASSO is a napari widget to blindly unmix fluorescence images of known members using PICASSO1.

For example, if 2 fluorophores with overlapping spectra are imaged, spillover fluorescesce from a channel into an adjacent channel could be removed if you know which channel is the source of the spillover fluorescence and which channel is the sink of the spillover fluorescence.

PICASSO is an algorithm to remove spillover fluorescence by minimizing the mutual information between sink and source images. The original algorithm described by Seo et al, minimized the mutual information between pairs of sink and source images using a Nelson-Mead simplex algorithm and computing the mutual information outright with custom written MATLAB code1. The napari plugin uses a neural net to estimate and minimize the mutual information (MINE2) between pairs of sink and source images using stochastic gradient descent with GPU acceleration.

References

  1. Seo, J. et al. PICASSO allows ultra-multiplexed fluorescence imaging of spatially overlapping proteins without reference spectra measurements. Nat Commun 13, 2475 (2022).
  2. Belghazi, M. I. et al. MINE: Mutual Information Neural Estimation. arXiv:1801.04062 [cs, stat] (2018).

Version:

  • 0.3.0

Last updated:

  • 29 June 2022

First released:

  • 01 June 2022

License:

Supported data:

  • Information not submitted

Plugin type:

GitHub activity:

  • Stars: 10
  • Forks: 3
  • Issues + PRs: 1

Python versions supported:

Operating system:

Requirements:

  • numpy
  • magicgui
  • qtpy
  • dask
  • psutil

Sign up to receive updates