# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

## Visualizing Volume Data

This example shows several methods for visualizing volume data in MATLAB®.

### Display Isosurface

An isosurface is a surface where all the points within a volume of space have a constant value. Use the `isosurface` function to generate the faces and vertices for the outside of the surface and the `isocaps` function to generate the faces and vertices for the end caps of the volume. Use the `patch` command to draw the volume and its end caps.

```load mri D % load data D = squeeze(D); % remove singleton dimension limits = [NaN NaN NaN NaN NaN 10]; [x, y, z, D] = subvolume(D, limits); % extract a subset of the volume data [fo,vo] = isosurface(x,y,z,D,5); % isosurface for the outside of the volume [fe,ve,ce] = isocaps(x,y,z,D,5); % isocaps for the end caps of the volume figure p1 = patch('Faces', fo, 'Vertices', vo); % draw the outside of the volume p1.FaceColor = 'red'; p1.EdgeColor = 'none'; p2 = patch('Faces', fe, 'Vertices', ve, ... % draw the end caps of the volume 'FaceVertexCData', ce); p2.FaceColor = 'interp'; p2.EdgeColor = 'none'; view(-40,24) daspect([1 1 0.3]) % set the axes aspect ratio colormap(gray(100)) box on camlight(40,40) % create two lights camlight(-20,-10) lighting gouraud```

### Create Cone Plot

The `coneplot` command plots velocity vectors as cones at x, y, z points in a volume. The cones represent the magnitude and direction of the vector field at each point.

```cla % clear the current axes load wind u v w x y z % load data [m,n,p] = size(u); [Cx, Cy, Cz] = meshgrid(1:4:m,1:4:n,1:4:p); % calculate the location of the cones h = coneplot(u,v,w,Cx,Cy,Cz,y,4); % draw the cone plot set(h,'EdgeColor', 'none') axis tight equal view(37,32) box on colormap(hsv) light```

### Plot Streamlines

The `streamline` function plots streamlines for a velocity vector at x, y, z points in a volume to illustrate the flow of a 3-D vector field.

```cla [m,n,p] = size(u); [Sx, Sy, Sz] = meshgrid(1,1:5:n,1:5:p); % calculate the starting points of the streamlines streamline(u,v,w,Sx,Sy,Sz) % draw the streamlines axis tight equal view(37,32) box on```

### Plot Streamtubes

The `streamtube` function plots streamtubes for a velocity vector at x, y, z points in a volume. The width of the tube is proportional to the normalized divergence of the vector field at each point.

```cla [m,n,p] = size(u); [Sx, Sy, Sz] = meshgrid(1,1:5:n,1:5:p); % calculate the starting points of the streamlines h = streamtube(u,v,w,Sx,Sy,Sz); % draw the streamtubes and return an array of surfaces set(h, 'FaceColor', 'cyan') % use 'set' to change properties for an array of objects set(h, 'EdgeColor', 'none') axis tight equal view(37,32) box on light```

### Combine Volume Visualizations

Combine volume visualization in a single plot to get a more comprehensive picture of a velocity field within a volume.

```cla spd = sqrt(u.*u + v.*v + w.*w); % wind speed at each point in the volume [fo,vo] = isosurface(x,y,z,spd,40); % isosurface for the outside of the volume [fe,ve,ce] = isocaps(x,y,z,spd,40); % isocaps for the end caps of the volume p1 = patch('Faces', fo, 'Vertices', vo); % draw the isosurface for the volume p1.FaceColor = 'red'; p1.EdgeColor = 'none'; p2 = patch('Faces', fe, 'Vertices', ve, ... % draw the end caps of the volume 'FaceVertexCData', ce); p2.FaceColor = 'interp'; p2.EdgeColor = 'none' ; [fc, vc] = isosurface(x, y, z, spd, 30); % isosurface for the cones [fc, vc] = reducepatch(fc, vc, 0.2); % reduce the number of faces and vertices h1 = coneplot(x,y,z,u,v,w,vc(:,1),vc(:,2),vc(:,3),3); % draw the coneplot h1.FaceColor = 'cyan'; h1.EdgeColor = 'none'; [sx, sy, sz] = meshgrid(80, 20:10:50, 0:5:15); % starting points for streamline h2 = streamline(x,y,z,u,v,w,sx,sy,sz); % draw the streamlines set(h2, 'Color', [.4 1 .4]) axis tight equal view(37,32) box on light```