MATLAB Function Reference    

Extract isosurface data from volume data



fv = isosurface(X,Y,Z,V,isovalue) computes isosurface data from the volume data V at the isosurface value specified in isovalue. The arrays X, Y, and Z define the coordinates for the volume V. The structure fv contains the faces and vertices of the isosurface, which you can pass directly to the patch command.

fv = isosurface(V,isovalue) assumes the arrays X, Y, and Z are defined as [X,Y,Z] = meshgrid(1:n,1:m,1:p) where [m,n,p] = size(V).

fvc = isosurface(...,colors) interpolates the array colors onto the scalar field and returns the interpolated values in the facevertexcdata field of the fvc structure. The size of the colors array must be the same as V. The colors argument enables you to control the color mapping of the isosurface with data different from that used to calculate the isosurface (e.g., temperature data superimposed on a wind current isosurface.

fv = isosurface(...,'noshare') does not create shared vertices. This is faster, but produces a larger set of vertices.

fv = isosurface(...,'verbose') prints progress messages to the command window as the computation progresses.

[f,v] = isosurface(...) returns the faces and vertices in two arrays instead of a struct.

isosurface(...) with no output arguments creates a patch using the computed faces and vertices.


You can pass the fv structure created by isosurface directly to the patch command, but you cannot pass the individual faces and vertices arrays (f, v) to patch without specifying property names. For example,



This example uses the flow data set, which represents the speed profile of a submerged jet within an infinite tank (type help flow for more information). The isosurface is drawn at the data value of -3. The statements that follow the patch command prepare the isosurface for lighting by:

See Also

isonormals, shrinkfaces, smooth3, subvolume

Connecting Equal Values with Isosurfaces for more examples

Volume Visualization for related functions

  isonormals ispc