The napari hub is transitioning to a community-run implementation due to launch in June 2025.
Since October 1, 2024, this version is no longer actively maintained and will not be updated. New plugins and plugin updates will continue to be listed.

Intensity Plotter

napari-intensity-plotter

A plugin for plotting intensity profiles with control features in napari.

Workflow step:
Image annotation
Image segmentation

License BSD-3 PyPI Python Version tests codecov napari hub

napari-intensity-plotter is a plugin for napari that provides tools to measure and plot intensity profiles in 2D time-series images.

Intensity Plot Widget

Screenshot: Intensity profile of a region of interest in a 2D time-series image.

Features

  • Intensity Plot Widget: Allows you to select a region of interest in a 2D time-series image and plot the intensity profile over time.
  • Intensity Plot Control Widget: Lets you fine-tune plot parameters and save the results as CSV or PNG files.

Installation

You can install napari-intensity-plotter via pip:

pip install napari-intensity-plotter

Alternatively, you can install it directly from the napari plugin interface.

Usage

  1. Load a 2D Time-Series Image
    Load a 2D time-series image (e.g., fluorescence microscopy data) in napari.

  2. Activate the Widgets
    Open the Intensity Plot Widget and Intensity Plot Control Widget from the Plugins menu in napari.

  3. Intensity Plot Widget

    • Move your mouse over the image, or click on a specific location to plot the intensity profile of the selected region across slices (e.g., time).
    • The region of interest (ROI) size can be adjusted using the square size setting in the control widget.
  4. Intensity Plot Control Widget

    • Configure the square size for the ROI (ensures that the region size remains odd).
    • Set the directory to save plots and intensity data.
    • Save the intensity profile as a .csv or .png file by clicking the corresponding buttons or using keyboard shortcuts (Ctrl+S).
  5. Additional Controls

    • Hide all layers using the Hide All Layers button or Ctrl+D.
    • Use the rectangle to visualize the selected ROI.

Example Workflow

Step 1: Load a 2D time-series image (e.g., tif or nd2) into napari. Ensure the layer is visible.

Step 2: Open the Intensity Plot Widget to visualize intensity changes over time or slices for a specific ROI.

Step 3: Use the Intensity Plot Control Widget to:

  • Adjust the square size for the ROI.
  • Specify a directory to save intensity data.
  • Enable saving in CSV or PNG formats.

Step 4: Save the plotted intensity data by clicking Save to CSV/PNG or pressing Ctrl+S.

Step 5: Hide all layers if necessary using Hide All Layers or Ctrl+D.

Contributing

Contributions are welcome! If you encounter issues or have ideas for new features, please submit them via the GitHub Issues.

Acknowledgements

This plugin was developed using the napari plugin cookiecutter template, which greatly streamlined the creation of this tool. See the cookiecutter-napari-plugin for more details.

Special thanks to the napari community for their continuous support and resources.

License

This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.

Version:

  • 0.1.6

Last updated:

  • 15 November 2024

First released:

  • 20 October 2024

License:

Supported data:

  • Information not submitted

Plugin type:

GitHub activity:

  • Stars: 0
  • Forks: 0
  • Issues + PRs: 0

Python versions supported:

Operating system:

Requirements:

  • numpy
  • magicgui
  • qtpy
  • scikit-image