Three different intensity correction methods for the intensity loss by photobleaching of sample


Input: Active image stack

Output: Bleaching-corrected image stack (newly created)

This plugin contains three different methods for correcting the intensity decay caused by photobleaching of the sample. All these methods work with both 2D and 3D time series. In case of 3D time series, image properties should be appropriately set via [Image > Properties].

If you are using this plugin, please cite the following paper:

Simple Ratio Method

This method is a plugin version of Jens Rietdorf’s macro, extended further with capability for correcting 3D time series. This method is similar to the double normalization method in Phair et al. (2004)1, except that we do not normalize the curve.

You need to estimate the base line intensity before using this method. Measure the mean intensity of the region outside the target signal and use that value.

Exponential Fitting Method

This methods first fits exponential equation to the intensity curve and then that estimated decay curve is used to compensate for the loss of intensity. This method is similar to the one that was implemented in MBF-ImageJ (This distribution is not available anymore). The difference is that this plugin also works with 3D time series. Another difference is that while the original implementation in MBF-ImageJ used “Exponential” equation for fitting, this plugin uses “Exponential with Offset”.

Figure below is an example of fitting exponential decay equation to the intensity changes over time. This is rather an ideal case example. If you see that the fit quality is not good enough, do not use this method. Beside the evaluation of the fitting quality by eyes, use \(R^2\) (residual) as an indicator of the quality of fit.

exponential bleach

Histogram Matching Method:

A brand-new method for bleach correction.

This algorithm first samples the histogram of initial frame, and for the successive frames, histograms are matched to the first frame. This avoids the increase in noise in the latter part of the sequence which is a problem in the other two methods. For more details about the algorithm of histogram matching, please refer to this page. This method does much better restoration of bleaching sequence for segmentation but not appropriate for intensity quantification.

For some notes during the development of this plugin, see this blog post.

More details

The histogram matching method has a strong assumption that the histogram shape is always constant, which also means that the average intensity is constant over time. This means that the patterns captured in the image sequence should not change too much e.g. part of the object goes out of the image frame by time, or shape changes and part of the object goes out from the frame, or distribution changes from sparse to clustered.




With ImageJ, download the plugin from this page and copy it to the plugin folder. Restart ImageJ.

In Fiji, the plugin comes with the download package so there is no need of installation.


The menu command can be found under [Image > Adjust > Bleach Correction].

The target image data will be the active one. You will be asked for selecting one of three methods. With Simple Ratio, you will then be asked for the baseline intensity. This can be measured by creating a ROI outside the sample (background) and measure the average intensity there, before you execute the correction. With Exponential fitting and Histogram Matching methods, the processing will be automatically be done. In all cases, a new stack with corrected intensity appears.


The script for the headless usage can be found here.



1: Phair, R. D., Gorski, S. A. and Misteli, T. (2004). Measurement of dynamic protein binding to chromatin in vivo, using photobleaching microscopy. Methods Enzymol 375, 393-414.