# path planning in virtual bronchoscopy

DESCRIPTION

Path Planning in Virtual Bronchoscopy. Mohamadreza Negahdar Supervisor : Dr. Ahmadian Co-supervisor : Prof. Navab Tehran University of Medical Sciences January 2006. Progress Report. Clinical background (Motivation). Lung cancer is the most common cause of cancer related death* - PowerPoint PPT PresentationTRANSCRIPT

Path Planning in Virtual BronchoscopyPath Planning in Virtual Bronchoscopy

Mohamadreza NegahdarMohamadreza Negahdar

Supervisor : Dr. AhmadianSupervisor : Dr. AhmadianCo-supervisor : Prof. NavabCo-supervisor : Prof. Navab

Tehran University of Medical SciencesTehran University of Medical SciencesJanuary 2006January 2006

Progress Report

Clinical background Clinical background (Motivation)(Motivation)

Lung cancer is the Lung cancer is the most commonmost common cause of cancer related death* cause of cancer related death*

164,000 new cases and 156,000 deaths estimated in 2003 in the 164,000 new cases and 156,000 deaths estimated in 2003 in the US The average 5 yr. survival rate is only US The average 5 yr. survival rate is only 12%12%

Diagnosis of disease at early stage with subsequent treatment may Diagnosis of disease at early stage with subsequent treatment may dramatically increasedramatically increase cure and survival rate cure and survival rate

Since its introduction in 1990 Since its introduction in 1990 spiral CTspiral CT has helped physicians has helped physicians visualize pulmonary nodules with a better diagnostic confidence visualize pulmonary nodules with a better diagnostic confidence compared to chest X-raycompared to chest X-ray

*American Cancer Assc. Update 2003

IntroductionIntroduction

High-resolution 3D CT pulmonary images permit High-resolution 3D CT pulmonary images permit evaluation of thin tubular structures (e.g., airways) and evaluation of thin tubular structures (e.g., airways) and provide 3D position/shape information (e.g., for cancers)provide 3D position/shape information (e.g., for cancers)

However, 3D images are hard to assess manually.However, 3D images are hard to assess manually.

Virtual Bronchoscopic (VB) system enable 3D image Virtual Bronchoscopic (VB) system enable 3D image probing and treatment planningprobing and treatment planning

Both for ease of use and for quantitative assessment, Both for ease of use and for quantitative assessment, Virtual Bronchoscopic systems need airway Virtual Bronchoscopic systems need airway pathspaths for for effective useeffective use

Virtual BronchoscopyVirtual Bronchoscopy VB is a computer-based approach for VB is a computer-based approach for navigating navigating

virtuallyvirtually through airways captured in a 3-D MDCT through airways captured in a 3-D MDCT imageimage

VB 3-D image analysis:VB 3-D image analysis: Guidance of bronchoscopyGuidance of bronchoscopy Human lung-cancer assessment Human lung-cancer assessment Planning and guiding bronchoscopic biopsiesPlanning and guiding bronchoscopic biopsies Quantitative airway analysis –noninvasively-Quantitative airway analysis –noninvasively- Smooth virtual navigationSmooth virtual navigation

A suitable method must:A suitable method must: Provide a detailed, smooth structure of the airway tree’s central axesProvide a detailed, smooth structure of the airway tree’s central axes Require little human interactionRequire little human interaction Function over a wide range of conditions as observed in typical lung-Function over a wide range of conditions as observed in typical lung-

cancer patientscancer patients

Virtual BronchoscopyVirtual Bronchoscopy

A major component of path planning system for VB is a A major component of path planning system for VB is a method for computing the central airway paths method for computing the central airway paths (centerlines) from a 3-D MDCT chest image(centerlines) from a 3-D MDCT chest image

Two general approaches for path definition:Two general approaches for path definition: Manual-Path definition: time-consuming, error-prone, cannot readily Manual-Path definition: time-consuming, error-prone, cannot readily

get many paths.get many paths. Recent automated techniques: don’t use gray-scale information,Recent automated techniques: don’t use gray-scale information,

Virtual BronchoscopyVirtual Bronchoscopy Quicksee-Basic operation:Quicksee-Basic operation:

1.1. Load DataLoad Data 3D radiologic image3D radiologic image

