# integralBoxFilter3

3-D box filtering of 3-D integral images

## Syntax

``B = integralBoxFilter3(A)``
``B = integralBoxFilter3(A,filterSize)``
``B = integralBoxFilter3(___,Name,Value)``

## Description

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

example

````B = integralBoxFilter3(A,filterSize)` filters integral image `A` with a 3-D box filter with size specified by `filterSize`. ```
````B = integralBoxFilter3(___,Name,Value)` uses name-value pairs to control various aspects of the filtering.```

## Examples

collapse all

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

```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`

### Name-Value Arguments

Specify optional pairs of arguments as `Name1=Value1,...,NameN=ValueN`, where `Name` is the argument name and `Value` is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose `Name` in quotes.

Example: `B = integralBoxFilter3(A,5,'NormalizationFactor',1);`

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

The default `'NormalizationFactor'` 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 `'NormalizationFactor'` to `1`. To avoid overflow in such circumstances, consider using double precision images by converting the input image to class `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