# Presentation: 143321

## DAVE: Cooperative Development of Data Visualization and Analysis Software

- Rob Dimeo
- NIST Center for Neutron Research

- What is DAVE?
- The DAVE team
- Motivation
- Development philosophy
- Development timeline
- Keys to success
- The DAVE development cycle
- DAVE users
- A look ahead

## What is DAVE?

*Data Analysis and Visualization Environment*
- Complete inelastic neutron scattering data treatment application from reduction through visualization and analysis
- Free software package available to all NCNR users
- A cooperative and iterative development process
- Supported by the National Science Foundation through the Center for High Resolution Neutron Scattering under Agreement No. DMR-0086210

## The DAVE team

- Front row: Inma Peral, William Ratcliff, Sungil Park, Seung-Hun Lee
- Back row: Rob Dimeo, John Copley, Craig Brown, Richard Azuah, Alan Munter, Yiming Qiu, Larry Kneller, Chris Wamble

## Motivation for DAVE

- History
- Ad hoc collection of reduction, analysis and visualization programs for inelastic spectrometers**	**

- Addrun		(general purpose reduction, FORTRAN)
- Fit		(general purpose analysis, FORTRAN)
- Treat		(TOF reduction, FORTRAN/VMS)
- Xtreat		(TOF reduction with GUI, FORTRAN/TCL/TK)
- TANQENS		(TOF analysis, FORTRAN/TCL/TK)
- MSLICE		(TOF visualization, MATLAB)
- SQW		(TOF reduction, octave/perl/tk)
- TASXP		(TAS analysis, IDL)
- MUPHCOR		(TOF data corrections, FORTRAN)
- XMGR		(general purpose viewing and fitting, UNIX)
- FANS		(FANS reduction/visualization, perl/tcl/tk)
- Kaleidagraph®	(general purpose visualization/analysis)
- Origin® 		(general purpose visualization/analysis)
- Excel® 		(general purpose visualization/analysis)

## Motivation for DAVE

- History
- No central repository for programs
- Software had “many different faces”
- No clear way to get programs to work easily at users’ home institutions
- Tied users to facility for data reduction and analysis unless they developed their own reduction and analysis code  not conducive to iterative “what if” types of analysis by novice users
**	********	**Clear need for user-friendly and coherent reduction, visualization, and analysis software

## Motivation for DAVE

- NCNR Response: software design goals
- Develop a common user-friendly toolbox addressing the software _requirements _of the NCNR user community very rapidly
- Provide a seamless environment of reduction, visualization, and analysis applications
- Instrument scientist should play key role in development, particularly data reduction aspects
- Freely available for multiple OS platforms at no cost to users

## Software development philosophy

- Make it easy for scientists to code an application quickly and incorporate it into the DAVE suite
- Optimize this effort for immediate progress

- Choose a mature programming language with high level analysis and visualization features and a complete GUI toolkit allowing rapid application development
- Stimulate a “grass roots” effort to facilitate rapid _distributed_ development

- _HOW?_

## Keys to success

- _Mandate_ at the management level for data reduction software for all inelastic instruments within the purview of CHRNS to be developed within the DAVE framework
- _IDL_ (Interactive Data Language) chosen for data manipulation capabilities, image processing, high level numerical analysis, GUI toolkit, and ability to distribute executable software on multiple platforms at no cost to end user
- _Education and outreach_:  provide free training to scientists and interested _users_ in application development (visualization and analysis)

## Keys to success

- _Development team_: computer and instrument scientists with diverse talents and backgrounds and some programming experience with IDL
- _Instrument scientists’ expertise_ for data reduction and analysis requirements
- _Computer scientists’ expertise_ for software maintenance, deployment, bug report handling, web presence, etc.

## Development timeline

- November, 2001:	Internal data structure decided by the original 	four members of the development team
- January, 2002:	Internal beta release (NCNR)
- July, 2002:	Public beta release (web deployment)
- December, 2002:	Public release, v 1.0

## Slide 11

## DAVE development cycle

- Prototype written by DAVE developer
- FCS instrument scientist extended code with additional enhancements
- Developer and instrument scientist worked closely on further development of program

- Scientific needs drive application development  FCS data reduction application

## DAVE Development Cycle: Porting MSLICE to DAVE

- MSLICE1, successful and widely used MATLAB application written at ISIS, ported to DAVE
- Three modes of operation: powder, single crystal, or diffuse scattering
- Background subtraction, detector efficiency correction, detector masks
- Two options of binning method: average or sum
- Color contour plots or surface plots of slices of S(Q,), symmetrized S(Q, ), or d2/ddEf
- Flexible plotting and overplotting of cuts, arbitrary number of plotting windows
- Direct exporting of 1D cuts to PAN for fitting in DAVE

- 1MSLICE, written in MATLAB by Radu Coldea, ISIS Facility

## Novel application: elastic diffuse scattering

- Capabilities of MSLICE1 extended to include analysis and visualization of elastic diffuse scattering
- processing: reduce and assemble hundreds of TOF files collected for different sample orientations
- Visualization of the geometry of the diffuse scattering

- 1MSLICE, written in MATLAB by Radu Coldea, ISIS Facility

## DAVE users

- NCNR users of time-of-flight, triple-axis and backscattering spectrometers: BT4 (FANS), BT2, BT7, BT9, SPINS, DCS, FCS, HFBS
- Members of the neutron scattering community analyzing data taken on neutron spectrometers from all over the world:
- 	e.g.	IN6 (ILL), LRMECS and QENS (IPNS), NEAT (HMI), FOCUS (SINQ), and IRIS (ISIS)

## DAVE users

- Since public beta release (July 15, 2002)...
- Total DAVE downloads:		2556
- Total DAVE website hits:	28044

- _Very positive user feedback since beta release in January 2002_

## A look ahead

- Redesign infrastructure to allow persistence of multiple data files and multiple simultaneous applications
- NSE data reduction
- NEXUS read/write capability
- Shared development effort with users outside of NCNR