Marching Cubes: A High Resolution 3D Surface Construction

Download Report

Transcript Marching Cubes: A High Resolution 3D Surface Construction

Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorensen & Harvey E. Cline International Conference on Computer Graphics and Interactive Techniques (1987)

Presented by Chris Covington

Overview What are “Marching Cubes” anyway?

Medical data acquisition Previous visualization methods Explanation of the algorithm Post-paper work

So, what are Marching Cubes?

Marching Cubes is an algorithm which “creates triangle models of constant density surfaces from 3D medical data.”

Ok…but what does

that

mean?

Medical Data + Marching Cubes = Pretty Pictures = Visualization

Visualization Process 1.

2.

3.

4.

Medical Data Acquisition Image Processing Surface Construction Display

Medical Data Acquisition Computed Tomography (CT) Magnetic Resonance (MR) Single-Photon Emission Computed Tomography (SPECT) Each scanning process results in two dimensional “slices” of data.

Image Processing Data Filtering Structure Recognition

Surface Construction Construction/Reconstruction of scanned surfaces or objects.

Problem of interpreting/interpolating 2D data into 3D visuals.

Marching Cubes provides a new method of creating 3D surfaces.

Display Surface Rendering  Ray Tracing/Casting  Depth Shading  Color Shading

Previous Surface Construction Work Contour Connections (Keppel, 1975) Cuberilles/Voxels (Herman, 1983) Ray Casting (Farrell, 1983 / Hohne, 1986) Density Volumes (Robb, 1983)

Problems With Previous Methods Discard some of the scanning data.

Interpolation and approximation introduce artifacts in the rendered images.

Low resolution.

May require user intervention for best results.

Marching Cubes Explained High resolution surface construction algorithm.

Extracts surfaces from adjacent pairs of data slices using cubes.

Cubes “march” through the pair of slices until the entire surface of both slices has been examined.

Marching Cubes Overview Load slices.

Create a cube from pixels on adjacent slices.

Find vertices on the surfaces.

Determine the intersection edges.

Interpolate the edge intersections.

Calculate vertex normals.

Output triangles and normals.

How Are Cubes Constructed Uses identical squares of four pixels connected between adjacent slices.

Each cube vertex is examined to see if it lies on or off of the surface.

How Are The Cubes Used Pixels on the slice surfaces determine 3D surfaces.

256 surface permutations, but only 14 unique patterns.

A normal is calculated for each triangle vertex for rendering.

Triangle Creation Determine triangles contained by a cube.

Determine which cube edges are intersected.

Interpolate intersection point using pixel density.

Calculate unit normals for each triangle vertex using the gradient vector.

Grid Resolution Variations can increase/decrease surface density.

Improvements Over Other Methods Utilizes pixel, line and slice coherency to minimize the number of calculations.

Can provide solid modeling.

Can use conventional rendering techniques and hardware.

No user interaction necessary.

Enables selective displays.

Can be used with other density values.

Examples

Problems Original algorithm has ambiguous cases for complementary cubes (left image). Later work (right image) introduces additional complementary cases to resolve this problem.

Post-Paper Work Dual Marching Cubes (Nielson, 2004) Geometrically Deformed Models (Miller, 1991) Near Optimal IsoSurface Extraction (Livnat, 1996) Surface Decimation (several)

Conclusion Marching Cubes provides a simple algorithm to translate a series of 2D medical scans into 3D objects.

Additional Resources “The Marching Cubes”, Polytech’Nice-Sophia, ( http://www.essi.fr/~lingrand/MarchingCubes/accueil.html

Proceedings of the Conference on Visualization ’04.

Surfaces” 1996. IEEE Visualization, Proceedings of the 7 ) Nielson, G. “Dual Marching Cubes” 2004. IEEE Visualization, Shekar, R., et al. “Octree-based Decimation of Marching Cubes th Conference on Visualization ’96.

Matveyev, S. “Approximation of Isosurface in the Marching Cube: Ambiguity Problem”. IEEE Visualization, Proceedings of the Conference on Visualization ’94.

Fuchs, H., M. Levoy, and S. Pizer. “Interactive Visualization of 3D Medical Data”. 1989. Computer, Vol. 22-8.

Additional Resources (cont.) Miller, J., et al. “Geometrically Deformed Models” 1991. Proceedings of the 18th Annual Conference on Computer Graphics and Interactive Techniques.

Livnat, Y., Han Wei Shen, and C. Johnson. “A Near Optimal Isosurface Extraction Algorithm Using the Span Space” 1996. IEEE Transactions on Visualization and Computer Graphics, Vol. 2-1.