ElVis Features & Animations Michael Shmulevich PPPL Summer High School Intern Mentor – Eliot...

Preview:

Citation preview

ElVis Features & Animations

Michael ShmulevichPPPL Summer High School Intern

Mentor – Eliot FeibushAugust 14, 2008

Scientific Graphics

3

Data Monitoring Integrated with Job Monitoring

Web Services

ElVis 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

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

Jpeg 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 Sun’s 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.

Jpeg 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

Jpeg 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

3D 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

Setting 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 Java’s NumberFormat Class.• Launch Decimal Precision Demo

Animate 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

Marker 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 Bariteau’s API.• Eric Zatz integrated marker counting with EML (ElVis

Markup Language) .• In effect, a three part project.

Marker Count

Show Points OffOriginal Graph

Show Points OnMarker Skip Count: 0

Show Points OnMarker Skip Count: 70

Templates

• Each template has a presentation style attribute.

• Templates in ElVis are saved in XML format.

• Completed the functionality of presentation styles.

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

Presentation Styles

• ElVis would replot graphs without remembering the graph’s presentation style.– (would always revert to Animated)

• Fix: Save the current presentation style to a variable, and apply it once the graph is replotted.

Presentation Styles Demo

Launch Presentation Styles Demo

Exponent Labels

• When a graph is resized to a small size, and it contains exponents as tick mark labels, the values get jumbled.

Before After

Exponent Labels

Approach: Exp label begins at pixel

Label Exp

0 YX

5

)( XYY

Themes

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

The 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

What I’ve 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

What I’ve Learned• Different operating system file systems are

structured in different ways.• Different OS’s have different looks and feels in

Java.• Necessary to make code OS friendly.• I’ve furthered my knowledge and understanding

of Linux and Mac OS X.

Acknowledgements

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

Questions?

Ben – API, EML

Mike Movie Making User Enhancements Tutorials

Eric Zatz -CPPG summer undergrad ElVis Mark-Up Language

Matt System & Services

Eliot - Mentor

Doug – MentorCPPG Group Head