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
extractIsosurfaceandisosurfacediffers for the edge case when an intensity value is equal to the specified isovalue. Theisosurfacefunction generates a surface between regions with intensities less than or equal to the isovalue and regions with intensities greater than the isovalue. TheextractIsosurfacefunction 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
extractIsosurfaceandisosurfacegenerate 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 outputvertscan be different.Except for the edge case, both
extractIsosurfaceandisosurfacegenerate the same number of faces. However, the actual faces in the outputfacesare 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




