File Exchange

image thumbnail


version (145 KB) by Olivier Salvado
Perform 3-D order-statistic filtering on 26 neighbors.


Updated 20 Aug 2004

View License

Same as ordfilt2 but for 3D dataset. Can be used as a 3D median , max or min filter. With little modification could be used with any arbitrary function.

for a 3D 100x100x100 uint8 dataset, it runs in about 2.75s on a P4 2.4GHz 1G RAM personnal computer (XP)

% ordfilt3D: Perform 3-D order-statistic filtering on 26 neighbors
% [Vr] = ordfilt3D(V0,ord,padoption)
% use 26 neighbors
% ord = 14 <=> median filtering
% ord = 1 <=> min
% ord = [1 27] <=> [min max]
% padoption: same as in padarray
% Olivier Salvado, Case Western Reserve University, 16Aug04

Cite As

Olivier Salvado (2019). ordfilt3 (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (8)

Much faster than medfilt3.


Fast, but the window size is fixed to 3 by 3 by 3 ....

ivan scardanzan

the following is a 3d filter with much better memory management :
MEDFILT3 performs median filtering of an array in three dimensions.

Tal Kenig

Fast implementation. Too bad it handles only a 3x3x3 neighborhood.
For scardanzan : for these type of applications you usually use a very strong machine, and don't work in Matlab...

i scardanzan

obsurde memory request for real world image applications ... say you have 512 x 512 x 512 volume ... the is a small subvolume for real CT or MR application ... what sort of memory do you need ????

norbert kirchgessner

very helpful and rather fast but memory consuming

by using

Vn = zeros(S(1),S(2),S(3),27,'uint8'); % all the neighbor


Vn = zeros(S(1),S(2),S(3),27,'single'); % all the neighbor

at the specific sites, saves half the exexution time

Thank you very much

safit gf

i need if possible more details about this filter to be able to understant it.
thank you


comment updated

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: ordfilt3