Use case: set readout parameters for an IR detector

Purpose: define the user-selectable parameters for an IR readout.

Actors: observer.

Outline: the observer sets a number of parameters indivually. The system remembers to apply the combination of these settings to each subsequent readout.

Typical course of events:
User action System response
1. User asks the system to set the number of combined reads in MNDR. System rejects the request if the number is zero or negative. Otherwise, system remembers the number and applies it in all subsequent MNDR.
2. User asks the system to change a readout window. User states the window number and either an image section or one of the keywords "enable" or "disable". System rejects the request if the window number is outside the range 1..10, if the image section will not fit on the detector, or if the window would overlap another window that is currently enabled. Otherwise, system remembers the new state of the window ready to apply to all subsequent readouts. The "enable" keyword causes the windows current image section to be applied to subsequent readouts. "Disable" causes the windows to be ignored in subsequent readouts. Setting a new image section enables the window. A window whose image section contains no pixels is considered to be disabled.

For uniformity in the readout sequence, the system maintains a window 0 (which the user can't set) that covers the entire camera. This window is enabled automatically if and only if all of windows 1..10 are disabled.

3. User asks the system to change the readout gain, specifying a multiplier of the camera's natural gain. System rejects the request if the gain multiplier is not 1, 2 or 4. Otherwise, the system remembers the gain multiplier and uses it in all subsequent readouts.
4. User selects a set of readout channels from a camera with more than one channel. System remember the set of channels. Subsequent readouts use only the requested channels.
5. User selects a named readout speed (names TBD). System rejects the speed if it is not one of the known ones. Otherwise, system remembers the speed and uses it on all unbinned readouts. If a readout is binned, its speed may not be the one selected.

Variations: