OSGi services, FOSS CV libraries Eclipse Rich Beans for the analysis of nanoscale data Fajin Yuan & Baha El Kassaby.

Slides:



Advertisements
Similar presentations
Modeling Electrical Systems With EMTP-RV
Advertisements

Introduction Main technologies: core written in Java embedded Jython interpreter code managed using the Eclipse plugin framework client program uses Eclipse.
The DAWNSci Eclipse science usecases Jun Aishima Software Engineer Diamond Light Source Didcot, UK.
UWO Nanofabrication Facility and Science Studio. Facility to be hooked into Science Studio: Western Nanofabrication Facility, University of Western Ontario.
Copyright  2005 Symbian Software Ltd. 1 Lars Kurth Technology Architect, Core Toolchain The Template Engine CDT Developer Conference, Oct 2005.
EE 235 Presentation 2 Brian Lambson X-PEEM and its applications.
STXM Cat Graves Stöhr Group SASS Talk 09/30/09.
Ψ-k workshop on magnetism in complex systems, 16 th – 19 th April 2009, TU WienM. Stöger-Pollach Detection of magnetic properties on the nanometer scale.
Use of RCP for Instrument Control Tony Lam 2006 Eclipse SLAC.
Application of robotics methods to Neutron and Synchrotron diffraction instrumentation Jon James, Nov 2008 Department of Design, Development, Environment.
The ICE Tool Feng Wen Qi Yuan Kin Wah Leung. Presentation Overview  Project goal  Interactive GUI  Introduce image enhancement techniques  Integration.
-An open source not for profit project -On GitHub ‘DawnScience’ - Diamond Light Source Ltd. and the ESRF are largely publically funded research facilities.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Joachim Stöhr Stanford Synchrotron Radiation Laboratory X-Ray Absorption Spectroscopy J. Stöhr, NEXAFS SPECTROSCOPY,
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Java Beans.
ROOT: A Data Mining Tool from CERN Arun Tripathi and Ravi Kumar 2008 CAS Ratemaking Seminar on Ratemaking 17 March 2008 Cambridge, Massachusetts.
OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin.
Data Formats CMSC 491 Hadoop-Based Distributed Computing Spring 2015 Adam Shook.
Avro Apache Course: Distributed class Student ID: AM Name: Azzaya Galbazar
GumTree The Scientific Workbench ~Technology Showcase~ Tony Lam Australian Nuclear Science and Technology Organisation.
Easy-to-Use CFD for Electronics Design. Introduction A CFD thermal simulation tool specifically designed for the electronics industry Future Facilities.
Visual Linker Final presentation.
CP467 Image Processing and Pattern Recognition Instructor: Hongbing Fan Introduction About DIP & PR About this course Lecture 1: an overview of DIP DIP&PR.
Company Overview for GDF Suez December 29, Enthought’s Business Enthought provides products and consulting services for scientific software solutions.
GMT: The Generic Mapping Tools Paul Wessel, Walter H.F. Smith and the GMT team.
GumTree Feature Overview Tony Lam Data Acquisition Team Bragg Institute eScience Workshop 2006.
STAC usage at Diamond Richard Fearn Software Engineer.
What Is a Synchrotron? From the BNL Website Introduction The human eye can see only visible light. It comes in the form of different wavelengths. These.
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
Scientific computing in x-ray microscopy F. Meirer 1, Y. Liu 2, J.C. Andrews 2, A. Mehta 2, P. Pianetta 2 1 MiNALab, CMM-irst, Fondazione Bruno Kessler,
Adaptively Sampled Distance Fields Representing Shape for Computer Graphics Ronald N. Perry and Sarah F. Frisken Mitsubishi Electric Research Laboratories.
X-Rays and Materials A Vision of the Future Joachim Stöhr Stanford Synchrotron Radiation Laboratory.
Nick Draper 05/11/2008 Mantid Manipulation and Analysis Toolkit for ISIS data.
Selected Topics in Software Engineering - Distributed Software Development.
Nano-electronics Vision: Instrumentation and methods for analysis of atomic scale physical properties, and methods to correlate these properties with nano-electronic.
Magnetization dynamics
-An open source not for profit project -On GitHub ‘DawnScience’ - Diamond Light Source Ltd. and the ESRF are largely publically funded research facilities.
Introduction to Synchrotron Radiation
Development of a Distributed MATLAB Environment with Real-Time Data Visualization Authors: Joseph Diamond, Richard McEver Affiliation: Dr. Jian Huang,
X-ray spectroscopy Andrew Preston
Mantid Current Development and Future Plans Nicholas Draper ICNS 2013.
Lighting the path to innovation Australian Synchrotron What is a synchrotron & how does it work?
INTRODUCTION GORT is a virtual 3D modeling environment for computer programmers. Its main area of focus is to aid in the education of programmers learning.
Hiroshima, th August 2015 S. Ibarmia, P. Truscott On behalf of the CIRSOS team.
Mantid Stakeholder Review Nick Draper 01/11/2007.
Ch 1. A Python Q&A Session. Why do people use Python? Software Quality Developer productivity Program portability Support Libraries Component integration.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
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.
Introduction 1 Lars Vogel 4/22/2009.  Who am I?  Eclipse as a platform  What is Eclipse RCP?  Extension Points / Extensions  Equinox  SWT & JFace.
Diamond Light Source Data Acquisition System Paul Gibbons.
Apache Avro CMSC 491 Hadoop-Based Distributed Computing Spring 2016 Adam Shook.
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
Creation and Visualization of 3D Scenes with the MRPT library January, 2007 Jose Luis Blanco Claraco Dept. of Automation and System Engineering University.
Wednesday NI Vision Sessions
A Short Course on Geant4 Simulation Toolkit Introduction
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
First appeared Features Popular uses Basic This language emphasises on ease of use, allowing general purpose programming to those with a small amount of.
IMAGE PROCESSING is the use of computer algorithms to perform image process on digital images   It is used for filtering the image and editing the digital.
VisIt Project Overview
Polarization Dependence in X-ray Spectroscopy and Scattering
“OSGi at the UK’s Biggest Science Lab.”
X-ray photoemission electron microscopy (XPEEM)
Software for scientific calculations
JavaServer Faces: The Fundamentals
A Short Course on Geant4 Simulation Toolkit Introduction
Diamond is all about data…
Presentation transcript:

OSGi services, FOSS CV libraries Eclipse Rich Beans for the analysis of nanoscale data Fajin Yuan & Baha El Kassaby

Outline Who are we? Science ? –Synchrotron –I06 Nanoscience Beamline –An overview of Photo Emission Electron Microscopy Circular Dichroism –Applications Eclipse Application for Nano-scale science? –Peema perspective –Eclipse projects used (DawnSci, RichBeans) –How we use OSGI for a scientific GUI experiment –BoofCV Computer Vision libraries –Stitching use case

Who? Baha El Kassaby: Software Engineer at Diamond for the last 4 years –Member of the Scientific Software team working on DAWN, and visualization and data components used by GDA/DAWN –Active committer on open source projects (DAWNSci, XYGraph, Rich Beans) Fajin Yuan: Senior Data Acquisition Scientist at Diamond for the last 13 years –Member of the Data Acquisition team working on GDA –System Integration (motor, detector, data visualisation, management, etc) and UX –Science experiment modelling using EMF

Outline Who are we? Science ? –Synchrotron –I06 Nanoscience Beamline –An overview of Photo Emission Electron Microscopy Circular Dichroism –Applications Eclipse Application for Nano-scale science? –Peema perspective –Eclipse projects used (DawnSci, RichBeans) –How we use OSGI for a scientific GUI experiment –BoofCV Computer Vision libraries –Stitching use case

Synchrotron syn·chro·tron/ ˈ siNGkrə ˌ trän/ Noun: A cyclotron in which the magnetic field strength increase with the energy of the particles to keep their orbital radius constant. (to generate synchrotron radiation : infra-red, X-Rays used in a variety of scientific experiments)

Synchrotron 10 billion x brighter than the sun Electrons generated in an electron gun 0.99 the speed of light Linac, the booster synchrotron and the storage ring

Synchrotron Wide variety of scientific experiments –Chemistry –Earth Science –Engineering –Environmental Science –Life Sciences –Physics & Materials –Cultural heritage –…

