VTK: The Visualization Toolkit Part I: Overview and object models March 28, 2001.

Slides:



Advertisements
Similar presentations
What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word processor), it must be given the instructions.
Advertisements

CP411 Computer Graphics, Wilfrid Laurier University Introduction # 1 Welcome to CP411 Computer Graphics 2012 Instructor: Dr. Hongbing Fan Introduction.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
ParaView Tutorial Greg Johnson, Karla Vega. Before we begin… Make sure you have ParaView installed so you can follow along in the lab section –
Chapter 5 Operating Systems. 5 The Operating System When working with multimedia, the operating system is perhaps the most important, the most complex,
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Using AVID for 3D Functional Region Of Interest (ROI) Creation Jeff Hoerle Friday Forum November 5 th, 2004.
Slide 1 Visualization of scientific data under Linux - Techniques and data wrangling Mike Walterman, Manager of Graphics Programming, Scientific Computing.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
CAVASS - Visualization Aspects George Grevera a,b, Jayaram Udupa b, Dewey Odhner b, Ying Zhuge b, Andre Souza b, Tad Iwanaga b, and Shipra Mishra b a Department.
3-D Visualization of Functional Brain Map Data A.V. Poliakov; E.B. Moore; J.F. Brinkley, Structural Informatics Group Department of Biological Structure.
3D Graphics - Current Technologies Open GLOpen GL (Open Graphics Language) –SGI Silicon Graphics Direct 3DDirect 3D –Microsoft Direct X Technology Java3DJava3D.
Module 1 Introduction to Network Operating Systems
Programming for Image Processing/Analysis and Visualization using The Visualization Toolkit Week 3: Simple Visualization Tasks Xenios Papademetris
1 Component Description Alice 3d Graphics Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Randy Pausch,
Shading Languages By Markus Kummerer. Markus Kummerer 2 / 19 State of the Art Shading.
Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo University of Texas at El Paso Computer Science.
Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo Nicholas Del Rio CyberShARE Center University of Texas at El.
Software Installation The full set of lecture notes of this Geant4 Course is available at
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
Getting Started with ITK in Python Language
Leicester, February 24, 2005 VisIVO, a VO-Enabled tool for Scientific Visualization and Data Analysis. VO-TECH Project. Stage01 Ugo Becciani INAF – Astrophysical.
Sikuli Ivailo Dinkov QA Engineer PhoneX Team Telerik QA Academy.
CS413: Java Programming language Applications Applets
Welcome to the UPPMAX Visualization Workshop 21,22/ Day one  UPPMAX  Introduction to Visualization and Python  Read your own data using Python.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
An Introduction to Visual Basic
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
2001 by Jim X. Chen: Professor Jim X. Chen Department of Computer Science George Mason University Fairfax, VA
Edinburgh, January 25, 2005 VisIVO, a VO-Enabled tool for Scientific Visualization and Data Analysis: Overview and Demo 1. Ugo Becciani (OACt): Introduction.
Computer Graphics Tz-Huan Huang National Taiwan University.
The IRE Project Interactive Robot Environment Spring 2004.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
FLUKA GUI Status FLUKA Meeting CERN, 10/7/2006.
NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD.
VTK. VTK Online Resources On-line Resources VTK –Manual: –Examples:
Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo Paulo Pinheiro da Silva and Nicholas Del Rio CyberShARE Center.
Installation Tutorial Paola Sivera ESO ACS 2.1 for Linux RH7.2.
NA-MIC, 2008 June Workshop, IHK Akademie Westerham VTK
VTK: The Visualization Toolkit Qaiser Chaudry Georgia Institute of Technology June 28, 2006.
CPSC 453 Tutorial Xin Liu Sep 23, OpenGL An open standard of rendering pipeline A software interface to graphics hardware A useful set of APIs for.
06/13/00 Visualization, Analysis, and Imaging Lab (VAIL) Capabilities Robert Moorhead, Director Mississippi State University.
Visualization Knowledge Query Language (VKQL) Workshop Nicholas Del Rio University of Texas at El Paso Computer Science.
IS&T Scientific Visualization Tutorial – Spring 2010
Visualization with ParaView. Before we begin… Make sure you have ParaView 3.14 installed so you can follow along in the lab section –
Visualization for 3D Microscope Data Jonathan Robbins.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Computer Graphics Lab 1 OpenGL.
1 How to Install OpenGL u Software running under Microsoft Windows makes extensive use of "dynamic link libraries." A dynamic link library (DLL) is a set.
A Remote Collaboration Environment for Protein Crystallography HEPiX-HEPNT Conference, 8 Oct 1999 Nicholas Sauter, Stanford Synchrotron Radiation Laboratory.
PROGRAMMING IN VISUAL BASIC.NET CREATING YOUR FIRST WEB APPLICATION Bilal Munir Mughal 1 Chapter-3.
Visualization Programming: “Libraries” and “Toolkits” Class visualization resources CSCI 6361.
Lab 9 Department of Computer Science and Information Engineering National Taiwan University Lab9 - Debugging I 2014/11/4/ 28 1.
UNIX Operating System. A Brief Review of Computer System 1. The Hardware CPU, RAM, ROM, DISK, CD-ROM, Monitor, Graphics Card, Keyboard, Mouse, Printer,
WHAT IS HARDWARE ? Computer hardware is the collection of physical elements that comprise a COMPUTER SYSTEM LIKE A MOUSE, MONITOR, KEYBOARD, SPEAKER MICROPHONE,
Computer System Structures
Chapter 5 Operating Systems.
VisIt Project Overview
Why don’t programmers have to program in machine code?
Reuse And Rapid Prototyping
VTK: The Visualization Toolkit
Chapter 6 Introduction to Network Operating Systems
Computer Science I CSC 135.
Mobile Development Workshop
Software Installation
CSC 142 Introduction to Java [Reading: chapters 1 & 2]
Programming Logic and Design Eighth Edition
Presentation transcript:

VTK: The Visualization Toolkit Part I: Overview and object models March 28, 2001

What is VTK?

Volume Rendering Software Hardware Data

Isosurface Extraction

Vector Field Visualization

What is VTK? An open source, freely available software system for 3D graphics, image processing, and visualization. Support for hundreds of algorithms in visualization and image processing Object-oriented design with different interpreted language wrapers.

At a Glance The core of VTK is written entirely in C++ Contains 600 existing classes with 325K lines of code VTK will compile and run on Windows 98/NT, SGI, Linux, Sun, HP, etc. Support OpenGL and Mesa Different interfaces for fast prototyping: Tcl/Tk, Java, and Python Have users all over the world – The beauty of Open Source!

System Architecture Interpreted Wrapper (Tcl, Java, Python) [ Why?] C++ core Binary Installation: if you will use The classes to build your applicatoin Source code Installation: If you want to extend vtk Tcl/Tk source Java JDK Python source All class source code (could take hours to compile) Libraries and includes (dll and.h files) Or (.a and.h files) Tcl/Tk shell Java interpreter Python interpreter

Installation (1) Windows 9x/NT/2000 Binary: vtk32Core, vtk32Cpp, vtk32Tcl, vtk32Java, vtk32Python (dll and includes) They will install Tcl/Tk for you (for example) if your PCdoes not have one already. With this installed, you can run their sample programs and write your own C++ application. Source: You will need VC installed too.

Installation (2) Unix (alpha,beta, etc) : I have installed a copy on /usr/class/cis788.14Q/vtk3.2 = path Library : $path/common/libVTKCommon.a $path/graphics/libVTKGraphics.a $path/imaging/libVTKImaging.a also there are directories ‘patented’ and ‘contrib’ that you might use. Includes: -I$path/common –I$path/graphics –I$path/imaging Check the makefile in $path/graphics/exampleCxx/Makefile

Installation (2.1) CIS unix servers will be slow as we do not have native OpenGL support. Instead, we use Mesa3d. But you can do your labs in any of the CIS labs Only C++ is supported (not Tcl/Tk at least) When use the server to run vtk examples, you need to do setenv LD_LIBRARY_PATH /n/gold/1/graphics/Mesa3.0/lib We probably can install a copy on albatross (graphics lab server)

VTK classes

VTK Object models Graphics and Visualization Model Graphics objects: rendering Visualization objects: generating geometry Data source Visualizatoin Graphics Data Flow System: Pipeline execution

Pipeline Execution Source Filter Mapper Actor Direction of data flow Direction of ‘update’ Render Visualization model Graphics model

The Graphics Model The purpose is to render the geometry (volume) on the screen camera LightActor screen

The Graphics Model The purpose is to render the geometry (volume) on the screen vtkCamera vtkLight vtkActor vtkProperty vtkMapper vtkTransform vtkRenderWindow vtkRenderer vtkRenderWindowInteractor

To see is to believe … 1 vtkRenderWindow 2 vtkRenderer vtkCamera vtkLight vtkActor ( property, geometry(mapper), transformation, etc)

Example Program Main() Main() { create a window; create a renderer; give the renderer to the window; create procedural geometry; create a mapper; give the geometry to the mapper; create an actor; give the mapper to the actor; give the actor to the renderer; window->render(); } Window Renderer Actor Mapper Geometry

User interaction vtkRenderWindowInteractor – allow the user to interact with the graphics objects Try the following keypresses: w: wireframe mode s: surface mode r: reset the transformation 3: toggle stereo button 3: zoom; botton 2: pan; button1: rotate; c/o: camera mode or object mode j/t: joy stick or tracer ball mode e: exit

Go home to do the following… Install VTK (in your PC) Run Tcl or C++ examples Build C++ examples OR Use the VTK installation on beta: /usr/class/cis788.14Q/vtk3.2/ Copy a couple of examples in graphics/examplesCxx to your local directory Modify the makefile there and compile from your local directory Give it a try!