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

Similar documents
FINDING THE TRUE EDGE IN CTA

Human Heart Coronary Arteries Segmentation

Norbert Schuff VA Medical Center and UCSF

Modeling and preoperative planning for kidney surgery

How to Adjust the 16-Bit CLUT (Color Look Up Table) Editor in OsiriX

CT Basics Principles of Spiral CT Dose. Always Thinking Ahead.

Norbert Schuff Professor of Radiology VA Medical Center and UCSF

Refraction Corrected Transmission Ultrasound Computed Tomography for Application in Breast Imaging

MR IMAGE SEGMENTATION

RSNA, /rg

Computational Medical Imaging Analysis Chapter 4: Image Visualization

Classification of Subject Motion for Improved Reconstruction of Dynamic Magnetic Resonance Imaging

Medical Image Processing: Image Reconstruction and 3D Renderings

CT NOISE POWER SPECTRUM FOR FILTERED BACKPROJECTION AND ITERATIVE RECONSTRUCTION

Automated segmentation methods for liver analysis in oncology applications

Chapter 4. Clustering Core Atoms by Location

8/3/2017. Contour Assessment for Quality Assurance and Data Mining. Objective. Outline. Tom Purdie, PhD, MCCPM

Ch. 4 Physical Principles of CT

Programmable Shaders for Deformation Rendering

A Generic Lie Group Model for Computer Vision

[PDR03] RECOMMENDED CT-SCAN PROTOCOLS

CHAPTER 3 RETINAL OPTIC DISC SEGMENTATION

Color Space Invariance for Various Edge Types in Simple Images. Geoffrey Hollinger and Dr. Bruce Maxwell Swarthmore College Summer 2003

Image Analysis, Geometrical Modelling and Image Synthesis for 3D Medical Imaging

Corso di laurea in Fisica A.A Fisica Medica 4 TC

EE795: Computer Vision and Intelligent Systems

Three-dimensional graphics system of medical images on the Web for patients

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

Engineering Problem and Goal

Dynamic digital phantoms

Lecture 12 Level Sets & Parametric Transforms. sec & ch. 11 of Machine Vision by Wesley E. Snyder & Hairong Qi

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

Segmentation of Bony Structures with Ligament Attachment Sites

INDUSTRIAL SYSTEM DEVELOPMENT FOR VOLUMETRIC INTEGRITY

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

Digital Image Processing

Case TAVR080: Aortic Valve step-by-step guide

AORTA CTA VPMC-12419

GE Healthcare. Vivid 7 Dimension 08 Cardiovascular ultrasound system

Tomographic Reconstruction

A Fast GPU-Based Approach to Branchless Distance-Driven Projection and Back-Projection in Cone Beam CT

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

The Near Future in Cardiac CT Image Reconstruction

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

K-Means Clustering Using Localized Histogram Analysis

Fundamentals of CT imaging

Implementation of Advanced Image Guided Radiation Therapy

Previously... contour or image rendering in 2D

The organization of the human cerebral cortex estimated by intrinsic functional connectivity

Scattering/Wave Terminology A few terms show up throughout the discussion of electron microscopy:

Isosurface Rendering. CSC 7443: Scientific Information Visualization

CS179: GPU Programming Recitation 5: Rendering Fractals

Segmentation and Modeling of the Spinal Cord for Reality-based Surgical Simulator

CPSC GLOBAL ILLUMINATION

Prostate Detection Using Principal Component Analysis

Image Acquisition Systems

Introduction to Medical Image Processing

CHAPTER 3 TUMOR DETECTION BASED ON NEURO-FUZZY TECHNIQUE

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

Exploiting Typical Clinical Imaging Constraints for 3D Outer Bone Surface Segmentation

2 Michael E. Leventon and Sarah F. F. Gibson a b c d Fig. 1. (a, b) Two MR scans of a person's knee. Both images have high resolution in-plane, but ha

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

Volume Illumination. Visualisation Lecture 11. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

VieW 3D. 3D Post-Processing WorKstation THE THIRD DIMENSION. Version 3.1

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

Assessing Accuracy Factors in Deformable 2D/3D Medical Image Registration Using a Statistical Pelvis Model

Constrained Diffusion Limited Aggregation in 3 Dimensions

Segmentation tools and workflows in PerGeos

Case TAVR080: Aortic Valve Step-by-Step Guide

Clinical Importance. Aortic Stenosis. Aortic Regurgitation. Ultrasound vs. MRI. Carotid Artery Stenosis

Module 7 VIDEO CODING AND MOTION ESTIMATION

diffuse diffuse reflection refraction diffuse mapping diffuse reflection reflection filter mapping mapping reflection