Beamline I06: PEEM PEEM / Photo-Emission Electron Microscopy –A Photoemission Electron Microscope (PEEM) forms an image from electrons emitted by a sample surface when it is illuminated by soft X-rays –By calculating the normalised difference of two X-ray magnetic circular dichroism (XMCD) PEEM images with opposite light polarizations, it is possible to probe the magnetic domain structure of the sample.

Dichroic imaging LEEM Device

XPEEM (X-ray Photomission Electron Microscope) Full field imaging of electrons emitted by the sample Using polarised X-rays we can achieve the Contemporary ferroelectric (FE) and ferromagnetic (FM) domains imaging XMCD -> FM XLD -> FE 10 e- X- rays Curtesy of I06 Francesco Maccherozzi

 Contemporary imaging of the ferromagnetic domains of the Fe film and of the ferroelectric domains of the substrate h fov 40  m 11 XMCD Fe-L 2,3 XLD Ti-L 3 LH Ferromagnetic and Ferroelectric imaging Curtesy of I06 Francesco Maccherozzi

X- rays Magnetization vectorial maps Curtesy of I06 Francesco Maccherozzi

Applications Understanding of the formation, composition, structure and properties of nanomaterials and magnetic nanostructures –Electronics –Information technologies Nature and distribution of light elements in geological samples from different depths in the earth, soils and sediments containing organic matter, microbial and plant materials, and the interaction of such materials with the surfaces of minerals –Earth & environmental science

Outline Who are we? Science ? –Synchrotron –I06 Nanoscience Beamline –An overview of Photo Emission Electron Microscopy Circular Dichroism –Applications Eclipse Application for Nano-scale science? –Peema perspective –Eclipse projects used (DawnSci, RichBeans) –How we use OSGI for a scientific GUI experiment –Other open-source and Computer Vision libraries –BoofCV –Stitching use case

PEEMA perspective in DAWN

Software in Bundles OSGi manages dependencies Static types but Dynamic executable Declarative Services Code more modular Cheaper to own/support large projects Developing bundles / features not products

1. Data Format / Math IDataset ~numpy / ~MATLAB for Java Project JANUARY (JAva NUmerical ARraY) Service that loads any data Extension point available in the binary NeXus / HDF5, CBF, Ascii, scores of others Part of DAWNSci Eclipse Project ILoaderService service = … // OSGi File file = new File(…); IDataset d = service.getDataset(file, …)

2. Plotting with Tools IPlottingSystem, IPlottingService 1D, 2D, 3D plotting Many visual tools Regions of Interest Python connectivity

Lots of Services Conversion Operation Persistence Colour mapping Expression … Around 40 others

Eclipse RichBeans Provide a set of widgets for scientific and numeric data which allow values to be entered and validated Provide data binding to java beans and automatic generation of UI made up of the widget set Edit beans with huge arrays of values and complex bean trees Easy and simple to use API, efficient widgets for science and fast for huge field lists Developed at Diamond Light Source both for user interface and for data analysis and acquisition servers

Eclipse RichBeans public class ExampleBean { private List items; //… public class ExampleItem { private String itemName; private ItemChoice choice = ItemChoice.XY; private Double x, y; private double r, theta; private List options; //… public class OptionItem { private String optionName; private boolean showAxes, showTitle, showLegend, showData; private static int count = 0; //… UIBean Graph

Eclipse RichBeans

Java Computer Vision library: BoofCV BoofCV: “an open source Java library for real-time computer vision and robotics applications.” –Image filters (Theshold, Gaussian Blur, Median, Mean, etc) –Image registration –Stitching (1-detect and describe point features, 2-associate features together, 3- robust fitting to find transform, 4-render combined image)

Stitching process through OSGI With an OSGI service: IImageStitchingProcess // stitch with boofcv IImageStitchingProcess service = ServiceLoader.getStitchingService(); List stitchedImage = service.stitch(dataToStitch,…, … );

Peema: stitching process

Demo

DAWNSci, Francesco Maccherozzi & I06 team, Interfaces/I06.html Interfaces/I06.html M. Gerring et al., Open source contributions and using osgi bundles at Diamond Light Source, Proceedings of ICALEPCS2015 Eclipse RichBeans, Eclipse JANUARY, january/ january/ Peter Abeles, BoofCV, us: References & acknowledgments

Evaluate the Sessions Sign in and vote at eclipsecon.org