Bruker AXS index previous next

Previous: configuration of the programs
Next: data redundancy


Dark images.

A CCD can be seen as a large number of "buckets". Each of these buckets can contain up to a few hundred thousand electrons. Reading out the CCD attempts to count the number of electrons in each bucket as accurately as possible.

In an ideal world, all electrons in the buckets are put there by photons touching the detector. In praxis, however, even a detector in complete darkness accumulates some charge over time. For the EEV detectors used in the KappaCCD, the dark current accumulation is extremely low: less than 0.02 electrons per second for a normal pixel. In all detectors, however, there are a few pixels that generate much more "dark current" than this nominal value. Another related effect is that there can be a few buckets in the CCD where some charge always stays. To correct for these two effects, "dark images" can be made (i.e. shutter closed images).

The "obvious" way of handling the dark current is to make a dark image with the same exposure time as the experiment, and subtract it from the experiment image (this is called "localdark" correction in the collect software). However: an important component of the noise in a CCD system is due to reading out the CCD, and if we use this procedure we are reading out the full CCD twice for each measurement (adding noise to each pixel in the image). As discussed before, the correction is only important for a few abberant pixels.

The second way the Nonius software can correct for the dark current in the experimental image is therefore a bit more complicated (see figure for a graphical representation of all image filtering operations):

  1. Ten double exposure dark images are made with very low exposure time, e.g. 2x2 seconds.
  2. The average is calculated, and those pixels that have a value that is significantly higher than the background are identified. All other pixels are set to the background average.
  3. The resulting short dark image is subtracted from the image that needs to be corrected.
  4. A long dark image is taken for an extended time period, e.g. 3x1200 seconds.
  5. The pixels that are accumulating significantly more dark current than the background are identified. All other pixels are set to the background average.
  6. The resulting image is scaled to the exposure time of the image that needs to be corrected
  7. The long dark image is subtracted.
Using this procedure, the noise is reduced because The images taken at (1) and (4) should not change significantly over time. They can thus be collected as part of the detector calibration. Dark current correction using this scheme therefore does not need measurement time in each data collection.

Since the calculations at (2) and (5) can take a few seconds of CPU time (this can be annoying as it has to be carried out numerous times) the result of these calculations can be stored in "frozen dark" files using the caldark program (this program can also be used to collect the images).

To find the right dark images, the Nonius software will always start looking for a "dark.kcd" or "dark.kcd_frozen" file in the current directory. If there is no such image, the "dark.kcd" or "dark.kcd_frozen" image from the calibration directory is used. If no such file is found, no dark current correction is performed.

A similar plot holds for the short dark exposures: programs will look for "sdark.kcd_frozen" in the current directory first, then in the calibration directory. If there is no such file, the short-dark correction is not performed.

Most of the nonius programs will automatically prefer the "localdark" option if a local dark image is available. This fact can always be recognized from the terminal output of the program.

As of this writing (March 6, 2000), the currently released version of "denzo" does not use dark current correction. The upcoming version will support dark current correction either by measuring a dark image for each scan, or by automatically calculating a "low" image.


index previous next

Previous: configuration of the programs
Next: data redundancy


(C) 1997-2008, Bruker AXS BV, R.W.W. Hooft