Download - Path Planning in Virtual Bronchoscopy
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]