Shape representation by skeletonization. Shape. Shape. modular machine vision system. Feature extraction shape representation. Shape representation

Basics of treatment planning II

radiotherapy Andrew Godley, Ergun Ahunbay, Cheng Peng, and X. Allen Li NCAAPM Spring Meeting 2010 Madison, WI

C a t p h a n / T h e P h a n t o m L a b o r a t o r y

Segmenting Lesions in Multiple Sclerosis Patients James Chen, Jason Su

US 1.

Volume Illumination and Segmentation

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Robust PDF Table Locator

RADIOLOGY AND DIAGNOSTIC IMAGING

2D image segmentation based on spatial coherence

Cross-Hardware GPGPU implementation of Acceleration Structures for Ray Tracing using OpenCL

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

MEDICAL IMAGE COMPUTING (CAP 5937) LECTURE 9: Medical Image Segmentation (III) (Fuzzy Connected Image Segmentation)

Lucy Phantom MR Grid Evaluation

Advanced Image Reconstruction Methods for Photoacoustic Tomography

Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation

Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control

Extraction and recognition of the thoracic organs based on 3D CT images and its application

Design and performance characteristics of a Cone Beam CT system for Leksell Gamma Knife Icon

An Automated Image-based Method for Multi-Leaf Collimator Positioning Verification in Intensity Modulated Radiation Therapy

Motion Analysis. Motion analysis. Now we will talk about. Differential Motion Analysis. Motion analysis. Difference Pictures

Arbitrary cut planes Slab control with slab thickness Projection plane adjustment Box cropping Mandible detection MPR cross-section linked views

Image Segmentation and Registration

Cerner SkyVue Cardiology Remote Review with NVIDIA and VMware Horizon

Quantitative IntraVascular UltraSound (QCU)

Image Post-Processing, Workflow, & Interpretation

Deviceless respiratory motion correction in PET imaging exploring the potential of novel data driven strategies

Transcription:

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 does he receive financial support or grants from any corporate or government entity.

Overview Introduction Traditional Region Growth Algorithms Simple GPU based Region Growth Enhanced Threshold Based Techniques Conclusions

Overview Introduction Traditional Region Growth Algorithms Simple GPU based Region Growth Enhanced Threshold Based Techniques Conclusions

The Presenter Who am I Fellowship trained cardiovascular radiologist. Background in engineering and physics CUDA developer since ~2007 (v1.0) What kind of work do I do 50% clinical 50% programming What to expect from the talk GPU specific region growth and vessel tracking algorithms What not to expect Optimized algorithm with perfectly coalesced memory access Comprehensive analysis of traditional CPU algorithms

General Principles General Philosophical Principles Code should adaptive to input All algorithms fail in the situations where it is actually needed Importance of Error Checking Primary Goal - Not showing incorrect result Secondary Goal - Showing correct result Focus of talk Various region growth and segmentation algorithms Application to medical imaging. Novel GPU vessel tracking techniques

Overview Introduction Traditional Region Growth Algorithms Simple GPU based Region Growth Enhanced Threshold Based Techniques Conclusions

Who is Jason Walsh? Full time student Studying CS Plans for BS and MS Informatics work at Hospital of the University of Pennsylvania (HUP) Creating a secure online patient record system Interested in research opportunities in medical imaging or GPU Development

General Principles Simple image segmentation process Assign points to groups based on set of criteria All point determined to be in or out of the region Points in region connected spatially and by membership criteria Utilizes an initial seed point(s) Seed points are provided either manually or auto generated Serve as starting point for region Provide parameters for initial region membership criteria Boundaries determined by processes such as thresholding Based on differences in specific pixel properties Can be used with RGB or BW images

Target Lesion with Various Red Values

Initial Growth Threshold Set Narrow Initial region growth threshold -set narrowing/specific -only deepest red values

Progressively Widen Threshold Widened threshold -includes more of the lesion

Progressively Widen Threshold

Progressively Widen Threshold

Region Growth in Medical Imaging Used for partitioning volumetric data Identify individual organs Remove extraneous data Segmenting Thin Section or Volumetric Studies CT Angiograms Cardiac MRI Multiphase CT scans Region Growth Often Combined with Volume Rendering Provides information regarding region volume Aids in visualizing spatial relationships

Major Uses in medical imaging Vessel Segmentation Bone Segmentation Targeted Lesion Segmentation

Vessel Segmentation Isolation of the vessels Aorta and major 1 st and 2 nd order branches Dependant on degree of vascular contrast Aids treatment planning by providing accurate 3 dimensional path length of vessels. Airway Segmentation Similar to vessel tracking in terms of algorithms Virtual Bronchoscopy for identifying tumors

