Open Topology: A Toolkit for Brain Isosurface Correction-776
-
Upload
kitware-kitware -
Category
Technology
-
view
1.220 -
download
2
description
Transcript of Open Topology: A Toolkit for Brain Isosurface Correction-776
Oct 30, 2005 Sylvain Jaume 1
Open Topology:A Toolkit for Brain
Isosurface Correction
Sylvain JAUME(1), Patrice RONDAO(2), Benoit MACQ(2)
(1) Kitware Inc., (2) University of Louvain
Oct 30, 2005 Sylvain Jaume 2
Visualization of the Brain
Speech, vision, etc. lie in the outer layer.
surface visualization
Oct 30, 2005 Sylvain Jaume 3
Visualization of the Brain3D Image
Segmentation
Marching Cubes
Smoothing
Mesh
Oct 30, 2005 Sylvain Jaume 4
Visualization of the Brain3D Image
Segmentation
Marching Cubes
Smoothing
Mesh
Oct 30, 2005 Sylvain Jaume 5
Visualization of the Brain3D Image
Segmentation
Marching Cubes
Smoothing
Mesh
Oct 30, 2005 Sylvain Jaume 6
Visualization of the Brain3D Image
Segmentation
Marching Cubes
Smoothing
Mesh with Handles
Oct 30, 2005 Sylvain Jaume 7
Visualization of the Brain3D Image
Segmentation
Marching Cubes
Smoothing
Mesh with Handles
Oct 30, 2005 Sylvain Jaume 8
Visualization of the Brain3D Image
Segmentation
Marching Cubes
Smoothing
Mesh with Handles
Oct 30, 2005 Sylvain Jaume 9
Visualization of the Brain3D Image
Segmentation
Marching Cubes
Smoothing
Mesh with Handles
Oct 30, 2005 Sylvain Jaume 10
Visualization of the Brain3D Image
Segmentation
Marching Cubes
Smoothing
Mesh with Handles
Oct 30, 2005 Sylvain Jaume 11
Visualization of the Brain
• Where do handles come from ?
Limited resolution
Scanner artifacts
Segmentation errors
Oct 30, 2005 Sylvain Jaume 12
Visualization of the Brain
• Does it really matter ???
For 3D visualization
For distance measurements
For EEG source localization
Oct 30, 2005 Sylvain Jaume 13
State of the Art
• Image methods– Malandain 93, Shattuck 01, Kriegeskorte 01
• Mesh methods– Fischl 01, Guskov 01, Wood 04, Segonne 05
• Graph methods– Han 02, Segonne 03
• Level-Set methods– Han 01, Bischoff 02
Oct 30, 2005 Sylvain Jaume 14
Contributions
No region is left out
Fast (less than 2 min)
Open Source
Oct 30, 2005 Sylvain Jaume 15
Algorithm Overview
Marching Cubes
Handle Detection
Handle Correction
3D Image Triangle Mesh
Corrected 3D Image
Contours
Oct 30, 2005 Sylvain Jaume 16
Algorithm Overview
Marching Cubes
Handle Detection
Handle Correction
3D Image Triangle Mesh
Contours
Corrected 3D Image
Oct 30, 2005 Sylvain Jaume 17
Algorithm Overview
Marching Cubes
Handle Detection
Handle Correction
3D Image Triangle Mesh
Contours
Corrected 3D Image
Oct 30, 2005 Sylvain Jaume 18
Algorithm Overview
Marching Cubes
Handle Detection
Handle Correction
3D Image Triangle Mesh
Polylines
Corrected 3D Image
Oct 30, 2005 Sylvain Jaume 19
Algorithm Overview
Marching Cubes
Handle Detection
Handle Correction
3D Image Triangle Mesh
Contours
Corrected 3D Image
Oct 30, 2005 Sylvain Jaume 20
Algorithm Overview
Marching Cubes
Handle Detection
Handle Correction
3D Image Triangle Mesh
Contours
Corrected 3D Image
Oct 30, 2005 Sylvain Jaume 21
Algorithm Overview
Marching Cubes
Handle Detection
Handle Correction
3D Image Triangle Mesh
Contours
Corrected 3D Image
Oct 30, 2005 Sylvain Jaume 22
Algorithm Overview
Marching Cubes
Handle Detection
Handle Correction
3D Image Triangle Mesh
Contours
Marching Cubes Corrected Mesh
Corrected 3D Image
Oct 30, 2005 Sylvain Jaume 23
Algorithm Overview
Marching Cubes
Handle Detection
Handle Correction
3D Image Triangle Mesh
Contours
Marching Cubes Corrected Mesh
Corrected 3D Image
Oct 30, 2005 Sylvain Jaume 24
Key Points
Oct 30, 2005 Sylvain Jaume 25
1. Embracing the Handle
Oct 30, 2005 Sylvain Jaume 26
1. Embracing the Handle
• Init
Oct 30, 2005 Sylvain Jaume 27
1. Embracing the Handle
• Init
Oct 30, 2005 Sylvain Jaume 28
1. Embracing the Handle
• Init
Oct 30, 2005 Sylvain Jaume 29
1. Embracing the Handle
• Init
Oct 30, 2005 Sylvain Jaume 30
1. Embracing the Handle
• Split
Oct 30, 2005 Sylvain Jaume 31
1. Embracing the Handle
• Split
Oct 30, 2005 Sylvain Jaume 32
1. Embracing the Handle
• Split
Oct 30, 2005 Sylvain Jaume 33
1. Embracing the Handle
• Merge
Oct 30, 2005 Sylvain Jaume 34
1. Embracing the Handle
• Merge
Oct 30, 2005 Sylvain Jaume 35
1. Embracing the Handle
• Merge
Oct 30, 2005 Sylvain Jaume 36
1. Embracing the Handle
• Merge
Oct 30, 2005 Sylvain Jaume 37
1. Embracing the Handle
• Merge
Oct 30, 2005 Sylvain Jaume 38
1. Embracing the Handle
• Merge
Oct 30, 2005 Sylvain Jaume 39
1. Embracing the Handle
• Finalize
Oct 30, 2005 Sylvain Jaume 40
1. Embracing the Handle
• Finalize
Oct 30, 2005 Sylvain Jaume 41
1. Embracing the Handle
• Finalize
Oct 30, 2005 Sylvain Jaume 42
2. Holding it Tight
• Distance
Oct 30, 2005 Sylvain Jaume 43
2. Holding it Tight
• Distance
Oct 30, 2005 Sylvain Jaume 44
2. Holding it Tight
• Distance
Oct 30, 2005 Sylvain Jaume 45
2. Holding it Tight
• Distance
Oct 30, 2005 Sylvain Jaume 46
2. Holding it Tight
• Distance
Oct 30, 2005 Sylvain Jaume 47
2. Holding it Tight
• Distance
Oct 30, 2005 Sylvain Jaume 48
2. Holding it Tight
• Distance
Oct 30, 2005 Sylvain Jaume 49
2. Holding it Tight
• Distance
Oct 30, 2005 Sylvain Jaume 50
2. Holding it Tight
• Distance
Oct 30, 2005 Sylvain Jaume 51
3. Filling the Handle
• New pixel intensity inside the loop
Oct 30, 2005 Sylvain Jaume 52
Putting it Together
1. Handle Detection– Embracing the handle
2. Handle Localization– Holding it tight
3. Handle Correction– Filling the handle
Oct 30, 2005 Sylvain Jaume 53
Performance
• g: genus, i.e. number of handles• V: number of vertices• E: number of edges• F: number of faces• C: number of connected components
Euler Characteristic
Oct 30, 2005 Sylvain Jaume 54
Data Structures
vtkCellLinks
vtkPoints vtkCellArray
Oct 30, 2005 Sylvain Jaume 55
Data Structures
• Edge to Start Point• Edge to End Point
• Edge to Polygon
vtkPoints vtkCellArray Half-Edge
Oct 30, 2005 Sylvain Jaume 56
Data Structures
• Edge to Reverse Edge• Edge to Parent Edge
vtkPoints vtkCellArray Half-Edge
Detection
Localization
Oct 30, 2005 Sylvain Jaume 57
Data Structures
• Edge to Contour• Edge to Distance
vtkPoints vtkCellArray Half-Edge
Detection
Localization
Oct 30, 2005 Sylvain Jaume 58
Data Structures
Extended Half-Edge Structure:• Edge to Polygon• Edge to Start Point• Edge to End Point• Edge to Reverse Edge• Edge to Parent Edge• Edge to Contour• Edge to Distance
Oct 30, 2005 Sylvain Jaume 59
Code
• vtkHandleDetection– Half-edge structure– Area growing– Shortest loop
• vtkHandleCorrection– Loop to image– Water-tight region
Oct 30, 2005 Sylvain Jaume 60
Goal
Correct EVERY handle FAST!
Oct 30, 2005 Sylvain Jaume 61
Perspectives
Visualization, measurements, source localization
Benchmarking with other methods
Half-Edge algorithms
Integration into CARET Software
Oct 30, 2005 Sylvain Jaume 62
MICCAI Open Source Workshop
• "Open Topology: A Toolkit for Brain Isosurface Correction", Jaume, Rondao, Macq, MICCAI WS 2005.
• Article• Code• Data• Demo
Oct 30, 2005 Sylvain Jaume 63
www.OpenTopology.org
• Algorithm
• Source code
• Documentation
• Data
• Updates