@Michael Ring @Brian Boyle @Astrogerdt Appreciate your thoughts on the following approach to one part of image QC, namely determining noise levels.
I've taken some raw images and run them through the registration and colour calibration steps of my pipeline. At this point I have images on a well-controlled 10x10" grid with known RGB intensities. Currently I'm setting the scales for each colour so that stars of Mag 13 have unit integrated flux.
I then apply two 2D convolutions filters with different kernels:
[-1/8 -1/8 -1/8 [1/9 1/9 1/9
-1/8 + -1/8 and 1/9 1/9 1/9
-1/8 -1/8 -1/8] 1/9 1/9 1/9]
The first calculates the difference between each pixel and the average value of the 8 surrounding pixels. The second calculates the average intensity in a 3x3 grid of pixels.
I then construct a histogram of the values of the first kernel for pixels where the value of the 2nd kernel lies within a range that corresponds to the sky background image intensity. Typically, a histogram of the values of the 2nd kernel show a prominent pedestal peak and this is the range that I select.
The result of this process is an approximately Gaussian curve that illustrates the magnitude of pixel-to-pixel variations for portions of the image that correspond to sky background. The standard deviation (width) of this Gaussian peak should be equal to the individual pixel noise for sky background multiplied by a factor of 1.06 ( = sqrt (1 + 1/8) which corrects for the noise contribution of the 8 surrounding pixels). So by fitting the noise curve, determining its standard deviation and correcting by a factor of 1.06 I can find the noise level in arbitrary flux units. But because from the colour calibration we know that unit flux corresponds to magnitude 13, we can calculate the noise level in magnitude units from
Noise (mag) = 13 - log (noise (flux)) / log (2.512)
Testing this quickly for 4 typical images, I get the following:
Brian image (Field 009): noise = Mag 22.3
Michael image (Field 618): noise = 21.3
James image (DSLR, Field 002): noise = 21.0
James image (Cooled OSC astrocamera, Field 089): noise = 22.0
Which if I've got my maths right shows the New Zealand is nice and dark and a dedicated cooled camera outperforms a cheap DSLR!
A couple of caveats: my curve fitting is pretty rough and ready, so I'd like to tidy this up; I've only looked at one image from each of us so far, so once I've automated everything I'd like to run over the whole data set; and finally, I've only looked at the red channels so far, and will extend this to the green and blue shortly. But before getting stuck into that it would be good to get your feedback on whether this approach makes sense.