5
Handling pixel data
This page is part of the ING document INS-DAS-31
Design
notes for UltraDAS
Background
Udas_camera handles millions of pixels in each run. The pixels arrive
from the camera as a stream of 16-bit numbers, the order of which depends
critically on the number of output amplifiers - or "readout channels" -
in the camera and the readout format. Although there are a few cases in
which the pixels arrive in the correct order for storage on disc, in general,
udas_camera
must do considerable work to arrange and process the pixels before outputting
them.
The general course of pixel processing is this:
-
Determine which areas of the camera will be read out; assess windows and
binning.
-
Make a template for the composite object in which each readout will be
stored. Include objects to receive pixels as they come from the camera
and objects into which the received pixels can be assembled.
-
From the template, determine how the camera should be programmed.
-
From the template, determine the order in which the pixels will arrive
and decide what should be done with each pixel: this is called "mapping
the pixel stream".
-
Programme the camera for this readout format.
-
Repeat for each readout in the run:
-
Allocate storage for the readout, working from the template object
-
Invoke the readout.
-
Capture the stream of pixels in memory.
-
Distribute the captured pixels to their individual images: this is called
"dealing the stream".
-
Combine associated readouts.
Steps 1 and 2 are done by the Formatter object. Steps 3..5 are done by
the Pixel-stream object. Steps 6 involves a collaboration of objects lead
by the Run object. Step 7 is done inside the Run object.
Topics of detail