## Documentation Center |

Reduce number of elements in volume data set

`[nx,ny,nz,nv] = reducevolume(X,Y,Z,V,[Rx,Ry,Rz]) [nx,ny,nz,nv] = reducevolume(V,[Rx,Ry,Rz]) nv = reducevolume(...) `

`[nx,ny,nz,nv] = reducevolume(X,Y,Z,V,[Rx,Ry,Rz]) `
reduces the number of elements in the volume by retaining every `Rx`^{th}^{ }element
in the *x* direction, every `Ry`^{th} element
in the *y* direction, and every `Rz`^{th} element
in the *z* direction. If a scalar `R` is
used to indicate the amount or reduction instead of a three-element
vector, the MATLAB^{®} software assumes the reduction to be `[R
R R]`.

The arrays `X`, `Y`, and `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`,
and `nz`.

`[nx,ny,nz,nv] = reducevolume(V,[Rx,Ry,Rz]) `
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)`.

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:

The 4-D array is squeezed (

`squeeze`) into three dimensions and then reduced (`reducevolume`) so that what remains is every fourth element in the*x*and*y*directions and every element in the*z*direction.The reduced data is smoothed (

`smooth3`).The outline of the skull is an isosurface generated as a patch (

`p1`) whose vertex normals are recalculated to improve the appearance when lighting is applied (`patch`,`isosurface`,`isonormals`).A second patch (

`p2`) with an interpolated face color draws the end caps (`FaceColor`)`isocaps`).A 100-element grayscale colormap provides coloring for the end caps (

`colormap`).Adding a light to the right of the camera illuminates the object (

`camlight`,`lighting`).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

`isocaps` | `isonormals` | `isosurface` | `reducepatch` | `smooth3` | `subvolume`

Was this topic helpful?