Slicer3 Rendering Pipeline Study documents Raimundo Sierra.

Slides:



Advertisements
Similar presentations
Keys to Speed. Vocabulary Pixelation: The appearance of blockiness in an image after it has been enlarged. What had been a single pixel in the original.
Advertisements

ENV 2006 CS4.1 Envisioning Information: Case Study 4 Focus and Context for Volume Visualization.
SHREYAS PARNERKAR. Motivation Texture analysis is important in many applications of computer image analysis for classification or segmentation of images.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Graphics Pipeline.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Hilal Tayara ADVANCED INTELLIGENT ROBOTICS 1 Depth Camera Based Indoor Mobile Robot Localization and Navigation.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
Hank Childs, University of Oregon November 15 th, 2013 Volume Rendering, Part 2.
Introduction to Volume Rendering Presented by Zvi Devir.
CSC 461: Lecture 51 CSC461 Lecture 5: Simple OpenGL Program Objectives: Discuss a simple program Discuss a simple program Introduce the OpenGL program.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Status – Week 277 Victor Moya.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Basic Graphics Concepts Day One CSCI 440. Terminology object - the thing being modeled image - view of object(s) on the screen frame buffer - memory that.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Beyond the Visualization Pipeline Werner Benger 1, Marcel Ritter, Georg Ritter, Wolfram Schoor 1 Scientific Visualization Group Center for Computation.
Geometric Objects and Transformations. Coordinate systems rial.html.
I-1 Steps of Image Generation –Create a model of the objects –Create a model for the illumination of the objects –Create an image (render) the result I.
Rendering Adaptive Resolution Data Models Daniel Bolan Abstract For the past several years, a model for large datasets has been developed and extended.
Programmable Pipelines. 2 Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
CS 480/680 Computer Graphics OpenGL Texture Mapping Dr. Frederick C Harris, Jr. Fall 2011.
VisCMD Visualizing Cloud Modeling Data Quanzhen Geng & Jing Li (Master of Software Systems Program) March 17, 2003 CPSC-533C Information Visualization.
CAP4730: Computational Structures in Computer Graphics 3D Transformations.
Shadow Mapping Chun-Fa Chang National Taiwan Normal University.
Do Now: Do Not Log In. Take out your notebook and a pen. Good morning! Do Now: Do Not Log In. Take out your notebook and a pen. Good morning! Aim: Review.
Discrete Techniques Chapter 7 Begun February 22, 2005 Finished April 26, 2005.
Programmable Pipelines Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
Texture Mapping CAP4730: Computational Structures in Computer Graphics.
High Quality Silhouette Illustration for Texture Based Volume Rendering, Nagy and Klein.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Implementation of a Renderer Consider Programs are processd by the system line & polygon, outside the view volume Efficiently Understanding of the implementation.
Hank Childs, University of Oregon Volume Rendering, pt 1.
Volume Visualization with Ray Casting
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Programming with OpenGL Part 2: Complete Programs Ed Angel Professor.
CS 534 Homework #4 References. Cylindrical Projection Alpha Blending.
CSCI 440.  So far we have learned how to  build shapes  create movement  change views  add simple lights  But, our objects still look very cartoonish.
WORKING WITH SELECTIONS MASKS and CHANNELS 3D IMAGES LAYER BASICS PHOTO.
Lecture 7 Midterm Review. OpenGL Libraries gl: Basic OpenGL library, e.g. primitives. glu: OpenGL Utility library, a set of functions to create texture.
Background image by chromosphere.deviantart.com Fella in following slides by devart.deviantart.com DM2336 Programming hardware shaders Dioselin Gonzalez.
Details of Texture Mapping Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, December 1, 2003.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS The GPU.
Module 05 –Bump mapping Module 05 – Bump mapping Module 05 Advanced mapping techniques: Bump mapping.
Che-An Wu Background substitution. Background Substitution AlphaMa p Trimap Depth Map Extract the foreground object and put into another background Objective.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Multimedia and weBLOGging Grade 7-9 | Cahaya Bangsa Classical School (C) 2010 Digital Media Production Facility 03 - Still Picture 01 – Basics.
Our Graphics Environment Landscape Rendering. Hardware  CPU  Modern CPUs are multicore processors  User programs can run at the same time as other.
From VIC (VRVS) to ViEVO (EVO) 3 years of experiences with developing of video application VIC for VRVS allowed us to develop a new video application.
CS 480/680 Computer Graphics Programming with Open GL Part 2: Complete Programs Dr. Frederick C Harris, Jr. Fall 2011.
Supplement 189: Parametric Blending Presentation State Storage.
Buffers Ed Angel Professor Emeritus of Computer Science
Programmable Pipelines
The Graphics Rendering Pipeline
Fall 2012 Longin Jan Latecki
Hank Childs, University of Oregon
Static Image Filtering on Commodity Graphics Processors
3D Game Programming Texture Mapping
Programming with OpenGL Part 2: Complete Programs
Buffers Ed Angel Professor Emeritus of Computer Science
Programming with OpenGL Part 2: Complete Programs
CS297 Graphics with Java and OpenGL
CS 534 Homework #4 References
CS Homework #4 References
Presentation transcript:

Slicer3 Rendering Pipeline Study documents Raimundo Sierra

Nomenclature: Datavolume: x y z Slicer3 normal mode: pxpx pypy I1I1 I2I2 I3I3 Normal mode, Px, Py typically: 200x200  O(px* py) ≈ 40k pixels Full screen: 1000x1000 ≈ 1M pixels Factor 25 leads to perceivable slowdown, from 16ms/rendering to 200 ms pxpx pypy I1I1 Full screen mode:

Slicer 3 Rendering Pipeline Image Processing Data Volume Image Processing Rendering Display GUI, Programming GUI Navigation GPU CPU Painting? Image Processing vtkSlicerSliceLayerLogic.h vtkSlicerSliceLogic.h

A Image Processing Details vtkSlicerSliceLayerLogic.h Reslice Threshold AppendReslice Extract Alpha Cast Alpha logic Append Thres- hold Extract Lumi- nance Map to colors 2D 3D O(x*y*z)O(p x * p y ) RGB + standard VTK filters ─ 3D operations = SLOW!

A Image Processing Details Extended Reslice Reslice Cast Alpha logic Append Thres- hold Map to colors 2D 3D O(x*y*z)O(p x * p y ) RGB Map to window level colors New output: ImageData * BackgroundImageMask + faster ─ filter with additional source

A Image Processing Details Next: ExtractImage Reslice Cast Alpha logic Append Thres- hold Map to colors RGB Map to window level colors + only one iteration through data ─ flexibility? ─ still O(px* py)

Slicer 3 Rendering Pipeline Image Processing Data Volume Image Processing Rendering Display GUI, Programming GUI Navigation GPU CPU Painting? Image Processing vtkSlicerSliceLayerLogic.h vtkSlicerSliceLogic.h

Image Processing Details vtkSlicerSliceLogic.h Foreground Blend Background Labelmap Append

Slicer 3 Rendering Pipeline Image Processing Data Volume Image Processing Rendering Display GUI, Programming GUI Navigation GPU CPU Painting? Rendering

Slicer 3 Rendering Pipeline GPU Based rendering Image Processing Data Volume Image Processing Rendering Display GPU CPU 1.Submit complete datavolume to the GPU (glTexture3D) 2.Extract slice by specifying plane with associated texture coordinates (glVertex, glTextureCoord) 3.Render textured plane in different rendering targets (slice windows & 3D window

Current Rendering Pipeline vs. GPU Based rendering Pros Speed: Use of parallel rendering pipeline of GPU Cons Limited GPU memory in particular when volume consists of foreground, background, and labelmap datasets Implementation: –3D texture support in VTK –Large/significant changes in existing code