Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ij.plugin.filter
Class RankFilters

    java.lang.Object
      ij.plugin.filter.RankFilters

All Implemented Interfaces:
  DialogListener, ExtendedPlugInFilter, PlugInFilter

public class RankFilters
extends java.lang.Object
implements ExtendedPlugInFilter, DialogListener

This plugin implements the Mean, Minimum, Maximum, Variance, Median, Remove Outliers and Despeckle commands.

Field Summary
`static int` | `DESPECKLE`
`protected int` | `kNPoints`
`protected int` | `kRadius`
`protected int[]` | `lineRadius`
`static int` | `MAX`
`static int` | `MEAN`
`static int` | `MEDIAN`
`static int` | `MIN`
`static int` | `OUTLIERS`
`static int` | `VARIANCE`

Fields inherited from interface ij.plugin.filter.ExtendedPlugInFilter
`KEEP_PREVIEW`

Fields inherited from interface ij.plugin.filter.PlugInFilter
`CONVERT_TO_FLOAT, DOES_16, DOES_32, DOES_8C, DOES_8G, DOES_ALL, DOES_RGB, DOES_STACKS, DONE, FINAL_PROCESSING, NO_CHANGES, NO_IMAGE_REQUIRED, NO_UNDO, PARALLELIZE_STACKS, ROI_REQUIRED, SNAPSHOT, STACK_REQUIRED, SUPPORTS_MASKING`

Constructor Summary
`RankFilters()`

Method Summary
`boolean` | `dialogItemChanged(GenericDialog gd, java.awt.AWTEvent e)` This method is invoked by a Generic Dialog if any of the inputs have changed (CANCEL does not trigger it; OK and running the dialog from a macro only trigger the first DialogListener added to a GenericDialog).
`void` | `doFiltering(FloatProcessor ip, int kRadius, int[] lineRadius, int filterType, int whichOutliers, float threshold)` Filter a FloatProcessor according to filterType
`static float` | `findNthLowestNumber(float[] buf, int bufLength, int n)` Find the n-th lowest number in part of an array
`void` | `makeKernel(double radius)` Create a circular kernel of a given radius.
`void` | `run(ImageProcessor ip)` Filters use this method to process the image.
`void` | `setNPasses(int nPasses)` This method is called by ImageJ to set the number of calls to run(ip) corresponding to 100% of the progress bar
`int` | `setup(java.lang.String arg, ImagePlus imp)` Setup of the PlugInFilter.
`int` | `showDialog(ImagePlus imp, java.lang.String command, PlugInFilterRunner pfr)` This method is called after `setup(arg, imp)` unless the `DONE` flag has been set.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### MEAN

    public static final int MEAN

See Also:
  Constant Field Values

### MIN

    public static final int MIN

See Also:
  Constant Field Values

### MAX

    public static final int MAX

See Also:
  Constant Field Values

### VARIANCE

    public static final int VARIANCE

See Also:
  Constant Field Values

### MEDIAN

    public static final int MEDIAN

See Also:
  Constant Field Values

### OUTLIERS

    public static final int OUTLIERS

See Also:
  Constant Field Values

### DESPECKLE

    public static final int DESPECKLE

See Also:
  Constant Field Values

### kRadius

    protected int kRadius

### kNPoints

    protected int kNPoints

### lineRadius

    protected int[] lineRadius

Constructor Detail

### RankFilters

    public RankFilters()

Method Detail

### setup

    public int setup(java.lang.String arg,
                     ImagePlus imp)

  Setup of the PlugInFilter. Returns the flags specifying the capabilities and needs of the filter.

  Specified by:
    `setup` in interface `PlugInFilter`
  Parameters:
    `arg` - Defines type of filter operation
    `imp` - The ImagePlus to be processed
  Returns:
    Flags specifying further action of the PlugInFilterRunner

### showDialog

    public int showDialog(ImagePlus imp,
                          java.lang.String command,
                          PlugInFilterRunner pfr)

  Description copied from interface: `ExtendedPlugInFilter`
  This method is called after `setup(arg, imp)` unless the `DONE` flag has been set.

  Specified by:
    `showDialog` in interface `ExtendedPlugInFilter`
  Parameters:
    `imp` - The active image already passed in the `setup(arg, imp)` call. It will be null, however, if the `NO_IMAGE_REQUIRED` flag has been set.
    `command` - The command that has led to the invocation of the plugin-filter. Useful as a title for the dialog.
    `pfr` - The PlugInFilterRunner calling this plugin-filter. It can be passed to a GenericDialog by `addPreviewCheckbox` to enable preview by calling the `run(ip)` method of this plugin-filter. `pfr` can be also used later for calling back the PlugInFilterRunner, e.g., to obtain the slice number currently processed by `run(ip)`.
  Returns:
    The method should return a combination (bitwise OR) of the flags specified in interfaces `PlugInFilter` and `ExtendedPlugInFilter`.

### dialogItemChanged

    public boolean dialogItemChanged(GenericDialog gd,
                                     java.awt.AWTEvent e)

  Description copied from interface: `DialogListener`
  This method is invoked by a Generic Dialog if any of the inputs have changed (CANCEL does not trigger it; OK and running the dialog from a macro only trigger the first DialogListener added to a GenericDialog).

  Specified by:
    `dialogItemChanged` in interface `DialogListener`
  Parameters:
    `e` - The event that has been generated by the user action in the dialog. Note that `e` is `null` if the dialogItemChanged method is called after the user has pressed the OK button or if the GenericDialog has read its parameters from a macro.
    `gd` - A reference to the GenericDialog.
  Returns:
    Should be true if the dialog input is valid. False disables the OK button and preview (if any).

### run

    public void run(ImageProcessor ip)

  Description copied from interface: `PlugInFilter`
  Filters use this method to process the image. If the SUPPORTS_STACKS flag was set, it is called for each slice in a stack. With CONVERT_TO_FLOAT, the filter is called with the image data converted to a FloatProcessor (3 times per image for RGB images). ImageJ will lock the image before calling this method and unlock it when the filter is finished. For PlugInFilters specifying the NO_IMAGE_REQUIRED flag and not the DONE flag, run(ip) is called once with the argument `null`.

  Specified by:
    `run` in interface `PlugInFilter`

### doFiltering

    public void doFiltering(FloatProcessor ip,
                            int kRadius,
                            int[] lineRadius,
                            int filterType,
                            int whichOutliers,
                            float threshold)

  Filter a FloatProcessor according to filterType

  Parameters:
    `ip` - The image subject to filtering
    `kRadius` - The kernel radius. The kernel has a side length of 2*kRadius+1
    `lineRadius` - The radius of the lines in the kernel. Line length of line i is 2*lineRadius[i]+1. Note that the array `lineRadius` will be modified, thus call this method with a clone of the original lineRadius array if the array should be used again.
    `filterType` - as defined above; DESPECKLE is not a valid type here.
    `threshold` - Threshold for 'outliers' filter

### findNthLowestNumber

    public static float findNthLowestNumber(float[] buf,
                                            int bufLength,
                                            int n)

  Find the n-th lowest number in part of an array

  Parameters:
    `buf` - The input array. Only values 0 ... bufLength are read. `buf` will be modified.
    `bufLength` - Number of values in `buf` that should be read
    `n` - which value should be found; n=0 for the lowest, n=bufLength-1 for the highest
  Returns:
    the value

### makeKernel

    public void makeKernel(double radius)

  Create a circular kernel of a given radius. Radius = 0.5 includes the 4 neighbors of the pixel in the center, radius = 1 corresponds to a 3x3 kernel size. The output is written to class variables kNPoints (number of points inside the kernel) and lineRadius, which is an array giving the radius of each line. Line length is 2*lineRadius+1.

### setNPasses

    public void setNPasses(int nPasses)

  This method is called by ImageJ to set the number of calls to run(ip) corresponding to 100% of the progress bar

  Specified by:
    `setNPasses` in interface `ExtendedPlugInFilter`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD