extractIsosurface
Description
An isosurface is a 3-D surface representation of points
with equal values in a 3-D intensity volume. The extractIsosurface
function
returns the face and vertex data of the isosurface extracted by connecting points of a
constant value within a volume of space. The extractIsosurface
function
uses the marching cubes algorithm to extract isosurface data as arrays faster than the
corresponding syntax of the isosurface
function, without compromising
resolution. For additional options, you must use the isosurface
function.
Examples
Input Arguments
Output Arguments
Algorithms
The extractIsosurface
function uses the marching cubes algorithm to
extract the isosurface of a volume V
at the specified isovalue
isovalue
. The marching cubes algorithm uses lookup tables to obtain
information about the faces and vertices of the isosurface. The lookup tables enable the
extractIsosurface
function to extract face and vertex data as arrays
faster than the isosurface
function without compromising resolution for
large intensity volumes, such as those typically used in medical imaging. Though the purposes
of extractIsosurface
and isosurface
are similar, there
are certain differences in their implementation and output.
The behavior of
extractIsosurface
andisosurface
differs for the edge case when an intensity value is equal to the specified isovalue. Theisosurface
function generates a surface between regions with intensities less than or equal to the isovalue and regions with intensities greater than the isovalue. TheextractIsosurface
function generates a surface between regions with intensities less than the isovalue and regions with intensities greater than or equal to the isovalue.Except for the edge case, both
extractIsosurface
andisosurface
generate the same number of vertices with the index coordinates of the vertices matching within a small tolerance. However, the order of the vertices in the outputverts
can be different.Except for the edge case, both
extractIsosurface
andisosurface
generate the same number of faces. However, the actual faces in the outputfaces
are different because both algorithms create the same surface using different triangulations of the vertices.
References
[1] Lorensen, William E., and Harvey E. Cline. “Marching Cubes: A High Resolution 3D Surface Construction Algorithm.” ACM SIGGRAPH Computer Graphics 21, no. 4 (August 1987): 163–69. https://doi.org/10.1145/37402.37422.
Version History
Introduced in R2022b