|MATLAB Function Reference|
Reduce the number of elements in a volume data set
[nx,ny,nz,nv] = reducevolume(X,Y,Z,V,[Rx,Ry,Rz]) reduces the number of elements in the volume by retaining every
Rxth element in the x direction, every
Ryth element in the y direction, and every
Rzth element in the z direction. If a scalar
R is used to indicate the amount or reduction instead of a 3-element vector, MATLAB assumes the reduction to be
[R R R].
Z define the coordinates for the volume
V. The reduced volume is returned in
nv and the coordinates of the reduced volume are returned in
[nx,ny,nz,nv] = reducevolume(V,[Rx,Ry,Rz]) assumes the arrays
Z are defined as
[X,Y,Z] = meshgrid(1:n,1:m,1:p) where
[m,n,p] = size(V).
nv = reducevolume(...) returns only the reduced volume.
This example uses a data set that is a collection of MRI slices of a human skull. This data is processed in a variety of ways:
squeeze) into three dimensions and then reduced (
reducevolume) so that what remains is every 4th element in the x and y directions and every element in the z direction.
p1) whose vertex normals are recalculated to improve the appearance when lighting is applied (
p2) with an interpolated face color draws the end caps (
load mri D = squeeze(D); [x,y,z,D] = reducevolume(D,[4,4,1]); D = smooth3(D); p1 = patch(isosurface(x,y,z,D, 5,'verbose'),... '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; lighting gouraud
Volume Visualization for related functions