Volume Rendered Image from CTA Aorta Renal Artery

Vascular Stent Treatment Length Aortic Stent

Virtual Bronchoscopy

Major uses in medical imaging Vessel Segmentation Bone Segmentation Targeted Lesion Segmentation

Bone Segmentation Primary use: Modeling fractures for operative planning Excluding bone points to aid in the accuracy of vessel tracking Individual bone segmentation for lesion localization Bone has overlap of density values with numerous other structures Vascular calcium Densely enhanced vessels Enteric contrast Small metallic structures

Region Growth of the Pelvis

Individual Bone Growth Sacrum Iliac Femur

Not all that is white is bone Intravenous Contrast Vascular Calcium Calcium in Bone

Major Uses in medical imaging Vessel Segmentation Bone Segmentation Targeted Lesion Segmentation

Target Lesion Segmentation The most critical role of region growth in medical imaging is in the isolation of target lesions Measure size of primary and metastatic tumors Change of lesion size and morphology over time Critical to incorporate edge detection data as well as dynamic thresholds

Length Area Width

Tumor Left Atrium

Primary Development Workstation

Overview Introduction Traditional Region Growth Algorithms Simple GPU based Region Growth Enhanced Threshold Based Techniques Conclusions

Translating Region Growth to the GPU Calculate Gradients Well suited in general for GPU implementation. 2D or 3D gradients Region Growth Loop Major difference between CPU and GPU implementation. Result of i-th iteration depends on result of iteration (i-1) results from earlier threads Race condition can cause variability in results when number of iterations is limited. Speed Maintain a single data set that is modified and changes during a single kernel execution RAW (result from one thread effect other thread in warp or block) WAR (missed opportunity for region growth) Reproducibility Main data set and Result data Determining Completion Typically achieved when all points are classified Not always a straight forward task with large 3D data sets

How We Think it Happens

What Really Happens

Code Path User Input P (x,y,z) Establish Region Criteria Process Image -Gradient Calculation -Initial Threshold Apply Selection Criteria to Boundary Elements Apply Result Region Growth Loop

Host Code Initial Region Assignment And Propagation Region Growth Loops

Device Code Check for seed point Check Criteria for Immediately Surrounding Points Memory Access Not Globally Convergent

Initial Seed Points

Results The quality of a region growth algorithm judged by: Speed of completion Number of seed points Limit iterations on non-edge points Sensitivity Specificity Reproducibility In general only possible with the use of memory result buffer How to determine failure Non-target organs included in region Large sections of bone omitted.

Pelvic Subsegmentation By Contextual Analysis

Image Through Lower Chest

Growth Error Including Hypogastrics

Closer look at boundary problems

Distinct Structures, But How Do You Know?

Context Clearly Matters More than Density

Cooling A Hexa-GPU System After Hours

Overview Introduction Traditional Region Growth Algorithms Simple GPU based Region Growth Enhanced Threshold Based Techniques Conclusions

Methods for Guiding Region Growth General Edge/Gradient based Established method for constraining growth Perform an initial edge detection Use derivative in N directions for edges/bounding Work poorly for noisy or low contrast images Problem Specific Geometric Features of structures used to guide region growth. Avoid overly rigid geometries that prevent accommodating variations in anatomy Not generally useful in structures that have significant variations. Several key geometries are useful in the human body Spherical Symmetry Cylindrical Symmetry Model based geometry Other

Guided Methods Spherical Symmetry for Small Vessel Tracking Cylindrical Symmetry for Large Vessel Tracking Variable Threshold for Small Vessel Tracking

Guided Methods Spherical Symmetry for Small Vessel Tracking Cylindrical Symmetry for Large Vessel Tracking Variable Threshold for Small Vessel Tracking

Spherical Coordinate in Vessel Tracking Very simply coordinate system to manipulate Provides an intrinsic symmetry when analyzing structures which would otherwise require multiple coordinate transformations Auto compensates for rotation about long axis Well Suited for specific tasks Identifying Initial segments of vessels Maintaining luminal axis

Vessel Tracking With Spherical Symmetry What is most important Continuity is one of the hallmarks of vessels Relative density is important Exploiting spherical symmetry requires appropriately positioned seed point To track vessels you can use concentric spheres Isolate potential points for region growth Vastly improves subsequent growth by limiting extraneous analysis

Applying Concentric Sphere Model

Device Code Calculate Point on Sphere Surface Global Memory Access Determine if Point Meets Criteria

Device Code (2) Global Memory Access to Retreive Sphere Points on Adjacent Shells Restrict to Points that Passed Previous Stage Check Point Between Shells Record Results

