Module ij

Interface ExtendedPlugInFilter

All Superinterfaces:
PlugInFilter
All Known Implementing Classes:
BackgroundSubtracter, Binary, Convolver, EDM, GaussianBlur, ImageMath, MaximumFinder, RankFilters, Rotator, StackLabeler, Translator, UnsharpMask

public interface ExtendedPlugInFilter
extends PlugInFilter
ImageJ plugins that process an image may implement this interface. In addition to the features of PlugInFilter, it is better suited for filters that have a dialog asking for the options or filter parameters. It also offers support for preview, for a smooth progress bar when processing stacks and for calling back the PlugInFilterRunner (needed, e.g., to get the slice number when processing a stack in parallel threads).

The sequence of calls to an ExtendedPlugInFilter is the following:

- setup(arg, imp): The filter should return its flags.

- showDialog(imp, command, pfr): The filter should display the dialog asking for parameters (if any) and do all operations needed to prepare for processing the individual image(s) (E.g., slices of a stack). For preview, a separate thread may call setNPasses(nPasses) and run(ip) while the dialog is displayed. The filter should return its flags.

- setNPasses(nPasses): Informs the filter of the number of calls of run(ip) that will follow.

- run(ip): Processing of the image(s). With the CONVERT_TO_FLOAT flag, this method will be called for each color channel of an RGB image. With DOES_STACKS, it will be called for each slice of a stack.

- setup("final", imp): called only if flag FINAL_PROCESSING has been specified.

Flag DONE stops this sequence of calls.

  • Field Details

    • KEEP_PREVIEW

      static final int KEEP_PREVIEW
      Set this flag if the last preview image may be kept as a result. For stacks, this flag can lead to out-of-sequence processing of the slices, irrespective of the PARALLELIZE_STACKS flag.
      See Also:
      Constant Field Values
  • Method Details

    • showDialog

      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.
      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.
    • setNPasses

      void setNPasses​(int nPasses)
      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.