JA EclipseCon 2015 no video

advertisement
The DAWNSci Eclipse science
usecases
Jun Aishima
Software Engineer
Diamond Light Source
Didcot, UK
1.
2.
3.
4.
What is a light source and why do science there?
What data do you get at a synchrotron?
What do you do to the data?
How do DAWN and DAWNSci Eclipse help with
this?
5. How do we use DAWN and DAWNSci Eclipse to
analyze our data?
6. How can you use DAWN and DAWNSci Eclipse to
analyze your data?
Synchrotron
AKA – cool word, but what does it mean?
syn·chro·tron/ˈsiNGkrəˌträn/
Noun:A cyclotron in which the magnetic field
strength increases with the energy of the
particles to keep their orbital radius constant.
“They are machines which produce
very strong light used for many
different type of scientific experiments
and sometimes other things.”
Diamond Light Source, Didcot,
Oxfordshire, UK
• (Video has been removed to allow the talk to
fit into size guidelines – see
http://www.diamond.ac.uk/Public/Multimedia/
Animations.html to view the animation)
1.
2.
3.
4.
What is a light source and why do science there?
What data do you get at a synchrotron?
What do you do to the data?
How do DAWN and DAWNSci Eclipse help with
this?
5. How do we use DAWN and DAWNSci Eclipse to
analyze our data?
6. How can you use DAWN and DAWNSci Eclipse to
analyze your data?
Detectors of
Various
flavors
1.
2.
3.
4.
What is a light source and why do science there?
What data do you get at a synchrotron?
What do you do to the data?
How do DAWN and DAWNSci Eclipse help with
this?
5. How do we use DAWN and DAWNSci Eclipse to
analyze our data?
6. How can you use DAWN and DAWNSci Eclipse to
analyze your data?
The collected data may look like this…
…180 images
When what you really want is this…
1.
2.
3.
4.
What is a light source and why do science there?
What data do you get at a synchrotron?
What do you do to the data?
How do DAWN and DAWNSci Eclipse help with
this?
5. How do we use DAWN and DAWNSci Eclipse to
analyze our data?
6. How can you use DAWN and DAWNSci Eclipse to
analyze your data?
DAWN - Acquisition and Analysis with RCP
@ Diamond Light Source
Jython
and Python
Client server
technology
Communication with
EPICS and hardware
Scan mechanism
Data read, write,
convert
Visualisation
Communication
with external
analysis
www.opengda.org
Acquisition
Analysis
tools
Metadata structure
Workflows
www.dawnsci.org
Analysis
DAWN is a
collection of
generic and
bespoke ‘views’
collated into
‘perspectives’.
The perspectives
and views can
be used in part
or whole in either
the GDA or
DAWN.
Collaborative Approach
Consultants
Members
Kichwa Coders Ltd.
External Users
Science Working Group
Now an Eclipse project!
https://projects.eclipse.org/projects/technology.dawnsci
‘Shoulders of Giants’
AKA – didn’t think of everything
•
•
•
•
•
•
•
•
RCP many of the core features, editors, toolbars, views, projects
Ptolemy 2 (a version known as ‘Passerelle’) workflow and pipelining
GEF for visualization of pipeline graphs
Draw2D for 1D and 2D plotting (SWT XY Graph)
Pydev for python/jython scripting layer used by the scientists
HDF5 libraries for storing large data sets
SWT/Jface – lazy viewers being used extensively for large trees and tables
Apache, Eclipse-WST, springsource, JDK, and many more of course...
Did you see our poster yesterday, presented by Bahá?
• The DAWNSci Eclipse Project: How Eclipse
Is Used for Science (Bahá El Kassaby)
– Printed copies or PDF file available! Ask us!
Data in DAWNSci
Example : Loading and Manipulating Data
This example
• Columns of ASCII data
• Separated by tabs
• Read as 1D arrays
Other format with a loader:
srs, dat, flt, gff, mca, csv, xy, xye,
txt, tif, tiff, cbf, img, ciff, mccd, edf,
pgm, cor, bruker, jpg, jpeg, png,
f2d, msk, mib, mar3450, pck3450,
raw, mrc, gz, bz2, zip, h5, hd5,
hdf5, nxs, nexus, hdf, mat
Extension point to add more...
Demonstration – Visual Tools
1.
2.
3.
4.
What is a light source and why do science there?
What data do you get at a synchrotron?
What do you do to the data?
How do DAWN and DAWNSci Eclipse help with
this?
5. How do we use DAWN and DAWNSci Eclipse to
analyze our data?
6. How can you use DAWN and DAWNSci Eclipse to
analyze your data?
The Processing pipeline
• Previous systems
– Required much effort by the developer
– User experience was too generic – not optimized
for this purpose
• Simplify (coding), simplify (GUI), simplify
(capabilities)
• Result: wide adoption and rapid development
for several experimental techniques
• Developed by Jacob Filik at Diamond
• Available in DAWN
Why Processing in DAWN?
Non-crystalline diffraction
Simple? Operation
Calculation
Error
handling
Simple? Model
Mouseover in GUI
Allow drag and drop
Provide a button to open file dialog box
Radio box in GUI
Number box in GUI with limits
Simple?
File
list
Model
List of
processing steps
Output
Input
Demonstration of pipeline
1.
2.
3.
4.
What is a light source and why do science there?
What data do you get at a synchrotron?
What do you do to the data?
How do DAWN and DAWNSci Eclipse help with
this?
5. How do we use DAWN and DAWNSci Eclipse to
analyze our data?
6. How can you use DAWN and DAWNSci Eclipse to
analyze your data?
Create your own operations and pipelines!
• Create an operation –
org.eclipse.dawnsci.analysis.api.operation
extension point
– Dataset operations – including lazy operations
• Create a model – if necessary
– Any additional data required for the calculation
– Reflection on data type and annotations are used to
build the GUI for users to enter parameters
A lot of existing, reusable operations
• Sector integration
– Typically, reduce a two-dimensional image into a onedimensional dataset
• Normalization
– Remove frame-to-frame variation to put them all onto the
same scale
• Subtraction
– Removing artifacts by subtracting background data from
the sample data
• Averaging
– Multiple noisy points can be averaged
Future work on the Processing pipeline
• Support more sciences (XPDF)
• Add branching, merging, and other non-linear
flows
• Run calculations via HPC
• Passerelle workflows
• More, faster, better processing steps
Try DAWN for yourself!
• DAWN 1.7.1, available now!
• http://www.dawnsci.org
• See directions on how to use DAWNSci – “Getting started
with DAWNSci”
• Videos on how to do use slicing, data reduction, Python
scripting, processing at
https://www.youtube.com/user/DAWNScience
• Follow us on Twitter - https://twitter.com/dawnscience
• Read the article about us in the Eclipse newsletter https://www.eclipse.org/community/eclipse_newsletter/2015/j
anuary/article3.php
• DAWN paper accepted for publication, doi:
10.1107/S1600577515002283
• Email us: scientificsoftware@diamond.ac.uk
Evaluate the sessions
Sign in: www.eclipsecon.org
+1 0 -1
Download