version (3.29 KB) by Toby Collins
Performs 3D order-statistic filtering on 3D volumetric data.


Updated 13 Nov 2008

No License

ordfilt3: Performs 3D order-statistic filtering on 3D volumetric data.

The memory and computational overhead for such an operation can be extremely demanding. Here - memory efficiency has been achieved with a recursive-split algorithm, allowing for far larger volumes and/or window sizes to be processed than if the order statistics were to be attempted directly. The basic operation is fairly simple - the volume is recursively split into 8 even sub-blocks, until sub-blocks are reached that are small enough for the filter to be computed with a single call (i.e. when there is enough free contiguous memory to process the entire sub-block) The intermediate results are propagated back up the call stack which then fill output matrix (V_ord)


[V_ord] = ordfilt3(V0,ord,winSize,pad_opts)

V0: Numeric 3D volume. Supports all numeric classes
ord: Speficies which order statistic to return.
This can be a string, or a number 1<=ord<=winSize^3

For example:
ord = 'min' returns the minimum window value (same as ord = 1)
ord = 'max' returns the maximum window value (same as ord = winSize^3)
ord = 'med' returns the median window value

winSize: Size of filter window. Currently, only cubic windows are permitted, whose
Length=Width=Height = winSize. This must be odd.

pad_opts: same as defined in 'padarray' (optional)

V_ord - Order Statistic

By calling [V_ord] = ordfilt3(V0,ord,3,pad_opts), this code computes the 26-neighbourhood order statistic filter, which is the same as outputted by Olivier Salvado's implementation (but which is non-splitting, and uses a fixed 3*3*3 window.)

Cite As

Toby Collins (2022). ordfilt3 (https://www.mathworks.com/matlabcentral/fileexchange/22044-ordfilt3), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Inspired by: ordfilt3

Inspired: Spherical hough transform for 3D images

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!