Advanced Visualisation - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Advanced Visualisation

Description:

Migration from old-fashioned syntax of Java 1.4 to current Java 1.6 standards ... C-based, no Object Oriented-ness (OO), old-fashioned C-style coding ... – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 13
Provided by: THAN153
Category:

less

Transcript and Presenter's Notes

Title: Advanced Visualisation


1
Advanced Visualisation Implementation
Techniques with Java 1.6, OpenGL GLSL for
Biological Data Visualisation Analysis
  • Thanasis Theocharidis
  • BSc in Mathematics
  • MSc in Interactive Multimedia
  • MSc in Artificial Intelligence
  • 28th April 2009

(Web site www.biolayout.org)
2
  • Background in Mathematics Software
    Engineering, previous roles included producing
    high-end AI graphics engines in Java 1.6 C
  • Games company co-founder (www.dotredgames.com)
  • Joined Toms group in January 2008 back in DPM
  • Role consisted of taking over the RD of
    BioLayout Express 3D
  • Framework originally started by Anton
    Enrights group, Tom and others in Sanger/Human
    Genome Campus
  • Work of more than 5 years (non-continuous),
    originally a 2D-only application
  • Innovative way of visualisation data
    analysis of biological data in both 2D/3D,
    proof-of-concept fully working
  • BioLayout framework at that time (version RC1)
  • Used obsolete slow Java 1.4 JVM syntax
  • Old-fashioned slow Data Structures
  • No use of Generics/Templates, hard-to-read
    code
  • Slow execution because of all the above
  • Many-many bugs throughout the framework
  • Source at 600kb

3
  • Ongoing Development Stages / Roadmap from
    January 2008 until now
  • Migration from old-fashioned syntax of Java
    1.4 to current Java 1.6 standards
  • Full use of Generics and advanced Data
    Structures, easier-to-read code, big speed
    upgrade
  • Framework Object Oriented (OO) updates, many
    general libraries added
  • Graphml generics XML parser for pathway
    modeling with yEd
  • Implementation of very fast OpenGL 2D
    renderer, substituting the old Java2D slow
    renderer
  • Full update of both 2D 3D renderers using
    hierarchical modeling in display lists (30k
    graphs)
  • Fixed many problems throughout the framework
    along with countless feature GUI additions
    optimisations, source now at 1.7Mb from original
    600Kb
  • Design implementation of the BioLayout web
    site (www.biolayout.org) and officially releasing
    version 3.0 last year with frequent updates.
    Online datasets also available through the
    WebStart technology

4
  • OpenGL What the heck is it all about ?!?
  • Industry-leading Application Programming
    Interface (API) in C, pioneered by Silicon
    Graphics, Silicon Valley, in beginning of 1990s
  • Hollywood movies graphical effects use it
    (Pixar, Dreamworks, etc)
  • Huge usage push from the games industry (ID
    Software/Quake 1-2-3/HalfLife, etc)
  • All major CAD applications for rendering
    (AutoDesks 3D Studio Max, AutoCAD, etc)
  • Industry standard nowadays, centrally
    controlled by the Khronos Group
  • THE standard for OS-independent, graphics
    hardware acceleration
  • (Windows, Linux, MacOS, Sony Playstation 3,
    PlayStation Portable, iPhone)

5
  • OpenGL Whats under the hood
  • Usage of mathematical Euclidean 3D Vector
    Spaces, Matrix Theory Linear Algebra for 3D
    graphics (see whiteboard for details, no scary
    mathematical formulas shown here!)
  • Usage of homogeneous 4D coordinates for 3D
    spaces in 4x4 matrices
  • VERY processor-intensive calculations
  • Hardware implemented on ASIC (specific tasks)
    chips for 10x-100x speed increase!
  • Nowadays graphic chips evolved to generic
    parallelised CPUs, called GPUs, very complex even
    compared to recent QuadCore Intel/AMD chips
  • High-end NVidia graphics cards on teams Dell
    Vostros, Geforce Generation 8, have 512Mb Video
    RAM (VRAM) onboard 112 parallel microcores. New
    NVidia Geforce Generation X has 2Gb VRAM 480
    microcores! These cards are termed the current
    499 super computers

6
  • OpenGL A C-based API from the 90s
  • C-based, no Object Oriented-ness (OO),
    old-fashioned C-style coding
  • Sun finally introduced it to the Java platform
    at the end of 2005 through their Game Team Group
    Java OpenGL (JOGL)
  • Merges high-end OO Java code with fast
    industry-standard hardware acceleration in C
  • BioLayout Express 3D uses this API for very
    impressive results
  • The OpenGL 2D renderer achieved a 10x-20x
    speed increase when replacing Java2D
  • Both OpenGL 2D/3D renderers highly interactive
    giving very impressive visual results
  • Can load HUGE maps compared to Java graphics
    (currently at 30k range)

7
  • OpenGL Implementation tricks
  • 3 main transformations translate, rotate,
    scale. See board for simple 2D examples
  • Matrix Theory fully used underneath (singular,
    inversed transposed matrices)
  • Caveat Order DOES matter, matrices
    non-commutative!
  • M RTM NOT EQUALS TO M TRM
  • glTranslate() then glRotate() different with
  • glRotate() then glTranslate()
  • Full usage of double Display Lists using
    Hierarchical Modeling as an extra optimisation
    technique
  • BioLayout Express 3D uses all the above for
    user-navigation
  • with the mouse for both 2D/3D renderers

8
  • BioLayout Express 3D Presenting navigating
    the application
  • (please follow interactive demo)

9
  • BioLayout Express 3D Presenting navigating
    through the web site
  • (www.biolayout.org)

10
  • Current future plans (Roadmap)
  • OpenGL fast 2D renderer for the plot in the
    Class Viewer, sample-to-sample graphs (scheduled
    for Update 7)
  • Parallelism (grid computing) experiments
    through custom code (multi-core renderers in
    Update 6) GL Shader Language (GLSL) utilising
    the extreme microparallelism on current graphics
    cards (watch on-screen demo for a
    proof-of-concept). Upcoming updates will be fully
    using the standard
  • Parallelism becomes THE norm in summer 2009
    the Khronos Group new standard, OpenCL, for
    future generic parallel programming executed on
    CPU/GPU hardware
  • January 2010 Suns (now Oracles) Java 1.7
    hits the road. Parallelism again a major
    milestone for the Java world through
    hardware-independent implementations

11
  • Innovative Navigation
  • Who said Data Analysis with BioLayout Express 3D
    is not fun ?
  • Usage of cheap of-the-shelf commercial
    navigation tools Nintendo Wii remote controller
    with BioLayout Express 3D!
  • (please follow interactive demo)

12
  • Many Thanks
  • The rest of the BioLayout Express 3D team
  • Dr. Tom Freeman
  • Dr. Anton Enright
  • Dr. Stjin Van Dongen
  • PhD students for their beta testing time user
    insights
  • Sobia Raza
  • Neil McDerment
  • GLSL implementation insights
  • Michael Kargas
  • Thanks for your time patience!
Write a Comment
User Comments (0)
About PowerShow.com