Remote Data Collection and Analysis Tom Worlton Argonne National Laboratory



Similar documents
1. Overview of the Java Language

Web Pages. Static Web Pages SHTML

WIMDA: a muon data analysis program for the Windows PC

How to Back Up and Restore an ACT! Database Answer ID 19211

NASA Workflow Tool. User Guide. September 29, 2010

CSC 551: Web Programming. Spring 2004

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

Chapter Contents. Operating System Activities. Operating System Basics. Operating System Activities. Operating System Activities 25/03/2014

Chapter 12 Programming Concepts and Languages

Installing Windows On A Macintosh Or Linux Using A Virtual Machine

PC Requirements and Technical Help. Q1. How do I clear the browser s cache?

Scatter Chart. Segmented Bar Chart. Overlay Chart

For Course Details, visit:

Tutorial 2 Online and offline Ship Visualization tool Table of Contents

Evolution of the Major Programming Languages

Hypercosm. Studio.

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

Network Probe User Guide

SPSS: Getting Started. For Windows

Java vs. Java Script

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Programming Languages & Tools

Distance-Learning Remote Laboratories using LabVIEW

Expedite for Windows Software Development Kit Programming Guide

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

understand how image maps can enhance a design and make a site more interactive know how to create an image map easily with Dreamweaver

Effective Java Programming. measurement as the basis

FileMaker 11. ODBC and JDBC Guide

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

IDL. Get the answers you need from your data. IDL

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

Efficiency of Web Based SAX XML Distributed Processing

A Real Time, Object Oriented Fieldbus Management System

UNISOL SysAdmin. SysAdmin helps systems administrators manage their UNIX systems and networks more effectively.

BarTender Print Portal. Web-based Software for Printing BarTender Documents WHITE PAPER

Efficiency Considerations of PERL and Python in Distributed Processing

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Evaluation of Open Source Data Cleaning Tools: Open Refine and Data Wrangler

INFORMIX - Data Director for Visual Basic. Version 3.5

Nuclear Science and Technology Division (94) Multigroup Cross Section and Cross Section Covariance Data Visualization with Javapeño

Chapter 4. Operating Systems and File Management

4D and SQL Server: Powerful Flexibility

DataPA OpenAnalytics End User Training

1 First Steps. 1.1 Introduction

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

COMPLETE USER VISUALIZATION INTERFACE FOR KENO

Using Actian PSQL as a Data Store with VMware vfabric SQLFire. Actian PSQL White Paper May 2013

0 Introduction to Data Analysis Using an Excel Spreadsheet

Checking Browser Settings, and Basic System Requirements for QuestionPoint

NCTE Advice Sheet Storage and Backup Advice Sheet 7

A Comparison of Programming Languages for Graphical User Interface Programming

Integrated Open-Source Geophysical Processing and Visualization

DATA MINING TOOL FOR INTEGRATED COMPLAINT MANAGEMENT SYSTEM WEKA 3.6.7

Rweb: Web-based Statistical Analysis

Web-based based Access to ROOT

Frequently Asked Questions

1/20/2016 INTRODUCTION

STATGRAPHICS Online. Statistical Analysis and Data Visualization System. Revised 6/21/2012. Copyright 2012 by StatPoint Technologies, Inc.

SPSS 12 Data Analysis Basics Linda E. Lucek, Ed.D

Jonathan Worthington Scarborough Linux User Group

DiskPulse DISK CHANGE MONITOR

Suite. How to Use GrandMaster Suite. Backup and Restore

How To Understand Programming Languages And Programming Languages

Continuous Data Protection. PowerVault DL Backup to Disk Appliance

Excel Tutorial. Bio 150B Excel Tutorial 1

Interactive Applications in Teaching with the MATLAB Web Server. 1 Aim and structure of the MATLAB Web Server

Chapter 24: Creating Reports and Extracting Data

Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS.

Introduction to AutoMate 6

Encore. The Powerful, Affordable Answer for Contact Centers Like Yours. Product Description

Manage Software Development in LabVIEW with Professional Tools

Table of Contents. Welcome Login Password Assistance Self Registration Secure Mail Compose Drafts...

Java (12 Weeks) Introduction to Java Programming Language

Contents. Introduction. Chapter 1 Some Hot Tips to Get You Started. Chapter 2 Tips on Working with Strings and Arrays..

Software: Systems and Application Software

Remote Monitoring and Control of Irradiation Experiments

Systems Analysis Input and Output 1. Input and Output

A Crash Course in OS X D. Riley and M. Allen

Sisense. Product Highlights.

What you can do:...3 Data Entry:...3 Drillhole Sample Data:...5 Cross Sections and Level Plans...8 3D Visualization...11

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. CIV 112 Computer Programming Lecture Notes (1)

Table of Contents. INTRODUCTION...v. How to Use This Manual...v Terms Used in this Manual...v Fonts Used in this Manual...v

An Overview of Java. overview-1

Analyzing Data Using Excel

The Mantid Project. The challenges of delivering flexible HPC for novice end users. Nicholas Draper SOS18

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys

2 SQL in iseries Navigator

