How to correctly account for dark noise in fluorescence microscopy images


I want to estimate the signal-to-noise ration in fluorescence microscopy images. To correctly estimate the SNR, it is my understanding, that I need to substract the dark-noise from the image to get a correct absolute values. I have done this in the past in bright-field images.

However, doing this now on FL images, where large parts may not be illuminated, I can run into having pixels, that drop beneath the averaged dark noise. I thus obtain negative values for these pixels, which causes problems in my down-stream processing.

So my question is what to do in this case? Do I clamp them to 0? Or is my understanding of the situation flawed?

Simple noise model :

    Nsys =  Nphoton + Nthermal

Nsys - System / Image (number of electrons)
Nphoton - Photon created (mean number of electrons)
Nthermal - Thermal created (mean number of electrons)

Depending on the light level the system noise is either dominated by the photon shot noise (high light levels) or by the thermal and readout noise (low light levels).

Since you are interested in the SNR of the fluorescence signals you can assume the ‘regime of high light levels’ and can neglect the thermal and readout noise.
In this case the signal varies with a standard deviation of sqr(Nphoton) due to the Poisson characteristics of the fluorescence signal.
The SNR is

SNR = Nphoton / sqr(Nphoton)

The digital signal is approximately

Idigital = Nsys * k      ( k – output conversion and quantization )

or if thermal and readout noise are ignored

Idigital = Nphoton * k

Then the SNR then

SNR = Nphoton / sqr(Nphoton) = Idigital / sqr(Idigital) * k’

If k’ is not known the SNR can be calculated by determining the signal noise in bright homogeneous image regions.

You can subtract a noise floor (average thermal and readout noise) from your signal.
The noise floor can be measured by

  • averaging images captured with closed shutter and integration time according to your application => thermal noise
    and / or
  • averaging images captured with closed shutter and zero integration time => readout noise.

Subtracting a noise floor from image signals is uncritical and will not create negative values (as long as the signal level is high).
Wether clipping negative values in the background region is acceptable depends on your application and the image processing.