------ XOPTIC ------ Xoptic is the program which accepts a socket connection from otcom or videoplay and displays the video images and parameters which are sent to it. Originally intended to run on a Sparc2 at the same time as the CCD control program, it tries to be as efficient as possible and is written at the Xlib level. The socket communications is set up to be non-blocking (so that otcom can never hang waiting for the display) and uses a handshake to tell otcom when xoptic is ready to accept a frame. Xoptic has a lot of controls which are non-obvious because I didn't want to use up a lot of display real estate with more intuitive graphical cues, and in keeping with its lightweight nature, will only accept a limited number of X events per iteration. Nevertheless it can be quite adaptable to the user. << see xoptic.gif >> There are three windows across the top. The left shows the incoming video frames. There are always four, corresponding to the four CCD guide regions. Even a guide star is not being read out in a region, the amplifier is still providing a readout and the noise is displayed by xoptic. The normal zoom factor for xoptic is 4, i.e. four screen pixels correspond to one (binned) CCD pixel. There is a scale of arcseconds shown in the lower part of this image, which should be correct if the tel_config file is correct (otcom) or SECPIX? parameters in the FITS header (videoplay). Pixels greater than 255*255 are displayed as bright green. The middle image is the "radar" display. The left images show the guide stars in their guide boxes, but the guide boxes can move all over the CCD if the telescope guiding is not good. This radar display shows the center of each star on the CCD relative to the starting point, and can move quite far compared to the star images in the guide boxes. Clicking the left button on this window will recenter the dots relative to their position at that moment. The right image is a leaky average of the incoming video. The leak time can be adjusted using the "Leak" button below (the left mouse button decreases the number, the right button increases, and the middle button sets it to 0 which means don't update the display). The leaky average can be rezeroed using the "ZeroAve" button below. Below the image windows is the "stretch bar". This is a logarithmic graph from 20 to 65535. When the display is autoscaling you will see a green bar fluctating back and forth with numbers at either end labelled. This is the threshold and saturation for the display. If you click the left button on the stretch bar you will fix the threshold value at that value and the saturation whereever it happened to be. If you click the right button you will set the saturation value. Putting the saturation below the threshold is OK even though the green bar goes wrong -- it just inverts the color map. The botton half of the display has some buttons in the middle and two strip charts on the left and right. The "Bin" button displays the current bin factor and the "dt:" button the frame time (they used to permit you to control it, and may do it again someday). The "Palette" button cycles through a B/W, inverse B/W, and rainbow palette. The "Auto" button indicates whether autoscaling is on. Left button decreases the contrast, right button increases. The left strip chart shows the seeing FWHM as a function of time. The image for which this is being displayed is controlled by the "Img" button, left button decreases, right button increases, orientation of 0-3 is the usual. Zero FWHM is at the bottom, the left button decreases the number of ledger lines (decreases the FWHM at the top of the scale), and the right button increases the number of ledger lines (increases the FWHM at the top of the scale). The middle button cycles through a display in units of arcsec, arcsec and pixels, and pixels. The FWHM samples are shown in green and by default are smoothed with other samples. If you want to see the raw samples, the "AveFWHM" button toggles between raw and smoothed. There are also occasional little red ticks which are the FWHM being calculated for the leaky average, every leak time. They generally track the green points but are slightly higher, as you might expect. The strip chart on the right shows the magnitude of the selected star as a function of time. As always, left button decreases the number of ledger lines (full scale is fewer magnitudes), and right button increases the number (full scale is more magnitudes). Clicking the middle button near the top of the window pushes the scale downwards (moves the scale to lower magnitudes) and clicking the middle button near the bottom of the window pushes the scale upwards (moves the scale to higher magnitudes). When run from otcom, the magnitudes are based on a zero point provided in the configuration file filters.def, and should be reasonably accurate, although no account is taken of airmass. Clouds are dramatically apparent. When run from videoplay, the magnitude zeropoint is simply taken to be 25, although in principle it could be obtained from the FITS header entry "PHOTOZP" written by otcom. The bottom line lists several numbers, in a slightly different format depending on the size of the window. In the small size the labels are: Integration time # Frame number ( frames_dropped frame_time ) FW: FWHM of the selected star (unbinned pixels) rms: rms motion of recent radar positions (unbinned pixels) sky: sky level max: maximum pixel