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 UnsharpMask

    java.lang.Object
      ij.plugin.filter.UnsharpMask

All Implemented Interfaces:
  DialogListener, ExtendedPlugInFilter, PlugInFilter

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

This plugin-filter implements ImageJ's Unsharp Mask command. Unsharp masking subtracts a blurred copy of the image and rescales the image to obtain the same contrast of large (low-frequency) structures as in the input image. This is equivalent to adding a high-pass filtered image and thus sharpens the image. "Radius (Sigma)" is the standard deviation (blur radius) of the Gaussian blur that is subtracted. "Mask Weight" determines the strength of filtering, where "Mask Weight"=1 would be an infinite weight of the high-pass filtered image that is added.

Field Summary

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
`UnsharpMask()`

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` | `run(ImageProcessor ip)` This method is invoked for each slice or color channel.
`void` | `setNPasses(int nPasses)` Since most computing time is spent in GaussianBlur, forward the information about the number of passes to Gaussian Blur.
`int` | `setup(java.lang.String arg, ImagePlus imp)` Method to return types supported
`void` | `sharpenFloat(FloatProcessor fp, double sigma, float weight)` Unsharp Mask filtering of a float image.
`int` | `showDialog(ImagePlus imp, java.lang.String command, PlugInFilterRunner pfr)` Ask the user for the parameters

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

Constructor Detail

### UnsharpMask

    public UnsharpMask()

Method Detail

### setup

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

  Method to return types supported

  Specified by:
    `setup` in interface `PlugInFilter`
  Parameters:
    `arg` - Not used by this plugin
    `imp` - The image to be filtered
  Returns:
    Code describing supported formats etc. (see ij.plugin.filter.PlugInFilter & ExtendedPlugInFilter)

### run

    public void run(ImageProcessor ip)

  This method is invoked for each slice or color channel. It filters an image by enhancing high-frequency components. Since this PlugInFilter specifies the CONVERT_TO_FLOAT and SNAPHOT flags, 'ip' is always a FloatProcessor with a valid snapshot.

  Specified by:
    `run` in interface `PlugInFilter`
  Parameters:
    `ip` - The image, slice or channel to filter

### sharpenFloat

    public void sharpenFloat(FloatProcessor fp,
                             double sigma,
                             float weight)

  Unsharp Mask filtering of a float image. 'fp' must have a valid snapshot.

### showDialog

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

  Ask the user for the parameters

  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).

### setNPasses

    public void setNPasses(int nPasses)

  Since most computing time is spent in GaussianBlur, forward the information about the number of passes to Gaussian Blur. The ProgressBar will be handled by GaussianBlur.

  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