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

 

Mar 05 2010

SBIG ST-8300M Versus ST-8XME Comparison

Posted by admin in astrophotography

After having owned and operated a SBIG ST-8XME CCD camera for the past four years, I now own one of SBIG’s latest CCD cameras, the ST-8300M. Like the ST-8XME, the ST-8300M is a monochrome, temperature controlled, CCD camera. Here, most of the similarities between these two cameras comes to an end. The ST-8300M is an anti-blooming (ABG) camera with a large-format, small pixel-size CCD array. A comparison of the important specification differences between these two cameras is presented in the table below:

Specification ST-8300M ST-8XME
CCD Kodak KAF-8300 Kodak KAF-1603ME
Pixel Array 3326 x 2504 1530 x 1020
CCD Size 17.96 x 13.52 mm 13.8 x 9.2 mm
Total Pixels 8.3 million 1.6 million
Pixel Size 5.4 x 5.4 microns square 9 x 9 microns square
Full Well Capacity ~25,500 e- ~100,000 e-
Dark Current ~0.02e-/pixel/sec at -15C. 1e-/pixel/sec at 0C.
Antiblooming 1000X None
Shutter Mechanical Electromechanical
Exposure 0.1 to 3600 seconds,
10ms resolution
0.12 to 3600 seconds,
10ms resolution
Correlated Double Sampling Yes Yes
A/D Converter 16 Bits 16 Bits
A/D Gain 0.37e-/ADU 2.3e-/ADU
Read Noise ~9.3e- rms ~15e- rms
Full Frame Download ~7.5 seconds ~3.7 seconds
Cooling – standard Single Stage Thermoelectric,
Active Fan, max delta -40C,
-36C regulated at ~80% power
Single Stage Thermoelectric,
Active Fan, Water Assist
-45 C from Ambient Typical
with water, -35 C w/air only
Temperature Regulation ±0.1°C ±0.1°C
Power 12VDC at 3 amps, universal
power supply included
5VDC at 1.5 amps,
+/-12VDC at 0.5 amps,
power supply included
Computer Interface USB 2.0 USB 1.1
Weight Approx. 1.8 pounds / 0.8kg Approx. 2 pounds/0.9kg

 

Jan 27 2010

12-Day Old Moon

Posted by admin in astrophotography

This photo was taken on the evening of 26 January 2010. At the time, the Moon was approximately 12-days past its new phase and was very high in the eastern sky. The image was taken with a Canon XSi DSLR (450D) attached to a Takahashi TSA-102S refracting telescope reduced to a focal length of 610mm. The image exposure was 1/100 second at ISO 100. The camera was focused on a 4th magnitude star using FocusMax software. Click here to view a larger representation of this image.

Jan 20 2010

ST-8 XME Dark Current Noise

Posted by admin in astrophotography

In any astronomical image there are three noise regimes that figure into the image’s signal-to-noise ratio (SNR). These regimes are the uncertainty associated with the signal itself (shot noise), the uncertainty associated with the readout electronics of the camera (read noise), and the uncertainty associated with the dark current that builds up within the sensor due to thermal effects (dark noise). All CCDs experience a certain amount of dark current during an exposure. Dark current is expressed as electrons per second per pixel and these electrons add to the electrons that build up in pixel wells as a result of exposure to the light from astronomical objects (stars, planets, galaxies, etc.). Dark current can be reduced by cooling the sensor and this is why astronomical CCD cameras usually have an ability to be cooled.

As an example, the Kodak sensor in the SBIG ST-8 camera specifies a dark current of 1 electron per second per pixel at a sensor temperature of 0.0o Celsius. This means that over the course of a ten-minute exposure, each pixel will accumulate approximately 600 extra electrons over and above that provided by the light from the object being imaged. The specifications for the ST-8 sensor also say that the dark current doubling temperature is 6.3o Celsius. This means that if the sensor is cooled to -6.3o Celsius the dark current will then be 0.5 electrons per second per pixel and for each additional cooling by 6.3o Celsius, the dark current will be cut in half again.

To combat dark current, calibration dark frames are created by taking an exposure of the same length of time and at the same sensor temperature as the light frame but with the shutter closed. This dark frame records only the dark current that builds up over the course of the exposure for each pixel. The dark frame can then be subtracted pixel-by-pixel from the light frame to completely remove the dark current effects from the light frame. However, this subtraction operation is not without consequences because by performing the subtraction, extra noise is injected into the light frame. This noise can be mitigated by taking multiple dark frames and combining them into one “master dark”. The usual way to create the master is to find the average or median value for each pixel across all dark frames. As more dark frames are added, the noise contribution to the light image becomes less. The question becomes: How many dark frames is enough?

In an effort to figure out how many dark frames is enough, I captured 100 dark frames (600 second exposure @ -20o Celsius) and combined different number of dark frames into master dark frames. For each master dark frame, I measured the noise in the frame by finding the Standard Deviation of a small patch of the frame not affected by hot pixels. The table below summarizes the results of this effort:

# Dark Frames Std. Deviation (ADU) Combine Method1
1 7.864 None
2 5.789 Mean
4 4.528 Clip Min/Max Mean (Max=1/Min=1)
8 3.157 Clip Min/Max Mean (Max=2/Min=1)
16 2.318 Clip Min/Max Mean (Max=3/Min=2)
24 1.985 Clip Min/Max Mean (Max=4/Min=2)
36 1.732 Clip Min/Max Mean (Max=5/Min=3)
50 1.539 Clip Min/Max Mean (Max=6/Min=4)
64 1.439 Clip Min/Max Mean (Max=8/Min=5)
75 1.406 Clip Min/Max Mean (Max=12/Min=6)
100 1.325 Clip Min/Max Mean (Max=15/Min=10)

1 Method “Clip Min/Max Mean” first removes or “clips” the specified number of max values and min values then calculates the mean of all the remaining values for each pixel in the image.

The graph of the Standard Deviation versus the number of dark frames combined is shown below.

Summary: As is apparent from the table and the graph, the point of diminishing returns in reached somewhere around the area where 40 dark frames is reached. At this point, the master dark frame has a Standard Deviation of around 1.65 ADU or about 4.3 electrons (assuming a gain of 2.6 electrons per ADU). Since the dark current noise is very much less than the read noise (20 electrons), 40 dark frames seems sufficient.