Hardware Acceleration for Vessel Visualization Tasks

Size: px
Start display at page:

Download "Hardware Acceleration for Vessel Visualization Tasks"

Transcription

1 Hardware Acceleration for Vessel Visualization Tasks 1

2 Research Context Research projects on vessel visualization with Vis-Group of the Otto von Guericke University of Magdeburg Automatic Transfer Functions for Visual Emphasis of Coronary Artery Plaque S. Glaßer, S. Oeltze, A. Hennemuth, C. Kubisch, A. Mahnken, S. Wilhelmsen, and B. Preim [Computer Graphics Forum, 2010] Vessel Visualization with Volume Rendering C.Kubisch, S. Glaßer, M. Neugebauer and B. Preim [Visualization in Medicine and Life Sciences II] 2

3 Volume Visualization Standard greyscale display techniques Advanced display, aiding exploration [dataset courtesy, Dr. S. Achenbach University Erlangen- Nürnberg] 3

4 Medical Background Cerebral aneurysm Incidence ~6% western population Weakened vessel wall Higher risk of rupture Infarct (fatality ~67%) Blood flow has main impact Inclusion into decision making process 4

5 Medical Background Coronary Artery Disease (CAD) Result of accumulations in the coronary artery wall Soft Plaques Fibrous Plaques Hard Plaques Progressive CAD leads to stenoses Aorta RCA normal Illustration of the heart and coronary arteries positive remodeling LCA LCX LAD negative remodeling Cross-sections of vessel walls 5

6 Medical Background Computer Tomography Angiography (CTA) Asymptomatic patients Abnormal coronary spatial variation Contrast agent (varying Hounsfield Units HU) Multiplanar reformation (MPR) Curved planar reformation (CPR) DVR view 6

7 Volume Rendering Pipeline Data Acqusition CT / MRI Scanners Pre-processing of RAW data Segmentation / Filtering Extracting structures, organs, vessels... Display 2D and 3D Views, GPU Raycasting Transfer function (TF) for coloring and opacity mapping 1. Contrast enhanced CTA dataset 2. Segmentated coronary arteries 3. Skeleton of binary segmentation result 7

8 Upsampling Anisotropic Medical Data Often higher in-plane resolution Visible interpolation issues Higher Order Runtime Filtering Can interfer with sampling performance Upsample along slice direction Inject additional slices Higher order Interpolation Before After 8

9 Upsampling During load/post-load Kernel launched to interpolate slices 1D convolution Lanczos 3/5 Filter Update texture cudamemcpy3d Constant memory convolution weight table surface writes gltexsubimage from PBO Thread computes inbetween voxels at once Kernel launch per interpolation step allows streamed loading 9

10 Automatic Transfer Function Algorithm by S.Glaßer et al. ported to CUDA Adapted TFs are derived from stochastic analysis μ blood, σ blood and μ wall, σ wall to account for contrast agent 2D and 3D display version to show vessel wall and potential plaques [S. Glaßer et al. 2010] TF 3D TF 2D 10

11 Automatic Transfer Function CPR view of datasets [dataset courtesy, Dr. S. Achenbach University Erlangen- Nürnberg] DVR view of two datasets MPR view of datasets (arrows hint possible fibrous / soft plagues) [S. Glaßer et al. 2010] 11

12 Blood Estimation Approximation of μ blood, σ blood Segmentation result primarily contains blood voxels Fitting of normal distribution by iterative reduction of cost function Logarithmic scaled histogram of segmentation result with fitted normal distribution (blue curve) 12

13 Blood Estimation Histogram Kernels Run through entire volume and use segmentation mask Warp level histograms using shared memory atomics Warp level histograms combined to block level Block level histograms combined through extra kernel Block Histograms in Global Memory syncthreads(); Warp Histograms in Shared Memory MergeKernels<<<blocks,...>>>(...); 13

14 Blood Estimation Normal Distribution Fitting Kernel Spawn multiple blocks around histogramm peak Each block tries to optimize finding standard deviation for its mean value 14

