170 likes | 402 Views
Fast and Smooth Interactive Segmentation of Medical Images Using Variational Interpolation. Frank Heckel 1 , Olaf Konrad 2 , Heinz-Otto Peitgen 1. 1 Fraunhofer MEVIS, Germany 2 MeVis Medical Solutions, Germany. Overview. Introduction Variational Interpolation
E N D
Fast and Smooth Interactive Segmentation of Medical Images Using Variational Interpolation Frank Heckel1, Olaf Konrad2, Heinz-Otto Peitgen1 1Fraunhofer MEVIS, Germany 2MeVis Medical Solutions, Germany
Overview • Introduction • Variational Interpolation • Interactive Segmentation using Variational Interpolation • Conclusion • Outlook
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)
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
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” Radial basis function Surface constraint Normal constraint
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
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
Interactive Segmentation using Variational Interpolation • Segmentation process
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 notscale very well • Performance Speedup Metastasis example*17 contours, n=6246 constraints,m=23541 surface voxels 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
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 q=1.0 q=0.2 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
Interactive Segmentation using Variational Interpolation • Self-intersecting contours • Sign of normal constraint needsto be modified • Additional start point for surfacetracking at intersection • Reduced contours • Additional constraints might have to be inserted for longline segments • Robustness
Interactive Segmentation using Variational Interpolation • Memory consumption is O(n²) • Performance for large objects not interactive by now • Voxelization becomesbottleneck • Liver example (14 contours, 169300 surface voxels): • Limitations 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
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
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)
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
Thanks to: • Thank you! frank.heckel@mevis.fraunhofer.de