Class Binary

java.lang.Object
ij.plugin.filter.Binary
All Implemented Interfaces:
DialogListener, ExtendedPlugInFilter, PlugInFilter

public class Binary
extends Object
implements ExtendedPlugInFilter, DialogListener
Implements the Erode, Dilate, Open, Close, Outline, Skeletonize and Fill Holes commands in the Process/Binary submenu. Gabriel Landini contributed the clever binary fill algorithm that fills holes in objects by filling the background. Version 2009-06-23 preview added, interations can be aborted by escape (Michael Schmid)
  • Constructor Details

  • Method Details

    • setup

      public int setup​(String arg, ImagePlus imp)
      Description copied from interface: PlugInFilter
      This method is called once when the filter is loaded. 'arg', which may be blank, is the argument specified for this plugin in IJ_Props.txt or in the plugins.config file of a jar archive containing the plugin. 'imp' is the currently active image. This method should return a flag word that specifies the filters capabilities.

      For Plugin-filters specifying the PlugInFilter.FINAL_PROCESSING flag, the setup method will be called again, this time with arg = "final" after all other processing is done.

      Specified by:
      setup in interface PlugInFilter
    • showDialog

      public int showDialog​(ImagePlus imp, 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, 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:
      gd - A reference to the GenericDialog.
      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.
      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)
      Description copied from interface: ExtendedPlugInFilter
      This method is called by ImageJ to inform the plugin-filter about the passes to its run method. During preview, the number of passes is one (or 3 for RGB images, if CONVERT_TO_FLOAT has been specified). When processing a stack, it is the number of slices to be processed (minus one, if one slice has been processed for preview before), and again, 3 times that number for RGB images processed with CONVERT_TO_FLOAT.
      Specified by:
      setNPasses in interface ExtendedPlugInFilter
    • run

      public void run​(ImageProcessor ip)
      Description copied from interface: PlugInFilter
      Filters use this method to process the image. If the PlugInFilter.DOES_STACKS flag was set, it is called for each slice in a stack. With PlugInFilter.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 PlugInFilter.NO_IMAGE_REQUIRED flag and not the PlugInFilter.DONE flag, run(ip) is called once with the argument null.
      Specified by:
      run in interface PlugInFilter