| MATLAB Function Reference | ![]() |
Extract subset of volume data set
Syntax
Description
[Nx,Ny,Nz,Nv] = subvolume(X,Y,Z,V,limits) extracts a subset of the volume data set V using the specified axis-aligned limits. limits = [xmin,xmax,ymin, ymax,zmin,zmax] (Any NaNs in the limits indicate that the volume should not be cropped along that axis).
The arrays X, Y, and Z define the coordinates for the volume V. The subvolume is returned in NV and the coordinates of the subvolume are given in NX, NY, and NZ.
[Nx,Ny,Nz,Nv] = subvolume(V,limits) 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).
Nv = subvolume(...) returns only the subvolume.
Examples
This example uses a data set that is a collection of MRI slices of a human skull. The data is processed in a variety of ways:
squeeze) into three dimensions and then a subset of the data is extracted (subvolume).
p1) whose vertex normals are recalculated to improve the appearance when lighting is applied (patch, isosurface, isonormals).
p2) with interpolated face color draws the end caps (FaceColor, isocaps).
view, axis, daspect).
colormap).
camlight, lighting).
load mri D = squeeze(D); [x,y,z,D] = subvolume(D,[60,80,nan,80,nan,nan]); p1 = patch(isosurface(x,y,z,D, 5),... 'FaceColor','red','EdgeColor','none'); isonormals(x,y,z,D,p1); p2 = patch(isocaps(x,y,z,D, 5),... 'FaceColor','interp','EdgeColor','none'); view(3); axis tight; daspect([1,1,.4]) colormap(gray(100)) camlight right; camlight left; lighting gouraud
See Also
isocaps, isonormals, isosurface, reducepatch, reducevolume, smooth3
Volume Visualization for related functions
| substruct | sum | ![]() |