Introduction to the DAVE software package
DAVE is an integrated environment for the reduction, visualization and analysis
of inelastic neutron scattering data. It is built using IDL (Interactive Data
Language) from ITT Visual Information Solutions
(formally Research Systems, Inc.) which is a
cross-platform application development tool with built-in graphics. All efforts
have been made to ensure that DAVE is supported on Linux, Windows and MacOS X.
It is available at no cost to users in two forms. The first is as a binary
executable with an embedded IDL runtime license which can be used by anyone
running on any of the three supported operating systems. In addition, for those
who have an IDL development license, the complete source code for DAVE is also
available.
A Brief Historical Perspective
DAVE came about as a result of a few prevailing factors at the NCNR in the late
1990's, most of which were common to other neutron scattering facilities at
that time. These included:
- Few or non-existent software tools for basic data reduction and analysis.
- The traditional approach of user-written software at neutron scattering
facilities is time-consuming with much duplication of effort.
- Steadily increasing complexity with improvements in spectrometer designs –
software development process is more error prone.
- Inefficient use of available beam time in some case because the user is
unable to quickly view the data in a meaningful way and to change course
accordingly.
- Existing software tools were disparate with little coordination between the
various developers who tended to view their effort in some case as a 'hobby'
and hence without any clear long term support commitment.
To address these and other shortcomings, a group of instrument scientists at
the NCNR met in a series of meetings in 2000 and proposed a workable and pragmatic
solution. They decided to create the DAVE project with clear goals and guidelines
based on the available skillset of those present. The following summarises the
project intent:
- Develop common user-friendly toolbox for inelastic neutron scattering
addressing the software requirements of the NCNR user community. The end result
should include components for data reduction, visualization and analysis.
- Takes needs of new, occasional and expert users into account.
- Provide support for multiple OS platforms in use at the NCNR.
- The end product should be freely available to all.
- Instrument scientists should play a key role in the software development,
particularly in data reduction aspects.
After extensive considerations the IDL package distributed by ITT Visual
Information Solutions (formally RSI Inc.) was chosen as the development
platform for the new software project. This made sense because IDL: was fully
supported on several OS platforms; provided built-in support for scientific
programming and optimized for large array operations; contains a reasonably
good widget toolkit for providing GUIs; was already in use at the NCNR so there
was programming expertise in the language. As IDL is a commercial development
platform a license was required both to develop and to run the completed
applications. (As of IDL 6.0, a freely available IDL virtual machine makes possible
for end users to run an IDL application without requiring a license).
Primary concerns about this licensing issue was resolved by an agreement with ITT
which granted NIST the right to freely distribute a DAVE executable with an embedded
run-time license.
Development started on DAVE in 2001 and the first stable release was made in the
summer of 2001. The initial release contained data reduction support for several
inelastic instruments at the NCNR, least squares fitting for performing data
analysis, basic data visualization and numerous experiment planning and other
miscellaneous programs. There were several minor realeases made in what is
termed the DAVE 1.x series which lasted until early 2007. In late 2007 a
major update to the DAVE 2.x series occurred.
Principal Project Goals
Today, DAVE is relatively mature with respect to data reduction and basic data
analysis. Nevetheless, development work is still continuing with a gradual
progression now towards slightly more advanced data analysis and
visualization techniques. We are still striving towards
meeting our central goal which is
to provide a user friendly tool for scientists
involved in neutron scattering research to quickly reduce, visualize and
interpret their data.
We are particularly interested in making sure that new and
occasional users, a growing segment of the userbase, can make more effective
use of the available beam time and to reduce the time it takes from experiment
to eventual publication of results. This means focusing on the simple things
initially and ensuring that they are done well.
In addition to our primary aim of supporting the user program at the NCNR, we
also provide outreach and support development efforts outside of NIST. For
example, in on-going collaborative efforts with developers at the
Laboratory for Neutron Scattering, ETHZ and Paul-Scherrer Institute,
CH-5232 Villigen, Switzerland (PSI), they have been able to provide
data reduction support
for their own instruments into DAVE. Hopefully, in future the PSI
developers will also be making contributions to the analysis and visualization
modules which will benefit all.