Jul 03 2010

SBIG ST-8300M Read Noise Measurement

Posted by admin in astrophotography

As discussed in a previous post (here), read or readout noise is the noise or uncertainty added to every pixel value read out of a CCD array. This noise is largely associated with the imperfect conversion of an analog signal into a digital value.

The method to determine a CCD’s readout noise contribution to the final signal is as follows1:

    1. Obtain two bias frames (0 length exposures).
    2. Add a constant offset to one of the bias frames (e.g. 500).
    3. Subtract the second bias frame from the offset bias frame.
    4. Find the standard deviation for a region of the resulting frame.
    5. Calculate Read Noise (e- RMS) = StdDev * Gain / SQRT(2)

The results of performing these operations on ten pairs of bias frames is summarized in the table below:

Pair # Std. Dev Gain Read Noise2
Bias Pair 1 35.388 ADU 0.37 e-/ADU 9.26 e- RMS
Bias Pair 2 35.305 ADU 0.37 e-/ADU 9.24 e- RMS
Bias Pair 3 35.327 ADU 0.37 e-/ADU 9.24 e- RMS
Bias Pair 4 35.294 ADU 0.37 e-/ADU 9.23 e- RMS
Bias Pair 5 35.250 ADU 0.37 e-/ADU 9.22 e- RMS
Bias Pair 6 35.259 ADU 0.37 e-/ADU 9.22 e- RMS
Bias Pair 7 35.416 ADU 0.37 e-/ADU 9.27 e- RMS
Bias Pair 8 35.372 ADU 0.37 e-/ADU 9.25 e- RMS
Bias Pair 9 35.220 ADU 0.37 e-/ADU 9.21 e- RMS
Bias Pair 10 35.226 ADU 0.37 e-/ADU 9.22 e- RMS
Average 35.306 ADU 0.37 e-/ADU 9.24 e- RMS

1From “Handbook of CCD Astronomy Second Edition” by Steve B. Howell

2Published read noise for this device = 9.3 e- RMS

 

Jul 02 2010

Python Script: Automatic Dark/Bias Calibration Frame Capture

After several years of using general scripting software (CCD Commander) for all my astro-photography image capture needs, I’ve decided to learn and write my own scripts that are tailored to my specific equipment and to my unique needs. The programming language I’m using is Python (currently at version 2.6.5). Python is a general purpose, high-level programming language that is free and open-source software. It supports both object oriented programming and structured programming. I’ve found Python to be very easy to learn, write, and debug. It fully and reliably supports the COM interfaces that most (if not all) ASCOM-compliant astronomy software currently implements.

The first script that I have written and fully debugged is a routine that I use to capture dark and bias calibration frames. Typically, I do not spend time at my dark site capturing dark and bias frames. Instead, when I get home or when needed, I place the camera in the refrigerator (a dark and relatively cold place) and have the software automatically take the calibration frames while I sleep. On a typical night I might instruct the script to take, for example, 40 dark frames at 600 seconds each (10 minutes) at a CCD temperature of -10C and then take 100 bias frames at the same temperature.

When the program is started, the following menu is shown:

Exec_DarkBias.py
——————————-
1. Specify save path
2. Setup for Dark Frames
3. Setup for Bias Frames
4. Confirm setup
5. Reset settings
6. Begin script
7. Quit

Option ‘1′ displays the current save path and allows the operator either to accept this path or specify a new path for the calibration frames. The second option asks for operator input to specify the Dark frame exposure length, binning, number of frames and CCD temperature setpoint for these frames. Option ‘3′ asks for operator input to specify the Bias binning, number of frames, and CCD temperature. The fourth option displays the current settings for path, Dark frames, and Bias frames for operator verification. Option ‘5′ resets all path, Dark, and Bias settings to their default, startup values. Entering a ‘6′ starts the script operation and entering a ‘7′ quits the entire program.

When the script begins, the software first checks to make sure either Dark frames setup or Bias frames setup (or both) have been specified then it sets the Dark frame CCD temperature setpoint. Next a loop is entered where the CCD temperature is checked once a second. The CCD temperature is considered stable when the read-back temperature does not deviate more than +/-0.5C from the setpoint temperature for 120 consecutive readings (2-minutes). If the temperature does not stabilize within 8 minutes, the program fails, displays an error message, and terminates. Otherwise, the CCD temperature will be considered stable and Dark frame capture will begin. After all dark frames have been taken, the Bias frame CCD temperature will be set. If the Bias CCD temperature is the same as the Dark CCD temperature, no wait for stabilization will occur. Otherwise, the same CCD temperature stabilization loop will execute. After all Bias frames have been captured, the script will end and the program will return to the top-level menu. Here, another script can be set up or the program can be terminated.

This script makes use of the Maxim/DL CAMERA COM object only. Additionally, a log file is generated that saves the progress of the program for future reference. The program listing and a sample logfile for this program is available by clicking on the link below:

Exec_DarkBias.zip