Upcoming SlideShare
×

# Marching Cubes

908 views

Published on

Computer Graphics and Animation course
TU Delft

Published in: Technology, Health & Medicine
1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
908
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
31
0
Likes
1
Embeds 0
No embeds

No notes for slide
• - Objective paper - Introduction to 3D medical algorithms - Related work
• http://www.byclb.com/TR/Tutorials/volume_rendering/ch1_1.htm Octree: http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter37.html BUT each of these techniques throw away useful information in the original data. The marching cubes approach uses information from the original 3D data to derive inter-slice connectivity, surface location and surface gradient.
• Explain algorithm Divide and conquer Slices and cubes Intersection cubes and surface 14 patterns Normalized vector and density
• Implementation Overview Errors
• http://web.cs.wpi.edu/~matt/courses/cs563/talks/march_cub.html
• ### Marching Cubes

1. 1. 1Challenge the futureMarching CubesA High Resolution 3D Surface ConstructionAlgorithm
2. 2. 2Challenge the futureIntroduction• Algorithm developed by William E. Lorensen and Harvey E.Cline and published in the 1987 SIGGRAPH proceedings.• Aims to create 3D models from Medical data:• X-ray computed tomography (CT)• Magnetic resonance (MR)• Single-photon emission computedtomography (SPECT)
3. 3. 3Challenge the future3D Medical Algorithms & Related WorkWorkflow:1. Data acquisition: multiple 2D slices2. Image processing to find structures or filter data3. Surface construction4. DisplayApproaches:• Contours of the surface on consecutive slicesconnected with triangles• Creates surfaces from cuberilles• Octree, etc.
4. 4. 4Challenge the futureMarching Cubes Algorithm• Locate surface to a user-specified value• Create triangles• Calculate normals to ensure the quality of the imageIdea
5. 5. 5Challenge the futureMarching Cubes Algorithm• Divide-and-conquer to locate surface in cube• 2 adjacent slices• 4 pixels used on both slices tocreate vertices of cubeLocate surface
6. 6. 6Challenge the futureMarching Cubes Algorithm• Cube vertices are assigned with binary values• One for inside (or on) the surface• Zero for outside the surface• In 2D:Create triangles
7. 7. 7Challenge the futureMarching Cubes Algorithm• In 3D:• 28= 256 casesCreate triangles
8. 8. 8Challenge the futureMarching Cubes Algorithm• Use symmetry and rotation toreduce 256 cases to 14 patterns• Index of 8 bits to numberthe cases• With linear interpolation the surfaceintersection is foundCreate triangles
9. 9. 9Challenge the futureMarching Cubes Algorithm• Final step to increase the quality of the image• With central differences an unit normal can be calculated forevery cube vertex using 4 slices• Interpolation of these normalsCalculate normals
10. 10. 10Challenge the futureImprovements• Efficiency increased by using pixel-to-pixel and line-to-linecoherence.• 3 new edges are needed to interpolate• Other 9 edges are obtained from previous slices, lines or pixels• Reducing slice resolution by averaging four pixels into one• Solid modeling using the three notions “inside”, “outside”,and “on”
11. 11. 11Challenge the futureImplementation and ResultsImplementation• Number of triangles is proportional to the area of the surface = A lot!• Filtering is applied to reduce the resolution and number of trianglesResults• CT• MR• SPECT
12. 12. 12Challenge the futureConclusions• Realism is achieved by the calculation of the normalized gradient• Large number of triangles reduced by surface cutting andconnectivity• The algorithm has some flaws:• high amount of memory needed to store resulting surface• Sign change in the 14 original patterns can lead to mistakes