© fraunhofer mevis frank heckel 1, olaf konrad 2, heinz-otto peitgen 1 fast and smooth interactive...
TRANSCRIPT
© Fraunhofer MEVIS
Frank Heckel1, Olaf Konrad2, Heinz-Otto Peitgen1
Fast and Smooth Interactive Segmentation of Medical Images Using Variational Interpolation
1 Fraunhofer MEVIS, Germany2 MeVis Medical Solutions, Germany
© Fraunhofer MEVIS
2 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Overview
Introduction Variational Interpolation Interactive Segmentation using Variational Interpolation Conclusion Outlook
© Fraunhofer MEVIS
3 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Introduction
Automatic segmentation Good reproducibility Not always possible
Manual segmentation Time-consuming Bad reproducibility
Semi-automatic segmentation Automatic algorithm which requires user interaction Interactive segmentation:
Algorithm reacts on user in almost real-time (calculation times <1s)
© Fraunhofer MEVIS
4 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Introduction
Manual segmentation by drawing contours Goal: Interpolation of a 3D mask from
a few (user drawn) contours Conditions:
Parallel or arbitrary oriented contours Smooth (at least C1-continuous) Fast (interactive calculation times) Surface shall contain all contour points “Extrapolation” character
Solution: Variational Interpolation
© Fraunhofer MEVIS
5 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Variational Interpolation
3D extension of thin-plate spline interpolation Object is defined by an implicit function: Constraints for f(x):
Smooth (C1- or C2-continuous) Contains all contour points
“Surface constraints”
The normal on the surface corresponds to the normal in each contour point
“Normal constraints”
0)()()(1
k
jjj cxwxPxf
32 )(: xxC
Surface constraint
xxC
)(:1
0)( Scf
outside
insidecf N
,1
,1)(
Radial basis function
Normal constraint
© Fraunhofer MEVIS
6 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Variational Interpolation
Solve the linear system that describes f(x) to get the weights wj
Matrix is symmetric Bunch-Kaufmann algorithm (LAPACK) Global interpolation scheme
Solution
0)()()(1
k
jjijiii ccwcPcfh
© Fraunhofer MEVIS
7 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Interactive Segmentation using Variational Interpolation
Iteratively evaluate f(x) only on the surface (surface tracking similar to marching cubes) Start points: first point of each contour
(unless it is already part of a reconstructed surface) Fill the surface slice-wise to get a segmentation of the whole
object(s)
Voxelization
© Fraunhofer MEVIS
8 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Interactive Segmentation using Variational InterpolationSegmentation process
Draw / Delete / Edit
Contours
Calculate Segmentatio
nCheck Result
© Fraunhofer MEVIS
9 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Interactive Segmentation using Variational Interpolation
Solving the linear system is O(n³)
Fast LAPACK implementation is essential Support 64-bit, SSE, Multi-Threading Intel Math Kernel Library (MKL) AMD Core Math Library (ACML)
Voxelization is O(nm)
Multi-threading can be used Current implementation does not
scale very well
Performance
Test system: 2x Intel Xeon X5550 (2.66GHz, Turbo Boost and Hyper-Threading disabled), 12 GB RAM, Windows 7 64-bit, MKL 10.2.2
Threads
CLAPACK
MKL SP
1 52.75s 10.01s
5.27
2 - 5.74s 9.19
4 - 3.57s 14.78
8 - 2.89s 18.25
Metastasis example*17 contours, n=6246
constraints,m=23541 surface voxels
Threads
Voxelization
SP
1 4.15s 1.00
2 2.49s 1.67
4 1.92s 2.16
8 2.13s 1.95
Speedup
© Fraunhofer MEVIS
10 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Interactive Segmentation using Variational Interpolation
Quality preserving constraint reduction to become interactive Points that don’t contribute to the overall
geometry are removed Measure: Angle and length of adjacent edges
Performance
Test system: 2x Intel Xeon X5550 (2.66GHz, Turbo Boost and Hyper-Threading disabled), 12 GB RAM, Windows 7 64-bit, MKL 10.2.2 (8 threads), Voxelization with 4 threads
iiii
iiiiiiiii cccc
cccccccc
11
1111
2
))()cos((1
Quality
n LAPACK
Voxelization
Total
SP Overlap
1.0 6246
2.89s 1.92s 5.13s
1.00 100%
0.5 3608
0.75s 1.18s 2.08s
2.47 99.94%
0.2 1410
0.08s 0.55s 0.67s
7.66 99.32%
0.1 710 0.02s 0.36s 0.41s
12.51
97.05%
q=1.0
q=0.2
© Fraunhofer MEVIS
11 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Interactive Segmentation using Variational Interpolation
Self-intersecting contours Sign of normal constraint needs
to be modified Additional start point for surface
tracking at intersection
Reduced contours Additional constraints might
have to be inserted for longline segments
Robustness
© Fraunhofer MEVIS
12 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Interactive Segmentation using Variational Interpolation
Memory consumption is O(n²)
Performance for large objects not interactive by now Voxelization becomes
bottleneck Liver example (14 contours,
169300 surface voxels):
Limitations
Quality
n LAPACK
Voxelization
Total Overlap
1.0 13796
23.42s 28.95s 53.28s
100%
0.5 7916 4.94s 16.79s 21.94s
99.5%
0.2 3170 0.5s 7.3s 7.82s 98.74%
0.1 1594 0.1s 8.3s 8.41s 97.68%
Test system: 2x Intel Xeon X5550 (2.66GHz, Turbo Boost and Hyper-Threading disabled), 12 GB RAM, Windows 7 64-bit, MKL 10.2.2 (8 threads), Voxelization with 4 threads
© Fraunhofer MEVIS
13 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Interactive Segmentation using Variational Interpolation
Normals are calculated in 2D (based on one contour) Contradictory contours More complex self-intersections Low number of constraints
Limitations
© Fraunhofer MEVIS
14 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Conclusion
Accurate and smooth surface reconstruction Contours can be arbitrarily oriented Plausible extrapolation Interactive for small objects if:
Fast LAPACK implementation is used (MKL or ACML) Voxelization is parallelized The number of constraints is reduced
Purely geometrical Independent of modality or scanning parameters Wide range of segmentation tasks
Can be easily extended to 4D (needs different radial basis functions)
© Fraunhofer MEVIS
15 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Outlook
Reduction of voxelization time More advanced parallelization GPU?
Further improve robustness Investigate local interpolation schemes
E.g., compactly supported radial basis functions by Morse et al.*
Algorithm is available in MeVisLab 2.1 (“CSOConvertTo3DMask”) Uses only CLAPACK
* Bryan S. Morse et al., “Interpolating implicit surfaces from scattered surface data using compactly supported radial basis functions”, ACM SIGGRAPH Courses, 2005
© Fraunhofer MEVIS
16 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational Interpolation
01. July 2010
Thank you!
Thanks to: