The Integrated Spectral Analysis Workbench (ISAW) DANSE Kickoff Meeting, Aug. 15, 2006, D. Mikkelson, T. Worlton, Julian Tao
Outline ● What is ISAW ● Design Goals ● Highlights from supported instruments ● Overall Structure ● What Worked Well ● What Didn't ● Future
ISAW ● Developed as collaborative effort between IPNS and UW-Stout – Development started in 1999 – Funding from the NSF since 2002 ● Currently used on – 8 instruments at IPNS – 4 instruments at LANSE ● Some components are being used in the SNS Portal and at ANSTO
ISAW's Main Goal ● Provide a user-friendly, coherent collection of tools for neutron scattering data visualization, reduction and analysis, including remote access and access to “live” data for experiment steering.
Extensible ● Operators provide new functionality ● Scripts allow users to combine operators, control and customize data reduction ● User supplied scripts and operators are automatically found, placed in menus and callable from other operators and scripts
Portable ● Portable to different instruments of the same type. ● Portable within and across facilities ● Portable to future upgraded instruments ● Portable to most widely used personal computing systems, Windows, Mac, Linux
Really Free ● GNU GPL ● Based on freely available deployment and development system. (Java)
HRCS S(Q,E)
SCD Index/Integrate Wizards
SCD Reciprocal Space Slicer
SCD Reciprocal Space Viewer
SAND/SASI S(Qx,Qy)
GPPD raw data
GSAS Peak Shapes
GLAD -> Reduced Noise
GLAD -> Extended Q Range
ISAW Data Objects ● A “Data” object represents one sequence of values at a list of “X” values, together with attributes that apply to the sequence of values. ● A “DataSet” is a list of Data objects together with attributes that apply to the full collection of Data objects. ● “Virtual Arrays” provide abstraction for a source of Data that can be mapped to an array
Retrievers & Writers ● “Retriever” objects can get DataSets from – IPNS run files – NeXus files (LANSCE, SNS, LENS) – ISIS files (some instruments) – Live or Remote Data servers – ISAW serialized DataSets & ISAW XML format ● “Writer” objects write data to – NeXus files – GSAS input files – ISAW serialized DataSets & ISAW XML format
Viewers ● DataSets and Virtual Arrays can be displayed in highly interactive viewers for – images – tables – graphs – 3D
Operators ● Encapsulate one logical operation ● Are self-describing ● Include a method to provide end-user documentation ● Can be automatically wrapped around Java static method ● Can be wrapped around external methods (C, FORTRAN, or... via JNI)
ISAW Scripts ● “Special Purpose” scripting language ● VERY easy to use ● Controls a sequence of operations, typically on DataSets ● GUI is auto generated for rapid prototyping ● End user documentation provided in scripts ● New scripts are automatically placed in the ISAW menu system
Wizards ● An ISAW Wizard controls a sequence of operations ● Step forward/backward through forms, view intermediate results, change parameters, etc. ● Each Wizard form corresponds to one operator or script ● A Wizard is EASILY constructed from a sequence of operators and/or scripts (“almost” automatic”) ● Parameters can be linked across forms
What Worked Well ● Common Data structures ● Reusable interactive viewers ● The operator concept (NOTE: operators ”should” just be wrapped around calculation to keep the core calculations isolated from the framework.) ● Scripts (Instrument scientists can customize)
What Worked Well (cont'd) ● Automatically generated GUI for scripts and operators ● Operator Generator (wraps an underlying method in an operator) ● Wizards ● Auto-discovery of new scripts and operators – Automatic placement in menu system ● NOTE: ISAW is NOT monolithic... the “workbench” is just a convenient launching point for scripts, operators and wizards
What Didn't ● Original Data/DataSet objects only appropriate for raw data and certain types of reduced data ● Need a better strategy for managing data attributes, as Data are summed, merged, etc. ● NeXus promises to provide a common format for data interchange but... – need instrument definitions – need facilities to write “standard” NeXus files
Future Directions ● Collaboration with DANSE and SNS – DANSE & SNS could use ISAW components where appropriate – ISAW hosted as application in SNS Portal – ISAW could provide complementary data reduction and visualization on small computers using DANSE and SNS components – New capabilities: TOPAZ reciprocal space visualization and analysis ● Collaboration with Xray community ● Support our users! (IPNS, LANSCE, SNS...)
Acknowledgments ● This material is based on work supported by the National Science Foundation under grant numbers DMR and DMR ● ANL/IPNS ● The whole ISAW team