Napari Phasors

A simple plugin to use phasor analysis

  • Bruno Pannunzio, Marcelo Leomil Zoccoler, Bruno Schuty, Leonel Malacrida

License BSD-3 PyPI Python Version tests codecov napari hub

A comprehensive plugin for phasor analysis in napari. Based on the phasorpy library.

Jump to Intallation


Usage

napari-phasors is a comprehensive plugin that provides a complete workflow for phasor analysis in napari. It includes widgets for reading various FLIM and hyperspectral file formats, performing phasor analysis, calibration, component analysis, FRET analysis, filtering, manual selections, and exporting results.

Sample Data

Two sample datasets for FLIM are provided, along with their corresponding calibration images. Additionally, a paramecium image is included as sample data for hyperspectral analysis.

sample_data

Phasor Analysis

Plot FLIM Data

FLIM phasor data can be plotted as a 2D histogram or scatter plot in the "Phasor Plot" widget. The colormap, the number of bins and the scale of the colors can be customized.

phasors_flim

Plot Hyperspectral Data

Hyperspectral phasor data can also be plotted as a 2D histogram or scatter plot and visualized in the full universal circle. The 'Universal Semi-Circle/Full Polar Plot' in the "Plot Settings" tab must be unchecked.

phasors_hyperspectral

Phasor Calibration

FLIM images can be calibrated using a reference image acquired under the same experimental parameters in the "Calibration" tab of the "Phasor Plot" widget. This reference image should consist of a homogeneous solution of a fluorophore with a known fluorescence lifetime and the laser frequency used in the experiment. This ensures accuracy and consistency in lifetime measurements.

calibration

Filtering and Thresholding

Apply various filters and thresholds to your phasor data to enhance analysis quality in the "Filter/Threshold" tab on the "Phasor Plot" widget. You can filter phasor coordinates using the median or wavelet filter.

filter_threshold

Manual Phasor Selections

Create manual selections on the phasor plot to identify specific regions of interest. These selections can be used to highlight corresponding pixels in the intensity image and perform targeted analysis. Shape of selection can be chosen at the top of the phasor plot and the selection ID can be selected in the "Selection" tab of the "Phasor Plot" widget.

selections

Component Analysis

Perform multi-component analysis to identify and separate different fluorescent species in your sample. This feature allows you to decompose complex phasor distributions into individual components with distinct lifetimes. Two component analysis can be done in the "Components" tab of the "Phasor Plot" widget.

components

Apparent or Normal Lifetime Analysis

A FLIM image can be colormapped according to the phase or modulation apparent lifetime, as well as the normal lifetime in the "Lifetime" tab of the "Phasor Plot" widget. A histogram is also created for visualization of the distribution of apparent lifetimes of the FLIM image.

lifetimes

FRET Analysis

Analyze Förster Resonance Energy Transfer (FRET) trajectories and efficiencies in the "FRET" tab of the "Phasor Plot" widget.

fret

Phasor Custom Import

Supported file formats (.tif, .ptu, .sdt, .fbd, .lsm, .ome.tif) can be read and transformed to the phasor space in the "Phasor Custom Import" widget. Additional options, such as the harmonics, channels and frames, can be specified depending on the file format to be read.

custom_import

Data Export

The average intensity image and the phasor coordinates can be exported as OME-TIF files that can be read by napari-phasors and PhasorPy. Alternatively, the phasor coordinates, as well as the selections can be exported as a CSV file. This can be done in the "Export Phasor" widget

export_phasors

Installation

You can install napari-phasors via pip. Follow these steps from a terminal.

We recommend using miniforge whenever possible. Click here to choose the right download option for your OS. If you do not use miniforge, but rather Anaconda or Miniconda, replace the mamba term whenever you see it below with conda.

Create a conda environment with napari by typing :

mamba create -n napari-phasors-env napari pyqt python=3.10

Activate the environment :

mamba activate napari-phasors-env

Install napari-phasors via pip :

pip install napari-phasors

Alternatively, install latest development version with :

pip install git+https://github.com/napari-phasors/napari-phasors.git

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the BSD-3 license, "napari-phasors" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

Version:

  • 0.1

Last updated:

  • 2025-09-29

First released:

  • 2024-11-22

License:

  • Copyright (c) 2024, Marcelo L....

Supported data:

  • Information not submitted

Save extension:

Python versions supported:

Operating system:

  • Information not submitted

Requirements:

  • phasorpy==0.7
  • qtpy
  • scikit-image
  • biaplotter>=0.4.2
  • lfdfiles
  • fbdfile
  • sdtfile
  • ptufile
  • tifffile
  • pandas
  • pyqt5
  • pawflim
  • tox; extra == "testing"
  • pytest; extra == "testing"
  • pytest-cov; extra == "testing"
  • pytest-qt; extra == "testing"
  • napari; extra == "testing"
  • qtpy; extra == "testing"
  • scikit-image; extra == "testing"
  • biaplotter>=0.4.2; extra == "testing"
  • PyQt5; extra == "testing"
  • pandas; extra == "testing"
  • black; extra == "testing"
  • isort; extra == "testing"
  • phasorpy==0.7; extra == "testing"
  • tifffile; extra == "testing"
  • lfdfiles; extra == "testing"
  • fbdfile; extra == "testing"
  • sdtfile; extra == "testing"
  • ptufile; extra == "testing"
  • pawflim; extra == "testing"
Website by the napari team, original design by CZI. Go to napari main website.