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
Olivier Salvado (2019). ordfilt3 (https://www.mathworks.com/matlabcentral/fileexchange/5722-ordfilt3), MATLAB Central File Exchange. Retrieved .
Much faster than medfilt3.
Fast, but the window size is fixed to 3 by 3 by 3 ....
the following is a 3d filter with much better memory management :
MEDFILT3 performs median filtering of an array in three dimensions.
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...
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 ????
very helpful and rather fast but memory consuming
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
i need if possible more details about this filter to be able to understant it.