Fig (1) (a) Server-side scripting with PHP. (b) Client-side scripting with JavaScript.

Microsoft Exchange 2003 Disaster Recovery Operations Guide

Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems

QAD Enterprise Applications. Training Guide Demand Management 6.1 Technical Training

SA-9600 Surface Area Software Manual

KaleidaGraph Quick Start Guide

Table of Contents. Introduction: 2. Settings: 6. Archive 9. Search Browse Schedule Archiving: 18

Introduction to SPSS 16.0

A Guide To Evaluating a Bug Tracking System

CatDV Pro Workgroup Serve r

Transcription:

1. Introduction ICANS XIV 14 Meeting of the International Collaboration on Advanced Neutron Sources June 14-19,1998 Starved Rock Lodge, Utica, IL Remote Data Collection and Analysis Tom Worlton Argonne National Laboratory Neutron sources are getting more intense and the quantities of data produced for a given experiment are increasing. Some experiments can be done in a few minutes. The number of experiments which can be performed and the number of papers which can be written is limited by speed of analysis. Instrument Scientists at the major facilities spend much of their time helping users, not only with data collection, but also with data analysis. Ideally, the outside users should be able to take a larger share of the responsibility for data collection and analysis. This would allow the Instrument Scientists to work with more users and more papers could be produced. One of the factors limiting data collection and analysis by outside users is the difficulty in using the software that has been developed. The software generally is written in such a way that the user must type a lot of input. The software needs to become easier and more intuitive to use. The other factor limiting data collection and analysis by outside users is the need to travel to the facility to perform the experiment and analyze the data. Allowing this to be done remotely could greatly expand the number of users of the neutron facilities. 2. Remote Data Collection and Analysis Project In order to enable scientists to more easily collect and analyze data and to allow them to do experiments remotely, we have begun a project to provide remote user-friendly data access, viewing, and manipulation. We also plan to provide an interface between this data viewing and manipulation software and specialized analysis programs. This project is possible because of recent developments in computer technology such as html and Java. Steps in data collection and analysis are shown in Table 1. Most steps can be performed but the steps in the shaded areas will still need to be performed locally. locally, 195

