3.- Main GUI

3.1 Main Interface

This is the main user interface. It allows the user to take images, enter header and exposure information, and receive status information.

3.1.1 Middle Section: Inputs

The middle section of the GUI is where the user inputs all needed information:

basename: Root name used for composing the name of the image. For example, "object" will generate images named "objectNN" where "NN" is the sequence number. If an image with that number already exists in the directory, the old image WILL NOT be overwritten; the new image will be renamed basenameNN_i, where i=0 ... 20. After 20 consecutive images with the same name (after basenameNN_20) an error will be returned.

sequence number: This is the number that will be combined with the basename to give the image name. It automatically increments as exposures are taken.

title: This name will appear as the "OBJECT" keyword of the fits header, and this name will appear, for example, when doing a "imhead <basenameMM>" under IRAF.

Path: The data directory is created when the software is started, and the path is automatically set. DO NOT edit the path field; it can crash the GUI. If there is a problem with the path, consult the support astronomer.

comment: Any additional information desired. This will appear on the image headers as a COMMENT keyword.

exposure time: Time, in seconds, that the detector will be exposed to photons. This number is the TOTAL exposure time, which means that the read time is included. The minimum exposure time is, therefore, the readout time, currently aprox 3.5 seconds. If the user types in "10", then the detector will be in a "idle" state (not clocking) only 6.5 seconds, and the remaining time will be the readout time.

NOTE: the best linearity is between 3,000 ADU and 36,000 ADU.

fowler: Number of fowler samples to take (number of times the detector will be reset prior to the exposure and will be read after the exposure).

coadds: Number of coadds performed in memory before writing the image to disk. There is no limit in this number.

Repeats: number of sequences to take. Every "sequence" will result in an image, even when this image can be itself the result of several reset-expose-read sequences coadded. See algorithm scheme above
observer: name of the observer. This will appear on the fits header as a the value of the "OBSERVER" keyword
write automatically: If checked ,the image will be written to disk automatically after being read and preprocessed. If not checked, a button called "write" will appear when the image is ready for being written, so the user can examine the image and write it only if desired
display automatically: If checked, the image will be displayed, when ready, automatically on the image displayer (Ximtool or DS9) if this is opened

All this is "static" information, in the sense that cannot be changed while the actual image is in progress

3.1.2 Lower area: control buttons

The lower part of the GUI allows to control the behavior of the GUI when taking the exposures (dynamically).

GO: initiates everything.
ABORT: abort all activity immediately (whatever status the system is) and return to the idle state. Current image will be lost
STOP sequence: will wait until the current image is taken, and then stop gracefully
STOP coadd: will wait until the current coadd finish, and then will stop gracefully.

The "looping" algorithm is:

DO sequence TIMES   {
     IF (STOP sequence)
    DO coadd TIMES {
        IF (STOP coadd)
        DO fowler TIMES
        DO fowler TIMES
        subtract (exposed frame - reset frame)
        unscramble, write to disk
        display (if selected)

Miscellaneous controls

QUIT: This button will close the GUI, causing the disconnection to the controller, the filter wheel and the TCS (if connected). A confirmation will be required
Select Plug-In: This is a drop-down menu which allows to open any available Plug-In

3.1.3 Upper area: Status

All the status returned is in the upper part of the GUI. The status is:

System Connected light: When "on" indicates that the client is connected with the Server (basically, the GUI is connected to the Software which actually handles the system)
Controller Ready light: When "on" indicates that the controller was successfully initialized and that it is ready for receiving commands

If this two lights are "on"  means that the system is totally ready. All this initialization process should take about 2-3 seconds

Left side: all the controller-related issues (reset, read, expose)

Controller State: upper part: messages related to the status of the controller (like current task, information, etc.)
Detector State: state of the detector; this can be: idle (doing nothing but in continuos reset mode)
                                                                                                resetting (in a reset cycle, clocking out the reset frame, prior to expose)
                                                                                                exposing (exposed to photons with no clocking)
                                                                                                reading (in a read cycle, clocking out the array the exposed frame)

Exposure Progress: exposure time progress, in seconds, from minimum exp. time (readout time) to requested exposure time
Readout Progress: percentage of the frame read so far. This bar will change with either the reset or the read cycles (in both cases we are reading out the array)
Write Progress: Progress of the process of writing the image to disk

Right Side: all the host-related issues (like image on disk, etc.):

Image State: what is the status of the writing or preprocessing of the image on the host (like making the coadding, waiting for the next frame to finish or writing the image)
Path: actual path to the image being processed (normally the same specified for the user)
Name: actual name of the images being written (normally the same specified for the user)
Disk Usage: usage of the current disk (filesystem). It will turn red and return an error when the disk space remaining is not enough for holding the requested images
Host: name or IP address of the machine in which the images are being written

3.2 System Setup

The button located on the lower area of the GUI called "GUI SETUP" will open a window different TABS, which will handle specific aspect of  the configuration of the Main GUI. This configuration includes paths to log files, general information, choices for error handling, etc.  All this information is stored in a configuration file called ctiocameragui.cfg, located in the general area for the configuration files:
In this file, there is one entry per TAB
We will see here the more important points on the setup, which are:

3.2.1 Initialization Tab

The Initialization tab has the most important configuration: all the initialization and  startup conditions
Startup Config: This describes the path to the startup configuration file, which describes how to setup the controller when it boots. This is an ascii file which holds information like the type of detector, the geometry, the size of the detector, the sequence of commands to execute automatically when it starts (like "power on", "set display image", etc.), which DSP files to load on the controller, etc. This file is already set, and it
SHOULD NOT be modified by the normal user
Available Plug-Ins: Here you can control which Plug-In you want to be started automatically. Just select the one you want and press the ">" button to copy it to the "start automatically" box. When you close the setup window USING OK, all you changes will be saved to the configuration file. The next time you start the system the selected Plug-Ins will start automatically.

3.2.2 Information:

Here you will find interesting information related to the controller configuration, read directly from the SDSU-II DSP (things like the installed cards, versions, detector, etc.)