visualization history visual programming visualization
play

Visualization History Visual Programming Visualization History - PowerPoint PPT Presentation

Visualization History Visual Programming Visualization History Visual Programming Visualization libraries Visualization libraries Haberlis Haberlis landmark landmark ConMan ConMan paper paper - -1985? 1985?


  1. Visualization History Visual Programming Visualization History Visual Programming • Visualization libraries Visualization libraries • Haberli’s Haberli’s landmark landmark ConMan ConMan paper paper - -1985? 1985? • • – Embed into simulation code Embed into simulation code – • Extension of Unix pipes. Extension of Unix pipes. • – Outputs images (plots) during run Outputs images (plots) during run- -time. time. – • Take a small specialized program • Take a small specialized program • Post Post- -process of restart dumps process of restart dumps • – – Provide wrapper for remote procedure and Provide wrapper for remote procedure and – Custom tools for custom data formats Custom tools for custom data formats – shared memory shared memory – Custom derived data, data Custom derived data, data mappers mappers – – – Provide GUI for parameters ( Provide GUI for parameters (args args) of the ) of the program. program. Early Visual Prog Prog. . Env Env. . Great concepts Early Visual Great concepts • Data Push models Data Push models • Very similar to Very similar to Corba Corba support support • • – aPe – aPe - - Ohio State / OSC Ohio State / OSC – – provides the shared memory communication provides the shared memory communication – AVS – AVS - - Advanced Visualization System Advanced Visualization System – each “module” is it’s own process – each “module” is it’s own process • Stellar Computer • Can reside on it’s own CPU – Khoros Khoros - - Univ. of New Mexico? Univ. of New Mexico? • Can reside across the network – – Iris Explorer Iris Explorer – – SGI / NAG SGI / NAG – • Tools to automatically convert a C, C++ or Tools to automatically convert a C, C++ or • Fortran program to a module. Fortran program to a module. • Data Flow model • Data Flow model

  2. Problems Execution Model Problems Execution Model • Data pushed to module A Data pushed to module A • Each module has a set of parameters or Each module has a set of parameters or • • state that controls its output. state that controls its output. • Data modified by A (a “ Data modified by A (a “mapper mapper”) and ”) and • pushed to both modules B and C. • A change to Module B’s parameters only A change to Module B’s parameters only pushed to both modules B and C. • requires re- -executing B. executing B. requires re • Four copies of the data now exist • Four copies of the data now exist • A change to Module A’s parameters, will re • A change to Module A’s parameters, will re- - execute A and send new data execute A and send new data Read Read to both B and C. to both B and C. A A B C B C Data Push vs vs Data Pull Data Pull Early Visual Prog Prog. . Env Env. . Data Push Early Visual • Data Pull Models Data Pull Models • • Data Push Data Push • – Data Explorer ( – Data Explorer (Dx Dx) ) - - IBM IBM – Push data when changed Push data when changed – • Data centric • Data Pull Data Pull • – AVS/Express AVS/Express – – – Only request data when needed Only request data when needed – Image Vision Image Vision - - SGI SGI – – Break the data into chunks, and only request Break the data into chunks, and only request – – Java Advanced Imaging Java Advanced Imaging – small chunks at a time. small chunks at a time. – Vtk Vtk – • Multiple windows (paths) Multiple windows (paths) • • Memory requirements reduced • Memory requirements reduced – – Much more complicate, Much more flexible Much more complicate, Much more flexible

  3. Themes Themes • Overview • Overview VTK VTK • Architecture • Architecture The Visualization Toolkit The Visualization Toolkit • • Graphic Subsystem Graphic Subsystem • • Visualization Pipeline Visualization Pipeline William J. Schroeder William J. Schroeder President, Kitware, Inc. President, Kitware, Inc. Rensselaer SCOREC Research Associate • • Interaction Interaction Rensselaer SCOREC Research Associate www.kitware.com www.kitware.com • • Software Process Software Process www.vtk.org www.vtk.org Modified by Roger Crawfis • • Conclusion Conclusion will.schroeder@kitware.com will.schroeder@kitware.com Taxonomy of Visualization Taxonomy of Visualization What Is VTK? What Is VTK? Systems Systems A visualization toolkit A visualization toolkit A visualization toolkit • Toolkits / Libraries • Toolkits / Libraries – – Designed and implemented using object Designed and implemented using object- -oriented principles oriented principles – Designed and implemented using object-oriented principles – Components Components – – – C++ class library (~700+ classes; ~425,000 LOC; <225,000 C++ class library (~700+ classes; ~425,000 LOC; <225,000 – C++ class library (~700+ classes; ~425,000 LOC; <225,000 – Little or no GUI – Little or no GUI executable lines) executable lines) executable lines) – Meant to be integrated with other systems/toolkits – Meant to be integrated with other systems/toolkits – Automated Java, TCL, Python bindings – – Automated Java, TCL, Python bindings Automated Java, TCL, Python bindings – Programming required Programming required – – – – Portable across Unix, Windows, Mac OSX Portable across Unix, Windows, Mac OSX Portable across Unix, Windows, Mac OSX • Development Environments Development Environments • – – Supports 3D/2D graphics, visualization, image processing, volume Supports 3D/2D graphics, visualization, image processing, volume – Supports 3D/2D graphics, visualization, image processing, volume rendering rendering rendering – Components – Components – – Focused on scientific visualization, some support for higher- Focused on scientific visualization, some support for higher - – Focused on scientific visualization, some support for higher- – GUI – GUI- -assisted (visual) programming assisted (visual) programming dimensional visualization dimensional visualization dimensional visualization • Applications • Applications – Open- -source (BSD source (BSD- -style, not GPL) style, not GPL) – – Open Open-source (BSD-style, not GPL) – Turn Turn- -key key – – – www.vtk.org www.vtk.org – www.vtk.org – Minimal programming – Minimal programming

  4. VTK Is A Toolkit, Not a VTK Is A Toolkit, Not a History History System System • Precursor: GE Legacy System LYMB (circa 1983) Precursor: GE Legacy System LYMB (circa 1983) • Embeddable Embeddable • • – Plays with other software – Plays with other software • Proprietary software issues led to Proprietary software issues led to • open- open -source VTK project to create: source VTK project to create: • Separable Separable • – Textbook Textbook – – Can pull out “pieces” – Can pull out “pieces” – Sample code Sample code – • Adaptable • Adaptable • December ‘93 work begins on VTK December ‘93 work begins on VTK • – Not dependent on GUI Not dependent on GUI – text/software text/software • X, Motif, Windows, Mac, Qt, FLTK, Tk, wxWindows, etc. • • June 1998 Kitware forms: June 1998 Kitware forms: – Not dependent on rendering library Not dependent on rendering library – VTK Commercial Support VTK Commercial Support • OpenGL, others Things It Does Things It Does More Things: Image- -Processing Processing More Things: Image

  5. Combined Volume/Surface Combined Volume/Surface Volume Rendering Volume Rendering Rendering Rendering Functionality How To Use It Functionality How To Use It • • Graphics / Modeling Graphics / Modeling • Choose programming language Choose programming language • – Smoothing, decimation, extrusion, – Smoothing, decimation, extrusion, Delaunay Delaunay triangulation triangulation – C++ – C++ (2D/3D), etc. (2D/3D), etc. – Tcl – Tcl • Image Processing • Image Processing – 100’s of filters – 100’s of filters – Python Python – – Integrated 2D / 3D – Integrated 2D / 3D – Java Java – • Visualization Visualization • – Scalar, vector, tensor fields (100’s of filters) – Scalar, vector, tensor fields (100’s of filters) • Assemble components to build applications Assemble components to build applications • – Probing, cutting, clipping, extraction – Probing, cutting, clipping, extraction – Volume rendering – Volume rendering • • Multi Multi- -dimensional dimensional – Projection, Projection, resampling resampling –

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend