In the DAVE 1.x series, the available features could be arranged into four broad categories: data reduction, data analysis, data visualization and miscellaneous utilities. A brief listing of features under these categories were as follows:
Although there are some similarities, each neutron scattering instrument is fairly unique as a whole. Usually, it is necessary to convert the raw, instrument specific, data produced by the instrument into a quantity, the scattering functions, that depends only on the physics of the sample under investigation. Since the instruments are unique the corrections that must be applied to the raw data is instrument specific. Hence each instrument requires it's own data reduction program. Data reduction support for the following NCNR/PSI instruments are provided:
The process of examining the data, the scattering function usually, in order to explain or understand the underlying science is referred to as data analysis. The following data analysis functionality are available:
Data visualization functionality provides ways of viewing experimental data and also making comparisons between different datasets. Available features include:
Miscellaneous tools include all program modules in DAVE that cannot be clearly classed in the above three categories is. There are many such tools included in DAVE and following list illustrates a sample only:
The DAVE 1.x series essentially consisted of several major, relatively independent, application modules that shared a common launch pad and application preferences. Only one dataset could be loaded at any one time in the main application and this dataset could be shared with any application module at its launch. This posed a serious limitation on the addition of modules that could operate on two or more persistent datasets.
In the DAVE 2.x series, a major effort has been made to design an application which is much more integrated and takes advantage of the iTools application framework in IDL. The iTools framework makes extensive use of object oriented programming (OOP) and consists of a set of classes and associated utilities that are designed to facilitate the development of sophisticated applications containing standard features including:
A user session with the DAVE application always occurs within the concept of a project. A project can be saved and the application closed. A project can be resumed when the application is restarted. The save action should preserve all data and other useful application state information so that the user is able to return to the project at some later time. This functionality gives users the option of analyzing and or visualizing related datasets together and then saving the results in a project. Multiple projects can, of course, be created based on criteria such as experiment or instrument type.
In DAVE2, as in DAVE1, special modules are provided for performing data reduction, that is converting raw data into the scattering function. Data reduction covers a broad set of tasks which are typically instrument specific and consequently, the data reduction modules will be unique and designed to meet the needs of particular instruments.
Support for the following data file formats are provided in DAVE.
The Data Manager is responsible for providing the interface through which the user can interact with all data that is currently loaded in the application. The interface is a tree widget that provides a hierarchical view that is used to organize data structures and information. The nodes and branches of the tree view can be expanded or collapsed depending on the level of detail that is required for the components of the dataset under examination.
The Visualization Manager provides the base functionality required for user interaction with the visualizations that have been created in the system. Visualizations are visual representations of data such as line plots, images and surface displays. Because multiple visualizations can be created, it is necessary to provide a means for the user to manage them effectively and intuitively. The interface for this is also a tree widget that enables a hierarchical arrangement of complex information without compromising on the amount of detail that can be included.
Visualizations provide a graphic representation of the data and there is a limited number of ways in which this can be done. DAVE2 provides comprehensive support for all types of visualizations - thanks to the extensive features already present in the iTools framework. The list of supported visualizations include the following.
Most data analysis features are encapsulated into iTools components known as operations. Operations are well defined components that can be used to modify data, visualizations or application state. The number of data analysis tasks is extensive and what follows is an incomplete list of currently available or planned features.
These are independent, self-contained tools that are useful for performing tasks in DAVE that cannot be categorised as data reduction, analysis or visualization. In addition to the tools that were already available in DAVE 1.x, the following are also planned