DASHA-2 consists of four widget-based IDL applications, providing functionality for:
The design of DASHA-2 made full use of the new object-oriented capabilities implemented in IDL1 version 5. Development produced a powerful Foundation Class Layer (FCL), which allows the programmer to easily create new data analysis applications with sophisticated user interfaces and visualization capabilities.
The Foundation Class Layer hides the complexity of IDL widgets and graphics behind easy-to-use IDL classes. The two primary classes are the Visualizer, which provides a complex widget for interactive visualization of large data structures, and the DataForm, which simplifies the creation of complex user interfaces. This paper focuses on the benefits of the FCL for rapid development of scientific applications in IDL.
The typical structure of an application employing the FCL is illustrated by Fig. 1. As one can see from the figure, the FCL completely isolates the GUI from the application. The rationale behind this design is as follows. With the ever-increasing amount of CPU power available to the average astronomer, interactivity is becoming the bottleneck for many data analysis applications. Whereas a decade ago the average user was mostly idle while the CPU was busy number crunching, today it is the average CPU that is mostly idle, waiting for the astronomer to prepare the data and evaluate the results. Thus, for many (though not all) data analysis applications, operational efficiency is determined more by a well-designed and functional GUI than by algorithmic efficiency. However, as any programmer can attest, GUI implementation is one of the more mundane and time-consuming tasks - and the more functional the GUI, the greater the pains required to make it all work. The FCL allows a developer to expend minimum effort on GUI implementation, and concentrate on the algorithmic aspect of an application. The FCL also ensures that all applications employing it have a similar look-and-feel (and allows improvements in the look-and-feel without touching the application code). While this concept is not new - it exists in many UI toolkits available today, the FCL is a very high-level toolkit specifically tailored to astronomical data analysis needs. For example, it provides powerful visualization capabilities, which can be very important for presenting results to the astronomer in an efficient way.
Interactive visualization is available to any application, just by creating a Visualizer object and assigning it a data set. The visualizer object creates a complex widget-based GUI for visualizing the data set (Fig. Fig-D18-2, left), and then manages all user interaction transparently to the application. The Visualizer object encapsulates the following visualization functionality:
All functions of the Visualizer object may be controlled both by the user and the application. The application can interact with the Visualizer object to set up specific visualizations and receive user feedback.
DataForm objects allow an application to generate sophisticated user interfaces without the complexity of IDL widgets. Any application can create a DataForm object and fill it with text entry fields (which feature automatic input type checking), tables, and various standard controls (buttons, droplists, check-boxes, etc.), all in a few lines of code. Data exchange between the form and the application is simplified by mapping the form fields to an IDL structure; the form may be filled with initial values and later queried with a single call.
More sophistication can be added by employing event procedures. Event procedures allow forms to immediately respond to user input, and also handle events from Visualizer objects. The form in Fig. 2 (right), employed in the photometric calibration procedure of DASHA-2, features a table of photometric standards. The user can add standards to the table by simply selecting them on the Visualizer (here in ``simulated field'' mode) with the mouse. Other example DataForms and Visualizers are presented in Fig. 3.
While DASHA-2 is a complete package, the FCL is nowhere near that elusive state. For example, it still lacks a Visualizer object for 2D images and other data sets. Development of the FCL is continuing. It is planned to release an initial version to the public under a GPL-style license. For more information, please contact the author at firstname.lastname@example.org}.
Smirnov, O. & Ipatov, A. 1995, in ASP Conf. Ser., Vol. 77, Astronomical Data Analysis Software and Systems IV, ed. R. A. Shaw, H. E. Payne, & J. J. E. Hayes (San Francisco: ASP), 488
Smirnov, O. & Piskunov, N. 1995, in ASP Conf. Ser., Vol. 77, Astronomical Data Analysis Software and Systems IV, ed. R. A. Shaw, H. E. Payne, & J. J. E. Hayes (San Francisco: ASP), 133
Stetson, P. B. 1987, PASP, 99, 191
, 1992, in ASP Conf. Ser., Vol. 25, Astronomical Data Analysis Software and Systems I, ed. D. M. Worrall, C. Biemesderfer, & J. Barnes (San Francisco: ASP), 297