Roi Registration


A plugin to perform registration of regions-of-interests in time-lapse data.

License PyPI Python Version tests codecov napari hub

A Napari plugin for the registration of regions of interests (ROI) in a time lapse acquistion and processing of the intensity of the registered data.

The ROI are defined using a Labels layer. Registration of multiple ROIs is supported.

The Registration widget uses the user-defined labels, constructs a rectangular ROI around each of them and registers the ROIs in each time frame.

The Processing widget measures the ROI displacements and extracts the average intensity of the ROI, calculated on the area of the labels.

The Subtract background widget subtracts a background on each frame, calculated as the mean intensity on a Labels layer. Tipically useful when ambient light affects the measurement.

This napari plugin was generated with Cookiecutter using @napari's cookiecutter-napari-plugin template.



You can install napari-roi-registration via pip:

pip install napari-roi-registration

To install latest development version :

pip install git+


A detailed guide which shows how to use the widgets of the napari-roi-registration plugin and how to properly choose the parameters can be found here. A demo video is available at this link. Sample datasets are available.

Registration Widget

  1. Create a new Labels layer and draw one or more labels where you want to select a ROI (Region Of Interest). Each color in the same Labels layer represents a different label which will correspond to a different ROI.


  1. Push the Register ROIs button: registration of the entire stack will be performed. When the registration is finished two new layers will appear in the viewer. One layer contains the centroids of the drawn labels while the other contains the bounding boxes enclosing the ROIs. The registration starts from the currently selected frame. If register entire stack is selected, the registration will create a new layer for each label, with the registered ROI stacks.


Processing Widget

Pushing the Process registered ROIs button, the registered ROIs will be analyzed. The intensity of the registered ROIs (measured on the area of the selected label) and the displacement of the ROIs will be calculated. If plot results is selected the plot of displacement vs time index and mean intensity vs time index will appear in the Console. Choosing the save results option, an excel file containing ROIs positions, displacements and intensities, will be saved.


Background Widget

  1. Create a new Labels layer and draw a label on the area where you want to calculate the background.


  1. Push the Subtract background button. A new image layer will appear in the viewer. This layer contains the image to which the background was subtracted.


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.


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


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


  • 0.1.4

Last updated:

  • 13 December 2023

First released:

  • 04 May 2022


Supported data:

  • Information not submitted

Plugin type:

GitHub activity:

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

Python versions supported:

Operating system:


  • numpy
  • magicgui
  • qtpy
  • scikit-image
  • opencv-python
  • matplotlib
  • openpyxl

Sign up to receive updates