2.2. Do Automatic AnalysisDo Automatic Analysis ComputeCompute

Paths (axes) through airwaysPaths (axes) through airways Extract regions (airways)Extract regions (airways)

Save results for interactive navigationSave results for interactive navigation

3.3. Perform Interactive navigation/assessmentPerform Interactive navigation/assessment View, Edit, create paths through 3D imageView, Edit, create paths through 3D image View structure; get quantitative dataView structure; get quantitative data Many visual aids and viewers availableMany visual aids and viewers available

OUR WORKOUR WORK

Goals:Goals: The aim of our work is to build trajectories for virtual endoscopy The aim of our work is to build trajectories for virtual endoscopy

inside 3D medical images, using the inside 3D medical images, using the most automatic waymost automatic way..

Virtual endoscopy results are shown in various anatomical Virtual endoscopy results are shown in various anatomical regions (bronchi, colon, brain vessels, arteries) with different 3D regions (bronchi, colon, brain vessels, arteries) with different 3D imaging protocols (CT, MR).imaging protocols (CT, MR).

In my thesis, an automatic centerline determination algorithm for In my thesis, an automatic centerline determination algorithm for three dimensional virtual bronchoscopy CT image will be three dimensional virtual bronchoscopy CT image will be presented.presented.

We try that our method:We try that our method:

Be fasterBe faster

Needs less interactionNeeds less interaction

Be more robust and reproducibleBe more robust and reproducible

PathPath

Path through a tubular structure defines a Path through a tubular structure defines a trajectory along tube’s central axistrajectory along tube’s central axis

A Path denoted as:A Path denoted as: Medial (central) axes of branchesMedial (central) axes of branches Preserve homotopy of structurePreserve homotopy of structure Continuous for smooth visualizationContinuous for smooth visualization

Path is spine of cylinder

Previous Path-Finding MethodsPrevious Path-Finding Methods

Automated approaches:Automated approaches: Segmentation followed by 3D skeletonizationSegmentation followed by 3D skeletonization Active contour modelsActive contour models Morphological operationsMorphological operations Estimation of principal eigenvectorsEstimation of principal eigenvectors Vector fieldsVector fields

Shortcomings: Shortcomings: Some lead to imprecise/missing Some lead to imprecise/missing paths and require long processing timepaths and require long processing time

Our MethodOur Method

2D2D

Morphological Operations Morphological Operations (Algorithm I)(Algorithm I)

Distance Transformation Distance Transformation (Algorithm II)(Algorithm II)

3D3D

A Combination of Methods with NoveltyA Combination of Methods with Novelty PhantomPhantom

Human airwaysHuman airways

2-D2-D (basic shape-Algorithm I)(basic shape-Algorithm I)

Load an ObjectLoad an Object

2-D2-D (basic shape-Algorithm I)(basic shape-Algorithm I)

Distance from BoundaryDistance from Boundary

2-D2-D (basic shape-Algorithm I)(basic shape-Algorithm I)

Gradient of DT from BoundaryGradient of DT from Boundary

Gradient < 0

2-D2-D (basic shape-Algorithm I)(basic shape-Algorithm I)

ThinningThinning

2-D2-D (branching shape-Algorithm I)(branching shape-Algorithm I)

SkeletonizationSkeletonization

False Branches

2-D2-D (branching shape-Algorithm I)(branching shape-Algorithm I)

Length-based EliminationLength-based Elimination

End Points

Branch Points

2-D2-D (basic shape-Algorithm II)(basic shape-Algorithm II)

Distance Transformation Distance Transformation (Chamfer Distance)(Chamfer Distance)

Start Point

Start Point

Distance TransformationDistance Transformation

City blockCity block distdist44(p,q) = | p(p,q) = | pxx – q – qxx | + | p | + | pyy – q – qyy | |

Chess boardChess board distdist88(p,q) = max { | p(p,q) = max { | pxx – q – qxx |,| p |,| pyy – q – qyy | } | }

ChamferChamfer distdistcha<A,B>cha<A,B>(p,q) = A. max { | p(p,q) = A. max { | pxx – q – qxx |,| p |,| pyy – q – qyy | } | }

++

(B-A). min { | p(B-A). min { | pxx – q – qxx |,| p |,| pyy – q – qyy | } | }

