-log(SNR) does it make any difference?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dear All,
please, let me know if you know what happens to Signal to Noise ratio (SNR) of an image after we take -log(SNR)? What happens to Signal and Noise components (please, formulas)?
Thanks!
0 comentarios
Respuesta aceptada
Ahmed A. Selman
el 4 de Abr. de 2013
Easily decompose the log argument! For any (ratio) R=S/N, then (please note that I highlighted the math formulas like codes, yet they are NOT codes):
A = Log( R) = Log(S/N) = Log(S) - Log(N)
leading simply to
-A = -Log( R) = Log(N) - Log (S) = Log(N/S) = Log(1/R)
Now, the definition of a logarithmic decibel scale for R (RdB) as,
RdB = 10A = 10 Log( R) = 10 Log (.. etc.
Or, converting between Amplitude (Am) and power of signal S (or noise N) using
AmS=S^2 and AmN=N^2 --> R=S/N = (AmS/AmN)^2
AmS (AmN) is the amplitude of signal (noise), again using basic math
RdB = 10 A = 10 Log ( R) = 10 Log ( (AmS / AmN)^2 ) = 2 * 10 * Log(AmS/AmN) = 20 Log (AmS/AmN)
So,
RbD = 10 Log(S) - 10 Log (R) = SdB - NdB
SdB and NdB are the signal and noise, in the logarithmic decibel scale. Equivalent to:
RbB= 20 ( Log (AmS) - Log(AmN) ) = 2 AmSdB - 2 AmNdB
AmSdB and AmNdB are the signal and noise amplitudes, in a logarithmic, decibel scale.
In image processing it's more appropriate to define R as
R=M/D
M is the mean of the image pixels, and D is the standard deviation of the noise (calculated in few different ways, depending on the type of the imaging conditions usually). The rest is straightforward (parallel to the simple relations above).
You'll find that, taking ( -log( R) ) for an image reduces to only subtracting image noise from it's mean. If the noise was a fixed-type, the process means subtracting a constant from the entire image, leading to a homogenous intensity reduction.
3 comentarios
Ahmed A. Selman
el 5 de Abr. de 2013
Hello, thank you for the nice interpretation of what I said.
First, yes, -Log(S/N) is negative, and it is absolutely possible for true images. No need to derive a thing to prove that, since (S >> N, S/N > 1, Log(S/N) is +ve). But what does that mean?
Now, what does it mean: ((S/N=logS1*ln10*(S1/N1) but wait that means that if one takes -log(image) one actually increases S/N! )) ?
Does it refer to: taking log (X) means increasing X? Or taking Log(X) means increasing (Y), where (Y) is a part or (X)? Both are not logical, sorry. Second,
if S = - Log(S1) then dS = - dS1/(S1*ln(10) ).
Integrating,
let S1 ln(10) = F,
dS1= dF/ln(10),
so integral ( dS = - dS1/(S1 ln(10)) ) gives
S = - integral( dF/ln(10) / F) is that was (1/ln(10)*Log(F) as given, then it will be
S = - 1/ln(10) Log(S1*(ln(10))
= - 1/ln(10) * (Log (S1) + Log(ln(10))
not equaling -Log(S1), where we started.
Finally, taking Log(image) is a thing.. and taking Log(S/N) of an image, is another, entirely different thing, because:
Log(A/B) equals NOT Log(A)/Log(B).
Log(A+B) equals NOT { Log(A/B), Log(A)/Log(B), Log(A)-Log(B)..etc }.
But you are right, it is getting interesting.
Más respuestas (0)
Ver también
Categorías
Más información sobre Image Filtering and Enhancement en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!