imcrop3

Crop 3-D image

Description

example

Vout = imcrop3(V,cuboid) crops the image volume V according to cuboid, which specifies the size and position of the cropping window in spatial coordinates.

Examples

collapse all

Load a 3-D volume into the workspace.

D = load('mristack');
V = D.mristack;

Display the image.

fullViewPnl = uipanel(figure,'Title','Original Volume');
volshow(V,'Parent',fullViewPnl);

Crop the volume using imcrop3, specifying the size and position of the cuboidal crop region.

Vout = imcrop3(V,[30 40 10 100 100 10]);

Display the cropped image.

fullViewPnl = uipanel(figure,'Title','Cropped Volume');
volshow(Vout,'Parent',fullViewPnl);

Load a 3-D MRI image. Use the squeeze function to remove any singleton dimensions.

S = load('mri.mat','D');
volumeData = squeeze(S.D);

Display the image.

fullViewPnl = uipanel(figure,'Title','Original Volume');
volshow(volumeData,'Parent',fullViewPnl);

Create a Cuboid object and specify the cropping window size in all three dimensions.

c = images.spatialref.Cuboid([30,90],[30,90],[1,20]);

Crop the image based on the Cuboid dimensions.

croppedVolume = imcrop3(volumeData,c);

Display the cropped image.

fullViewPnl = uipanel(figure,'Title','Cropped Volume');
volshow(croppedVolume,'Parent',fullViewPnl);

Load a 3-D MRI image. Use the squeeze function to remove any singleton dimensions.

load mri;
D = squeeze(D);

Display the image.

fullViewPnl = uipanel(figure,'Title','Original Volume');
volshow(D,'Parent',fullViewPnl);

Specify the target size of the cropping window.

targetSize = [64 64 10];

Create a center cropping window that crops the specified image from its center.

win = centerCropWindow3d(size(D),targetSize);

Crop the image using the center cropping window.

Dcrop = imcrop3(D,win);

Display the cropped image in a display panel.

fullViewPnl = uipanel(figure,'Title','Cropped Volume');
volshow(Dcrop,'Parent',fullViewPnl);

Input Arguments

collapse all

Volume to be cropped, specified as a numeric, logical, or categorical array. V can be a 3-D array that represents a single channel 3-D volume or a 4-D array that represents a multichannel 3-D volume. If V represents a multichannel 3-D volume, then imcrop3 crops the first three dimensions only.

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

Size and position of the crop volume in spatial coordinates, specified as a 6-element numeric vector of the form [xmin ymin zmin width height depth] or an images.spatialref.Cuboid object.

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

Output Arguments

collapse all

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

Introduced in R2019b