15 Blood Estimation Threads compute cost function Difference between histogram and probability function Reduction in shared memory Control thread steers fitting of standard deviation for (...){ syncthreads(); // receive sigma from shared memory sigma = s_sigma; syncthreads(); // compute differences to normal // distribution // thread level reduction syncthreads(); } if (tid == 0){ // update sigma based on error sum s_sigma =.. } 15

16 Vessel Wall Estimation Local Histogram Analysis Favor long, non-branching vessels Sample cross-sections Create profile images per point If likely a wall, samples contribute to vessel histogram Derive mean and standard deviation 16

17 Vessel Wall Estimation Local Histogram Kernel Every cross section is one warp Each thread block works on a couple of points CTA spawns as many blocks as required for path Vessel path divided into blocks Warp index is distance from center 17

18 Vessel Wall Estimation Global Memory for profile images (one per warp) Kernel Steps: Sample rays into profile image Blur & Edge Filter in profile image Compute column threshold based on gradient SyncThreads Feed samples into shared memory histogram Based on threshold / edge SyncThreads Move shared to block level histogram Look for vertical structures (likely vessel wall) Contribute intensity to histogram 18

19 Vessel Branch Specific TF Segmentation mask also stores tags Allow local transfer function during rendering the volume CUDA Dilation Kernel for branch tags Each dilation cycle runs through active slices Slice is active if itself or neighboring slice was changed in last cycle Changes are communicated with help of syncthreads_or(change); 19

20 3D View Rendering GPU Raycasting OpenGL rasterizes coarse mesh for ray start/end positions Single pass: use GL_MIN/MAX blending and output depth & 1- depth Two pass: just reverse gldepthfunc and output pos Do volume integration between positions encoded in FBO textures 20

21 3D View Rendering Pre-Integrated Rendering 2D Lookup table preintegrates transition between different intensity levels Generate via CUDA or GL Reduce 3d sampling rate MRT and Post Processing Example use of SSAO or Stippling of obstructed parts 21

22 2D View Rendering MPR and CPR Views (A. Kanitsar et al.) Projected mesh along the vessel path Mesh Vertices encode 3D volume positions but are 2D on screen Isometric Extrusion Sample along normal with attenuated colors Stretched Planar Reformation Curved Planar Reformation 22

23 Vessel Path Smoothing OpenGL Implementation Transform feedback to update vessel vertices Allows fast and easy linear buffer updates Draw GL_POINTS (1D Kernel) Ping Pong Buffers Vertex Shader Centerline Correction (A. Kanitsar) Cross section volume ray casting Smoothing of the path Bind VertexBuffer also as TextureBuffer Use gl_vertexid to access neighboring vertices Swap read/write buffers VBO for self TBO for neighbors VBO/TBO XBO in vec4 pos; XBO VBO/TBO texelfetch(... gl_vertexid +/- 1); 23

24 Related Topic Vessel-Ness Filter Avoids segmentation Compute Hessian (A. F. Frangi et al.) Look for cylindrical shapes Compute Polar Profile per voxel (A. Joshi et al.) Analyze for round shapes Algorithm looks very GPU-port friendly, Parallel and lots of texture sampling 24

25 Thank You cudasynchronize( talk ); Contact: Christoph Kubisch 25

26 References Automatic Transfer Functions for Visual Emphasis of Coronary Artery Plaque S. Glaßer, S. Oeltze, A. Hennemuth, C. Kubisch, A. Mahnken, S. Wilhelmsen, and B. Preim [EuroGraphics, Computer graphics forum 29 (2010), No.1, pp ] Vessel Visualization with Volume Rendering C.Kubisch, S. Glaßer, M. Neugebauer and B. Preim [Visualization in Medicine and Life Sciences II, ; Springer-Verlag] CPR: curved planar reformation Kanitsar A, Fleischmann D, Wegenkittl R, Felkel P, Gröller ME.. [IEEE Visualization; p ] Multiscale Vessel Enhancement Filtering Frangi AF, Frangi RF, Niessen WJ, Vincken KL, Viergever MA [Computer (1998) Volume: 1496, Issue: 3, ; Springer-Verlag] Effective visualization of complex vascular structures using a non-parametric vessel detection method Joshi A, Qian X, Dione D, Bulsara K, Breuer C, Sinusas A, et al. [IEEE Visualization; 2008; 14(6): ] 26

27 Blood Estimation Histogram Kernels Run through entire volume and test against segmentation Warp level histograms using shared memory atomics Limit histogram computation for a sub-range of intensity values Saves histogram bins and therefore shared memory Warp level histograms combined to block level Block level histograms combined through extra kernel //Per-warp subhistogram storage shared uint s_hist[]; uint *s_warphist= s_hist + (threadidx.x >> WARP_BITS) * HISTOBINS;... // iterate through coordinates uint id = tex3d( l_texid, coord.x,coord.y,coord.z); if (id && c_histogramids[id]){ float val = tex3d( l_texvalue, coord.x,coord.y,coord.z); if (val > fromhu && val < tohu){ float rand = HybridTaus(z1,z2,z3,z4); uint data = float2uint_rd(((val - fromhu)*divhu) + rand); data = min(histobins,data); atomicadd(s_warphist + data, 1); } }.. //Merge per-warp histograms into per-block syncthreads(); for(uint bin = threadidx.x; bin < HISTOBINS; bin += blockdim.x) { uint sum = 0; } for(uint i = 0; i < WARP_COUNT; i++){ sum += s_hist[bin + i * HISTOBINS]; } d_partialhistograms[blockidx.x * HISTOBINS + bin] = sum; 27

28 Blood Estimation Threads compute cost function Difference between histogram and probability function Reduction in shared memory Control thread steers fitting of standard deviation for (uint s = 0; s < NORMALDIST_STEPS; s++){ syncthreads(); // receive broadcast float sigma = s_errors[normaldist_s_sigma]; syncthreads(); // scale factor float ndist = getnormaldist(peakbin,mean,sigma); float scale = peakvalue/ndist; // compute difference float errorsum = 0.0f; for(uint i = tid; i < HISTOBINS; i+= BLOCKTHREADS){ float errorf = fabs(d_histogram[i] - (scale*getnormaldist((float)i,mean,sigma))); errorf *= intervalcheck((float)i,mean,sigma); errorsum += errorf; } s_errors[tid] = errorsum; } // thread level reduction blocksum<float>(s_errors,tid,blocksize); if (tid == 0){ // update sigma based error sum s_errors[normaldist_s_sigma] =.. } 28

29 Vessel Branch Specific TF Thread Stride CUDA Dilation Kernel No übertuned solution needed, dilation done only once Worker threads to saturate hardware Threads work on columns with stride Blocks work on rows with stride Global memory Two slices Blocklevel had change buffer For each run, iterate active slices Output into active slice (alternate between two) If change within slice, include self and neighbor slices in working set for next iteration Write-back output of previous slice (not current, to keep uniform growth) uint change = 0; // each block works on a single line for ( int y = blockidx.x; y < h; y+= griddim.x){ // all threads work within line uchar *prow = ((pwriteslice)+y*pitch); for ( int x = threadid; x < w; x += threadstride ){ prow[x] = Dilate(x,y,z,clearid,change); } } change = syncthreads_or(change); if (threadidx.x == 0){ // first thread within block writes result // to global grid mem } Block Stride Active Threads pgridmem[blockidx.x] = change; 29

30 Vessel Path Smoothing CUDA Implementation Typical short vessel paths (< 1000 points) Can use a single saturated block, avoids ping-pong buffer Kernel Compute correction and write to global memory SyncThreads Read coordinates of neighbors Compute smooth value in register SyncThreads Write smooth to global SyncThreads 30

The VesselGlyph: Focus & Context Visualization in CT-Angiography

The VesselGlyph: Focus & Context Visualization in CT-Angiography The VesselGlyph: Focus & Context Visualization in CT-Angiography Matúš Straka M. Šrámek, A. La Cruz E. Gröller, D. Fleischmann Contents Motivation:» Why again a new visualization method for vessel data?

More information

Automatic Transfer Function Specification for Visual Emphasis of Coronary Artery Plaque

Automatic Transfer Function Specification for Visual Emphasis of Coronary Artery Plaque Glaßer & Oeltze & Hennemuth & Kubisch & Mahnken & Wilhelmsen & Preim / Automatic TF Specification for Visual Emphasis of Coronary Plaque1 Automatic Transfer Function Specification for Visual Emphasis of

More information

Tutorial Syllabus. Surface Visualization. (20 min.) Direct Volume Visualization. (30 min.) Medical Training and Surgical Planning

Tutorial Syllabus. Surface Visualization. (20 min.) Direct Volume Visualization. (30 min.) Medical Training and Surgical Planning Tutorial Syllabus Surface Visualization - Marching Cubes and its improvements - Smoothing of surface visualizations Direct Volume Visualization - Ray casting and texture-based approaches - Projection methods

More information

Human Heart Coronary Arteries Segmentation

Human Heart Coronary Arteries Segmentation Human Heart Coronary Arteries Segmentation Qian Huang Wright State University, Computer Science Department Abstract The volume information extracted from computed tomography angiogram (CTA) datasets makes

More information

Octree-Based Sparse Voxelization for Real-Time Global Illumination. Cyril Crassin NVIDIA Research

Octree-Based Sparse Voxelization for Real-Time Global Illumination. Cyril Crassin NVIDIA Research Octree-Based Sparse Voxelization for Real-Time Global Illumination Cyril Crassin NVIDIA Research Voxel representations Crane et al. (NVIDIA) 2007 Allard et al. 2010 Christensen and Batali (Pixar) 2004

More information

Modeling and preoperative planning for kidney surgery

Modeling and preoperative planning for kidney surgery Modeling and preoperative planning for kidney surgery Refael Vivanti Computer Aided Surgery and Medical Image Processing Lab Hebrew University of Jerusalem, Israel Advisor: Prof. Leo Joskowicz Clinical

More information

Automatic Cerebral Aneurysm Detection in Multimodal Angiographic Images

Automatic Cerebral Aneurysm Detection in Multimodal Angiographic Images Automatic Cerebral Aneurysm Detection in Multimodal Angiographic Images Clemens M. Hentschke, Oliver Beuing, Rosa Nickl and Klaus D. Tönnies Abstract We propose a system to automatically detect cerebral

More information

Data Visualization (DSC 530/CIS )

Data Visualization (DSC 530/CIS ) Data Visualization (DSC 530/CIS 60-0) Isosurfaces & Volume Rendering Dr. David Koop Fields & Grids Fields: - Values come from a continuous domain, infinitely many values - Sampled at certain positions

More information

Visual Medicine: Part Two Advanced Topics in Visual Medicine. Advanced Topics in Visual Medicine

Visual Medicine: Part Two Advanced Topics in Visual Medicine. Advanced Topics in Visual Medicine Visual Medicine: Part Two Advanced Topics in Visual Medicine Visualization of Vasculature Steffen Oeltze Visualization Research Group University of Magdeburg, Germany stoeltze@isg.cs.uni-magdeburg.de Outline

More information

Probabilistic Tracking and Model-based Segmentation of 3D Tubular Structures

Probabilistic Tracking and Model-based Segmentation of 3D Tubular Structures Probabilistic Tracking and Model-based Segmentation of 3D Tubular Structures Stefan Wörz, William J. Godinez, Karl Rohr University of Heidelberg, BIOQUANT, IPMB, and DKFZ Heidelberg, Dept. Bioinformatics

More information

CIS 467/602-01: Data Visualization

CIS 467/602-01: Data Visualization CIS 467/60-01: Data Visualization Isosurfacing and Volume Rendering Dr. David Koop Fields and Grids Fields: values come from a continuous domain, infinitely many values - Sampled at certain positions to

More information

Vessel Centerline Tracking in CTA and MRA Images Using Hough Transform

Vessel Centerline Tracking in CTA and MRA Images Using Hough Transform Vessel Centerline Tracking in CTA and MRA Images Using Hough Transform Maysa M.G. Macedo 1, Choukri Mekkaoui 2, and Marcel P. Jackowski 1 1 University of São Paulo, Department of Computer Science, Rua

More information

ECE 408 / CS 483 Final Exam, Fall 2014

ECE 408 / CS 483 Final Exam, Fall 2014 ECE 408 / CS 483 Final Exam, Fall 2014 Thursday 18 December 2014 8:00 to 11:00 Central Standard Time You may use any notes, books, papers, or other reference materials. In the interest of fair access across

More information

Volume Visualization

Volume Visualization Volume Visualization Part 1 (out of 3) Overview: Volume Visualization Introduction to volume visualization On volume data Surface vs. volume rendering Overview: Techniques Simple methods Slicing, cuberille

More information

Data Visualization (DSC 530/CIS )

Data Visualization (DSC 530/CIS ) Data Visualization (DSC 530/CIS 60-01) Scalar Visualization Dr. David Koop Online JavaScript Resources http://learnjsdata.com/ Good coverage of data wrangling using JavaScript Fields in Visualization Scalar

More information

Supplementary Material: Guided Volume Editing based on Histogram Dissimilarity

Supplementary Material: Guided Volume Editing based on Histogram Dissimilarity Supplementary Material: Guided Volume Editing based on Histogram Dissimilarity A. Karimov, G. Mistelbauer, T. Auzinger and S. Bruckner 2 Institute of Computer Graphics and Algorithms, Vienna University

More information

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 2.11] Jernej Barbic University of Southern California Scientific Visualization

More information

Visualization. CSCI 420 Computer Graphics Lecture 26

Visualization. CSCI 420 Computer Graphics Lecture 26 CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 11] Jernej Barbic University of Southern California 1 Scientific Visualization

More information

Volume Visualization. Part 1 (out of 3) Volume Data. Where do the data come from? 3D Data Space How are volume data organized?

Volume Visualization. Part 1 (out of 3) Volume Data. Where do the data come from? 3D Data Space How are volume data organized? Volume Data Volume Visualization Part 1 (out of 3) Where do the data come from? Medical Application Computed Tomographie (CT) Magnetic Resonance Imaging (MR) Materials testing Industrial-CT Simulation

More information

Blood Vessel Visualization on CT Data

Blood Vessel Visualization on CT Data WDS'12 Proceedings of Contributed Papers, Part I, 88 93, 2012. ISBN 978-80-7378-224-5 MATFYZPRESS Blood Vessel Visualization on CT Data J. Dupej Charles University Prague, Faculty of Mathematics and Physics,

More information

GPU-based Volume Rendering. Michal Červeňanský

GPU-based Volume Rendering. Michal Červeňanský GPU-based Volume Rendering Michal Červeňanský Outline Volume Data Volume Rendering GPU rendering Classification Speed-up techniques Other techniques 2 Volume Data Describe interior structures Liquids,

More information

Non-linear Model Fitting to Parameterize Diseased Blood Vessels

Non-linear Model Fitting to Parameterize Diseased Blood Vessels Non-linear Model Fitting to Parameterize Diseased Blood Vessels Alexandra La Cruz Vienna University of Technology Miloš Šrámek Austrian Academy of Sciences Matúš Straka Austrian Academy of Sciences Eduard

More information

FINDING THE TRUE EDGE IN CTA

FINDING THE TRUE EDGE IN CTA FINDING THE TRUE EDGE IN CTA by: John A. Rumberger, PhD, MD, FACC Your patient has chest pain. The Cardiac CT Angiography shows plaque in the LAD. You adjust the viewing window trying to evaluate the stenosis

More information

2D Vessel Segmentation Using Local Adaptive Contrast Enhancement

2D Vessel Segmentation Using Local Adaptive Contrast Enhancement 2D Vessel Segmentation Using Local Adaptive Contrast Enhancement Dominik Schuldhaus 1,2, Martin Spiegel 1,2,3,4, Thomas Redel 3, Maria Polyanskaya 1,3, Tobias Struffert 2, Joachim Hornegger 1,4, Arnd Doerfler

More information

TECHNICAL REPORT. Smart Linking of 2D and 3D Views in Medical Applications

TECHNICAL REPORT. Smart Linking of 2D and 3D Views in Medical Applications Institut für Computergraphik und Algorithmen Technische Universität Wien Karlsplatz 13/186/2 A-1040 Wien AUSTRIA Tel: +43 (1) 58801-18601 Fax: +43 (1) 58801-18698 Institute of Computer Graphics and Algorithms

More information

GPU Programming EE Final Examination

GPU Programming EE Final Examination Name GPU Programming EE 4702-1 Final Examination Friday, 11 December 2015 15:00 17:00 CST Alias Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 Exam Total (20 pts) (15 pts) (15 pts) (20 pts)

More information

GPU Programming EE Final Examination

GPU Programming EE Final Examination Name Solution GPU Programming EE 4702-1 Final Examination Friday, 11 December 2015 15:00 17:00 CST Alias Methane? Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 Exam Total (20 pts) (15 pts)

More information

Reconstruction of 3D Surface Meshes for Blood Flow Simulations of Intracranial Aneurysms

Reconstruction of 3D Surface Meshes for Blood Flow Simulations of Intracranial Aneurysms Reconstruction of 3D Surface Meshes for Blood Flow Simulations of Intracranial Aneurysms Abstract: S. Glaßer¹, P. Berg², M. Neugebauer³, B. Preim¹ ¹Otto-von-Guericke University of Magdeburg, Department

More information

GPU Programming EE Final Examination

GPU Programming EE Final Examination Name GPU Programming EE 4702-1 Final Examination Monday, 5 December 2016 17:30 19:30 CST Alias Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Exam Total (20 pts) (20 pts) (15 pts) (20 pts) (25 pts)

More information

Bilateral Depth Filtering for Enhanced Vessel Reformation

Bilateral Depth Filtering for Enhanced Vessel Reformation Eurographics Conference on Visualization (EuroVis) (04) N. Elmqvist, M. Hlawitschka, and J. Kennedy (Editors) Short Papers Bilateral Depth Filtering for Enhanced Vessel Reformation Jan Kretchmer,, Bernhard

More information

Coronary Artery Calcium Quantification in Contrast-enhanced Computed Tomography Angiography

Coronary Artery Calcium Quantification in Contrast-enhanced Computed Tomography Angiography Georgia State University ScholarWorks @ Georgia State University Computer Science Dissertations Department of Computer Science 12-18-2013 Coronary Artery Calcium Quantification in Contrast-enhanced Computed

More information

GPU-accelerated data expansion for the Marching Cubes algorithm

GPU-accelerated data expansion for the Marching Cubes algorithm GPU-accelerated data expansion for the Marching Cubes algorithm San Jose (CA) September 23rd, 2010 Christopher Dyken, SINTEF Norway Gernot Ziegler, NVIDIA UK Agenda Motivation & Background Data Compaction

More information

A Hybrid Method for Coronary Artery Stenoses Detection and Quantification in CTA Images

A Hybrid Method for Coronary Artery Stenoses Detection and Quantification in CTA Images A Hybrid Method for Coronary Artery Stenoses Detection and Quantification in CTA Images İlkay Öksüz 1, Devrim Ünay 2, Kamuran Kadıpaşaoğlu 2 1 Electrical and Electronics Engineering, Bahçeşehir University,

More information

3D Visualization of Vascular Structures

3D Visualization of Vascular Structures 3D Visualization of Vascular Structures Bernhard Preim, University of Magdeburg, Visualization Research Group Outline Methods for 3D Visualization of Vasculature Model-based Surface Visualization Explicit

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] November 20, 2003 Doug James Carnegie Mellon University http://www.cs.cmu.edu/~djames/15-462/fall03

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 15, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University 15-462 Computer Graphics I Lecture 21 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Edge-Preserving Denoising for Segmentation in CT-Images

Edge-Preserving Denoising for Segmentation in CT-Images Edge-Preserving Denoising for Segmentation in CT-Images Eva Eibenberger, Anja Borsdorf, Andreas Wimmer, Joachim Hornegger Lehrstuhl für Mustererkennung, Friedrich-Alexander-Universität Erlangen-Nürnberg

More information

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past

More information

Babu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7)

Babu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7) 5 Years Integrated M.Sc.(IT)(Semester - 7) 060010707 Digital Image Processing UNIT 1 Introduction to Image Processing Q: 1 Answer in short. 1. What is digital image? 1. Define pixel or picture element?

More information

Vessel Explorer: a tool for quantitative measurements in CT and MR angiography

Vessel Explorer: a tool for quantitative measurements in CT and MR angiography Clinical applications Vessel Explorer: a tool for quantitative measurements in CT and MR angiography J. Oliván Bescós J. Sonnemans R. Habets J. Peters H. van den Bosch T. Leiner Healthcare Informatics/Patient

More information

CUDA. More on threads, shared memory, synchronization. cuprintf

CUDA. More on threads, shared memory, synchronization. cuprintf CUDA More on threads, shared memory, synchronization cuprintf Library function for CUDA Developers Copy the files from /opt/cuprintf into your source code folder #include cuprintf.cu global void testkernel(int

More information

Automatic Ascending Aorta Detection in CTA Datasets

Automatic Ascending Aorta Detection in CTA Datasets Automatic Ascending Aorta Detection in CTA Datasets Stefan C. Saur 1, Caroline Kühnel 2, Tobias Boskamp 2, Gábor Székely 1, Philippe Cattin 1,3 1 Computer Vision Laboratory, ETH Zurich, 8092 Zurich, Switzerland

More information

OPENGL BLUEPRINT RENDERING

OPENGL BLUEPRINT RENDERING April 47, 2016 Silicon Valley OPENGL BLUEPRINT RENDERING Christoph Kubisch, 4/7/2016 MOTIVATION Blueprints / drawings in CAD/graph viewer applications Documents can contain many LINES and LINE_STRIPS Various

More information

Data Visualization (CIS/DSC 468)

Data Visualization (CIS/DSC 468) Data Visualization (CIS/DSC 46) Volume Rendering Dr. David Koop Visualizing Volume (3D) Data 2D visualization slice images (or multi-planar reformating MPR) Indirect 3D visualization isosurfaces (or surface-shaded

More information

First Steps in Hardware Two-Level Volume Rendering

First Steps in Hardware Two-Level Volume Rendering First Steps in Hardware Two-Level Volume Rendering Markus Hadwiger, Helwig Hauser Abstract We describe first steps toward implementing two-level volume rendering (abbreviated as 2lVR) on consumer PC graphics

More information

CSE 167: Lecture #17: Volume Rendering. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #17: Volume Rendering. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #17: Volume Rendering Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Thursday, Dec 13: Final project presentations

More information

Medical Image Processing: Image Reconstruction and 3D Renderings

Medical Image Processing: Image Reconstruction and 3D Renderings Medical Image Processing: Image Reconstruction and 3D Renderings 김보형 서울대학교컴퓨터공학부 Computer Graphics and Image Processing Lab. 2011. 3. 23 1 Computer Graphics & Image Processing Computer Graphics : Create,

More information

Medical Visualization - Volume Rendering. J.-Prof. Dr. Kai Lawonn

Medical Visualization - Volume Rendering. J.-Prof. Dr. Kai Lawonn Medical Visualization - Volume Rendering J.-Prof. Dr. Kai Lawonn Medical Visualization Pipeline Acquisition Filtering/Enhancement Mapping Rendering Data are given Data are processed e.g., feature extraction

More information

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller Scalar Data Visualization Torsten Möller Weiskopf/Machiraju/Möller Overview Basic strategies Function plots and height fields Isolines Color coding Volume visualization (overview) Classification Segmentation

More information

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Visualization Images are used to aid in understanding of data Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Tumor SCI, Utah Scientific Visualization Visualize large

More information

VASCULAR TREE CHARACTERISTIC TABLE BUILDING FROM 3D MR BRAIN ANGIOGRAPHY IMAGES

VASCULAR TREE CHARACTERISTIC TABLE BUILDING FROM 3D MR BRAIN ANGIOGRAPHY IMAGES VASCULAR TREE CHARACTERISTIC TABLE BUILDING FROM 3D MR BRAIN ANGIOGRAPHY IMAGES D.V. Sanko 1), A.V. Tuzikov 2), P.V. Vasiliev 2) 1) Department of Discrete Mathematics and Algorithmics, Belarusian State

