Title: ElVis Features
1ElVis Features Animations
- Michael Shmulevich
- PPPL Summer High School Intern
- Mentor Eliot Feibush
- August 14, 2008
2Scientific Graphics
3Data Monitoring Integrated with Job Monitoring
4Web Services
5ElVis Software Package
- Display program
- 45,000 lines of Java code
- 300 classes
- Summer 08 Over 200 updates to the code
- Application Programming Interface (API)
- Fortran
- C/C
- Java
6Animation For Simulations
- Fusion simulations produce visualizations that
occur one step at a time. Provides a way for all
these simulations to be able to put their
sequence of images together into a movie file. - Applicable to other fields.
7Jpeg Images to Movie Conversion
- Converts a sequence of JPEG images to a QuickTime
Movie file using JMF. - Provides users the ability to specify an input
directory containing JPEG images, an output
directory for the .mov file, and a frame rate for
the video. - Modified Suns pre-existing code to handle
directories, automatically detect width and
height of the images, default to certain values
if the user does not specify them, and a help
screen.
8Jpeg Images to Movie Conversion
- Advantages portable light weight program for
creating movies out of images, image quality is
comparable or better than Microsoft Windows Movie
Maker. - Eliminates copying images to a Windows machine
from the simulation cluster. - GTC, GYRO, SWIM, CPES
9Jpeg Images to Movie Conversion
- Movies generated using ElVis plots can be found
here w3.pppl.gov/elvis/movies - Launch Plasma Movie (frame rate of 50)
- Made from 2,000 image files from the Plasma Edge
fusion simulation project. - Command line interface to be able to use through
scripts
103D Indexed Color Maps
- ElVis was set up to plot these types of graphs
without checking for width, height, and negative
scaling values. - Set up default conditions and checks for negative
numbers. - Launch PsiRZ Movie
PsiRZ.cdf
11Setting Decimal Precision
- Upon NSTX user request, provides the ability to
control the amount of significant figures in a
label. - Reduce clutter of too many decimal points.
(Default is now 3) - Sets the amount of places after the decimal
point. - Makes use of Javas NumberFormat Class.
- Launch Decimal Precision Demo
12Animate By Crosshair
- Crosshair is a way to interactively explore the
data. - Upon NSTX user request, provide option to turn
off animate by crosshair. - TRANSP Data Prep Web Service
- Launch Animate By Crosshair Demo
- Launch Crosshair Without Animation Demo
13Marker Count
- Designed a GUI (Graphical User Interface) to
allow the user to show points and set a marker
count. - Necessary when a graph has a large amount of
points preventing the user to distinguish between
points. - Motivated by Ben Bariteaus API.
- Eric Zatz integrated marker counting with EML
(ElVis Markup Language) . - In effect, a three part project.
14Marker Count
Show Points On Marker Skip Count 70
Show Points Off Original Graph
Show Points On Marker Skip Count 0
15Templates
- Each template has a presentation style attribute.
- Templates in ElVis are saved in XML format.
- Completed the functionality of presentation
styles.
16Saving Legend Attributes
- Legend attributes specified in GraphEditor are
saved to the template file. - These include attributes for the legend, the
outline, expanding the graph to its full width,
and filling the legend.
17Presentation Styles
- ElVis would replot graphs without remembering the
graphs presentation style. - (would always revert to Animated)
- Fix Save the current presentation style to a
variable, and apply it once the graph is
replotted.
18Presentation Styles Demo
- Launch Presentation Styles Demo
19Exponent Labels
- When a graph is resized to a small size, and it
contains exponents as tick mark labels, the
values get jumbled.
Before
After
20Exponent Labels
- Approach Exp label begins at
pixel
Exp
Label
0
Y
X
21Themes
- Themes are saved to a preferences file.
- settings.props saved in your ElVis directory.
(located inside your home directory) - Automatically loads the last theme used when
ElVis starts.
22Clearing
- Clear Row, Clear Column, Clear Cell, and Clear
All features created. - Graph Panel Vector contains plot data.
- Based on the Row/Column coordinate of a selected
graph I can determine which element of the vector
to clear. - Invoked use of the getBorderSelected function to
determine coordinates of the selected graph.
23Clearing Demo
24Deleting
- Delete Row and Delete Column functions have been
implemented. - Same algorithm as with clearing however,
deleting requires removing panels from the
GraphPanel vector. - Problem Encountered I was unaware that when
removing a panel from the GraphPanel vector, it
is necessary to validate the container
afterwards.
25Deleting Demo
26The ElVis Tutorials
- In order for users to gain an understanding of
how to use the features of ElVis, it is essential
to have tutorials. - Created using free open source screen audio
recording software called CamStudio (for
Windows). - http//camstudio.org/
- Deleting Tutorial
27What Ive Learned
- Prior knowledge C Action and Object Oriented
Programming, HTML - ElVis is coded in Java.
- This internship familiarized me with Java SDK and
the Eclipse IDE. (Swing Graphics2D) - Team Development Environment
28What Ive Learned
- Different operating system file systems are
structured in different ways. - Different OSs have different looks and feels in
Java. - Necessary to make code OS friendly.
- Ive furthered my knowledge and understanding of
Linux and Mac OS X.
29Acknowledgements
- Eliot Feibush Mentor
- PPPL Science Education Program
- Andrew Zwicker, Christine Ritter, James Morgan
- Princeton Plasma Physics Lab
- ElVis Army (Eric Zatz, Matt Milano, Ben Bariteau)
30Questions?
31 Eric Zatz -CPPG summer undergrad
ElVis Mark-Up Language
Eliot - Mentor
Ben API, EML
Matt System Services
Doug Mentor CPPG Group Head
Mike Movie Making
User Enhancements Tutorials