DISH is a collection of glish scripts and clients which provides an environment within AIPS++ intended to be used for single dish radioastronomy data analysis. Its initial aim is to be a worthy replacement for traditional single dish analysis programs such as UniPOPS. Eventually it will provide access to more advanced data calibration and imaging utilities which will share the same basic design as the synthesis calibration and imaging utilities in AIPS++. The primary design goal has been to provide a graphical user interface that is intuitive, unsurprising, and responsive. Users should feel that results go to obvious places and, whenever possible, are displayed as they occur. Some uses of the single dish aspects of AIPS++ are reported by McMullin, Garwood, & Minter (1999).
Figure 1 shows the major components of the DISH GUI. The Results Manager is the core of DISH. All glish variables which DISH creates in response to user actions are stored in the Results Manager and listed in the Variable window. These variables are all available at the glish command line so the user can interact with them. DISH immediately plots the currently selected variable if it can be plotted. A description is associated with each variable. The user can change the description or the name of a variable in the Results Manager. Certain variables can also be browsed.
The Results Manager recognizes three different types of variables. Individual scans are two-dimensional data arrays plus any associated information (including analysis history information). The first dimension of the data array can be anything but is typically a frequency or velocity axis while the second dimension is a Stokes axis. This type of data is called an SDRECORD. These can be displayed as line graphs and the associated information can be browsed. The second type of variable is a collection of SDRECORDS. These can also be browsed, but not displayed. The selection operation in DISH applies user defined selection criteria to such a collection, producing a new collection. The third type of variable is everything else. The Results Manager does little more than keep track of this data for the user. Users can store any variable in the Results Manager from the glish prompt. Other types of special purpose data types may be added in the future.
The Menu bar at the top of the DISH GUI provides access to the File, Operation, Help and other features of DISH. New data files are created and existing data files are opened through the File menu. The GUI panels for each available operation are enabled and dismissed through the Operations menu. Multiple operation panels may be present at any time although screen size limitations are generally such that only a few will typically be displayed at one time. When enabled, each operation panel appears at the bottom of the DISH window. The operation shown here is for fitting baselines to the currently displayed spectra. The most recent status message is shown in the text immediately below the Results Manager. Messages displayed here are also echoed to the AIPS++ logger.
Operations within DISH may operate on collections of scans or they may operate on individual scans. All operations place their results in the Results Manager. If the result can be displayed, it is. Operations on individual scans always operate on the most recently displayed scan so that, hopefully, the user is not confused as to what is being operated on.
Each time DISH is exited, its current state is saved to disk. This state includes all of the contents of the Results Manager as well as the parameter values for the operations and user interface preferences. DISH is restored to this state when it is restarted.
Underlying each GUI operation are glish commands which are available to the user. Users who wish to do complex tasks not available through the DISH Graphical User Interface or who want to capture existing operations into a glish script will need to use this command line interface to DISH. The trace tool, when active, shows these underlying glish commands as each GUI operation occurs. These can be used to simply learn how the GUI works or the text from that window can be copied to an editor and used as the basis for a glish script.
All of the values in the Results Manager can be manipulated at the glish command line. These results can then be returned to the Results Manager. A simple example which illustrates this is given below.
rawdata.setlocation(1) # 1 on := rawdata.get() # 2 rawdata.setlocation(3) # 3 off := rawdata.get() # 4 result := on # 5 result.data.arr := # 6 (on.data.arr - off.data.arr)/ off.data.arr dish.rm().add('result' # 7 'Difference of rows 1 and 3', result, 'SDRECORD')
The goal in this example is to reduce an on-off total power scan pair by extracting the ``on'' and the ``off'' source scans from an already opened data set, constructing the difference scan, and inserting the result in the Results Manager. In this example, rawdata is a previously opened collection of SDRECORDs available in the Results Manager. In rawdata, an on-source scan is located at the first record and an off-source scan is located at the third record. Line 1 makes sure that rawdata points at the first record. The data are then retrieved from that record and assigned to on. This is repeated for the off-source data which are assigned to off. The result is initialized by simply making result a copy of on. This sets the data structure and header words appropriate for these data. The difference of the two data arrays divided by the off data array is calculated in line 6. Finally, in line 7, result is added to the Results Manager. The final argument identifies this result as an SDRECORD. It is then available to be plotted automatically when the user selects it.
The long range plan for single dish calibration and imaging in AIPS++ is to follow the same model used for synthesis data within AIPS++ as discussed by A. Kemball at this conference. An initial test of single dish calibration is expected in early 1999. An on-the-fly single dish imaging tool is planned for later in 1999.
McMullin, J. P., Garwood, R. W., & Minter, A. H. 1999, this volume, 466
Paxson, V. & Saltmarsh, C. 1993, Proc. of the 1993 Winter USENIX Technical Conference (Berkeley: USENIX Assoc.), 141
Schiebel, D. & Paxson, V. 1998, ``The Glish 2.7 User
National Astronomy Radio Observatory,