ordfilt3
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)
Usage:
[V_ord] = ordfilt3(V0,ord,winSize,pad_opts)
Inputs:
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)
Outputs:
V_ord - Order Statistic
Note:
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 (2024). ordfilt3 (https://www.mathworks.com/matlabcentral/fileexchange/22044-ordfilt3), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.