Table 1 Remote data collection and analysis. Most steps of the data analysis procedures can be done remotely, ut the shaded steps must still be performed locally. Data Collection Data Analysis ~~b~~use<control.:.,,,,,, J II,! i.., _ Z \, I Set up data collection Start collection Read data View spectra Operate on Spectra Control Sample Analyze data or Environment prepare analysis input files Stop Collection Collaborate with Instrument Scientist For remote data collection and analysis, samples will still need to be loaded locally, but a sample changer could allow batch loading of samples. Because more than one user might be using the instrument, it will be necessary for the facility to enable data collection for a specific user. Otherwise, it would be possible for one user to interfere with another or for an arbitrary person to interfere with data collection and instrument operation. Although environmental parameters could be controlled remotely, there would need to be hardware or software limits imposed by the facility. Archiving of data should be handled by the facility and could be done automatically, by connecting the data transfer to the data collection process. Because CDROM drives are now found on nearly all computers, CD Recordable (CDR) is a very desirable storage and distribution medium. CDR disks will last much longer than tape and it will probably be many years before CDROM drives disappear. By that time, DVD drives will have replaced CDROM drives and they will also be able to read CDR disks. The other advantage of using CDR is that remote users cannot accidentally (or intentionally) overwrite the data once it has been archived. Data can be archived and accessed without operator intervention, if a CD jukebox is used. We have chosen to write most software in the Java programming language because Java is designed as a network-based, operating system-independent language (see http://www.javasoft.com/). Java is also secure, object-oriented, and easier to write than C++ code. Java is also more suitable for use by non-professional programmers because it manages memory and does not have pointers. This prevents the programmer from creating memory leaks or accessing memory used by other programs. If the software is intended to run only on the server, it can be written in a native language such as C, C++, or Fortran. 196

Java programs can be compiled either as applications or as applets. An applet runs inside a web browser, while an application can be run independent of a web browser. Java achieves machine and operating system independence by defining a byte code which can be run by a Java virtual machine installed on the local computer. In the case of applets, the virtual machine is provided by the browser. The use of an interpreted byte code means Java programs run slower than native language programs such as C and C++ that are compiled for the target machine. However, Java Just In Time compilers can be used to compile byte code into machine code and speed up execution. One of the attractive features of Java is the ease with which one can write Graphical User Interfaces which can run on different platforms with a native look and feel. The Java GUI routines are in the Active Windowing Toolkit which appeared in Java version 1.1. Another class called SWING, provides even more powerful GUI functions. Swing will become standard in Java version 1.2. Sample menus showing Java menus and the File dialog box provided by Java are shown in Figs. 1 and 2. Figure 1 A sample Java menu bar and pull-down File menu. A sample Java file dialog box is shown in Fig. 2. The built-in classes in the Java AWT and Swing provide a simple method for interactively selecting and reading files. 197

GPPD9959Dl GSAS GF F D9959D2.GSAS GPPD9959d49GSAS Figure 2 A sample Java File dialog box for selecting and reading files. Menu bars and pull-down menus are quite familiar to most computer users now because of the ubiquity of Microsoft Windows and the Macintosh as personal computers. One of the goals of new software design is to make the use intuitively obvious so that new or inexperienced users can find their way through the operations provided by the program without assistance from other users and without the use of a user manual. This can be accomplished through the use of a familiar menu structure such as shown in Figs. 1-3. Figure 3 Sample Java menus for selecting viewing options. 198

Although we are writing our code in Java, we may still execute some functions through the web browser and CGI for simplicity. The web browser can execute CGI scripts written in Perl, TCL, JavaScript, Visual Basic, or some other scripting language native to the machine being used as a web server (See http:nwww.w3.org/markun/, httn://hoohoo.ncsa.uiuc.edu/cg;i/, httn:nwww.perl.org;l,. http://www.scriptics.com/scripting/) 3. Project Status Initially we planned to put the data in a database so we could use standard Java DataBase Connectivity (JDBC) tools to access the data. We tested this with the free Postgress database and found it too slow and inefficient. We then switched to Microsoft SQL server and found quite good response and efficiency. This is an acceptable method for instruments with moderate amounts of information, but for instruments with very large data sets, we decided that it is better to read the spectra from the raw data files. The raw data files will be read from the disk drives on the data collection computers or from the CDR data archive. Storing the header information in the database is still preferred for convenience in searching for desired data sets. The Java routines for searching the database and reading the data from the database are working. Programs to load the data into the database are also working. We used C for writing data & the database since the database is local, and populating the database does not require software to run on a client machine. Java was used for the routines to read from the database since they will typically be run remotely on the client machines. For highest storage efficiency and speed of access, we have written routines to read the data directly from the raw IPNS Run Files. Since access routines for these files were already available in C, the routines were written in C with a Java interface to the native methods. We may later rewrite these routines in pure Java to allow users to download the raw data and access it using our read routines. We will also write data retrieval routines for other types of data such as NeXUS [P. Klosowski, et al. 19971. We have designed Data objects to contain a single spectrum and DataSet objects to hold multiple Data objects with common independent variables. The Data object includes an XScale, an array of y-values, and an array of errors. It can also contain Attributes such as temperature or pressure. Attributes are optional and can be any string or float parameter. The Attribute class has a comparison method that allows a program to sort without needing to read and compare the attributes. Methods available for Data objects include add, subtract, multiply, divide, rebin, set attribute, and get attribute. The error array in the Data objects contains the statistical uncertainty for each data value. Raw neutron scattering data has a statistical uncertainty equal to the square root of the total number of counts, so a method has been included to set the errors to those values. As the data is manipulated, the data errors will be combined to properly propagate errors. Each IPNS run would map to a DataSet with the spectrum from each detector element mapping to a Data object within the DataSet. DataSet objects include methods to add and remove Data objects, to set and get labels, IDS, titles, and axis units, and to get data ranges. The DataSet object includes a log of operations that have been performed on the Data in the DataSet. We will 199

also have a DataSetContainer that allows handling multiple runs such as a series of measurements at different temperatures. Programs have been written to display an x-y plot of a selected Data from a DataSet, and to display an image composed of all the data from a DataSet. The intensities of points in the image are represented by the pixel color and each row of the image represents a Data. The image display we have produced is similar to that generated in the TOF_VIS program [Mikkelson and Worlton, 19971. Currently the rows of the image are sorted by detector element number and the data all comes from one DataSet. We are working on generalizing the selection and sorting of the different Data objects that make up the image so they can be selected from different DataSets in a DataSetContainer. This will allow us to display an image composed of spectra sorted by temperature or other variable. We initially were uncertain whether Java would work well with cursor interaction, but have been pleasantly surprised. We are able to generate x-y plots and display selected values in real time as the cursor is moved over the image. 4. Conclusion An increase in the neutron scattering user community is necessary to make full use of neutron sources. Software that is easier to use and that can be run remotely will facilitate involving new users with neutron scattering. World Wide Web browsers and Java make it possible to design software that can run on multiple computing platforms and can run over the Internet. IPNS has begun a project to design software to allow remote data collection and analysis. A database is being used for storing and organizing information about experiments. Java code has been written to search and retrieve information about experiments and Java classes have been written for reading IPNS data. Methods are included to view, manipulate, and save data sets. Work on the project is ongoing. 5, Acknowledgements The funding for this project came through a grant from the office of the Director of Physical Research at Argonne National Laboratory as result of a proposal submitted by C.-K. Loong, J.P. Hammonds, R. Osborn, T. Morgan, and T. Diesz. Joe Nipko, Dennis Mikkelson, and Dhar Desai have written software most of the software described here. 6. References P. Klosowski, M. Koennecke, J.Z. Tischler, R. Osborn, Nexus: A common format for the exchange of neutron and synchrotron data, Physica B: Physics Of Condensed Matter (241-243) l- 4 (1998) pp. 151-153 D. Mikkelson, T. Worlton, TOF-VIS, software for interactive exploration of time-of-flight data, Physica B: Physics Of Condensed Matter (24 l-243) l-4 (1998) pp. 142-144 200