More information

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil Real-Time Hair Simulation and Rendering on the GPU Sarah Tariq Louis Bavoil Results 166 simulated strands 0.99 Million triangles Stationary: 64 fps Moving: 41 fps 8800GTX, 1920x1200, 8XMSAA Results 166

More information

Multiscale Blood Vessel Segmentation in Retinal Fundus Images

Multiscale Blood Vessel Segmentation in Retinal Fundus Images Multiscale Blood Vessel Segmentation in Retinal Fundus Images Attila Budai 1, Georg Michelson 2, Joachim Hornegger 1 1 Pattern Recognition Lab and Graduate School in Advanced Optical Technologies(SAOT),

More information

GPU programming. Dr. Bernhard Kainz

GPU programming. Dr. Bernhard Kainz GPU programming Dr. Bernhard Kainz Overview About myself Motivation GPU hardware and system architecture GPU programming languages GPU programming paradigms Pitfalls and best practice Reduction and tiling

More information

GPU Based Region Growth and Vessel Tracking. Supratik Moulik M.D. Jason Walsh

GPU Based Region Growth and Vessel Tracking. Supratik Moulik M.D. Jason Walsh GPU Based Region Growth and Vessel Tracking Supratik Moulik M.D. (supratik@moulik.com) Jason Walsh Conflict of Interest Dr. Supratik Moulik does not have a significant financial stake in any company, nor

More information

Scalar Data. CMPT 467/767 Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Scalar Data. CMPT 467/767 Visualization Torsten Möller. Weiskopf/Machiraju/Möller Scalar Data CMPT 467/767 Visualization Torsten Möller Weiskopf/Machiraju/Möller Overview Basic strategies Function plots and height fields Isolines Color coding Volume visualization (overview) Classification

More information

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences Hardware Accelerated Volume Visualization Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences A Real-Time VR System Real-Time: 25-30 frames per second 4D visualization: real time input of

More information

The MAGIC-5 CAD for nodule detection in low dose and thin slice lung CT. Piergiorgio Cerello - INFN

The MAGIC-5 CAD for nodule detection in low dose and thin slice lung CT. Piergiorgio Cerello - INFN The MAGIC-5 CAD for nodule detection in low dose and thin slice lung CT Piergiorgio Cerello - INFN Frascati, 27/11/2009 Computer Assisted Detection (CAD) MAGIC-5 & Distributed Computing Infrastructure

More information

Reconstruction of Blood Vessels from Neck CT Datasets using Stable 3D Mass-Spring Models

Reconstruction of Blood Vessels from Neck CT Datasets using Stable 3D Mass-Spring Models Eurographics Workshop on Visual Computing for Biomedicine (2008) C. P. Botha, G. Kindlmann, W. J. Niessen, and B. Preim (Editors) Reconstruction of Blood Vessels from Neck CT Datasets using Stable 3D Mass-Spring

More information

GPU Programming EE Final Examination

