neusoft group ltd. medical systems centerline detection of (cardiac) vessels in ct images martin...
TRANSCRIPT
Neusoft Group Ltd.
Medical Systems
Centerline detection of (cardiac) vessels in CT images
Martin Korevaar
Supervisors:Shengjun Wang
Han van TriestYan Kang
Bart ter Haar Romenij
Neusoft Group Ltd.
Medical Systems
Overview• Introduction• Method
– Feature space– Minimal Cost Path (MCP) search
• Results • Conclusion• Discussion
Neusoft Group Ltd.
Medical Systems
Introduction• Coronary artery and heart diseases are one of
the main causes of death in Western world
• Therefore improvement of diagnosis, prevention and treatment is needed
• Diagnosis is improved by techniques like CTA and MRA
• CAD is needed to analyze huge amount of data
Neusoft Group Ltd.
Medical Systems
Introduction• Centerline of vessel is interesting feature
for CAD
• Needed e.g. for CPR and lumen size measurements
• Should be – Independent of vessel segmentation– Robust with respect to image
degradations.
Neusoft Group Ltd.
Medical Systems
CPR• Visualization method
Images from: Armin Kanitsar in IEEE Viz. 2002 Okt
Neusoft Group Ltd.
Medical Systems
CPR• Visualization method• Maps 3D path on 2D image
Images adapted from: Armin Kanitsar in IEEE Viz. 2002 Okt
Neusoft Group Ltd.
Medical Systems
CPR• Visualization method• Maps 3D path on 2D image• Artery can be investigated from just 1 image
Neusoft Group Ltd.
Medical Systems
CPR• Visualization method• Maps 3D path on 2D image• Artery can be investigated from just 1 image• Centerline needs to be correct
Images from: Armin Kanitsar in IEEE Viz. 2002 Okt
Neusoft Group Ltd.
Medical Systems
Algorithm
50 100 150
50
100
150
200
250
300
Create feature space
Find Minimum Cost Path with Dijkstra’s algorithm
Feature space with:
•Center of vessel lower value then
periphery of vessel
•Vessel lower value then background
Neusoft Group Ltd.
Medical Systems
Feature space• Filter based on eigenvalues of Hessian
Neusoft Group Ltd.
Medical Systems
Hessian (1)• Matrix with all second order derivatives
2D Hessian:
• Derivative of image:Convolve derivative of Gaussian with image
• Gaussian:
G(x,y,) Dxx*G(x,y,) Dyy*G(x,y,) Dxy*G(x,y,)
Neusoft Group Ltd.
Medical Systems
Hessian (2) Eigenvectors / -values
1< 2(<3) measure of curvature i relates to vi
• v2 points to max. curvature• v1 points to min. curvature,
perpendicular to v1
• Rate of change of intensity is curvature of an image
1v1
2v2
Neusoft Group Ltd.
Medical Systems
2v2
3v3
1v1
• Eigenvalue of Hessian of a pixel gives information about the local structure (e.g. tube)
Hessian (2) Eigenvectors / -values
Neusoft Group Ltd.
Medical Systems
Tubular structure filterFrangi
Distinguishes blob-like structures, cannot distinguish between plate and line-like structures
Distinguishes between line and plate-like structures
Filters noise.
Neusoft Group Ltd.
Medical Systems
Tubular structure filters
FrangiWink et al. α = β = 0.5 and c = 0.25
Max[Greyvalue]
Olabarriaga et al. α = 1, β = 0.1 and c > 100=> better discrimination center / periphery vessel
Chapman et al. α = 0.5, β = ∞ and c > 0.25 Max[Greyvalue]=> drops RB-term
=> better discrimination vessel / background
Neusoft Group Ltd.
Medical Systems
Tubular structure filters
HessDiff
Better discrimination background / vessel
Neusoft Group Ltd.
Medical Systems
Tubular structure filters• Hessian is calculated at
multiscale (2.6 18.6)
• Scale with highest response is scale of a voxel
• Highest response is in center vessel
• Hessian is scaled with 2
Neusoft Group Ltd.
Medical Systems
Algorithm
50 100 150
50
100
150
200
250
300
Create feature space
Find Minimum Cost Path with Dijkstra’s algorithm
Feature space with:
•Center of vessel lower value then
periphery of vessel
•Vessel lower value then background
Neusoft Group Ltd.
Medical Systems
Invert pixel values(1/pixelvalue)• Response highest at center of the vessel.• Minimal cost path needs lowest• Pixel values are inverted
1 / I
Neusoft Group Ltd.
Medical Systems
Minimal cost path• Select start and end
point
• Find minimal cost path in between
• Dijkstra’s algorithm to find that minimal cost path
Neusoft Group Ltd.
Medical Systems
Dijkstra 2a
10
6
7
5
20
6 7Begin
End
2
1
3
5
4
6
7
5
7 3
Neusoft Group Ltd.
Medical Systems
Dijkstra 2b
8
6
7
5
20
6 7
• Find min neighbours (green)
• Add it to investigated nodes (red).
• Remember predecessor2 (1) [6]
1
4
6
7
..
.
5
7 3
.3 (1) [8]
5 (1) [7]
Neusoft Group Ltd.
Medical Systems
Dijkstra 2c
8
6
7
5
20
6 75
4..
.
.1
4
6
7
7 3
5
7 3
2 (1)2 (1) [6]
3 (1) [8]
5 (1) [7]
4 (2) [11]
• Add neighbours (green)
• Remember predecessor
Neusoft Group Ltd.
Medical Systems
Dijkstra 2d
8
6
7
5
20
6 7
2 (1)
1
5 (1) [7]
4
6
7
..
.
.7 3
5
7 3
2 (1) [6]
3 (1) [8]
4 (2) [11]
• Find min neighbours (green)
• Add it to investigated nodes (red).
• Remember predecessor
Neusoft Group Ltd.
Medical Systems
Dijkstra 2e
8
6
7
5
20
6 71
3 (1) [8]
5
4
6
7
..
.
. .5 (1)
2 (1)
7 3
5
7 3
2 (1) [6]
5 (1) [7]
7 (5) [13]
4 (5) [10]
• Add neighbours (green)• Remember predecessorUpdate predecessor and cost if node already in neighbours
Neusoft Group Ltd.
Medical Systems
Dijkstra 2f
8
5
7
5
20
6 71
3 (1) [8]
5
4
6
7
..
.
. .5 (1)
2 (1)
4 (5) [10]
7 3
5
7 3
2 (1) [6]
5 (1) [7]
7 (5) [13]
• Find min neighbours (green)
• Add it to investigated nodes (red).
• Remember predecessor
Neusoft Group Ltd.
Medical Systems
Dijkstra 2g
8
6
7
5
20
6 71
3 (1) [8]
5
4
6 (3) [28]
7
..
.
. .5 (1)
2 (1)
7 3
5
7 3
.
2 (1) [6]
5 (1) [7]
7 (5) [13]
4 (5) [10]
• Add neighbours (green)
• Remember predecessor
Neusoft Group Ltd.
Medical Systems
Dijkstra 2h
8
6
7
5
20
6 71
3
5
4
6 (3) [28]
..
.
.
.5 (1)
2 (1)
4 (5) [10]
7 3
5
7 3 .2 (1) [6]
5 (1) [7]
3 (1) [8]
7 (5) [13]
• Find min neighbours (green)
• Add it to investigated nodes (red).
• Remember predecessor
Neusoft Group Ltd.
Medical Systems
Dijkstra 2i
8
6
7
7 3
5
20
6 7
Goal!
1
3
5
4 (5)
6 (4) [17]
7
..
.
. .5 (1)
2 (1) 5
7 3
.
2 (1) [6]
5 (1) [7]
3 (1) [8]
4 (5) [10]
7 (5) [13]
Neusoft Group Ltd.
Medical Systems
Dijkstra 2i
8
6
7
7 3
5
20
6 7
Backtrack: 7 => 5 => 1
1
3
5
4 (5)
6 (4) [17]
7
..
.
.5 (1)
2 (1) 5
7 3
.
2 (1) [6]
5 (1) [7]
3 (1) [8]
4 (5) [10]
7 (5) [13]
..
Neusoft Group Ltd.
Medical Systems
Minimal cost path
Defined cost:
V(i) is the voxel valuea is weight factori is ith voxel of the path
Voxels belongingto the path
( )a
V i
Neusoft Group Ltd.
Medical Systems
Minimal cost pathDefined cost:
V(i) is the voxel valuea is weight factori is ith voxel of the path
Higher values of a=> Relative difference between
center and surrounding increases=> Will follow minimum
better instead of shortest path
Voxels belongingto the path
( )a
V i
Neusoft Group Ltd.
Medical Systems
Algorithm
50 100 150
50
100
150
200
250
300
Get Eigenvalues of the Hessian Matrix
50 100 150
50
100
150
200
250
300
Calculate response to (Frangi’s) filter
Invert pixel values (1/pixelvalue)
Find minimum cost path with dijkstra’s algorithm
20 40 60 80 100 120 140
50
100
150
200
250
50 100 150
50
100
150
200
250
Neusoft Group Ltd.
Medical Systems
Experiments• Original method on
different datasets
• On worst performing dataset
• a = 1• a = 5
– Different filters• Frangi with different
parameters – Wink– Olabarriaga– Chapman
• HessDiff
Voxels belongingto the path
( )a
V i
Neusoft Group Ltd.
Medical Systems
Result (CPR)3 Datasets
(1) LAD (2) RCx (3) LAD
Neusoft Group Ltd.
Medical Systems
Different filters and cost functions (CPR) Proximal part
Wink a=1
Chapman a=1Wink a=5
Chapman a=5
Neusoft Group Ltd.
Medical Systems
Olabarriaga a=5
Different filters and cost functions (CPR) Proximal part
Olabarriaga a=1
Neusoft Group Ltd.
Medical Systems
Sagittal slice at the stenosis
Frangi’s filter with Wink’s constants
Frangi’s filter withOlabarriaga‘s
constants
Olabarriaga (a=5)Wink (a=5)
Different filters: Wink and Olabarriaga
Neusoft Group Ltd.
Medical Systems
Sagittal slice heart wall
Different filters: Wink and Olabarriaga
Neusoft Group Ltd.
Medical Systems
Different filters and cost functions (CPR) Proximal part
HessDiff a=1
Neusoft Group Ltd.
Medical Systems
Different filters: HessDiff• Low response at stenosis
• Lot of false positives
• Strong false positives at the heart wall
CT Response
Neusoft Group Ltd.
Medical Systems
Different filters and cost functions Distal part
Wink ChapmanOlabarriaga HessDiffa=1 a= 5 a=1 a= 5 a=1 a= 5 a=1 a= 5
Neusoft Group Ltd.
Medical Systems
Different filtersDoesn’t follow vessel at heart wall
HessDiff
OlabarriagaWink
Chapman
Grey
Neusoft Group Ltd.
Medical Systems
Multiscale Wink
• Vessel response at low scale
• Heart wall response at high scale
• Heart wall response is stronger
σ= 2.6 σ= 6
σ= 10 σ= 16
σ= All Grey value
Neusoft Group Ltd.
Medical Systems
Different cost function
• α = 5 vs. α =1• Investigates nodes in
smaller area– Less computations– More able to follow
local minima– Less able to pass local
maxima (stenosis)
10 20 30 40 50 60
10
20
30
40
50
• a=1 and a=5
• a=1
Neusoft Group Ltd.
Medical Systems
Discussion• Used scales were high (2.6 18.6)
High responses of the heart wall => bad centerline extraction
• HessDiff and Olabarriaga track the centerline badly:– Low response at stenosis.– HessDiff lot of false positive response
• Wink and Chapman track the centerline excellent.
Neusoft Group Ltd.
Medical Systems
Conclusion• The centerline is tracked in most cases (more or
less) accurate• Wink and Chapman are best filters.• They can even coop with a stenosis.• It returns to the center even if it gets outside the
vessel (robust)• Different cost functions yield different results:
– High power more precise in details and faster.– Low power more robust and slower.
Neusoft Group Ltd.
Medical Systems
Further research• Smaller scales might improve results• Use Wink’s constants
Neusoft Group Ltd.
Medical Systems
Questions?