next up previous contents
Next: Local filter Up: Filters in MatPIV Previous: Signal-to-Noise ratio   Contents

Global histogram operator

Globfilt is a so called global histogram operator that will remove vectors that are significantly larger or smaller than a majority of the vectors.

There are two basically different methods used in Globfilt, The first uses a graphical input to specify the acceptance interval of velocity vectors. These are plotted in the (u,v) plane and the user should specify 4 points, using the left mouse button, that together form a 4 sided polygonal region of acceptance. Use 'manual' as input parameter for this option. Alternatively one can make an acceptance interval, either based on the standard deviations (x and y) of the measurement ensemble or simply by specifying the limits directly. This can be done in three different ways, namely 1) by specifying a factor (a number), 2) by specifying 'loop' or 3) by specifying a vector with the upper and lower velocity limits. In the former case Globfilt uses the mean of the velocities plus/minus the number times the standard deviation as the limits for the acceptance area. In the second case Globfilt loops and lets the user interactively set the factor. This option often performs well if the vector field is not heavily contaminated with outliers. The third option is used by specifying an input vector [Umin Umax Vmin Vmax] which defines the upper and lower limits for the velocities.

[gu,gv]=globfilt(x,y,su,sv,actions);
where x and y are the coordinate matrices and su and sv the filtered velocity matrices output from the snr-filter.

Actions can be (as mentioned above)

  1. the string 'manual',
  2. a scalar (threshold) value,
  3. the string 'loop' or
  4. a vector.
The former option let's the user specify an acceptance region graphically using the left mouse button. The second option, a scalar, is used to create an acceptance region from the formula $ \bf {U}_{min/max} =$   Factor$ *std(\bf {U})$. This option is nice for batch processing. Alternatively one might use the 'loop' option. This option can additionally take an initial scalar as mentioned above and will loop to let the user decide the acceptance region based on this scalar/threshold. Finally one can simply choose to specify upper and lower limits on the velocities. This should be done in a vector [Umin Umax Vmin Vmax].

In real applications the following will usually produce good results:

>> [gu,gv]=globfilt(x,y,su,sv,4);


next up previous contents
Next: Local filter Up: Filters in MatPIV Previous: Signal-to-Noise ratio   Contents
Johan K. Sveen 2004-08-06