GPU Programming EE Final Examination Name GPU Programming EE 4702-1 Final Examination Tuesday, 9 December 2014 7:30 9:30 CST Alias Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Exam Total (20 pts) (15 pts) (20 pts) (20 pts) (25 pts) (100

More information

arxiv: v2 [cs.cv] 28 Jan 2019

arxiv: v2 [cs.cv] 28 Jan 2019 Improving Myocardium Segmentation in Cardiac CT Angiography using Spectral Information Steffen Bruns a, Jelmer M. Wolterink a, Robbert W. van Hamersvelt b, Majd Zreik a, Tim Leiner b, and Ivana Išgum a

More information

Application of level set based method for segmentation of blood vessels in angiography images

Application of level set based method for segmentation of blood vessels in angiography images Lodz University of Technology Faculty of Electrical, Electronic, Computer and Control Engineering Institute of Electronics PhD Thesis Application of level set based method for segmentation of blood vessels

More information

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University Ray Casting on Programmable Graphics Hardware Martin Kraus PURPL group, Purdue University Overview Parallel volume rendering with a single GPU Implementing ray casting for a GPU Basics Optimizations Published

More information

Applications of Explicit Early-Z Culling

Applications of Explicit Early-Z Culling Applications of Explicit Early-Z Culling Jason L. Mitchell ATI Research Pedro V. Sander ATI Research Introduction In past years, in the SIGGRAPH Real-Time Shading course, we have covered the details of

More information

Comparison of Vessel Segmentations using STAPLE

Comparison of Vessel Segmentations using STAPLE Comparison of Vessel Segmentations using STAPLE Julien Jomier, Vincent LeDigarcher, and Stephen R. Aylward Computer-Aided Diagnosis and Display Lab The University of North Carolina at Chapel Hill, Department

More information

n o r d i c B r a i n E x Tutorial DSC Module

n o r d i c B r a i n E x Tutorial DSC Module m a k i n g f u n c t i o n a l M R I e a s y n o r d i c B r a i n E x Tutorial DSC Module Please note that this tutorial is for the latest released nordicbrainex. If you are using an older version please

More information

CUDA Advanced Techniques 3 Mohamed Zahran (aka Z)

CUDA Advanced Techniques 3 Mohamed Zahran (aka Z) Some slides are used and slightly modified from: NVIDIA teaching kit CSCI-GA.3033-004 Graphics Processing Units (GPUs): Architecture and Programming CUDA Advanced Techniques 3 Mohamed Zahran (aka Z) mzahran@cs.nyu.edu

More information

Diagnostic Relevant Visualization of Vascular Structures

Diagnostic Relevant Visualization of Vascular Structures Diagnostic Relevant Visualization of Vascular Structures Armin Kanitsar 1, Dominik Fleischmann 2, Rainer Wegenkittl 3, and Meister Eduard Gröller 1 1 Institute of Computer Graphics and Algorithms, Vienna

More information

GPU programming basics. Prof. Marco Bertini

GPU programming basics. Prof. Marco Bertini GPU programming basics Prof. Marco Bertini CUDA: atomic operations, privatization, algorithms Atomic operations The basics atomic operation in hardware is something like a read-modify-write operation performed

More information

AORTA CTA VPMC-12419

AORTA CTA VPMC-12419 AORTA CTA VPMC-12419 Workflow Overview: The Aorta can be post-processed in various ways. Auto Bone Removal and Vessel Pick provide a quick overview of the entire Aorta. Vessel Probe creates a centerline

More information

GPU Memory Model. Adapted from:

GPU Memory Model. Adapted from: GPU Memory Model Adapted from: Aaron Lefohn University of California, Davis With updates from slides by Suresh Venkatasubramanian, University of Pennsylvania Updates performed by Gary J. Katz, University

More information

Information Coding / Computer Graphics, ISY, LiTH. CUDA memory! ! Coalescing!! Constant memory!! Texture memory!! Pinned memory 26(86)

Information Coding / Computer Graphics, ISY, LiTH. CUDA memory! ! Coalescing!! Constant memory!! Texture memory!! Pinned memory 26(86) 26(86) Information Coding / Computer Graphics, ISY, LiTH CUDA memory Coalescing Constant memory Texture memory Pinned memory 26(86) CUDA memory We already know... Global memory is slow. Shared memory is

More information

Deferred Rendering Due: Wednesday November 15 at 10pm

Deferred Rendering Due: Wednesday November 15 at 10pm CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture

More information

Hardware/Software Co-Design

Hardware/Software Co-Design 1 / 13 Hardware/Software Co-Design Review so far Miaoqing Huang University of Arkansas Fall 2011 2 / 13 Problem I A student mentioned that he was able to multiply two 1,024 1,024 matrices using a tiled

More information

CS179 GPU Programming Recitation 4: CUDA Particles

CS179 GPU Programming Recitation 4: CUDA Particles Recitation 4: CUDA Particles Lab 4 CUDA Particle systems Two parts Simple repeat of Lab 3 Interacting Flocking simulation 2 Setup Two folders given particles_simple, particles_interact Must install NVIDIA_CUDA_SDK

More information

CP Generalize Concepts in Abstract Multi-dimensional Image Model Component Semantics. David Clunie.

CP Generalize Concepts in Abstract Multi-dimensional Image Model Component Semantics. David Clunie. CP-1390 - Generalize Concepts in Abstract Multi-dimensional Image Model Semantics Page 1 STATUS Date of Last Update Person Assigned Submitter Name Submission Date Assigned 2014/06/09 David Clunie mailto:dclunie@dclunie.com

More information

Threading Hardware in G80

Threading Hardware in G80 ing Hardware in G80 1 Sources Slides by ECE 498 AL : Programming Massively Parallel Processors : Wen-Mei Hwu John Nickolls, NVIDIA 2 3D 3D API: API: OpenGL OpenGL or or Direct3D Direct3D GPU Command &

More information

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/ DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/2013-11-04 DEFERRED RENDERING? CONTENTS 1. The traditional approach: Forward rendering 2. Deferred rendering (DR) overview 3. Example uses of DR:

More information

Volume Graphics Introduction

Volume Graphics Introduction High-Quality Volume Graphics on Consumer PC Hardware Volume Graphics Introduction Joe Kniss Gordon Kindlmann Markus Hadwiger Christof Rezk-Salama Rüdiger Westermann Motivation (1) Motivation (2) Scientific

More information

Interactive segmentation of vascular structures in CT images for liver surgery planning

Interactive segmentation of vascular structures in CT images for liver surgery planning Interactive segmentation of vascular structures in CT images for liver surgery planning L. Wang¹, C. Hansen¹, S.Zidowitz¹, H. K. Hahn¹ ¹ Fraunhofer MEVIS, Institute for Medical Image Computing, Bremen,

More information

Evaluation of Hessian-based filters to enhance the axis of coronary arteries in CT images

Evaluation of Hessian-based filters to enhance the axis of coronary arteries in CT images International Congress Series 1256 (2003) 1191 1196 Evaluation of Hessian-based filters to enhance the axis of coronary arteries in CT images S.D. Olabarriaga a, *, M. Breeuwer b, W.J. Niessen a a University

More information

Geometric Representations. Stelian Coros

Geometric Representations. Stelian Coros Geometric Representations Stelian Coros Geometric Representations Languages for describing shape Boundary representations Polygonal meshes Subdivision surfaces Implicit surfaces Volumetric models Parametric

More information

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute

More information

CUDA OPTIMIZATION WITH NVIDIA NSIGHT ECLIPSE EDITION. Julien Demouth, NVIDIA Cliff Woolley, NVIDIA

CUDA OPTIMIZATION WITH NVIDIA NSIGHT ECLIPSE EDITION. Julien Demouth, NVIDIA Cliff Woolley, NVIDIA CUDA OPTIMIZATION WITH NVIDIA NSIGHT ECLIPSE EDITION Julien Demouth, NVIDIA Cliff Woolley, NVIDIA WHAT WILL YOU LEARN? An iterative method to optimize your GPU code A way to conduct that method with NVIDIA

More information

Real-time Graphics 9. GPGPU

Real-time Graphics 9. GPGPU Real-time Graphics 9. GPGPU GPGPU GPU (Graphics Processing Unit) Flexible and powerful processor Programmability, precision, power Parallel processing CPU Increasing number of cores Parallel processing

More information

Volume Rendering - Introduction. Markus Hadwiger Visual Computing Center King Abdullah University of Science and Technology

Volume Rendering - Introduction. Markus Hadwiger Visual Computing Center King Abdullah University of Science and Technology Volume Rendering - Introduction Markus Hadwiger Visual Computing Center King Abdullah University of Science and Technology Volume Visualization 2D visualization: slice images (or multi-planar reformation:

More information

Generalizing vesselness with respect to dimensionality and shape Release 1.00

Generalizing vesselness with respect to dimensionality and shape Release 1.00 Generalizing vesselness with respect to dimensionality and shape Release 1.00 Luca Antiga 1 August 3, 2007 1 Medical Imaging Unit Mario Negri Institute, Bergamo, Italy email: antiga at marionegri.it Abstract

More information

PROCESS > SPATIAL FILTERS

PROCESS > SPATIAL FILTERS 83 Spatial Filters There are 19 different spatial filters that can be applied to a data set. These are described in the table below. A filter can be applied to the entire volume or to selected objects

More information

Large scale Imaging on Current Many- Core Platforms

Large scale Imaging on Current Many- Core Platforms Large scale Imaging on Current Many- Core Platforms SIAM Conf. on Imaging Science 2012 May 20, 2012 Dr. Harald Köstler Chair for System Simulation Friedrich-Alexander-Universität Erlangen-Nürnberg, Erlangen,

More information

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics Volume Rendering Computer Animation and Visualisation Lecture 9 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Volume Rendering 1 Volume Data Usually, a data uniformly distributed

More information

Lecture 6. Programming with Message Passing Message Passing Interface (MPI)

Lecture 6. Programming with Message Passing Message Passing Interface (MPI) Lecture 6 Programming with Message Passing Message Passing Interface (MPI) Announcements 2011 Scott B. Baden / CSE 262 / Spring 2011 2 Finish CUDA Today s lecture Programming with message passing 2011

More information

TSBK03 Screen-Space Ambient Occlusion

TSBK03 Screen-Space Ambient Occlusion TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm

More information

Lecture 15: Introduction to GPU programming. Lecture 15: Introduction to GPU programming p. 1

Lecture 15: Introduction to GPU programming. Lecture 15: Introduction to GPU programming p. 1 Lecture 15: Introduction to GPU programming Lecture 15: Introduction to GPU programming p. 1 Overview Hardware features of GPGPU Principles of GPU programming A good reference: David B. Kirk and Wen-mei

More information

Respiratory Motion Estimation using a 3D Diaphragm Model

Respiratory Motion Estimation using a 3D Diaphragm Model Respiratory Motion Estimation using a 3D Diaphragm Model Marco Bögel 1,2, Christian Riess 1,2, Andreas Maier 1, Joachim Hornegger 1, Rebecca Fahrig 2 1 Pattern Recognition Lab, FAU Erlangen-Nürnberg 2

More information

CIS 4930/ SCIENTIFICVISUALIZATION

CIS 4930/ SCIENTIFICVISUALIZATION CIS 4930/6930-902 SCIENTIFICVISUALIZATION ISOSURFACING Paul Rosen Assistant Professor University of South Florida slides credits Tricoche and Meyer ADMINISTRATIVE Read (or watch video): Kieffer et al,

More information

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Lecture 2: Graphics Pipeline Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices - raster displays show images as a rectangular array

More information

Multipass GPU Surface Rendering in 4D Ultrasound

Multipass GPU Surface Rendering in 4D Ultrasound 2012 Cairo International Biomedical Engineering Conference (CIBEC) Cairo, Egypt, December 20-21, 2012 Multipass GPU Surface Rendering in 4D Ultrasound Ahmed F. Elnokrashy 1,2, Marwan Hassan 1, Tamer Hosny

More information

Volume Rendering. Lecture 21

Volume Rendering. Lecture 21 Volume Rendering Lecture 21 Acknowledgements These slides are collected from many sources. A particularly valuable source is the IEEE Visualization conference tutorials. Sources from: Roger Crawfis, Klaus

More information

City, University of London Institutional Repository

City, University of London Institutional Repository City Research Online City, University of London Institutional Repository Citation: Wang, Yin (2011). Blood Vessel Segmentation and shape analysis for quantification of Coronary Artery Stenosis in CT Angiography.

More information