biologically inspired model visualization capstone project winter semester 2005 mentor:dr. william...

Post on 13-Dec-2015

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Biologically Inspired Model Visualization Capstone Project

Winter Semester 2005

Mentor: Dr. William L. Harrison

Members: Pericles S. Kariotis

William L. Moore

Arthur C. Huggard

Theory

“Domain Specific Languages for Cellular Interactions”

w/ Robert W. Harrison Bioinformatics Domain-Specific Programming

Languages & Haskell Rhodobacter Sphaeroides

Status Quorum

Manual! Execute

Simulation Convert

POV→Image Convert image

formats Compile

Image→Movie

Fixed Point of View

The Old System (Ugly)

Even uglier…

“Gentlemen, we can rebuild him. We have the technology … Better than he was before. Better, stronger, faster.”*

What we want: Automation Intuitive Interface Floating Camera Immediate Results Maintain Current

Functionality

*The Six Million Dollar Man

“…perfect freedom [is] a world where you have no restriction… but this world has nothing in it…” *

Hugs/Haskell Cross-Platform Ease of Use Speed

*Neon Genesis Evangelion

Expandable Modular

Tools of the trade C++ OpenGL QT Many Compilers POVRay MPlayer ImageMagick And More…

The Proposed System

Primary Contributions

PericlesOpenGL/Qt Simulation Interface

BillyPOV-Ray/MEncoder and integration

CharlieCellSys interaction

Controlling the DSL:CellSys

The DSL is invoked from the GUI application.Specify POV file output directorySpecify the language interpreterSpecify the DSL program fileSpecify the command to execute

The Input Module

Responsible for accepting the data from the DSL

Currently uses file I/O (inefficient!), but could easily be re-written to use a more direct communication method

Other alternatives: Haskell FFI, shared memory, even stdout

The OpenGL Simulation

Simulation save/load Interactive camera Display boxes Timing slider Configurable play speed/direction Cell shadows (vapor trails) Cell tracking (different colors)

Interface Design

More Dialogs and UI

Opening and Playing

Running Simulation

AVI Rendering

Encoding an AVI

New application maintains and automates the previous methodologySpecify a directory of POVs to encode,

no further interaction is necessaryRenders images with POV-Ray,

instead of OpenGLIntrinsically supports anything native to

POV

System Diagram

Implementation Issues Requires many packages Integration of pvengine is not seamless Further OpenGL support must be built-in I/O Module (file I/O is inefficient) Platform-specific details CellSys DSL

State sampled with every updateInformation output is sparseBugs "header" file

Performance

Actual Frame rates lower than Nominal Frames rates

Frame rate decreases as number of cells increases

Viewpoint Manipulation and Bounding Box decrease performance

Color Codes and Clipping Box have negligible performance delays

.csm file loads significantly faster than .pov files

Test Results

Actual FPS for Nominal 100 FPS

66.67

52.63

37.04

23.2612.05

01020304050607080

0 300 600 900 1200

Number of Cells

Ac

tua

l Fra

me

s P

er

Se

co

nd

No Options

Bounding Box

ViewpointManipulation

Test Results

100 Step Simulation Loading

0

2

4

6

8

10

12

14

0 200 400 600 800 1000

Number of Cells

Lo

ad

Tim

e (

se

c)

POV Files

CSM File

Optimizations

More efficient data structure for frame data

Display lists to boost OpenGL rendering performance

Less viewpoint sampling Cells built with fewer polygons

Future Work Implement additional OpenGL primitives Tabbed simulation More cell tracking features

User-driven coloringInstant velocity vectors

Display more informationLight concentrationCell behaviorCell reproduction

top related