25th & 26th August 2009ICAT developer workshop 1.

Slides:



Advertisements
Similar presentations
How to Set Up a System for Teaching Files, Conferences, and Clinical Trials Medical Imaging Resource Center.
Advertisements

How to Author Teaching Files Draft Medical Imaging Resource Center.
Data Documentation Initiative (DDI) Workshop Carol Perry Ernie Boyko April 2005 Kingston Ontario.
Introduction to the BinX Library eDIKT project team Ted Wen Robert Carroll
1/1/ / faculty of Electrical Engineering eindhoven university of technology Managing complex designs Workshop on VLSI Design Using the Interactive Design.
Panasonic Singapore Labs – Network Team QoS and Delivery Context in Rule-Based Edge Services Prepared for IWCW2002 By Ng Chan Wah
Data Formats: Using self-describing data formats Curt Tilmes NASA Version 1.0 Review Date.
Professional Toolkit V2.0 C:\Presentations - SmartCafe_Prof_V2.0 - bsc page 1 Professional Toolkit 2.0.
Java Script Session1 INTRODUCTION.
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
LV2IDL, a software package for automatic data transfer between LabVIEW and IDL Gelu M. Nita New Jersey Institute of Technology.
® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VI December 5, 2002 John Readey
Why python? Automate processes Batch programming Faster Open source Easy recognition of errors Good for data management What is python? Scripting programming.
Introduction to MATLAB and image processing. MATLAB and images The help in MATLAB is very good, use it! An image in MATLAB is treated as a matrix Every.
Russell Taylor Lecturer in Computing & Business Studies.
Chapter 8: I/O Streams and Data Files. In this chapter, you will learn about: – I/O file stream objects and functions – Reading and writing character-based.
ASP.NET Programming with C# and SQL Server First Edition
LHCbPR V2 Sasha Mazurov, Amine Ben Hammou, Ben Couturier 5th LHCb Computing Workshop
Mapping Physical Formats to Logical Models to Extract Data and Metadata Tara Talbott IPAW ‘06.
The Vision Document 1. Importance of a Vision Document  It describes the application in general terms, including descriptions of the target market, the.
HDF 1 NCSA HDF XML Activities Robert E. McGrath Mike Folk National Center for Supercomputing Applications.
Advance Model Builder Features. Advance Features Using Lists (also Batching) Iteration Feedback Model Only Tools Inline Variable Substitution Preconditions.
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
Creating a Simple Page: HTML Overview
CLARIN tools for workflows Overview. Objective of this document  Determine which are the responsibilities of the different components of CLARIN workflows.
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey
Overview of SQL Server Alka Arora.
Jakub Černý, Jure Zakrajšek „Comet Siding Spring Close Encounter with Mars Observers“ Workshop August 11, 2014.
Data Formats: Using Self-describing Data Formats Curt Tilmes NASA Version 1.0 February 2013 Section: Local Data Management Copyright 2013 Curt Tilmes.
Topics Introduction Hardware and Software How Computers Store Data
CIS Computer Programming Logic
Getting Started with MATLAB 1. Fundamentals of MATLAB 2. Different Windows of MATLAB 1.
The european ITM Task Force data structure F. Imbeaux.
CSE 222: Software Components in Engineering (SCE) – Introduction Instructor: Jimmy Voss Disclaimer: Not all material is original. Some is taken from the.
Slide: 1 NeXus and Synchrotrons: Challenges and Requirements V.A. Solé – ESRF Software Group NeXus Data Format Workshop, PSI, May
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
Getting Started with MATLAB (part2) 1. Basic Data manipulation 2. Basic Data Understanding 1. The Binary System 2. The ASCII Table 3. Creating Good Variables.
Python Arrays. An array is a variable that stores a collection of things, like a list. For example a list of peoples names. We can access the different.
HDF5.
(A Very Short) Introduction to Shell Scripts CSCI N321 – System and Network Administration Copyright © 2000, 2003 by Scott Orr and the Trustees of Indiana.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
Programming Fundamentals. Overview of Previous Lecture Phases of C++ Environment Program statement Vs Preprocessor directive Whitespaces Comments.
Réunion Contrôle Expérience 28/03/ Experiments Controls Vision, ideas, tasks to begin with … Alain Buteau Andy Götz.
With TANGO S. Poirier – Data management group.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Utilizing the Benefits of Native XML Database Technologies Alan Cornish Systems Librarian Washington State University Libraries.
09/06/ Data Representation ASCII, Binary Denary Conversion, Integer & Boolean data types.
Programming in Arduino Materials:Arduino Board Casperelectronics Pre Pres. Notes Photos from workshop?
Winter 2016CISC101 - Prof. McLeod1 CISC101 Reminders Assignment 5 is posted. Exercise 8 is very similar to what you will be doing with assignment 5. Exam.
Access Grid Workshop – APAC ‘05 Node Services Development Thomas D. Uram Argonne National Laboratory.
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
Record Storage, File Organization, and Indexes
Topics Introduction Hardware and Software How Computers Store Data
Object-Oriented Analysis and Design
Embedded Software Development with Python and the Raspberry Pi
Introduction Multimedia initial focus
DTIAtlasFiberAnalyzer Tutorial
Final Project: Read from a csv file and write to a database table
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Introduction to Programming
Topics Introduction Hardware and Software How Computers Store Data
Data Representation Conversion 05/12/2018.
Introduction to Computer Programming
Introduction to Data Structure
JavaScript CS 4640 Programming Languages for Web Applications
LCC 6310 Computation as an Expressive Medium
Web Application Development Using PHP
JavaScript CS 4640 Programming Languages for Web Applications
Presentation transcript:

25th & 26th August 2009ICAT developer workshop 1

25th & 26th August 2009ICAT developer workshop 2 Overview Introduction Writing templates Real example Main usages Future

25th & 26th August 2009ICAT developer workshop 3 Introduction Why does we need a extracting tool ?  Because the analysis software the users use to process data are not yet able to read NeXus files What were the Requirements  A tool able to extract any kind of data from NeXus files and write it a arbitrary file format (in ASCII or binary mode)  Output description as simpliest as possible  Efficiency 2 possibilities  Extending a scripting language like Python  Developing a specific tool that process template files describing the output Why choosing the second way ?  The templates have to be as short as possible while keeping a good readability: they must be understood even by a scientist !  Fast to execute  Easy to deploy (very few dependencies, apart from NeXus and HDF5)

25th & 26th August 2009ICAT developer workshop 4 Introduction Capabilities  Extracting any kind of data  Writing one or more files (ASCII or binary, it's not a matter) from a single NeXus file  Directly writing 2D data as jpeg or bmp files (png format will be added soon)

25th & 26th August 2009ICAT developer workshop 5 Writing a template In a template you describe the extraction in a “WYSIWYM”-like way (What You See Is What You Mean)  Just write that you want to get  The result is written on the console  Defining a output file No keywords, only symbols ! Actually, it's not a language just a way to describe a output format

25th & 26th August 2009ICAT developer workshop 6 Writing a template Looping over a collection  The NXentry groups Testing values, attributes or dataset presence Defining data block  Not directly written on output Defining and using variables  Recursive evaluation of content

25th & 26th August 2009ICAT developer workshop 7 Writing a template Looping over values  index is in range [0, array_size[ Inserting sub-template  The sub-template inherit variables and data blocks of its parent

25th & 26th August 2009ICAT developer workshop 8 Real example A script used on the SWING beamline used to extract images data from Nexus file and output them as EDF (ESRF Data format) files. Characteristics of the output format  The file is made of 2 parts: a ASCII header and a binary image data  ASCII Header length must be a power of 2  a lot of cabbalistics fields must be filled  binary data must be 2 bytes integer Input NeXus files contains several image, each image in a dedicated NXdata group and named image#i with i in range [0, image_count[ (I known, a image stack would be a better way for storing data in that case)

25th & 26th August 2009ICAT developer workshop 9 Main usages at Soleil During the data acquisition process a extraction is (most of the time) applied automatically for each NXentry group or for the whole NeXus file (on 7 out of 11 beamlines) Our data portal application allows users to download NeXus files as well as on the fly extractions using nxextract on server side  Templates depends of the beamline

25th & 26th August 2009ICAT developer workshop 10 Future Adding PNG format support Defining standard template(s) for exporting data in CIF or imgCif files ? (but no interest for Soleil up to now) Embeding the Python engine ?  Allowing to define data block filled by Python script, like this: