PROCESS:
process image data
This page is part of the ING document
INS-DAS-24:
client-server interface for control of cameras
Purpose: to prepare from the raw readouts of a run the image-data
required for display and archiving.
Actors: udas_run client; udas_camera server; image
display.
Outline: the client invokes the process action. The server combines
the raw data to get the data that must be saved in the eventual FITS file;
it stores these data and send a copy to the display.
Valid processing actions:
assemble: arranges image-fragments within each readout according
to its pre-set configuration.
coadd: coadds all readouts tagged with the same number
average: averages the coadded readouts: it divides each pixel by the
number of readouts in the coaddition.
subtract: subtracts the first coadded readout in the data-set from
the second coadded readout.
diff_pre: subtracts the first coadded readout in the data-set from
the second coadded readout, and discards the individual readouts.
slope_reads: calculates the slope of the readouts in a read-up-the-ramp
sequence.
slope_only: calculates the slope of the readouts in a read-up-the-ramp
sequence, and discards the individual readouts.
Normal course of events:
-
Client is sequencing a run. It has already invoked as many readouts as
are required for this run and these are stored by server in the run context
of rank zero (q.v. the RUN action). The output-image display is turned
on (q.v. the DISPLAY action).
-
Client invokes the PROCESS action on server with these arguments:
-
Argument1 is the rank of the run to be processed, set to zero.
-
Argument2 is a list of processing options set to assemble+coadd+average+subtract
-
Server takes the readouts of the run and combines them to make a set of
output images. The processing steps are as follows:
-
Server arranges image-fragments within each readout according to its pre-set
configuration.
-
Server coadds all readouts tagged with the same number (the tag is set
in the READOUT action).
-
Server averages the coadded readouts: it divides each pixel by the number
of readouts in the coaddition.
-
Server subtracts the first coadded readout in the data-set from the second
coadded readout.
-
Server returns good status to client.
-
Server sends the output images to the display.
Variations:
-
Client is sequencing a series of runs. It already has the next run in progress,
so the run needing processign is at rank 1, not rank 0. Client sets argument1
to 1 instead of 0 in step2; other steps proceed normally.
-
Client asks to process a run at some other rank where server has no run
to work on. Server stops at step 2, sends an error message to client and
returns to client the status UDAS__NOSUCHRUN.
-
Client gives a sub-set of the processing options. Server executes
only those options named in the argument, but alway executes them in the
order listed for the normal course of events. Any options whose full name
appears in the argument is considered to be invoked; the punctuation and
order of options doesn't matter.
-
Display of output images is turned off (q.v. the DISPLAY action). Server
skips step 5.
Notes:
-
The "subtract" option is intended to subtract a pre-integration read from
a post-integration read in a CDS observation. The assumption here is that
all the pre-integration image-planes in the run have previously been coadded
and similarly with the post-integration image-planes. Hence, the processing
option uses the first two image-planes it finds and ignores any others.
-
It is possible to invoke the action serveral times in a row, using a different
processing option each time; however, this use is dicouraged. Each
invocation of the action will cycle the server's percentage-completion
parameter from 0% to 100%. The display of this parameter on the mimic
will look best if the client does all consequtive processing in one call
to the action. That is, use:
-
(observe)
-
PROCESS 0 assemble+coadd
-
(observe)
-
PROCESS 0 assemble+coadd
-
(observe))
-
PROCESS 0 assemble+coadd+average+subtract
to combine observations in preference to
-
(observe)
-
PROCESS 0 assemble
-
PROCESS 0 coadd
-
(observe)
-
PROCESS 0 assemble
-
PROCESS 0 coadd
-
(observe))
-
PROCESS 0 assemble
-
PROCESS 0 coadd
-
PROCESS 0 average
-
PROCESS 0 subtract