Short Description

Add some noise with customizable characteristics (Gaussian noise, Poisson noise, salt & pepper, etc.) to a sequence. This plugin is useful to test and validate the denoising and restoration algorithms implemented in Icy.


This plugin simulates different types of noise on a sequences, with customizable characteristics. This could be useful to test and validate the denoising and restoration algorithms that are implemented in Icy. Currently, three noise models are implemented:

  • white additive Gaussian noise,
  • Poisson noise (i.e. photon counting noise),
  • salt & pepper noise.

How each of these models relates the input clean sequence A and the output noisy sequence B is described below.

The features provided by this plugin can be accessed:

  • directly through the GUI (using a EzPlug interface),
  • through the protocol editor provided by the Protocols plugin,
  • from java (for plugin developers) or Javascript (using the Script Editor plugin): in these cases, see the documentation in the NoiseModel class for more details.

White additive Gaussian noise

1 parameter: sigma >= 0 (standard deviation of the Gaussian random variables).

This noise model enforces B = A + n, where n is a random sequence such that the samples n(x,y,z,t,c) are random independant variables following a Gaussian probability distribution of mean 0 and variance sigma^2.

Poisson noise

No parameter.

In this model, each output sample B(x,y,z,t,c) is generated from a Poisson random distribution of intensity A(x,y,z,t,c), which is supposed to be >=0. If A(x,y,z,t,c) < 0, then B(x,y,z,t,c) is set to NaN.

Salt & pepper noise

3 parameters:

  • intensity, that must satisfy 0 <= intensity <= 1,
  • lowerBound and upperBound, with lowerBound <= upperBound.

In this model, each output sample B(x,y,z,t,c):

  • either is let unchanged (i.e. is set to A(x,y,z,t,c)), with probability intensity,
  • or takes a value that is selected in a random uniform manner between lowerBound and upperBound, with probability 1-intensity.

One review on “Noise generator

Leave a Review

Leave a review
Cancel review
View full changelog
Close changelog


  • Version • Released on: 2013-11-15 14:36:40

    Add: Poisson noise.
    Code simplification using kernel features.

  • Version • Released on: 2013-03-19 10:31:00

    Fix: bug with the progress bar timer

  • Version • Released on: 2013-03-18 18:59:59

    Add: progress bar

  • Version • Released on: 2013-03-18 17:11:41

    Add: documentation on noise models.

  • Version • Released on: 2013-03-18 16:00:50

    Add: stop button is the EzPlug interface, static instanciation methods for the available noise models.

  • Version • Released on: 2013-03-18 11:15:50

    Set the plugin dependencies.

  • Version • Released on: 2013-03-18 11:09:07