Noise generator

This filter generates noise in an image. Available noise types are

  • Poisson noise
  • Gaussian noise
  • Uniform noise
  • Laplace noise
  • Lorentz noise
  • It is possible to generate (YCbCr) luminance noise only and to apply a gamma correction.

    General description

    This filter noisifies an image with different types of noise. For each noise type it's specific values can be set. These are

    • for Poisson noise: the amount of photons per pixel value.
    • for Gaussian noise: the standard deviation of the noise distribution.
    • for uniform noise: the width of the uniform distribution.
    • for Laplace noise: the scale parameter.
    • for Lorentz noise: the half width half maximum (HWHM).
    • These types of noise are added to the image in that order. You can leave out any of the types by setting the relevant value to zero.

      For all noise types together you can select whether a gamma correction should be applied on the image such that noise is applied to linear image data. After noise application the image is retransformed to sRGB. You can also select whether or not you want to have luminance noise only and for that the image is transformed to the YCbCr colour space before adding noise.

      Noise types

      Here the different noise types are described. The histogram of each noise type is a real application of the filter on a neutal gray image (128).

      Poisson noise

      A source for Poisson noise is photon counting. When taking a picture in the real world photons (light particles) arrive at a certain rate. However photons are not correlated and thus the time between photons is not always the same. Therefore given the shutter time of your camera and a photon rate you may collect more or less photons in subsequent pictures. The number of photons you actually collect is Poisson distributed.

      Calculating poisson distributed random numbers takes a lot of time, especially for bright pixels and many photons. You can decrease computation time by selecting "Approximate" which approximates the Poisson distribution with a Gaussian distribution with the correct variance. As you can see in the histogram, Poisson noise closely resebles Gaussian noise. However, there is an important difference in for dark image values!

      You can see the difference to Gaussian noise in the stepwedge below.

      Gaussian noise

      In nature nearly everything is normally distributed. Normally distributed noise is Gaussian noise. It appears in image from thermal noise in the amplifier and other effects. An important aspect of Gaussian noise is that its variance does not depend on the intensity of the image.

      Uniform noise

      Uniform noise rarely occurs in nature but when digitizing a signal errors take place that are uniformly distributed. Like Gaussian noise the noise variance is independent of the image intensity.

      Laplace noise

      Laplace noise has a double exponential distribution. The scale parameter determines the width of the distribution.

      Lorentz noise

      Lorentz noise has Cauchy-Lorentz distribution which describes resonances and decays very slowly. This is a so called fat-tail distribution and causes here salt-and-pepper noise.

      Comparison between noise types

      In the images below the noise variance is the same for all noise types at a brightness of neutral gray (128) except for Lorentz noise where the variance is not defined.

      Average: 5 (2 votes)
      AttachmentSize
      poisson-noise-0.1b.tar.gz13.46 KB
      noise-generator-0.2.5.tar.gz20.82 KB

Comments

Poisson / Noise

Thank you so much for making this - my only request is that it be portable to Windows. Any chance of that? I hope so - it has so many uses for me it would be invaluable. Cheers & best regards /

Windows binary

I love plugins by Marco Rossini too, so I uploaded a windows binary yesterday: http://registry.gimp.org/node/13436

Noise generator 0.2.5 release

Hello everybody

New release, new functions available!
- Laplace noise
- Lorentz noise
- Polish translation
- Standard deviation indicators

Cheers

marco r

Release 0.2b:
I changed the plugin Poisson noise to Noise generator which supports multiple types of noise. Generating Poisson noise is faster now (when using the approximation). It is now also possible to apply a gamma correction.

I couldn't install it

Hi all:
I've try to install it following the INSTALL file instructions but I couldn't.
I've ubuntu 64bits and Gimp 2.6.3.
Thanks

IO

My brain is locked...

Hi all,
And excuse me... After my last distro update I lost the 'libgimp-dev', that is necessary to compile the gimp plugins.
I've install these plugin and goes well.
Thanks, marcor, for a big and good job.