public class Convolver extends Object implements ExtendedPlugInFilter, DialogListener, ActionListener
KEEP_PREVIEW
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 and Description |
---|
Convolver() |
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent e) |
boolean |
convolve(ImageProcessor ip,
float[] kernel,
int kw,
int kh)
Convolves
ip with a kernel of width kw and
height kh . |
boolean |
convolveFloat(ImageProcessor ip,
float[] kernel,
int kw,
int kh)
Convolves the float image
ip with a kernel of width
kw and height kh . |
void |
convolveFloat1D(FloatProcessor ip,
float[] kernel,
int kw,
int kh)
Convolves the image
ip with a kernel of width
kw and height kh . |
void |
convolveFloat1D(FloatProcessor ip,
float[] kernel,
int kw,
int kh,
double scale)
Convolves the image
ip with a kernel of width
kw and height kh . |
boolean |
dialogItemChanged(GenericDialog gd,
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).
|
static double |
getScale(float[] kernel) |
void |
run(ImageProcessor ip)
Filters use this method to process the image.
|
void |
setNormalize(boolean normalizeKernel)
If 'normalize' is true (the default), the convolve(), convolveFloat() and
convolveFloat1D() (4 argument version) methods divide each kernel
coefficient by the sum of the coefficients, preserving image brightness.
|
void |
setNPasses(int nPasses)
This method is called by ImageJ to inform the plugin-filter
about the passes to its run method.
|
int |
setup(String arg,
ImagePlus imp)
This method is called once when the filter is loaded.
|
int |
showDialog(ImagePlus imp,
String command,
PlugInFilterRunner pfr)
This method is called after
setup(arg, imp) unless the
DONE flag has been set. |
public int setup(String arg, ImagePlus imp)
PlugInFilter
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.
setup
in interface PlugInFilter
public void run(ImageProcessor ip)
PlugInFilter
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
.run
in interface PlugInFilter
public int showDialog(ImagePlus imp, String command, PlugInFilterRunner pfr)
ExtendedPlugInFilter
setup(arg, imp)
unless the
DONE
flag has been set.showDialog
in interface ExtendedPlugInFilter
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)
.PlugInFilter
and
ExtendedPlugInFilter
.public boolean dialogItemChanged(GenericDialog gd, AWTEvent e)
DialogListener
dialogItemChanged
in interface DialogListener
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.public boolean convolve(ImageProcessor ip, float[] kernel, int kw, int kh)
ip
with a kernel of width kw
and
height kh
. Returns false if the user cancels the operation.public void setNormalize(boolean normalizeKernel)
public boolean convolveFloat(ImageProcessor ip, float[] kernel, int kw, int kh)
ip
with a kernel of width
kw
and height kh
. Returns false if
the user cancels the operation by pressing 'Esc'.public void convolveFloat1D(FloatProcessor ip, float[] kernel, int kw, int kh)
ip
with a kernel of width
kw
and height kh
.public void convolveFloat1D(FloatProcessor ip, float[] kernel, int kw, int kh, double scale)
ip
with a kernel of width
kw
and height kh
.public static double getScale(float[] kernel)
public void setNPasses(int nPasses)
ExtendedPlugInFilter
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
.setNPasses
in interface ExtendedPlugInFilter
public void actionPerformed(ActionEvent e)
actionPerformed
in interface ActionListener
Copyright © 1997–2020 NIH. All rights reserved.