Limitations Vessels that deviate significantly from spherical symmetry Lumen follows contour of sphere shell Significant obliquity of course No straight forward way to limit inclusion of non-vascular points Only an initial/ pre-processing step for more guided region growth Requires appropriate positioning of initial seed point Typically near the origin of vessel Works best for short segments of small straight-ish vessels

Guided Methods Spherical Symmetry for Small Vessel Tracking Cylindrical Symmetry for Large Vessel Tracking Variable Threshold for Small Vessel Tracking

Principles of Large Vessel Tracking Numerous structures in human body have intrinsic cylindrical symmetry Scale on which the symmetry is maintained varies Aorta is not a true cylinders Coordinate system matters Aorta tends toward a specific direction Starts near midline and ends near midline Not necessarily predictable in between Massively threaded code allows for cooperative behavior One thread can motivate but not restrict other threads. Numerous paths exist which satisfy a set of conditions The tendency is for true paths to outnumber stray paths

Defying Density with Brute GPU force

Highly computationally intensive algorithm Initial slice search grid (256 * 256) Distal slice target points (64 * 64) Distance between slices (128) Total ~ 270 million combinations (128 points sampled per combination) Longer path length Increases specificity. Decreases sensitivity Location matters Regardless of path length, IVC contamination is always an issue Spine needs to be avoided

Host Code MemCopy Run kernel Statistical Analysis of Results

Device Code Thread and Block Indexing Use Shared Memory Convert thd/blk index to spatial positioning Global Memory Access Converge Shared Data Compare Result to Existing Max

Limitations Vessels which vary significantly in directionality Very common, though not on scales typically used by algorithm Surgical aorta poses additional problems Significant variations in contrast density over length of vessel analysis Fortunately uncommon Significant variants in vessel size Common and important to recognize Discontinuity of vessel Uncommon though important to recognize Extra-vascular contrast Uncommon though important to recognize

Roots in ray tracing This algorithm inspired by ray tracing Typical Ray tracing provides structures with attributes Reflection, refraction, and shadow Acceleration structures Way to efficiently traverse static scene GPU implementation exist (OptiX) Vessel tracking implementation Continuous medium Acceleration structure dynamically changing Fractional transmission rather than refraction Ray Trace Image courtesy of wikipedia

Ray Tracing/Mean Free Path Each ray made up of multiple points Various density values Separate average and standard deviation Potential Fate of Rays Reflection/Refraction Not a possible outcome in this algorithm True absorbed rays Average or standard deviation outside range Significant acute drop in density (edge) Partial transmission Results from fluctuations in density (e.g. image noise, metal artifact, heart failure) Excluded unless no other choice Successful rays All points meet criteria Low variance in density with average within range Limited fluctuations (>95% transmission)

Guided Methods Spherical Symmetry for Small Vessel Tracking Cylindrical Symmetry for Large Vessel Tracking Variable Threshold for Small Vessel Tracking

Variable Threshold for Small Vessels Small vessel tracking Significantly more challenging than aortic tracking No reasonable expectation of linearity Vessel width varies greatly inter and intra scan Quality of contrast enhancement Varies greatly between scans. Scanner can outruns the contrast bolus Minimizing the density window is desirable Artery / vein differentiation often relies on very small differences Artery/ bone differentiation relies critically on boundary point which have intermediate values

Points that fall in window (150-400 HU) -Arteries -Veins -Organs

Intra vessel variations in average HU

Dynamic Variable Threshold Requires partitioning a region into sub-regions Sub-regions have their own parameters Overall constraint on parameters Dynamically computed Connection Sub-region with overall 1 region Not necessarily more computationally intensive -Level 1 Avoid unnecessary -Width 1 computations Easier to identify aberrant paths. Each thread block defines separate sub-region Cooperative interaction within sub-region analysis Sub-region 2 Keeps threshold and window appropriately narrow Global memory -Width for communication 2 between sub-regions -Level 2 Prevents backtracking Allows low level coordination and communication Entire Vessel is Region

Host Code MemCopy Run kernel Check Results

Device Code Thread and Block Indexing Adjust Level Perform Adjacent Point Analysis Converge Shared Data and Check Bounds Write Results to Global Memory

First Server Running Alpha Build of Software

Overview Introduction Traditional Region Growth Algorithms Simple GPU based Region Growth Enhanced Threshold Based Techniques Conclusions

Conclusions Basic Principles of Region Growth Utilization of Region Growth in Medical Imaging Basic GPU Implementation of Region Growth Algorithm Direct translation of CPU code problematic Doesn t utilize full potential of massively parallel GPU Guiding region growth Large vessel tracking with modified ray tracing Small vessel tracking Spherical Variable threshold

???QUESTIONS???