fast and smooth interactive segmentation of medical images using variational interpolation

16
© Fraunhofer MEVIS Frank Heckel 1 , Olaf Konrad 2 , Heinz-Otto Peitgen 1 Fast and Smooth Interactive Segmentation of Medical Images Using Variational Interpolation 1 Fraunhofer MEVIS, Germany 2 MeVis Medical Solutions, Germany

Upload: whitby

Post on 20-Feb-2016

71 views

Category:

Documents


2 download

DESCRIPTION

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 - PowerPoint PPT Presentation

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 MEVIS2 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. July 2010

Overview

Introduction Variational Interpolation Interactive Segmentation using Variational Interpolation Conclusion Outlook

© Fraunhofer MEVIS3 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS4 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS5 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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

outsideinside

cf N

,1,1

)(

Radial basis function

Normal constraint

© Fraunhofer MEVIS6 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS7 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS8 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. July 2010

Interactive Segmentation using Variational InterpolationSegmentation process

Draw / Delete / Edit

Contours

Calculate Segmentatio

nCheck Result

© Fraunhofer MEVIS9 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 notscale 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.194 - 3.57s 14.7

88 - 2.89s 18.2

5

Metastasis example*17 contours, n=6246

constraints,m=23541 surface voxels

Threads

Voxelization

SP

1 4.15s 1.002 2.49s 1.674 1.92s 2.168 2.13s 1.95

Speedup

© Fraunhofer MEVIS10 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS11 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS12 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS13 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS14 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS15 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. 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 MEVIS16 / 15Frank Heckel Interactive Segmentation of Medical Images Using Variational

Interpolation01. July 2010

[email protected] you!

Thanks to: