Simple and Intuitive Visualization with the Web Automation and Translation Toolkit (WATT) Client Minnesota Supercomputing Institute Undergraduate Internship.

Slides:



Advertisements
Similar presentations
VLAB Framework (afternoon) Gordon Erlebacher. Principal IT Investigators University of Minnesota –Prof. David A. Yuen : Dept. of Geology and Geophysics.
Advertisements

Online Collaboration Applications ADE100- Computer Literacy Lecture 28.
How to embed an EON i3D object into your PowerPoint Presentation How to embed an EON i3D object into your PowerPoint Presentation 2009 Use mouse to navigate.
. Website and file organization. How websites work.
GeoSVG and GeoSite - a Web-based system for manipulative and education page authoring Xun Lai Feb. 15 th, 2006.
Remote Visualization Explorations of Ajax & Web Services.
Exploring the Internet Creating and setting up your website Instructor: Michael Krolak Instructor: Patrick Krolak See also
Browser and Basics Tutorial 1. Learn about Web browser software and Web pages The Web is a collection of files that reside on computers, called.
GeoSVG: A Web-based Interactive Plane Geometry System for Mathematics Education Xun Lai and Paul S. Wang Department of Computer Science Institute for Computational.
THE BASICS OF THE WEB Davison Web Design. Introduction to the Web Main Ideas The Internet is a worldwide network of hardware. The World Wide Web is part.
WebXtender Tutorial just use the arrow keys to navigate the slides.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Frank Rowe John Gaetano Chuck Figiel.  CryptoViz implements and visualizes the Data Encryption Standard (DES) algorithm.  DES was used by the government.
Programming with App Inventor Computing Institute for K-12 Teachers Summer 2012 Workshop.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Paul Trani Adobe Certified Instructor/Expert Resources:
VLab ( Virtual Laboratory for Earth and Planetary Materials ) A Grid Facility for Computational Mineral Physics.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
How to Download and Install a Sharp Print Driver on a Mac.
Servlets Environment Setup. Agenda:  Setting up Java Development Kit  Setting up Web Server: Tomcat  Setting up CLASSPATH.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
1 Lesson 6 Exploring Microsoft Office 2007 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
Screen Snapshot Service Kurt Biery SiTracker Monitoring Meeting, 23-Jan-2007.
DAVE WILLIAMS (NOTRE DAME) AND MARK SULLIVAN (SUNY GENESEO) ILLiad Addons: Significant Improvement to Your Staff Productivity.
1 Web Basics Section 1.1 Compare the Internet and the Web Compare Web sites and Web pages Identify Web browser components Describe types of Web sites Section.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
WRF Domain Wizard A tool for the WRF Preprocessing System Jeff Smith Paula McCaslin July 17, 2008.
Robotics Simulation (Skynet) Andrew Townsend Advisor: Professor Grant Braught.
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
Computing and the Web Operating Systems. Overview n What is an Operating System n Booting the Computer n User Interfaces n Files and File Management n.
Drag and Drop Display and Builder. Timofei B. Bolshakov, Andrey D. Petrov FermiLab.
C-Map Tutorial How to create and save a concept map using C-Map, export a C-Map as an image, and export a C-Map as a webpage.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Multimedia Web Design Professor Frank. Multimedia Combine text, graphics, sounds, and moving images in meaningful ways Use stable technology.
-1- 3D Visualization. Sonia Pujol, Ph.D., Harvard Medical School National Alliance for Medical Image Computing 3D Visualization Sonia Pujol, Ph.D. Surgical.
Mantid Development introduction Nick Draper 11/04/2008.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.

Lecture 11: Exam Revision 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271  Coursework.
Introduction to Processing. 2 What is processing? A simple programming environment that was created to make it easier to develop visually oriented applications.
 Retinal images were acquired on normal and pathological subjects, affected by hypertensive retinopathy of various levels.  The tool has been tested.
