ISAW: Integrated Spectral Analysis Workbench Technical Overview ARCS Software Workshop at California Institute of Technology Peter F. Peterson (IPNS)

Slides:



Advertisements
Similar presentations
Programming Paradigms and languages
Advertisements

CS0004: Introduction to Programming Visual Studio 2010 and Controls.
® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VI December 5, 2002 John Readey
World Class Financial Reporting with FRx Report Writer Elisa R. Vick
© by Pearson Education, Inc. All Rights Reserved.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Graphical User Interface (GUI) Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Interact: RETSINA’s Agent Editor Provides a GUI interface to agent’s task and reduction libraries Allows –quick development of new libraries –easy extensions.
Automating Tasks With Macros. 2 Design a switchboard and dialog box for a graphical user interface Database developers interact directly with Access.
11 3 / 12 CHAPTER Databases MIS105 Lec14 Irfan Ahmed Ilyas.
Graphical User Interface (GUI) Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
© Prentice Hall CHAPTER 3 Computer Software.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Object-Oriented Analysis and Design
ASP.NET Programming with C# and SQL Server First Edition
QGIS Matthew Rosencrans Tom DiLiberto. Outline What is QGIS? What can we do with it? What data can we work with?
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
C++ fundamentals.
Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter One An Introduction to Visual Basic 2010.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
Copyright © 2006, SAS Institute Inc. All rights reserved. Enterprise Guide 4.2 : A Primer SHRUG : Spring 2010 Presented by: Josée Ranger-Lacroix SAS Institute.
Microsoft Visual Basic 2005: Reloaded Second Edition
Chapter 8 More Object Concepts
User Friendly Software for Single Crystal TOF Neutron Scattering Data Visualization and Reduction Dennis Mikkelson 1, A.Schultz 2, P.Peterson 2, R.Mikkelson.
Stimulsoft Reports.Net 20 Problems which Stimulsoft Reports.Net solves
Using Visual Basic 6.0 to Create Web-Based Database Applications
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
IE 411/511: Visual Programming for Industrial Applications
Chapter 9 Event-Driven Programming with Graphical User Interfaces
CHAPTER FOUR COMPUTER SOFTWARE.
The Effectiveness of Web Components Presented By: Geoffrey Zimmerman Computer Science Capstone Fall 2004/Spring 2005 Mentor: Dr. C. David Shaffer.
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
GumTree Feature Overview Tony Lam Data Acquisition Team Bragg Institute eScience Workshop 2006.
JavaScript, Fourth Edition
Mantid Scientific Steering Committee Nick Draper 10/11/2010.
Chapter 6 Object-Oriented Java Script JavaScript, Third Edition.
Productivity Programs Common Features and Commands.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Binding UI Components to Data. Adding UI Components to the Page You can create components on a page by: Dragging a component from the Component Palette.
Nick Draper 05/11/2008 Mantid Manipulation and Analysis Toolkit for ISIS data.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Lection №5 Modern integrated development environment.
CC111 Lec7 : Visual Basic 1 Visual Basic(1) Lecture 7.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
Introduction to Processing. 2 What is processing? A simple programming environment that was created to make it easier to develop visually oriented applications.
What is WinRunner ► WinRunner is Mercury’s legacy automated testing tool ► It is similar to QTP in functionality ► WinRunner integrates with other Mercury.
1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Jyoti Parwatikar January 7, MSR Tutorial Monitoring WUGS Switch Jyoti Parwatikar January 7, 2002.
Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on “Java Development with Ant” - E. Hatcher & S.Loughran.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Microsoft Visual Basic 2008: Reloaded Third Edition Chapter One An Introduction to Visual Basic 2008.
Objective You will be able to define the basic concepts of object-oriented programming with emphasis on objects and classes by taking notes, seeing examples,
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Techniques for List Creation (2) Data formatting and control level processing Basics for Interactive Lists Detail lists The Program Interface Interactive.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
The Integrated Spectral Analysis Workbench (ISAW) DANSE Kickoff Meeting, Aug. 15, 2006, D. Mikkelson, T. Worlton, Julian Tao.
NESSI ISAW Demo Tom Worlton 10/13/2003. Acknowledgements D.J. Mikkelson, R. Mikkelson, C. Bouzek, M. Miller, B. Serum, K. Neff, University of Wisconsin-Stout.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Mantid Scientific Steering Committee Nick Draper 18/06/2010.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Key Ideas from day 1 slides
CIS16 Application Development Programming with Visual Basic
Presentation transcript:

ISAW: Integrated Spectral Analysis Workbench Technical Overview ARCS Software Workshop at California Institute of Technology Peter F. Peterson (IPNS)

ISAW contributors Dennis Mikkelson and Ruth Mikkelson—UW- Stout Alok Chatterjee (now on DAS team) Peter Peterson (Post-Doc) John Hammonds (DAS—read run file) Chun Loong (scientific advisor) Tom Worlton (project manager) Dongfeng Chen (HRMECS functions, now in China)

The IPNS Web Project The goal of the IPNS Web Project is to provide remote access to data using portable, extensible software Integrated Spectral Analysis Workbench (ISAW) ISAW can read, view, and manipulate neutron scattering data. It provides both a GUI for ease of use and a scripting language for the power of repetitive operations. It is written entirely in Java using object-oriented programming techniques for ease of portability and maintenance.

ISAW Design Goals Interactive environment for visualization and analysis of Neutron Scattering Data Applicable to any instrument Freely available User friendly GUI Programmer friendly (OOP) User extensible Remote data access

DataSet Concept Container DataSet DataBlock DataSet A DataSet holds a collection of DataBlocks (spectra) with same units Each DataBlock can have meta-data associated with it stored in an extensible list of Attributes

DataSet Concept (cont) DataBlocks (individual spectra—functions or histograms) Includes attributes, x-values, y-values, errors DataSets (sets of spectra) Includes DataBlocks, OperationLog, x-units, x-label, y-units, y-label, title, data ranges, attributes Operations are DataSet dependent and can be performed on all spectra in DataSet Datasets can be merged, summed, etc. Containers (sets of DataSets)

ISAW data views Tree view Table view

ISAW data views Image view 3D view Scrolled graph view Selected graph view

Views are responsive to controls DataSets know which spectrum is currently pointed at/clicked on DataSets know which spectra are selected Menus know what operations can be performed on specified DataSets

Views are responsive to controls Operations menu depends on DataSet pointed at by mouse/arrow keys Attributes are listed for pointed at spectrum or DataSet Cursor position readouts are responsive to mouse drag movements and arrow key movements Selected graph view only shows selected spectra Graph portion of Image view shows selected spectra plus pointed at spectrum Mouse/keyboard used to zoom/unzoom

Abridged Organization of ISAW Source ISAW CommandNetCommDataSetTools datasetutiloperator DataSet AttributeConversion EditListMath SpecialDG_Spectrometer DiffractometerIDG_Spectrometer ReflectometerSAD SCD Generic Batch Calculator Load Save Special retrieverviewerwriter OperatorsScripts

Adding New Functionality End users can add new subroutines either as scripts or operators Common subroutines can be shared in a single location Individual users can develop code for their specific use

Operators Written in java Automatically located and added to menus Promotes code reuse Function: Maintains a list of parameters Invoked Using getResult()

EXAMPLE: ActivateStorage Required methods constructors getCommand() for scripts to call the operator setDefaultParameters() set up reasonable default values getResult() perform the actual operation All information is passed to the operator in parameters

Scripts Simple uncompiled language to make repetitive tasks easier using FORTRAN/Basic-like syntax Automatically added to menu system GUI interface is automatically generated Function: Provide easy user add-ons Can be run inside or outside of ISAW

EXAMPLE: merge_runs

Merged runs

Zoom in on merged runs

Future Interface: Wizards ISAW OperatorsScriptsWizards Master List of Parameters Name Value Pairs State of Parameter Forms One Logical Step Script or Java Code

EXAMPLE: MathWizard Forms perform one logical step draw themselves contain help information Wizards collect forms in an order communicate between forms allows switching between forms in order contain help information

Future Plans for ISAW Abstraction of data types – allow for using model functions and event data Viewers – create custom viewers using existing viewer components Wizards Greater NeXuS support XML for internal saves of data and processing information