Documentation

# imresize3

Resize 3-D volumetric intensity image

## Syntax

``B = imresize3(V,scale)``
``````B = imresize3(V,[numrows numcols numplanes])``````
``B = imresize3(___,method)``
``B = imresize3(___,Name,Value)``

## Description

example

````B = imresize3(V,scale)` returns the volume `B` that is `scale` times the size of 3-D numeric or categorical volume `V`.```
``````B = imresize3(V,[numrows numcols numplanes])``` returns the volume `B` that has the number of rows, columns, and planes specified by the three-element vector ```[numrows numcols numplanes]```.```
````B = imresize3(___,method)` returns the volume `B`, where `method` specifies the interpolation method used.```
````B = imresize3(___,Name,Value)` returns a resized volume where `Name,Value` pairs control aspects of the operation.```

## Examples

collapse all

Read MRI volume into the workspace.

```s = load('mri'); mriVolumeOriginal = squeeze(s.D); sizeO = size(mriVolumeOriginal);```

Visualize the volume.

```figure; slice(double(mriVolumeOriginal),sizeO(2)/2,sizeO(1)/2,sizeO(3)/2); shading interp, colormap gray; title('Original');```

Resize the volume, reducing the size all all dimensions by one-half. This example uses the default interpolation method and antialiasing.

```mriVolumeResized = imresize3(mriVolumeOriginal, 0.5); sizeR = size(mriVolumeResized);```

Visualize the resized volume.

```figure; slice(double(mriVolumeResized),sizeR(2)/2,sizeR(1)/2,sizeR(3)/2); shading interp, colormap gray; title('Resized');```

## Input Arguments

collapse all

Volume to be resized, specified as a 3-D numeric array or 3-D categorical array.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `uint8` | `uint16` | `uint32` | `categorical`

Scale factor, specified as a numeric scalar.

• If `scale` is less than 1, then the output image is smaller than the input image.

• If `scale` is greater than 1, then the output image is larger than the input image.

`imresize` applies the scale factor to each dimension in the image. For information about specifying a different scale for each dimension, see 'Scale'.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

Size of output image, specified as a 3-element vector of positive integers in the form `[rows columns planes]`. If you specify one numeric value and the other two values as `NaN`s, then `imresize3` computes the other two elements automatically to preserve the aspect ratio.

Data Types: `single` | `double`

Interpolation method, specified as one of the values in the following table that identifies a general method or a named interpolation kernel.

MethodDescription

`'nearest'`

Nearest-neighbor interpolation.

This is the only interpolation method supported for categorical volumes and it is the default method for volumes of this type.

`'linear'`

Linear interpolation

`'cubic'`

Cubic interpolation. This is the default for numeric volumes.

### Note

Cubic interpolation can produce pixel values outside the original range.

Interpolation KernelDescription
`'box'`

Box-shaped kernel.

This is the only interpolation kernel supported for categorical volumes.

`'triangle'`Triangular kernel (equivalent to `'linear'`)
`'lanczos2'`Lanczos-2 kernel
`'lanczos3'`Lanczos-3 kernel

Data Types: `char` | `string`

### Name-Value Pair Arguments

Specify optional comma-separated pairs of `Name,Value` arguments. `Name` is the argument name and `Value` is the corresponding value. `Name` must appear inside quotes. You can specify several name and value pair arguments in any order as `Name1,Value1,...,NameN,ValueN`.

Example: ```mriVolumeResized = imresize3(mristack,0.5,'Antialiasing',false);```

Perform antialiasing when shrinking a volume, specified as the comma-separated pair consisting of `'Antialiasing'` and `true` or `false`.

• If `method` is `'nearest'`, then the default value of `'Antialiasing'` is `false`.

• If `method` is the `'box'` interpolation kernel and the input volume is categorical, then the default value of `'Antialiasing'` is `false`.

• For all other interpolation methods, the default is `true`.

Data Types: `logical`

Interpolation method, specified as the comma-separated pair consisting of `'Method'` and string scalar or character vector. For details, see `method`.

Data Types: `char` | `string`

Size of the output volume, specified as the comma-separated pair consisting of `'OutputSize'` and a 3-element vector of positive integers of the form `[rows cols planes]`. For details, see `[numrows numcols numplanes]`.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

Resize scale factor, specified as the comma-separated pair consisting of `'Scale'` and a positive number or a 3-element vector of positive numbers. If it is a scalar, then the same scale factor is applied to each dimension. If it is a vector, then it contains the scale factors for the row, column, and plane dimensions, respectively.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

## Output Arguments

collapse all

Resized volume, returned as an array of the same class as the input volume, `V`.