Program 2 due 02/01  Be sure to document your program  program level doc  your name  what the program does  each function  describe the arguments.
By Jason Wheatley, Chris Niznik, Wei Wang, and Feng Li ENG 393 Prof. Harris June 29, 2009 Searching for Places and Businesses.
Hello World Basic Tutorial Nova Southeastern University Cristal Locke This presentation is copyrighted by Cristal Locke, August 5, All rights reserved.
BIF713 Operating System Concepts MS Windows. Agenda 1. What is an Operating System (definition)? 2. Types of Operating Systems 3. Basic Operations: –
Purpose of Operating System Monil Adhikari. Agenda Introduction Responsibilities of Operating System User Interfaces Command Line Interface Graphical.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 2: Introduction to IS2803 Rob Gleasure
1 Expanding the Application Base of the SAGE Collaboration Platform Javier Delgado.
CHANGING THE VOLUME Click the volume icon in the bottom right hand corner of the screen.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
Chapter 2: Advanced programming concepts Part 3: The user interface Lecture 5 1.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
What Is Firefox? __________ is a Web ___________ that you use to search for and view Web pages, save pages for use in the future, and maintain a list.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
Hello World Basic Tutorial
Web Programming Language
WEBINAR Introduction to ViconNet 3.0 October 26, 2005
Google Web Toolkit Tutorial
Understand Windows Forms Applications and Console-based Applications
VLAB Framework (afternoon)
Web-deployment of a Data Visualization Framework Using AJAX Technology
What's New in eCognition 9
VLab (Virtual Laboratory for Earth and Planetary Materials )
A Collaborative Environment
Gordon Erlebacher Florida State University
Microsoft Office Illustrated Fundamentals
Review of Previous Lesson
What's New in eCognition 9
NatQuery An End-User Perspective On Using To Extract Data From ADABAS
Presentation transcript:

Simple and Intuitive Visualization with the Web Automation and Translation Toolkit (WATT) Client Minnesota Supercomputing Institute Undergraduate Internship Program Adam R. Momsen in collaboration with Professor David Yuen and the Virtual Laboratory for Earth and Planetary Materials (VLAB) Minnesota Supercomputing Institute Undergraduate Internship Program Adam R. Momsen in collaboration with Professor David Yuen and the Virtual Laboratory for Earth and Planetary Materials (VLAB)

Project Goals G Create an online service for easy data visualization G Support fast development updates to limit service downtime G “Write once, install anywhere” using Java Webstart G Create an online service for easy data visualization G Support fast development updates to limit service downtime G “Write once, install anywhere” using Java Webstart

WATT Client - Introduction WATT Client - Introduction Consists of two parts: - Manipulator Window - Swing GUI Consists of two parts: - Manipulator Window - Swing GUI Current start page upon WATT Client launch

How the Client Works Send Update Request Returns new “snapshot” Setup allows user to focus on data manipulation while server does the heavy lifting

Manipulator Window G Manipulator box based on GLEEM (“GL Extremely Easy-to-use Manipulator) by Kenneth B. Russell G Clicking corners scales, outside handles rotate, faces translate G JPEG “snapshot” of 3D rendered data mapped to plane within manipulator G Manipulator box based on GLEEM (“GL Extremely Easy-to-use Manipulator) by Kenneth B. Russell G Clicking corners scales, outside handles rotate, faces translate G JPEG “snapshot” of 3D rendered data mapped to plane within manipulator

GLEEM Classes GLEEM Classes G Manip G ManipManager G ManipMotionListener G ManipPart G ManipPartCube G ManipPartGroup G ManipPartLineSeg G ManipPartSquare G ManipPartTransform G ManipPartTriBased G and more! G Manip G ManipManager G ManipMotionListener G ManipPart G ManipPartCube G ManipPartGroup G ManipPartLineSeg G ManipPartSquare G ManipPartTransform G ManipPartTriBased G and more! Class list gives an idea of the complexity of graphical programming; in this case, just about every part of the manipulator has its own class! List only includes manipulator classes, transformers and viewers omitted

Rotating the Manipulator G Source of earliest headaches: matching server and client camera and actor rotations - Server renders images using Visualization Toolkit (VTK), while client uses JOGL - Rotating object same as changing camera, but more computationally expensive - And always remember to agree on degrees or radians! G Source of earliest headaches: matching server and client camera and actor rotations - Server renders images using Visualization Toolkit (VTK), while client uses JOGL - Rotating object same as changing camera, but more computationally expensive - And always remember to agree on degrees or radians!

Scaling and Translating G Scaling - image and box are simply stretched and compressed as the user wills. G Translating - Camera panned freely along a plane parallel to initial JPEG orientation (gives illusion of moving box object) G Scaling - image and box are simply stretched and compressed as the user wills. G Translating - Camera panned freely along a plane parallel to initial JPEG orientation (gives illusion of moving box object)

