nlfiltersep

PURPOSE ^

Efficient multidimensional nonlinear but seperable filtering operation.

SYNOPSIS ^

function I = nlfiltersep( I, dims, shape, fun, varargin )

DESCRIPTION ^

 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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Wed 03-Oct-2007 13:09:09 by m2html © 2003