IMACS Software Documentation


Location of this document: http://www.obs.carnegiescience.edu/~birk/IMACS/dataacq.html


Data Acquistion

CCDServer
DSP communicaton / provide data for camgui
CamGUI
Data acquisition user interface
QlTool
Quick look data display



1.0 : CCDServer

  1. Controls
  2. TCP/IP-Interface
Note: automatically started by the ccdservd demon.

The imacserver program handles the communication with the DSP. It sends commands to the DSP, receives the data from the DSP and stores it in memory for retrieval by the user level program camgui. imacserver usually runs as a background program without direct user access ('-X' switch) and is controlled by camgui. For tests it is possible to run it with a GUI as shown below.

Syntax: imacserver [-h pixels] [-c mode] [-X] [-o]
-h : font height in pixels (eg. '-h 18' uses a height of 18)
-X : no GUI mode
-c : 'mode' may be "short" or "long" (Note: this switch is ignored until we have 2 dewars)
-o : offline (data simulator)

1.1 : Controls

1st group
File : [menu] :
  • Reset : reset the DSP and upload its code
  • Help : show locations of the documentation in a dialog box
  • Exit : close GUI
    Options : [menu] :
  • DataPath : set data (save) path
  • DewarStatus : open a window with CCD temperature(s) and dewar pressure
  • CCD-Voltages: open a window to set the CCD bias- and clock-voltages
    Disk : [bar] : disk status
  • 2nd group
    ExpTime
    [edit] : set exposure time (seconds)
    [output] : current time during exposure
    Loops
    [edit] : set (repeat) loop number
    [output] : current loop number
    ExpMode
    [menu] :
    [menu] : readout mode
    Binning
    [menu] : {1,2,3,4,5,6,7,8} readout binning factor for rows and columns
    [icon] : chip selection
    3rd group
    Start : [button] : start exposure (loop sequence)
    File# : [edit] : next filename number
    Pause : [button] : close shutter and pause exposure
    Abort : [button] : abort readout and dump data
    Shutter : [menu] : open/close shutter manually
    4th group
    Gain : [menu] : select {high,low} gain
    CDST : [edit] : set pixel time
    ClkDir : [menu] : set readout direction {right,left}
    5th group
    Message : [output] : server status

    1.2 : TCP/IP Interface

    This interface is used by camgui to control the CCDserver.

    port = _____ (BasePort+2)
    Note: The port assignment will change (and depend on the dewar) when the Moscaic/2 dewar arrives.

    version
    return version string: "version= 1.01"

    start
    start exposure (exposure time + readout array)
    expose
    start exposure (no readout)
    read
    readout array

    stop
    stop exposure (close shutter if open, but continue with readout)
    abort
    abort exposure (close shutter if open, no readout)

    status
    returns the CCDserver status:
    "readout= %.3f" : during readout; '%.3f' is the effective exposure time
    "exposure= %.3f" : during exposure; '%.3f' is the current exposure time
    "loop= %.3f" : during exposure loop; '%.3f' is the effective exposure time (no exposure, no readout)
    "idle= %.3f" : server is idle (no exposure, no loop, no readout) '%.3f' is the last exposure time
    temp
    returns the CCD temperature(s); eg. "temp= -109.7 -110.1 -109.8 -110.2 -110.0 -109.8 -109.9 -109.7"
    heat
    returns the CCD heater value(s); eg. "heat= 99 100 99 100 98 98 101 101"
    pid
    returns the CCD PID-loop status; eg. "pid=1"
    setp
    returns the CCD heater setpoint(s); eg. "setp= -110 -110 -110 -110 -110 -110 -110 -110"
    bias #
    returns the bias 8 voltages for chip '#'; eg. "bias#= 4.44 4.75 4.66 6.47 2.78 4.80 4.76 4.30"
    clocks #
    returns the 16 clock voltages for chip '#'; eg. "clocks#= 0.3 0.5 -1.8 -2.5 -1.2 5.6 1.2 3.4 1.1 4.4 0.9 0.9 0.1 1.6 3.0 -2.2"
    vacuum
    returns the dewar pressure; eg. "vacuum= 0.000e+00"

    shutter {open,close}
    open/close shutter; returns status; eg. "closed"

    pause
    pause exposure (close shutter if open)
    resume
    resume exposure (open shutter if in "auto" mode)

    exptime #
    set exposure time to '#' seconds
    shutmode {auto,dark}
    set shutter mode
    subrmode a b
    set subraster mode
    'a': 0= full readout, 1= subraster readout
    'b': 0= full save, 1= minimal save
    binning XxY
    set binning to 'X' (rows) and 'Y' (columns); return: eg. "1x1"

    cdst #
    set pixel time to '#' units
    gain {0,1}
    set gain {low,high}



    2.0 : CamGUI

    1. Main-Controls
    2. Sub-Windows
    3. Scripting
    4. TCP/IP-Interface
    Syntax: camgui [-h pixels] [{-f2,-f4}] [{-d2,-d2}]
    -h : Font height in pixels (eg. '-h 18' uses a height of 18)
    -f2/4 : Dewar at f/2 or f/4 focus.
    -d1/2 : Mosaic1 or Mosaic2 dewar.

    The "Sience Array Control" GUI provides the following functions:

    The data files will be written in FITS format, one for each of the eight chips. The filename convention is

    ccd1234c5.fits
    where '1234' is a running exposure number, automatically incremented by the control software and 'c5' designates the corresponding chip (ie. chip-5).

    2.1 : CamGUI Controls


    left: standard (f/4) version; right: MMTF (f/2) version (touch $HOME/.imacs_use_script)

    1st group
    File [menu]
  • Reset DSP/Server : send request to the imacserver to upload the DSP-code and re-start the DSP.
  • Help : open web-browser with the IMACS documentation
  • Exit : close GUI
  • Shutdown : shutdown the entire IMACS software (MechGUI, CamGUI, QlTool, Xdbserver)
    Modules [menu]
  • QL-Tool : Open (or move to foreground) the Quick-Look tool
  • MechGUI : Open the IMACS mechanics GUI
    Options [menu]
  • DataPath : set path for the FITS files (images)
  • LogFile : edit name of the logfile in a dialog-box
  • DewarStatus : opens a window that displays the CCD temperature(s) and dewar pressure
  • CCD-Voltages: opens a window that displays the CCD bias- and clock-voltages. (password protected)
  • ReadSpeeds : opens a window that sets the readout parameters (password protected)
  • 2nd group

    ExpTime
    [edit] : set exposure time (1..8200 seconds)
    [bar] : exposure (left to right) and readout (right to left) progress
    [output] : current time during exposure
    Loops
    [edit] : set (repeat) loop number
    [output] : current loop number
    ExpType
    [menu] :
    [menu] : readout mode
    Binning
    [menu] : {1,2,3,4,5,6,7,8} readout binning factor for rows and columns
    [icon] : chip selection

    3rd group

    Object : [edit] : set object name
    Comment : [edit] : comment for FITS header

    4th group

    Start: [button] : start exposure
    Snap: [button]: start 4x4 binned exposure (used to clean the array)
    File#: [edit] : set file number (ccdXXXXcY.fits)
    'XXXX' is a 4 digit exposure (file-) number
    'Y' is the chip number (1..8).
    Pause: [button] : pause exposure (shutter closes until button is pressed again)
    Stop/Abort: [button] :
    Stop during exposure: close shutter and start readout
    Abort during readout: abort readout and dump data
    Shutter: [icon] : shutter status

    5th group (available with $HOME/.imacs_use_script)

    Exec: [button] : open Run Script dialog box
    Create: [button] : open Create Script dialog box
    Etalon: [menu] : select script creation mode

    5/6th group

    Speed: [menu] : set readout speed
    Disk: [bar] : disk status

    2.2 : CamGUI Sub-Windows

    2.2.1: Dewar Status


    left: The dewar status window with 8 temperatures, heater values and pressure (VacSensor); the IonPump is disabled since the Mosaic/1 dewar is not (yet) equipped with an ion pump.
    right: The Mosaic2 dewar has an ion pump. It should be operated in the 'Auto' mode. The ion pump will be turned off automatically when the 'CryoT' temperature is above -145 [C] or the VacSensor reading is above 2.0e-4 [mbar].

    2.2.2: CCD-Voltages


    Access to this window is password protected.

    2.2.3: Read Speeds


    This window allows to set the pixel-times and gain values for the 3 readout speeds (slow,fast,turbo). Access to this window is password protected.

    2.2.4: Nod & Shuffle Dialog


    This windows allows to set the Nod & Shuffle parameters:
    Shuffle: [edit] : shuffle distance (arcsec)
    [output] : rounded up to pixels
    Telescope-Nod: [edit] : telescope motion [arcsec] between exposures
    DwellTime: [edit] : exposure time between shuffles/nods
    N-Cycles: [edit] : number of 'A-B' cycles (2 exposures per cycle)

    2.2.5: MMTF Straddle & Shuffle Dialog


    This windows allows to set the MMTF-Shuffle parameters:
    Shuffle: [edit] : shuffle distance (arcsec)
    [edit] : shuffle distance (pixels)
    Straddle: Off1 [edit] : off-band z-value
    On [edit] : on-band z-value
    Off2 [edit] : off-band z-value
    DwellTime: [edit] : exposure time between shuffles
    N-Cycles: [edit] : number of 'On-Off1-Off2-On' cycles (4 exposures per cycle)

    2.2.6: Event Sounds Dialog

    CamGUI will play sounds after the following events:

    The sound files have to be in a directory pointed to by a environment variable called IMACSOUNDS. This variable is set in the
    imacs startup script. If it is not set the keyboard-beeps (2 after shutter, 3 after readout) will be used as in previous versions.
    Note: The sound feature requires a third-party program called PlayAudioFileLite to be installed in IMACSBIN.


    2.3 : Scripting

    2.3.1: Run Script

    File: [edit] : Script filename (the .script extensions is appended if necessary)
    Run: [button] : start executing script
    Stop: [button] : stop script (gracefully) after the current command is finished
    Line: [output] : display current command line
    Close: [button] : close this window (and stop script, if running)

    2.3.2: Create Script


    Create Etalon script; scan(seq) or scan(blk) modes

    File: [edit] : Script filename (the .script extensions is appended if necessary)
    Mode: [menu] : etalon script mode (ie. scan)
    Z0: [edit] : first z-value
    dZ: [edit] : delta z-value
    nZ: [edit] : number of z-values
    Save : [button] : save script
    The total number of exposures will be nZ.


    Create Etalon script; straddle mode

    File: [edit] : Script filename (the .script extensions is appended if necessary)
    Mode: [menu] : etalon script mode (ie. straddle)
    Z0: [edit] : on-band z-value
    dZ1: [edit] : delta off-band z-value
    dZ2: [edit] : delta off-band z-value
    nC: [edit] : number of cycles (4 exposures each)
    Save : [button] : save script
    The total number of exposures will be 4*nC.


    Create Etalon script; paralellize mode

    File: [edit] : Script filename (the .script extensions is appended if necessary)
    Mode: [menu] : etalon script mode (ie. parallelize)
    X0: [edit] : first x-value
    dX: [edit] : delta x-value
    nX: [edit] : number of x-values
    Y0: [edit] : first y-value
    dY: [edit] : delta y-value
    nY: [edit] : number of y-values
    Save : [button] : save script
    The total number of exposures will be nX*nY.


    2.4 : TCP/IP Interface

    port = _____ (BasePort+1)
    version
    return version string: "version=1.05b"
    status
    check status of CamGUI (data acquisition); return: "idle" or "exposure= %d" or "readout= %1.f" or "-E..."
    reset
    reset 'CCD-Server/DSP' communication; return: "done" or "-E..."
    start [#]
    start a loop of '#' exposures; return: "ok" or "-E..."


    3.0 : QlTool

    Syntax: qltool [-h pixels]
    -h : font height in pixels (eg. '-h 18' uses a height of 18)

    Control window description

    Mosaic overview window description

    Magnifier window description


    Christoph C. Birk, Carnegie Observatories (last updated: 2008-12-03)