SlideShare una empresa de Scribd logo
1 de 12
Eclipse Science science.eclipse.org
• Twitter: @EclipseScience
• Email: science-iwg@eclipse.org
10 Projects
• Eclipse Advanced Visualization Project
• Eclipse ChemClipse
• Eclipse DAWNSci
• Eclipse January
• Eclipse Rich Beans
• Eclipse Scanning
• Eclipse StatET: Tooling for the R language
• Eclipse TeXlipse
• Eclipse Triquetrum
• The Eclipse Integrated Computational Environment
Eclipse Science
Who’s Involved? (So far)
Eclipse Advanced Visualization Project
projects.eclipse.org/projects/science.eavp
Visualization is a critical part of
science and engineering projects
and has roles in both setting up
problems and post-processing
results. The input or "construction"
side can include things like
constructing 3D geometries or
volume meshes of physical space
and the post-processing side can
include everything from visualizing
those geometries and meshes to
plotting results to analyzing
images to visualizing real data to
almost everything else
imagineable. There are numerous
technologies for performing these
tasks and most of them, with the
exception of SWT-XY-GRAPH, are
unavailable natively in the Eclipse
ecosystem.
Active Member Companies:
Eclipse ChemClipse
projects.eclipse.org/projects/science.chemclipse
Active Member Companies:
Eclipse ChemClipse supports the user to analyse
data acquired from systems used in analytical
chemistry. In particular, chromatography coupled
with mass spectrometry (GC/MS) or flame-
ionization detectors (GC/FID).
• Converter (import and/or export of raw data
sets)
• Classifier (non-destructive methods to extract
characteristic values)
• Filter (destructive methods to optimize the
data sets)
• Peak detection (finding peaks – each peak is
a chemical substance)
• Chromatogram/Peak integration (calculation
of the chromatogram/peak area)
• Identification (identification of each peak
mass spectrum)
• Quantitation (use the data for calibration
issues)
• Reporting (report the results for further
analytical steps)
• Processing (automation of the data handling)
Eclipse DAWNSci
projects.eclipse.org/projects/science.dawnsci
“Visualization, Data Slicing, Tools and Python” www.dawnsci.org
Active Member Companies:
DAWNSci is the public API to
DAWN (dawnsci.org). It allows
people customizing DAWN to
interact with a long term
programming interface providing
them with a way to ensure that
their extensions to DAWN work in
the future.
DAWN (DAWNSCI.ORG) Does
• Visualization of Data
• 100’s of formats supported
• Integration of plotting + Python
• Fully Scriptable Approach
• Many Scientific Perspectives
• Online Analysis Tools used
with Data Acquisition
• Integration with Experimental
Definition Database (ISPyB)
Eclipse January
projects.eclipse.org/projects/science.january
“Numpy Data Manipulation for Java”
Active Member Companies:
Eclipse January is a set of libraries for handling
numerical data in Java. It is inspired in part by NumPy
and aims to provide similar functionality.
Why use it?
Familiar. Provide familiar functionality, especially to
NumPy users.
Robust. Has test suite and is used in production heavily
at Diamond Light Source.
No more passing double[]. IDataset provide a consistent
object for basing APIs on with significantly improved
clarity over using double arrays or similar.
Optimized. Optimized for speed and getting better all
the time.
Scalable. Allows handling of data sets larger than
available memory with "Lazy Datasets".
Focus on your algorithms. By reusing this library it
allows you to focus on your code.
Taken From: NumpyExamples.java https://github.com/eclipse/january
import org.eclipse.january.dataset.IDataset;
IDataset a = DatasetFactory.createFromObject(new double[]{1,2,3,6,4,5,8,9,7}, 3, 3);
System.out.println("a has rank "+a.getRank());
System.out.println("a has size "+a.getSize());
double val = a.getDouble(-1,-1); // Last element
val = a.getDouble(1,4);
a = Random.rand(new int[]{10, 10}); // Random data different shape
IDataset set = a.getSliceView(new Slice(1,2)); // Entire Row
set = a.getSliceView(new Slice(5)); // First five rows
set = a.getSliceView(new Slice(-5,null)); // Last five rows
set = a.getSliceView(new Slice(0,3), new Slice(4,9)); // Subslice
a = Random.rand(new int[]{21, 10}); // Random data different shape
set = a.getSliceView(new Slice(null,null,2), null); // Every other two
set = a.getSliceView(new Slice(null,null,-1), null); // Reverse order
IDataset first = a.getSlice(new Slice(0,1), null);
IDataset aplus = DatasetUtils.append(a, first, 0); // Append something
IDataset b = DatasetFactory.createFromObject(new
double[]{1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9}, 3, 3);
IDataset d = Maths.multiply(a, b); // a.b
IDataset[] e = LinearAlgebra.calcEigenDecomposition(a); // Eigen
a = Random.rand(new int[]{100, 100}); // Random data different shape
IDataset s = DatasetUtils.sort(a, 0); // Sort row-wise
Eclipse Rich Beans
projects.eclipse.org/projects/science.richbeans
“UI Binding for Massive Bean Trees and Undefined Sizes”
Active Member Companies:
Eclipse Rich Beans is a widget set for Science User
Interfaces which automatically binds to data (beans)
using reflection. The binding layer is more flexible than
other technologies in the Eclipse Eco-system because it
scales to large complex bean trees. For instance it
provides widgets for editing lists of beans where a bean
in the list contains thousands of data points of
information.
• List Support
• Unlimited Nesting Supported
• Wide range of data entry widgets based on SWT
• Scalable to large data trees
• Simple to use OSGi service
• Easy to reuse in any project
• Low dependency design
UI BEAN
public class ExampleBean {
private List<ExampleItem> items;
//…
public class ExampleItem {
private String itemName;
private ItemChoice choice = ItemChoice.XY;
private Double x,y;
private double r,theta;
public enum ItemChoice {
XY, POLAR;
public static Map<String, ItemChoice> names() {
final Map<String,ItemChoice> ret = new HashMap<String,ItemChoice>(2);
ret.put("X-Y Graph", XY);
ret.put("Polar", POLAR);
return ret;
}
}
//…
private List<ExampleItem> items;
//… Example has 2000 items
public class ExampleItem {
private String itemName;
private ItemChoice choice = ItemChoice.XY;
private Double x,y;
private double r,theta;
private double d0, d1,d2,d3,d4,d5,d6,d7,d8, d9;
private double d10, d11,d12,d13,d14,d15,d16,d17,d18, d19;
private double d20, d21,d22,d23,d24,d25,d26,d27,d28, d29;
private double d30, d31,d32,d33,d34,d35,d36,d37,d38, d39;
private double d40, d41,d42,d43,d44,d45,d46,d47,d48, d49;
private double d50, d51,d52,d53,d54,d55,d56,d57,d58, d59;
private double d60, d61,d62,d63,d64,d65,d66,d67,d68, d69;
private double d70, d71,d72,d73,d74,d75,d76,d77,d78, d79;
private double d80, d81,d82,d83,d84,d85,d86,d87,d88, d89;
private double d90, d91,d92,d93,d94,d95,d96,d97,d98, d99;
//… Example has 100 fields
Eclipse Scanning
projects.eclipse.org/projects/science.scanning
“Making Moving Scientific Instruments and Writing Data EASY”
Active Member Companies:
Eclipse Scanning is a project for scanning
scientific instruments and writing data to
HDF5 files. It is designed to be integrated
with common control systems such as
EPICS and TANGO but it makes no
assumptions about how individual devices
are moved.
• Wide Range of Scanning Paths
• OSGi Design
• True nD unlimited degrees of freedom
• Fast and Multi-threaded
• Out performs custom Python
acquisition scripts
• Eclipse January Supported
• Java 8+
• HDF5 NeXus Compliant
• Easy to reuse in any project
• Low dependency design
Eclipse StatET
projects.eclipse.org/projects/science.statet
“Tooling for the R language”
Active Member Companies:
Eclipse StatET is an Eclipse-based IDE for
R. It offers a set of mature tools for R
coding and package building. This
includes:
• a fully integrated R console
• R script editors
• an integrated R Graphics view
• an object browser to explore the
objects R has in memory
• an integrated R Help system
• functionality to interact with multiple
local and remote installations of R
• a visual debugger for R
• editors and document processing
support for Sweave/knitr and
Rmarkdown documents
• support for running R CMD tools as
External launch configurations
Open Analytics
Eclipse TeXlipse
projects.eclipse.org/projects/science. texlipse
“Because LaTeX + Eclipse = Good”
Active Member Companies:
LaTeX is a typesetting system that is widely used by the science
community for document preparation and publications. The TeXlipse
project provides an Eclipse extension to support LaTex projects, so
that document preparation can be incorporated into the normal Eclipse
development activities. General LaTeX users will also find the
advanced editing and automatic document generation features of
TeXclipse provide a compelling alternative to other LaTeX
environments. TeXclipse supports the following features:
• Syntax/semantic editing of LaTeX documents
• Code folding
• Error annotations
• Content assist
• Line wrapping
• Table editor
• BibTeX editing support
• F3 navigation
• File and document outline
• Templates
• Build support (document typesetting)
• Spell checking
• Menu support for common LaTeX symbols
• BibTeX and BibLaTeX support
• Integration of PDF viewers
• Bibsonomy integration
Eclipse Triquetrum
projects.eclipse.org/projects/science. triquetrum
“Ptolemy-based Algorithms for Eclipse”
Active Member Companies:
Eclipse Triquetrum delivers an open platform for managing and
executing scientific workflows. The goal of Triquetrum is to support a
wide range of use cases, ranging from automated processes based
on predefined models, to replaying ad-hoc research workflows
recorded from a user's actions in a scientific workbench UI. It will
allow to define and execute models from personal pipelines with a
few steps to massive models with thousands of elements.
The integration of a workflow system in a platform for scientific
software can bring many benefits :
• the steps in scientific processes are made explicitly visible in the
workflow models (i.o. being hidden inside program code).
Such models can serve as a means to present, discuss and share
scientific processes in communities with different skills-sets
• allow differentiating for different roles within a common tools set
: software engineers, internal scientists, visiting scientists etc
• promotes reuse of software assets and modular solution design
• technical services for automating complex processes in a
scalable and maintainable way
• crucial tool for advanced analytics on gigantic datasets
• integrates execution tracing, provenance data, etc.
The Eclipse Integrated Computational
Environment
projects.eclipse.org/projects/science.ice Active Member Companies:
The Eclipse Integrated Computational Environment (ICE)
addresses the usability needs of the scientific and
engineering community for the Big Four modeling and
simulation activities. The focus of the ICE is to develop an
easily extended and reusable set of tools that can be
used by developers to create rich user interfaces for their
modeling and simulation products. Custom widgets and
data structures with well-defined interfaces and high-
coverage unit tests are provided for plugin developers.
Plugins based on the ICE tools are also developed and
released with the ICE for codes that the developers use
and the community contributes to the extent that
resources allow. The idea is that the tools should be
available for developers to do what they do and the
deployment mechanism should be ready and waiting
when they are finished.
Each of the big four tasks presents unique challenges, but
much of the capability required can be handled by
extensions to the existing Eclipse tools.

Más contenido relacionado

La actualidad más candente

Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to python
ActiveState
 
Running Intelligent Applications inside a Database: Deep Learning with Python...
Running Intelligent Applications inside a Database: Deep Learning with Python...Running Intelligent Applications inside a Database: Deep Learning with Python...
Running Intelligent Applications inside a Database: Deep Learning with Python...
Miguel González-Fierro
 

La actualidad más candente (16)

Agile Data Science 2.0
Agile Data Science 2.0Agile Data Science 2.0
Agile Data Science 2.0
 
Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to python
 
Agile Data Science 2.0
Agile Data Science 2.0Agile Data Science 2.0
Agile Data Science 2.0
 
Agile Data Science 2.0: Using Spark with MongoDB
Agile Data Science 2.0: Using Spark with MongoDBAgile Data Science 2.0: Using Spark with MongoDB
Agile Data Science 2.0: Using Spark with MongoDB
 
Exploring Word2Vec in Scala
Exploring Word2Vec in ScalaExploring Word2Vec in Scala
Exploring Word2Vec in Scala
 
Spark schema for free with David Szakallas
Spark schema for free with David SzakallasSpark schema for free with David Szakallas
Spark schema for free with David Szakallas
 
An Introduction to Higher Order Functions in Spark SQL with Herman van Hovell
An Introduction to Higher Order Functions in Spark SQL with Herman van HovellAn Introduction to Higher Order Functions in Spark SQL with Herman van Hovell
An Introduction to Higher Order Functions in Spark SQL with Herman van Hovell
 
Running Intelligent Applications inside a Database: Deep Learning with Python...
Running Intelligent Applications inside a Database: Deep Learning with Python...Running Intelligent Applications inside a Database: Deep Learning with Python...
Running Intelligent Applications inside a Database: Deep Learning with Python...
 
Agile Data Science 2.0 - Big Data Science Meetup
Agile Data Science 2.0 - Big Data Science MeetupAgile Data Science 2.0 - Big Data Science Meetup
Agile Data Science 2.0 - Big Data Science Meetup
 
Scaling Python to CPUs and GPUs
Scaling Python to CPUs and GPUsScaling Python to CPUs and GPUs
Scaling Python to CPUs and GPUs
 
Standardizing arrays -- Microsoft Presentation
Standardizing arrays -- Microsoft PresentationStandardizing arrays -- Microsoft Presentation
Standardizing arrays -- Microsoft Presentation
 
Apache Spark: Moving on from Hadoop
Apache Spark: Moving on from HadoopApache Spark: Moving on from Hadoop
Apache Spark: Moving on from Hadoop
 
PyData Barcelona Keynote
PyData Barcelona KeynotePyData Barcelona Keynote
PyData Barcelona Keynote
 
Reproducible, Open Data Science in the Life Sciences
Reproducible, Open  Data Science in the  Life SciencesReproducible, Open  Data Science in the  Life Sciences
Reproducible, Open Data Science in the Life Sciences
 
Agile Data Science 2.0
Agile Data Science 2.0Agile Data Science 2.0
Agile Data Science 2.0
 
EuroPython 2015 - Big Data with Python and Hadoop
EuroPython 2015 - Big Data with Python and HadoopEuroPython 2015 - Big Data with Python and Hadoop
EuroPython 2015 - Big Data with Python and Hadoop
 

Similar a Demo Eclipse Science

Similar a Demo Eclipse Science (20)

Data herding
Data herdingData herding
Data herding
 
Data herding
Data herdingData herding
Data herding
 
Graph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft EcosystemGraph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft Ecosystem
 
Mobile Developers Talks: Delve Mobile
Mobile Developers Talks: Delve MobileMobile Developers Talks: Delve Mobile
Mobile Developers Talks: Delve Mobile
 
Data structures cs301 power point slides lecture 01
Data structures   cs301 power point slides lecture 01Data structures   cs301 power point slides lecture 01
Data structures cs301 power point slides lecture 01
 
CoCoViLa @ devclub.eu
CoCoViLa @ devclub.euCoCoViLa @ devclub.eu
CoCoViLa @ devclub.eu
 
Drupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source AppDrupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source App
 
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
 
Exploring Clojurescript
Exploring ClojurescriptExploring Clojurescript
Exploring Clojurescript
 
[HES2013] Nifty stuff that you can still do with android by Xavier Martin
[HES2013] Nifty stuff that you can still do with android by Xavier Martin[HES2013] Nifty stuff that you can still do with android by Xavier Martin
[HES2013] Nifty stuff that you can still do with android by Xavier Martin
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
 
Ultra Fast Deep Learning in Hybrid Cloud Using Intel Analytics Zoo & Alluxio
Ultra Fast Deep Learning in Hybrid Cloud Using Intel Analytics Zoo & AlluxioUltra Fast Deep Learning in Hybrid Cloud Using Intel Analytics Zoo & Alluxio
Ultra Fast Deep Learning in Hybrid Cloud Using Intel Analytics Zoo & Alluxio
 
Devoxx
DevoxxDevoxx
Devoxx
 
apidays LIVE Australia 2021 - Tracing across your distributed process boundar...
apidays LIVE Australia 2021 - Tracing across your distributed process boundar...apidays LIVE Australia 2021 - Tracing across your distributed process boundar...
apidays LIVE Australia 2021 - Tracing across your distributed process boundar...
 
Java
JavaJava
Java
 
Building modular software with OSGi - Ulf Fildebrandt
Building modular software with OSGi - Ulf FildebrandtBuilding modular software with OSGi - Ulf Fildebrandt
Building modular software with OSGi - Ulf Fildebrandt
 
Art & music vs Google App Engine
Art & music vs Google App EngineArt & music vs Google App Engine
Art & music vs Google App Engine
 
Terraform 101
Terraform 101Terraform 101
Terraform 101
 
FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023
 
Jump Start into Apache® Spark™ and Databricks
Jump Start into Apache® Spark™ and DatabricksJump Start into Apache® Spark™ and Databricks
Jump Start into Apache® Spark™ and Databricks
 

Más de Matthew Gerring (7)

Presented at GeoCon 2015
Presented at GeoCon 2015Presented at GeoCon 2015
Presented at GeoCon 2015
 
Trondheim Eclipe Day 2015 and 2016
Trondheim Eclipe Day 2015 and 2016Trondheim Eclipe Day 2015 and 2016
Trondheim Eclipe Day 2015 and 2016
 
Eclipse RCP for Synchrotron Science
Eclipse RCP for Synchrotron ScienceEclipse RCP for Synchrotron Science
Eclipse RCP for Synchrotron Science
 
DAWN and Scientific Workflows
DAWN and Scientific WorkflowsDAWN and Scientific Workflows
DAWN and Scientific Workflows
 
Geoscience and Microservices
Geoscience and Microservices Geoscience and Microservices
Geoscience and Microservices
 
Demo eclipse science
Demo eclipse scienceDemo eclipse science
Demo eclipse science
 
Eclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectEclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science Project
 

Último

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Último (20)

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Demo Eclipse Science

