Login

Scientific

2D Gel Denoising


Adaptive Contrast Enhancement of 2D gels

Often when working with 2D gels, the resulting images have all kinds of artefacts in them. These gels are often regarded as 'bad' and while it may be true that they can be better, in practice the necessary information might still be present. By using specific denoising techniques it is possible to retrieve this information, thereby removing many of the unwanted effects. The left picture shows a typical gel which is troubled with 'washing' effects. The right one shows the denoised gel.

Gel image: courtesy Nina Ånensen, Bjørn Tore Gjertsen
University of Bergen & Haukeland University Hospital


Gel with washing effects
Denoised 2D gel

The full method is described in the following paper: Werner Van Belle, Gry Sjøholt, Nina Ånensen, Kjell-Arild Høgda, Bjørn Tore Gjertsen; Adaptive contrast enhancement of two-dimensional electrophoretic protein gel images facilitates visualization, orientation and alignment; Electrophoresis; Wiley Interscience Vch; volume 27; nr 20; pages 4086-4095; October 2006

Online Denoising
Please choose a file to denoise and press 'denoise'
This file should be in .png format and be sufficiently bright.

Send this PNG file:
Background object size:
Speckle removal:

If you have a large amount of files to process, need to adjust the denoising parameters or want to work with another file format, feel free to contact us and send and email to werner@yellowcouch.org. People used to IDL should be able to reuse the following code
FUNCTION TIFF_INPUT, fn
  f = READ_TIFF(fn)
  f = reverse(f,2)
  return, f
end

FUNCTION denoise, image, s1, s2
  im = float(image)    ; we normalize everything to [0:1]
  im /= max(im)        ; and make sure that high expression is low 
  im = 1 - im          ; value [this is important !]
  wa = smooth(im,s2)   ; we calculate the washing effect
  im /= wa             ; we remove the washing effect [the big trick]
  im <= 0.99           ; we remove everything which had an expression 
  im >= 0              ; below the median
  im = median(im,s1)   ; we remove too small details
  return, im           ; and return
end

img = bytscl(tiff_input('input.png'))
dn = denoise(img,3,23)
write_png, 'output.png', bytscl(dn)
exit

end

Web: http://analysis.yellowcouch.org/
Mail: werner@yellowcouch.org
http://werner.yellowouch.org/