EuclideanEuclidean distdistee(p,q) = √( ( p(p,q) = √( ( pxx – q – qxx ) )22 + ( p + ( pyy – q – qyy ) )22 ) )

Squared EuclideanSquared Euclidean distdistEE(p,q) = ( p(p,q) = ( pxx – q – qxx ) )22 + ( p + ( pyy – q – qyy ) )22

2-D2-D (basic shape-Algorithm II)(basic shape-Algorithm II)

End Point Detection & Shortest PathEnd Point Detection & Shortest Path

Steepest Descent

Local Maxima

Start Point

End Point

End Points

Shortest Path

3D3D

Our ProcedureOur Procedure

Prepare the DataPrepare the Data

Start Point DetectionStart Point Detection

Boundary ExtractionBoundary Extraction

End Points DetectionEnd Points Detection

Path InitializationPath Initialization

CenteringCentering

RefinementsRefinements

Prepare the InputPrepare the Input

Segmentation & Create the 3D ImageSegmentation & Create the 3D Image

Slicing the Segmented ImageSlicing the Segmented Image

Feed the Slice ImagesFeed the Slice Images

Refine slices & Create 3D Image MatricesRefine slices & Create 3D Image Matrices

Binarize the ObjectBinarize the Object

Optimize the datasetOptimize the dataset

Load DataLoad Data

Start Point DetectionStart Point Detection

Boundary ExtractionBoundary Extraction

Morphological OperationsMorphological Operations

Boundary = Dilated Image – Original ImageBoundary = Dilated Image – Original Image

Boundary = Original Image – Eroded ImageBoundary = Original Image – Eroded Image

Distance Transformation from boundary to middleDistance Transformation from boundary to middle

Boundary = ( DT == 1 )Boundary = ( DT == 1 )

End Point DetectionEnd Point Detection

Distance TransformationDistance Transformation

Assigns larger number to voxels with region growing in comparison to exact Euclidean metric

More accurate approximation of true Euclidean distance metric Allocate integer values to voxels which speeds up the next computations

EDT < 1 , 2 , 3 > < 3 , 4 , 5 >

Chamfer Distance TransformationChamfer Distance Transformation

distdistcha<A,B,C>cha<A,B,C>(p,q) = A. max { | p(p,q) = A. max { | pxx – q – qxx |,| p |,| pyy – q – qyy |,|p |,|pzz – q – qzz | } + | } +

(B-A). max{ min{ | p(B-A). max{ min{ | pxx – q – qxx |,| p |,| pyy – q – qyy | }, | },

min{ | pmin{ | pxx – q – qxx |,| p |,| pzz – q – qzz | }, | },

min{ | pmin{ | pyy – q – qyy |,| p |,| pzz – q – qzz | } } + | } } +

(C-B-A). min{ | p(C-B-A). min{ | pxx – q – qxx |,| p |,| pyy – q – qyy |,|p |,|pzz – q – qzz | } | }

distdistcha<A,B,C>cha<A,B,C>(p,Origin) =(p,Origin) =

A. pA. pxx + (B-A). p + (B-A). pyy + (E-B-A). p + (E-B-A). pzz if p if pxx >= p >= pyy+p+pzz

(E-C). p(E-C). pxx + (C+B-E). p + (C+B-E). pyy + (C-B). p + (C-B). pzz if p if pxx <= <=

ppyy+p+pzz

(E >= A+B) & (E >= B/2+C)(E >= A+B) & (E >= B/2+C)

End Point DetectionEnd Point Detection

Neighboring WindowNeighboring Window

End Point DetectionEnd Point Detection

Path InitializationPath Initialization

NeighboringNeighboring

Path InitializationPath Initialization

Start Point

End Points

Farest End Point

CenteringCentering

What is a snake?What is a snake?An energy minimizing spline guided by external constraint forces and pulled by image forces toward features:

• Edge detection

• Subjective contours

• Motion tracking

• Stereo matching

• …

Basically, snakes are trying to match a deformable model to anBasically, snakes are trying to match a deformable model to an

image by means of energy minimization.image by means of energy minimization.

D G

CenteringCentering

Energy & Gradient of ImageEnergy & Gradient of Image

D = EDT from Boundary to middleD = EDT from Boundary to middle

G (i,j,k) = Gradient ( D(i,j,k) )G (i,j,k) = Gradient ( D(i,j,k) )

Gx = 0.5 ( D(i+1,j,k) – D(i-1,j,k) )Gx = 0.5 ( D(i+1,j,k) – D(i-1,j,k) )

Gy = 0.5 ( D(i,j+1,k) – D(i,j-1,k) )Gy = 0.5 ( D(i,j+1,k) – D(i,j-1,k) )

Gz = 0.5 ( D(i,j,k+1) – D(i,j,k-1) )Gz = 0.5 ( D(i,j,k+1) – D(i,j,k-1) )

D GMiddle axis has minimum of Gradient

CenteringCentering

SnakeSnake

Path is considered as a parameterized curve (snake)Path is considered as a parameterized curve (snake)

v(s) = ( x(s),y(s),z(s) )v(s) = ( x(s),y(s),z(s) )T s [0,1]

The Snake evolves in order to minimize an energy defined as:The Snake evolves in order to minimize an energy defined as:

dsvPs

vw

s

vwvE )()(

2

2

2

21

0

1

Smoothing Smoothing termsterms

Image termImage termDecreasing function of the Decreasing function of the image gradientimage gradient

CenteringCentering

Image forceImage force

v(i) is the discrete representation of the curve vv(i) is the discrete representation of the curve v

In our experiments, the snake converges in a few In our experiments, the snake converges in a few iterations (< 20) and stabilizes itself very robustlyiterations (< 20) and stabilizes itself very robustly

2

)).(.()()(

v

vvGvvGvF

))1()1(.(2

)().1()(

)(

'''1

'

iviviviv

vFvv

tttt

ttt

CenteringCentering

Start Point

End Points

Farest End Point

RefinementsRefinements

Length-based EliminationLength-based Elimination

In Path Initialization Stage:In Path Initialization Stage:

Remove branches which has length less than Remove branches which has length less than

10 voxel10 voxel

After Centering Stage:After Centering Stage:

Remove branches which has length less than 5 Remove branches which has length less than 5

voxelvoxel

RefinementsRefinements

Continuous PathContinuous Path Lose of continuity after centeringLose of continuity after centering Detect of discontinuity and make continue the pathDetect of discontinuity and make continue the path

& now …& now …

Virtual navigation and virtual endoscopyVirtual navigation and virtual endoscopy Segmentation & RegistrationSegmentation & Registration Virtual-guided bronchoscopy & BiopsyVirtual-guided bronchoscopy & Biopsy Quantification of anatomical structuresQuantification of anatomical structures Surgical planningSurgical planning Radiation treatmentRadiation treatment Curved planner reformationCurved planner reformation Stenosis detectionStenosis detection Aneurism and wall bronchia classification detectionAneurism and wall bronchia classification detection Deforming volumesDeforming volumes … …

Virtual BronchoscopyVirtual Bronchoscopy

DiscussionDiscussion No single method is good for everything …No single method is good for everything …

then we use combination of then we use combination of distance fielddistance field & & potential fieldpotential field

Fully automatedFully automated

without any interaction by physicianwithout any interaction by physician

No miss branch , No false branchNo miss branch , No false branch

42 branch out of 4242 branch out of 42

RobustRobust

less sensitivity to noiseless sensitivity to noise

Too fastToo fast

less than 1 minute for (512 x 512 x 416) – (0.59-0.59-0.50 mm)less than 1 minute for (512 x 512 x 416) – (0.59-0.59-0.50 mm)

Future workFuture work

Evaluate our method with more datasetEvaluate our method with more dataset

Test the final path in a virtual environment Test the final path in a virtual environment

More refinements of the path planning methodMore refinements of the path planning method

Comparing of our method with othersComparing of our method with others

My thanks to …My thanks to …

Dr. Alireza AhmadianDr. Alireza Ahmadian

Prof. Nassir NavabProf. Nassir Navab

Dr. Joerg TraubDr. Joerg Traub

& My Family& My Family

For nothing is hidden, except to be revealed;For nothing is hidden, except to be revealed;

Nor has been secret, but that is should come to light.Nor has been secret, but that is should come to light.

Questions …. Suggestions …. Comments …. Ideas …. ?Questions …. Suggestions …. Comments …. Ideas …. ?

[email protected] [email protected] [email protected] [email protected]