Main Content

integralBoxFilter3

3-D box filtering of 3-D integral images

Description

B = integralBoxFilter3(A) filters integral image A with a 3-by-3-by-3 box filter.

B = integralBoxFilter3(A,filterSize) filters integral image A with a 3-D box filter with size specified by filterSize.

example

B = integralBoxFilter3(___,"NormalizationFactor",normFactor) also specifies the normalization factor applied to the box filter.

Examples

collapse all

Load 3-D MRI data.

volData = load('mri');
vol = squeeze(volData.D);

Pad the image volume by the radius of the filter neighborhood.

filterSize = [5 5 3];
padSize = (filterSize-1)/2;
volPad = padarray(vol, padSize, 'replicate', 'both');

Calculate the 3-D integral image of the padded input.

intVol = integralImage3(volPad);

Filter the 3-D integral image with a [5 5 3] filter.

volFilt = integralBoxFilter3(intVol, filterSize);

Input Arguments

collapse all

Integral image to be filtered, specified as a 3-D numeric array.

integralBoxFilter3 expects the input integral image, A, to be an upright integral image computed using integralImage3. integralBoxFilter3 does not support rotated integral images. The first row, column and plane of the integral image is assumed to be padded, as returned by integralImage3.

Data Types: double

Size of box filter, specified as a positive odd integer or 3-element vector of positive, odd integers. If filterSize is scalar, then integralBoxFilter3 uses a cube box filter.

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

Normalization factor applied to the box filter, specified as a numeric scalar.

By default, the normalization factor has the value 1/filterSize.^3 when filterSize is a scalar, and 1/prod(filterSize) when filterSize is a vector. The default has the effect of a mean filter — the pixels in the output image are the local means of the image.

To get local area sums, set normFactor to 1. To avoid overflow in such circumstances, consider using double precision images by converting the input image to data type double.

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

Output Arguments

collapse all

Filtered image, returned as a 3-D numeric array. integralBoxFilter3 returns only the parts of the filtering that are computed without padding.

Data Types: double

Version History

Introduced in R2015b