imresize3

Resize 3-D volumetric intensity image

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 NaNs, 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.

Introduced in R2017a