Efficient multidimensional nonlinear but seperable filtering operation. The concept of a nonlinear seperable filter is not very common, but nevertheless can prove useful since computation time can be reduced. Consider a funciton like max that is applied to a 2 dim window. max could also be applied to each row of the window, then to the resulting column, giving the same result. This is what is meant here by a seperable nonlinear filter. If shape is 'block', instead applies operations to nonoveralpping blocks (versus a sliding window in which all overlapping blocks are considered). The function fun must be able to take an input of the form C=fun(I,radius,param1,...paramk). The return C must have the same size as I, and each element of C must be the result of applying the nlfilt operation to the local column (of size 2r+1) of A. USAGE I = nlfiltersep( I, dims, shape, fun, varargin ) INPUTS I - matrix to compute fun over dims - size of volume to compute fun over, can be scalar shape - 'valid', 'full', 'same' or 'block' fun - nonlinear filter params - optional parameters for nonlinear filter OUTPUTS I - resulting image EXAMPLE load trees; I=ind2gray(X,map); Cs = nlfiltersep( I, [11 11], 'same', @nlfiltersep_sum ); % local sums Cm = nlfiltersep( I, [11 11], 'same', @nlfiltersep_max ); % local maxes figure(1); im(I); figure(2); im(Cs); figure(3); im(Cm); See also NLFILTER