Jump to content

SkySurveyBanner.jpg.21855908fce40597655603b6c9af720d.jpg

What is a good SNR value?


StuartT

Recommended Posts

I've just discovered the SNR script in PI and so naturally I was curious about my images. A recent colour sub measured at 28-30 dB (depending on channel). An integrated result measured 38-40 dB

What should I be considering a good SNR? (40 dB is 1:10 000 which sounds like it's quite good for SNR?)

Thanks 

Edited by StuartT
Link to comment
Share on other sites

On 15/01/2023 at 12:37, StuartT said:

I've just discovered the SNR script in PI and so naturally I was curious about my images. A recent colour sub measured at 28-30 dB (depending on channel). An integrated result measured 38-40 dB

What should I be considering a good SNR? (40 dB is 1:10 000 which sounds like it's quite good for SNR?)

Thanks 

I've just done the same on a single sub and 15 hours of exposure stacked. Difference is 25db for single sub and 49db for 15 hours? Whatever that means!

  • Haha 1
Link to comment
Share on other sites

On 15/01/2023 at 12:37, StuartT said:

I've just discovered the SNR script in PI and so naturally I was curious about my images. A recent colour sub measured at 28-30 dB (depending on channel). An integrated result measured 38-40 dB

What should I be considering a good SNR? (40 dB is 1:10 000 which sounds like it's quite good for SNR?)

Thanks 

Depends how its measuring SNR. But a SNR of 1:10000 seems unlikey as thats almost what i would expect from a daylight image lol.

Adam

  • Thanks 1
Link to comment
Share on other sites

21 hours ago, Adam J said:

Depends how its measuring SNR. But a SNR of 1:10000 seems unlikey as thats almost what i would expect from a daylight image lol.

Adam

Yes, I agree. I think the tool must be flawed.

I even made the measurement on a preview containing only nebulosity (because stars would have a much higher SNR). 1:10 000 sounds wildly improbable

Link to comment
Share on other sites

10 hours ago, StuartT said:

Err.

 

22 hours ago, Seelive said:

I assume they are measuring SNR in terms of the ratio of straight ADU units rather than the power ratio so 40dB would be just 1:100, much more believeable.

So 10dB = 1:10 

20dB = 1:100

30dB = 1:1000

40dB = 1:10000

So not sure how you are getting 1:100? 

 

 

Link to comment
Share on other sites

That script is probably doing something like measuring max signal value in the image (limited by clipping) against background noise (limited by determining what is background in the image).

Totally useless.

SNR value of 5 is probably minimum for detection threshold (not in dBs - just straight ratio).

It is also worth noting that there is no single SNR value per image. Every pixel in the image contains its own specific SNR value.

When we talk about SNR - like "target SNR" - then we make several assumptions. One is that we have uniform signal. This can be true for small patch of target - like tidal tail of galaxy or outer halo or maybe IFN or something similar.

There is very easy way to produce SNR map of the image to be able to check what sort of SNR one has across the image.

Here is how to do it.

It is best to avoid complex stacking methods (although same can work with complex methods - but math is somewhat more complex) - and use simple average. Two different stacks are needed to produce SNR map.

First is - regular average of the data, and second is standard deviation stack (stddev computed for each pixel instead of average). To produce SNR map - one can then divide the two and multiply result with square root of stacked subs (each pixel value multiplied with constant).

One more thing - average stack needs to have background removed prior to dividing with stddev stack to remove unwanted signal.

Such map can then be used as follows - select some part of the image - like outer part of galaxy and do average on that selection - this will give you average SNR achieved. It is meaningful only if signal does not change much in selection. Also - don't try to measure SNR on background without any signal (well you can and you'll get expected result) - as that area has SNR of zero - as there is no signal there (result of measurement should be very small number close to 0).

Best way to "assert" what sort of SNR should one aim for would be to produce different types of SNR in same artificial image - like some text on black background polluted with different levels of noise. When image can be processed in such way that text is readable - you have good SNR.

  • Thanks 1
Link to comment
Share on other sites

Coincidentally, I watched this video recently by the very excellent Cuiv. He doesn't answer the OP question with specific dB figures directly but he does discuss signal to noise ratio in detail. 

 

https://www.youtube.com/watch?v=WgnH2WGTwBs

 

Regards

Graeme

Edited by Graeme
Forgot to add the link!
  • Thanks 1
Link to comment
Share on other sites

SNR in astro images is very tricky to define. As Vlaiv noted, using the highest pixel value for signal is meaningless, because this is probably from hot pixels. But metrics such as average or median pixel value for signal calculation are also just best guesses. The median value of a starfield with small galaxies should be a reasonable estimation for the background signal, and its variation a measure for noise. But in case of an extended nebula, the median value may represent the nebula rather than the background, and features in the nebula will affect the variation, ie "noise". Comparing SNR or using it for decision making during processing is not straightforward. For example, the old batch preprocessing script in PI would by default apply a weight based on the SNR (defined, I believe, as median (over image) / variation (MAD or AvgDev) ). But the result was that if you had high clouds during part of a session, those subs would get a higher median, a higher SNR, and therefore a higher weight in stacking. That goes against any common sense. In this respect, the weighting schemes of WBPP is much better, where more advanced metrics are used.

The effect of increasing median value due to high clouds is easy to see in the PI Blink process. If you set a single STF for a blink sequence, you can see the subs getting brighter and the target getting "thinner" until it all but disappears in the background. If you apply individual STFs to the subs in the blink sequence, you see the images actually getting noisier and the main target starting to disappear. When using BPP (as opposed to WBPP) one should always use Blink first, to remove subs that would deteriorate the stack.

So, as I wrote before, don't sweat the numbers, just enjoy the hobby.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 20/01/2023 at 20:46, Seelive said:

I assume they are measuring SNR in terms of the ratio of straight ADU units rather than the power ratio so 40dB would be just 1:100, much more believeable.

not sure what you mean here. The dB scale is logarithmic. A Bel is a power of ten. So a decibel is a tenth of that. Hence, 40 dB is 10^4 (or 10,000)

Link to comment
Share on other sites

4 hours ago, StuartT said:

not sure what you mean here. The dB scale is logarithmic. A Bel is a power of ten. So a decibel is a tenth of that. Hence, 40 dB is 10^4 (or 10,000)

Signal to noise ratio  = signal power / noise power. As the ratio can be large numbers, the dB scale is used where SNR(dB) = 10 log ( signal power / noise power)

Note the use of the term power. In electrical circuits power(W) = volts(V) x amps(I). Using ohms law where V = I x R or voltage = current x resistance you can rewrite it as

power = V² / R.

The signal and noise levels we talk about in our images are actually voltages expressed in ADUs. The resistance is the same in all cases and so isn't relevant and can be considered as having a value of 1 so it can be rewritten as

power = V²  and  therefore

SNR(dB) = 10 log ( signal voltage² / noise voltage² )

Working in squares of voltages is awkward so it's rewritten as 

SNR(dB) = 20 log ( signal voltage / noise voltage )

A 40dB SNR therefore corresponds to a power ratio of 10,000 : 1 or a voltage ratio of 100 : 1

As mentioned above we are only concerned with voltage ratios and not power ratios.

If we are referring to AC signals then the RMS values of the signal and noise voltages are used.

Still confused? 🙂

Alan 

 

Edited by symmetal
  • Thanks 1
Link to comment
Share on other sites

12 hours ago, symmetal said:

Signal to noise ratio  = signal power / noise power. As the ratio can be large numbers, the dB scale is used where SNR(dB) = 10 log ( signal power / noise power)

Note the use of the term power. In electrical circuits power(W) = volts(V) x amps(I). Using ohms law where V = I x R or voltage = current x resistance you can rewrite it as

power = V² / R.

The signal and noise levels we talk about in our images are actually voltages expressed in ADUs. The resistance is the same in all cases and so isn't relevant and can be considered as having a value of 1 so it can be rewritten as

power = V²  and  therefore

SNR(dB) = 10 log ( signal voltage² / noise voltage² )

Working in squares of voltages is awkward so it's rewritten as 

SNR(dB) = 20 log ( signal voltage / noise voltage )

A 40dB SNR therefore corresponds to a power ratio of 10,000 : 1 or a voltage ratio of 100 : 1

As mentioned above we are only concerned with voltage ratios and not power ratios.

If we are referring to AC signals then the RMS values of the signal and noise voltages are used.

Still confused? 🙂

Alan 

 

Thanks. for explaining. Makes sense now. 

Link to comment
Share on other sites

16 hours ago, symmetal said:

 

The signal and noise levels we talk about in our images are actually voltages expressed in ADUs. 

 

I think your assuming allot about how its deriving its data, I doubt that its actually referencing voltage ratio all the way back to derive a received power ratio, to do that it would need to understand the pixel value in terms of e/ADU. I would be shocked if the algorithm has that information avaliable, more likely its just looking at the pixel values and using the deviation of those values from the average referenced to the offset (signal). Hence 10 Log could well be more appropriate. 

Adam 

Edited by Adam J
  • Like 1
Link to comment
Share on other sites

2 hours ago, Adam J said:

I think your assuming allot about how its deriving its data, I doubt that its actually referencing voltage ratio all the way back to derive a received power ratio, to do that it would need to understand the pixel value in terms of e/ADU. I would be shocked if the algorithm has that information avaliable, more likely its just looking at the pixel values and using the deviation of those values from the average referenced to the offset (signal). Hence 10 Log could well be more appropriate. 

Adam 

My reply was nothing to do with how PI derives its SNR figures, but how SNR values relate to voltage which was what StuartT was confused about.

The e/ADU figure isn't relevant here as the signal and the noise go through the same voltage amplification process in the ADC. The camera offset which is really just a fixed voltage added to the signal (with noise) could be subtracted if it's preserved in the fits header for PI calculations, but it maybe just looking at the SD in the sky background as a noise figure. 

My point was that ADU is directly related to voltage and not power, so 20 log (V1/V2) would be appropriate if using ADU values to calculate a SNR figure.

Alan

Edited by symmetal
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.