- java.lang.Object
-
- ij.plugin.filter.ImageMath
-
- All Implemented Interfaces:
DialogListener
,ExtendedPlugInFilter
,PlugInFilter
public class ImageMath extends java.lang.Object implements ExtendedPlugInFilter, DialogListener
This plugin implements ImageJ's Process/Math submenu.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
MACRO_KEY
-
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, KEEP_THRESHOLD, NO_CHANGES, NO_IMAGE_REQUIRED, NO_UNDO, NO_UNDO_RESET, PARALLELIZE_IMAGES, PARALLELIZE_STACKS, ROI_REQUIRED, SNAPSHOT, STACK_REQUIRED, SUPPORTS_MASKING
-
-
Constructor Summary
Constructors Constructor Description ImageMath()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
applyMacro(ImageProcessor ip, java.lang.String macro, boolean showProgress)
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)
Filters use this method to process the image.void
setNPasses(int nPasses)
This method is called by ImageJ to inform the plugin-filter about the passes to its run method.int
setup(java.lang.String arg, ImagePlus imp)
This method is called once when the filter is loaded.int
showDialog(ImagePlus imp, java.lang.String command, PlugInFilterRunner pfr)
This method is called aftersetup(arg, imp)
unless theDONE
flag has been set.
-
-
-
Field Detail
-
MACRO_KEY
public static final java.lang.String MACRO_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
setup
public int setup(java.lang.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 interfacePlugInFilter
-
run
public void run(ImageProcessor ip)
Description copied from interface:PlugInFilter
Filters use this method to process the image. If thePlugInFilter.DOES_STACKS
flag was set, it is called for each slice in a stack. WithPlugInFilter.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 thePlugInFilter.NO_IMAGE_REQUIRED
flag and not thePlugInFilter.DONE
flag, run(ip) is called once with the argumentnull
.- Specified by:
run
in interfacePlugInFilter
-
applyMacro
public static void applyMacro(ImageProcessor ip, java.lang.String macro, boolean showProgress)
-
showDialog
public int showDialog(ImagePlus imp, java.lang.String command, PlugInFilterRunner pfr)
Description copied from interface:ExtendedPlugInFilter
This method is called aftersetup(arg, imp)
unless theDONE
flag has been set.- Specified by:
showDialog
in interfaceExtendedPlugInFilter
- Parameters:
imp
- The active image already passed in thesetup(arg, imp)
call. It will be null, however, if theNO_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 byaddPreviewCheckbox
to enable preview by calling therun(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 byrun(ip)
.- Returns:
- The method should return a combination (bitwise OR)
of the flags specified in interfaces
PlugInFilter
andExtendedPlugInFilter
.
-
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 interfaceDialogListener
- Parameters:
gd
- A reference to the GenericDialog.e
- The event that has been generated by the user action in the dialog. Note thate
isnull
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, ifCONVERT_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 withCONVERT_TO_FLOAT
.- Specified by:
setNPasses
in interfaceExtendedPlugInFilter
-
-