JPEG Image To ease transmission, only a 2D image is displayed on the client, not a fully rendered 3D object. This made matching up the image and the manipulator difficult, and had to be addressed when rotating the client camera. To ease transmission, only a 2D image is displayed on the client, not a fully rendered 3D object. This made matching up the image and the manipulator difficult, and had to be addressed when rotating the client camera.

Client in Action

Java Swing Interface G Adding a Menu Bar will allow access to developmental and function information and commands to load data. G Input fields allow for manipulation of red cutting plane (visible in previous slide) G JButton allows for quick updates G Note: GUI functionality still in development G Adding a Menu Bar will allow access to developmental and function information and commands to load data. G Input fields allow for manipulation of red cutting plane (visible in previous slide) G JButton allows for quick updates G Note: GUI functionality still in development

Maven 2 G Build structure and program (similar in idea to Ant, Java’s version of Make) - Sets up a generic project file structure that needn’t be rewritten for new projects - Standardizes project for collaborative development - Compiles, tests, builds, installs, deploys - Remote deployment allows new versions to be installed to service URL in a matter of seconds G Build structure and program (similar in idea to Ant, Java’s version of Make) - Sets up a generic project file structure that needn’t be rewritten for new projects - Standardizes project for collaborative development - Compiles, tests, builds, installs, deploys - Remote deployment allows new versions to be installed to service URL in a matter of seconds

Java Webstart G Central to “write once, install anywhere” motto - Service requires no software to be installed prior to use - User only has to accept, and Webstart will search for and download all the files the service needs to run G Central to “write once, install anywhere” motto - Service requires no software to be installed prior to use - User only has to accept, and Webstart will search for and download all the files the service needs to run

Challenges G Initial confusion on project purpose G Box perspective while translating G Image quality issues at high magnification G Matching rotations G Integrating GUI to render window G “No jogl.jar on classpath” error G Hit Points (detecting mouse clicks) - Switching to spherical handles - Point detection determines transformation type G Initial confusion on project purpose G Box perspective while translating G Image quality issues at high magnification G Matching rotations G Integrating GUI to render window G “No jogl.jar on classpath” error G Hit Points (detecting mouse clicks) - Switching to spherical handles - Point detection determines transformation type

Looking ahead G Embed service into webpage with AJAX - Allows for real-time image manipulation without need for constant page updates G Xith3D integration - JOGL overlay that may improve performance G Color map cutting plane G Low-resolution subset - Allows user to better predict final orientation of image G Embed service into webpage with AJAX - Allows for real-time image manipulation without need for constant page updates G Xith3D integration - JOGL overlay that may improve performance G Color map cutting plane G Low-resolution subset - Allows user to better predict final orientation of image

What I Learned G Graphical programming in OpenGL G Java Webstart G Maven large-scale project builds for collaborative efforts (restrictions on project source) G SVN versioning for group collaboration G Professional programming project experience G Graphical programming in OpenGL G Java Webstart G Maven large-scale project builds for collaborative efforts (restrictions on project source) G SVN versioning for group collaboration G Professional programming project experience

Acknowledgements G Professor Dave Yuen’s group: - Evan “Farmer” Bollig - Shuo “Mark” Wang - Martin “Frank Linux” Lyness - Sarah Wieber - Matthew Broten - Grace Schwab - Javier Roman - Paul “Pau Yensen” Jensen - Dan “Rao” Kigelman - Pedro Silveira - Cesar Da Silva G Professor Dave Yuen’s group: - Evan “Farmer” Bollig - Shuo “Mark” Wang - Martin “Frank Linux” Lyness - Sarah Wieber - Matthew Broten - Grace Schwab - Javier Roman - Paul “Pau Yensen” Jensen - Dan “Rao” Kigelman - Pedro Silveira - Cesar Da Silva

References G - OpenGL tutorials G - more OpenGL source G Davis, Tom, Jackie Neider, Dave Shreiner, and Mason Woo. “OpenGL Programming Guide”. Addison-Wesley, Boston “The Red Book” G - Xith3D documentation G - Rendering and culling reference G - Java Swing example G - my VLAB Wiki page G - OpenGL tutorials G - more OpenGL source G Davis, Tom, Jackie Neider, Dave Shreiner, and Mason Woo. “OpenGL Programming Guide”. Addison-Wesley, Boston “The Red Book” G - Xith3D documentation G - Rendering and culling reference G - Java Swing example G - my VLAB Wiki page