  • 1. Eclipse Science science.eclipse.org • Twitter: @EclipseScience • Email: science-iwg@eclipse.org 10 Projects • Eclipse Advanced Visualization Project • Eclipse ChemClipse • Eclipse DAWNSci • Eclipse January • Eclipse Rich Beans • Eclipse Scanning • Eclipse StatET: Tooling for the R language • Eclipse TeXlipse • Eclipse Triquetrum • The Eclipse Integrated Computational Environment
  • 3. Eclipse Advanced Visualization Project projects.eclipse.org/projects/science.eavp Visualization is a critical part of science and engineering projects and has roles in both setting up problems and post-processing results. The input or "construction" side can include things like constructing 3D geometries or volume meshes of physical space and the post-processing side can include everything from visualizing those geometries and meshes to plotting results to analyzing images to visualizing real data to almost everything else imagineable. There are numerous technologies for performing these tasks and most of them, with the exception of SWT-XY-GRAPH, are unavailable natively in the Eclipse ecosystem. Active Member Companies:
  • 4. Eclipse ChemClipse projects.eclipse.org/projects/science.chemclipse Active Member Companies: Eclipse ChemClipse supports the user to analyse data acquired from systems used in analytical chemistry. In particular, chromatography coupled with mass spectrometry (GC/MS) or flame- ionization detectors (GC/FID). • Converter (import and/or export of raw data sets) • Classifier (non-destructive methods to extract characteristic values) • Filter (destructive methods to optimize the data sets) • Peak detection (finding peaks – each peak is a chemical substance) • Chromatogram/Peak integration (calculation of the chromatogram/peak area) • Identification (identification of each peak mass spectrum) • Quantitation (use the data for calibration issues) • Reporting (report the results for further analytical steps) • Processing (automation of the data handling)
  • 5. Eclipse DAWNSci projects.eclipse.org/projects/science.dawnsci “Visualization, Data Slicing, Tools and Python” www.dawnsci.org Active Member Companies: DAWNSci is the public API to DAWN (dawnsci.org). It allows people customizing DAWN to interact with a long term programming interface providing them with a way to ensure that their extensions to DAWN work in the future. DAWN (DAWNSCI.ORG) Does • Visualization of Data • 100’s of formats supported • Integration of plotting + Python • Fully Scriptable Approach • Many Scientific Perspectives • Online Analysis Tools used with Data Acquisition • Integration with Experimental Definition Database (ISPyB)
  • 6. Eclipse January projects.eclipse.org/projects/science.january “Numpy Data Manipulation for Java” Active Member Companies: Eclipse January is a set of libraries for handling numerical data in Java. It is inspired in part by NumPy and aims to provide similar functionality. Why use it? Familiar. Provide familiar functionality, especially to NumPy users. Robust. Has test suite and is used in production heavily at Diamond Light Source. No more passing double[]. IDataset provide a consistent object for basing APIs on with significantly improved clarity over using double arrays or similar. Optimized. Optimized for speed and getting better all the time. Scalable. Allows handling of data sets larger than available memory with "Lazy Datasets". Focus on your algorithms. By reusing this library it allows you to focus on your code. Taken From: NumpyExamples.java https://github.com/eclipse/january import org.eclipse.january.dataset.IDataset; IDataset a = DatasetFactory.createFromObject(new double[]{1,2,3,6,4,5,8,9,7}, 3, 3); System.out.println("a has rank "+a.getRank()); System.out.println("a has size "+a.getSize()); double val = a.getDouble(-1,-1); // Last element val = a.getDouble(1,4); a = Random.rand(new int[]{10, 10}); // Random data different shape IDataset set = a.getSliceView(new Slice(1,2)); // Entire Row set = a.getSliceView(new Slice(5)); // First five rows set = a.getSliceView(new Slice(-5,null)); // Last five rows set = a.getSliceView(new Slice(0,3), new Slice(4,9)); // Subslice a = Random.rand(new int[]{21, 10}); // Random data different shape set = a.getSliceView(new Slice(null,null,2), null); // Every other two set = a.getSliceView(new Slice(null,null,-1), null); // Reverse order IDataset first = a.getSlice(new Slice(0,1), null); IDataset aplus = DatasetUtils.append(a, first, 0); // Append something IDataset b = DatasetFactory.createFromObject(new double[]{1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9}, 3, 3); IDataset d = Maths.multiply(a, b); // a.b IDataset[] e = LinearAlgebra.calcEigenDecomposition(a); // Eigen a = Random.rand(new int[]{100, 100}); // Random data different shape IDataset s = DatasetUtils.sort(a, 0); // Sort row-wise
  • 7. Eclipse Rich Beans projects.eclipse.org/projects/science.richbeans “UI Binding for Massive Bean Trees and Undefined Sizes” Active Member Companies: Eclipse Rich Beans is a widget set for Science User Interfaces which automatically binds to data (beans) using reflection. The binding layer is more flexible than other technologies in the Eclipse Eco-system because it scales to large complex bean trees. For instance it provides widgets for editing lists of beans where a bean in the list contains thousands of data points of information. • List Support • Unlimited Nesting Supported • Wide range of data entry widgets based on SWT • Scalable to large data trees • Simple to use OSGi service • Easy to reuse in any project • Low dependency design UI BEAN public class ExampleBean { private List<ExampleItem> items; //… public class ExampleItem { private String itemName; private ItemChoice choice = ItemChoice.XY; private Double x,y; private double r,theta; public enum ItemChoice { XY, POLAR; public static Map<String, ItemChoice> names() { final Map<String,ItemChoice> ret = new HashMap<String,ItemChoice>(2); ret.put("X-Y Graph", XY); ret.put("Polar", POLAR); return ret; } } //… private List<ExampleItem> items; //… Example has 2000 items public class ExampleItem { private String itemName; private ItemChoice choice = ItemChoice.XY; private Double x,y; private double r,theta; private double d0, d1,d2,d3,d4,d5,d6,d7,d8, d9; private double d10, d11,d12,d13,d14,d15,d16,d17,d18, d19; private double d20, d21,d22,d23,d24,d25,d26,d27,d28, d29; private double d30, d31,d32,d33,d34,d35,d36,d37,d38, d39; private double d40, d41,d42,d43,d44,d45,d46,d47,d48, d49; private double d50, d51,d52,d53,d54,d55,d56,d57,d58, d59; private double d60, d61,d62,d63,d64,d65,d66,d67,d68, d69; private double d70, d71,d72,d73,d74,d75,d76,d77,d78, d79; private double d80, d81,d82,d83,d84,d85,d86,d87,d88, d89; private double d90, d91,d92,d93,d94,d95,d96,d97,d98, d99; //… Example has 100 fields
  • 8. Eclipse Scanning projects.eclipse.org/projects/science.scanning “Making Moving Scientific Instruments and Writing Data EASY” Active Member Companies: Eclipse Scanning is a project for scanning scientific instruments and writing data to HDF5 files. It is designed to be integrated with common control systems such as EPICS and TANGO but it makes no assumptions about how individual devices are moved. • Wide Range of Scanning Paths • OSGi Design • True nD unlimited degrees of freedom • Fast and Multi-threaded • Out performs custom Python acquisition scripts • Eclipse January Supported • Java 8+ • HDF5 NeXus Compliant • Easy to reuse in any project • Low dependency design
  • 9. Eclipse StatET projects.eclipse.org/projects/science.statet “Tooling for the R language” Active Member Companies: Eclipse StatET is an Eclipse-based IDE for R. It offers a set of mature tools for R coding and package building. This includes: • a fully integrated R console • R script editors • an integrated R Graphics view • an object browser to explore the objects R has in memory • an integrated R Help system • functionality to interact with multiple local and remote installations of R • a visual debugger for R • editors and document processing support for Sweave/knitr and Rmarkdown documents • support for running R CMD tools as External launch configurations Open Analytics
  • 10. Eclipse TeXlipse projects.eclipse.org/projects/science. texlipse “Because LaTeX + Eclipse = Good” Active Member Companies: LaTeX is a typesetting system that is widely used by the science community for document preparation and publications. The TeXlipse project provides an Eclipse extension to support LaTex projects, so that document preparation can be incorporated into the normal Eclipse development activities. General LaTeX users will also find the advanced editing and automatic document generation features of TeXclipse provide a compelling alternative to other LaTeX environments. TeXclipse supports the following features: • Syntax/semantic editing of LaTeX documents • Code folding • Error annotations • Content assist • Line wrapping • Table editor • BibTeX editing support • F3 navigation • File and document outline • Templates • Build support (document typesetting) • Spell checking • Menu support for common LaTeX symbols • BibTeX and BibLaTeX support • Integration of PDF viewers • Bibsonomy integration
  • 11. Eclipse Triquetrum projects.eclipse.org/projects/science. triquetrum “Ptolemy-based Algorithms for Eclipse” Active Member Companies: Eclipse Triquetrum delivers an open platform for managing and executing scientific workflows. The goal of Triquetrum is to support a wide range of use cases, ranging from automated processes based on predefined models, to replaying ad-hoc research workflows recorded from a user's actions in a scientific workbench UI. It will allow to define and execute models from personal pipelines with a few steps to massive models with thousands of elements. The integration of a workflow system in a platform for scientific software can bring many benefits : • the steps in scientific processes are made explicitly visible in the workflow models (i.o. being hidden inside program code). Such models can serve as a means to present, discuss and share scientific processes in communities with different skills-sets • allow differentiating for different roles within a common tools set : software engineers, internal scientists, visiting scientists etc • promotes reuse of software assets and modular solution design • technical services for automating complex processes in a scalable and maintainable way • crucial tool for advanced analytics on gigantic datasets • integrates execution tracing, provenance data, etc.
  • 12. The Eclipse Integrated Computational Environment projects.eclipse.org/projects/science.ice Active Member Companies: The Eclipse Integrated Computational Environment (ICE) addresses the usability needs of the scientific and engineering community for the Big Four modeling and simulation activities. The focus of the ICE is to develop an easily extended and reusable set of tools that can be used by developers to create rich user interfaces for their modeling and simulation products. Custom widgets and data structures with well-defined interfaces and high- coverage unit tests are provided for plugin developers. Plugins based on the ICE tools are also developed and released with the ICE for codes that the developers use and the community contributes to the extent that resources allow. The idea is that the tools should be available for developers to do what they do and the deployment mechanism should be ready and waiting when they are finished. Each of the big four tasks presents unique challenges, but much of the capability required can be handled by extensions to the existing Eclipse tools.