Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "OSGi services, FOSS CV libraries Eclipse Rich Beans for the analysis of nanoscale data Fajin Yuan & Baha El Kassaby."— Presentation transcript:

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

2 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

3 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

4 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

5 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)

6 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

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

8 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.

9 Dichroic imaging LEEM Device

10 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

11  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

12 X- rays Magnetization vectorial maps Curtesy of I06 Francesco Maccherozzi

13 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

14 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

15 PEEMA perspective in DAWN

16

17 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

18 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, …)

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

20

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

22 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

23 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

24 Eclipse RichBeans

25 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)

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

27 Peema: stitching process

28 Demo

29 DAWNSci, http://www.dawnsci.orghttp://www.dawnsci.org Francesco Maccherozzi & I06 team, http://www.diamond.ac.uk/Beamlines/Surfaces-and- Interfaces/I06.html http://www.diamond.ac.uk/Beamlines/Surfaces-and- Interfaces/I06.html M. Gerring et al., Open source contributions and using osgi bundles at Diamond Light Source, Proceedings of ICALEPCS2015 Eclipse RichBeans, https://projects.eclipse.org/projects/technology.richbeans https://projects.eclipse.org/projects/technology.richbeans Eclipse JANUARY, http://kichwacoders.com/2016/01/26/introducing-project- january/ http://kichwacoders.com/2016/01/26/introducing-project- january/ Peter Abeles, BoofCV, http://boofcv.org/http://boofcv.org/ Email us: scientificsoftware@diamond.ac.uk References & acknowledgments

30 Evaluate the Sessions Sign in and vote at eclipsecon.org - 1 + 1 0 0


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

Similar presentations


Ads by Google