Measuring CCD Read Noise
Interpret FFTs l
Noise FFTs l
Your Camera l
Create FFTs l
Measuring CCD Read Noise
As explained in the previous section there is “noise” present in every CCD image. This noise shows up as unwanted variations in the “signal”. For astronomers, the signal is the light coming from the night sky objects you’re trying to photograph. On top of the noise present in the image in the CCD, the physical process of reading the image from a CCD introduces additional noise.
A “Bias Frame” is a zero-length (dark) exposure intended to measure just the difference between the pixels (the bias) and any additional noise added during the process of reading the image from the CCD and converting it into a digital image file. Because the CCD pixels are emptied immediately before the image is read from the CCD, only a small amount of dark current has had a chance to build up, but that rate of accumulation varies slightly for every pixel. Also, reading an image from a CCD is not instantaneous. Pixels near the bottom of the CCD are read later than pixels closer to the top of the CCD so pixels toward the bottom tend to have slightly higher pixel values than pixels closer to the top.
One common use of bias frames is for scaling dark frames. By subtracting a bias frame from a dark frame, you end up with a “thermal frame.” A thermal frame contains pixel values showing just the effect of dark current. Because dark current in any given pixel accumulates at a constant rate, a thermal frame allows you to predict with reasonable accuracy how much dark current there would be for different length exposures. However, given the opportunity, you’re always better off taking dark frames that match the exposure times of your light frames.
Examining Bias Frame Histograms
Bias Frame 1 (from a QSI 504)
To the left above is a 256x256 crop from the center of a QSI 504 bias frame. Its histogram has been stretched to highlight the difference in the pixel values. The pixel values in the original bias frame image range from 93 to 139 out of a total 16-bit dynamic range of 0 to 65,535.
The graph to the right is a log scale histogram of the bias frame showing the range and distribution of pixel values. A theoretically “perfect” bias frame of pure Gaussian noise would plot a perfect bell curve. When graphed on a log scale, the “bell curve” of a Gaussian distribution resembles a parabola. Examining bias frame histograms with a log scale has the benefit of highlighting any deviations from a smooth Gaussian distribution.
Bias Frame 2 (from Camera B)
A quick examination of Bias Frame 2 (above left) appears to show random noise across the entire frame. Looking at the log scale histogram to the right however reveals that Bias Frame 2 displays non-Gaussian distribution among the lighter and darker pixels – the histogram has “shoulders.” The shoulders indicate that the bias frame has too many both extra dark and extra light pixels. With a closer look at Bias Frame 2, you can see the pixels that appear too dark or too light. This non-random distribution implies that noise is being introduced by the camera electronics when reading the image from the CCD, but it tells us very little about the nature of that noise.
Note that it’s also possible for a bias frame histogram to display a perfect Gaussian distribution and still have significant amounts of read noise. A deeper analysis of the bias frame is required to identify any periodic noise that may be present in the imaging system.
Bias Frame 3 (from Camera C)
Here’s one more example of a bias frame and its histogram. Note that the distribution displayed in the histogram of Bias Frame 3 above appears closer to a normal distribution than Bias Frame 2. In fact, Bias Frame 3 has significantly more read noise than Bias Frame 2, but we need additional techniques to isolate and measure just the read noise.
Isolating Read Noise in Bias Frames
Read noise can be isolated in a bias frame by subtracting one bias frame from another, or even better, by subtracting the pixel-by-pixel average of multiple bias frames from a target bias frame. Averaging multiple bias frames smoothes out the random noise in a single bias frame getting you closer to the true bias of the pixels in the CCD.
The resulting “read noise frame” isolates just the noise introduced while the image was read from the camera. We’ll examine the read noise frame in more detail below.
A Fourier transform is a complex mathematical function which converts a signal (any signal) into a collection of sine waves which together exactly represent the original signal. For image processing, we’re interested in 2-dimensional Fourier transforms which convert an image from the spatial domain, rows and columns in a digital picture, into its “Frequency Domain,” which represents the original image using a grid of sine waves of varying frequency and amplitude.
Here is a black and white image and its FFT to the right:
At first glance, the FFT might appear to be gibberish, but an FFT contains all the information contained in the original image, but stored in the frequency domain rather than the spatial (x,y) domain. The Frequency domain image can be converted back into an exact, pixel for pixel, copy of the original image using an inverse Fourier transform. More on this later.
Fourier transforms form the basis of digital signal processing, and provide a unique and powerful method of analyzing 2D images. For those interested, there are many sites which explain the mathematics behind Fourier transforms. The purpose of this section is to provide a framework for gaining an intuitive understanding of what Fourier transforms tell you about your images, and more specifically how they can be used to identify read noise in your imaging system.
There are several different classes of Fourier Transforms. Since we’re dealing with a finite digital image, we can use a Discrete Fourier Transform (DFT). Fourier transforms of large data sets require a tremendous amount of computing power. Because of that, a simplification of the DFT algorithm was developed which works only with square images where each side has a length equal to a power of 2. This simplified algorithm, called a Fast Fourier Transform (FFT) requires far fewer calculations and can therefore run much faster on a computer. The Fourier transforms produced by FFTs are identical to traditional DFTs when starting with square images where each side has a length equal to a power of 2. All of the images below were cropped to 256 by 256 pixels.
Read Noise Frames
Below are read noise frames produced from two of the bias frame we examined above. Recall that a Read Noise Frame is produced by subtracting the average of multiple bias frames from a single bias frame. By subtracting any pixel non-uniformity and other effects that are persistent across multiple bias frames, the read noise frame isolates just the read noise present in a bias frame. Next to each of the read noise frames is the FFT of the read noise frame.
Read Noise Frame 1 (from QSI 504 Bias Frame) Read Noise Frame 1 FFT
Read Noise Frame 3 (from Camera C Bias Frame) Read Noise Frame 3 FFT
Again, at first glance, both read noise frames above appear to show random noise across the entire frame. We already know from looking at the histograms of the two original images that the histogram of Bias Frame 3 displays a non-Gaussian distribution. A close examination of Read Noise Frame 3 shows some of the same extra dark and light pixels.
FFTs of the two images reveal some important differences. The FFT of Read Noise Frame 1 has a relatively smooth gray background with one bright pixel in the center while the FFT of Read Noise Frame 3 displays multiple vertical lines running through the image. What can those lines tell us about Bias Frame 3 and any periodic noise present in the original image?
Continue to Visually Interpreting FFTs >>