Bleaching Correction


A napari plugin to correct time-lapse images for photobleaching.

Bleach correction for napari

This plugin is a python implementation of three different algorithms for bleach correction and can be used to correct time-lapse images that lose intensity due to photobleaching. The implementation is based on the ImageJ plugin Bleach Corrector by Miura et al. All methods work with 2D and 3D time series.

Napari Bleach correction is easy to use:


Ratio Method

This is the simplest method. Every pixel in a frame is multiplied by the ratio from the mean intensity of the first frame to that of the i-th frame.


  • the mean intensity is constant through the time-lapse
  • the background fluorescence is the same for every pixel and frame


  • Background Intensity: Must be estimated

Exponential Curve Fitting

Drift estimation of fluorescence signal by fitting the mean intensity to an exponential curve. The image is corrected by the decay in the normalized exponential function.


  • time intervals between frames are equal


  • Exponential Curve: Bleaching can be modelled as a mono- or bi-exponential curve

Histogram Matching

Bleaching correction by matching histograms to a reference image. The correct pixel values can be calculated by the cumulative distribution function of a frame and its reference frame. This method introduced by Miura et al.


  • Reference Frame: Match the frame's histogram with the first our neighbor frame

The Histogram Matching method using the neighbor frame as reference is a good start to correct bleaching. All methods are described in detail in Miura et al.



  • 0.0.1

Last updated:

  • 22 September 2022

First released:

  • 22 September 2022


Supported data:

  • Information not submitted

Plugin type:

GitHub activity:

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

Python versions supported:

Operating system:


  • numpy
  • magicgui
  • qtpy
  • scikit-image
  • scipy
  • pyqtgraph

Sign up to receive updates