# Presentation: 943624

## ElVis Features & Animations

- Michael Shmulevich
- PPPL Summer High School Intern
- Mentor – Eliot Feibush
- August 14, 2008

## Scientific Graphics

## 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

**Notes:**
Only windows, spend some time investigating what software to use (ie testing)

## Jpeg Images to Movie Conversion

- Movies generated using ElVis plots can be found here: w3.pppl.gov/elvis/movies
- _[Launch Plasma Movie ](http://w3.pppl.gov/elvis/present/plasma.mov)_(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

**Notes:**
animate in time

## 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 Off
- Original Graph

- Show Points On
- Marker Skip Count: 0

- Show Points On
- Marker 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.

**Notes:**
5 presentation styles, popup menu, 

## 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

- Y

- X

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

## Clearing

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

## Clearing Demo

- Launch Clearing Demo

## Deleting

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

## Deleting Demo

- Launch Deleting Demo

## 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

**Notes:**
Investigation, 

## 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

**Ben – API, EML**

**               ****Mike **
**            ****Movie Making**
**            ****User Enhancements**
**            ****Tutorials**

-   Eric Zatz -CPPG summer undergrad
-                 ElVis Mark-Up Language

-               Matt
-           System & Services

- Eliot - Mentor

- Doug – Mentor
- CPPG Group Head