ij.plugin.filter
Class Convolver

java.lang.Object
  extended by ij.plugin.filter.Convolver
All Implemented Interfaces:
ij.gui.DialogListener, ExtendedPlugInFilter, PlugInFilter, java.awt.event.ActionListener, java.util.EventListener

public class Convolver
extends java.lang.Object
implements ExtendedPlugInFilter, ij.gui.DialogListener, java.awt.event.ActionListener

This plugin convolves images using user user defined kernels.


Field Summary
(package private)  boolean canceled
           
(package private)  int flags
           
(package private)  ij.gui.GenericDialog gd
           
(package private)  ImagePlus imp
           
(package private)  boolean isLineRoi
           
(package private)  float[] kernel
           
(package private)  boolean kernelError
           
(package private) static java.lang.String kernelText
           
(package private)  int kh
           
(package private)  int kw
           
(package private)  boolean normalize
           
(package private) static boolean normalizeFlag
           
(package private)  int nPasses
           
(package private)  int nSlices
           
(package private)  java.awt.Button open
           
(package private)  int pass
           
(package private)  java.awt.Button save
           
 
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
Convolver()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 boolean convolve(ImageProcessor ip, float[] kernel, int kw, int kh)
           
 boolean convolveFloat(ImageProcessor ip, float[] kernel, int kw, int kh)
          Convolves the image ip with a kernel of width kw and height kh.
(package private)  void convolveFloat1D(ImageProcessor ip, float[] kernel, int kw, int kh)
          Convolves the image ip with a kernel of width kw and height kh.
(package private)  boolean decodeKernel(java.lang.String text)
           
(package private)  boolean decodeSquareKernel(java.lang.String text)
           
 boolean dialogItemChanged(ij.gui.GenericDialog gd, java.awt.AWTEvent e)
           
(package private)  double getScale(float[] kernel)
           
(package private)  boolean hasNewLine(java.lang.String text)
           
(package private)  java.awt.Panel makeButtonPanel(ij.gui.GenericDialog gd)
          Creates a panel containing "Save
(package private)  void open()
           
 void run(ImageProcessor ip)
          Filters use this method to process the image.
(package private)  void save()
           
 void setNormalize(boolean normalizeKernel)
           
 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 after setup(arg, imp) unless the DONE flag has been set.
(package private)  void showProgress(double percent)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

imp

ImagePlus imp

kw

int kw

kh

int kh

canceled

boolean canceled

kernel

float[] kernel

isLineRoi

boolean isLineRoi

open

java.awt.Button open

save

java.awt.Button save

gd

ij.gui.GenericDialog gd

normalize

boolean normalize

nSlices

int nSlices

flags

int flags

nPasses

int nPasses

pass

int pass

kernelError

boolean kernelError

kernelText

static java.lang.String kernelText

normalizeFlag

static boolean normalizeFlag
Constructor Detail

Convolver

public Convolver()
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 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

run

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

Specified by:
run in interface PlugInFilter

showDialog

public int showDialog(ImagePlus imp,
                      java.lang.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(ij.gui.GenericDialog gd,
                                 java.awt.AWTEvent e)
Specified by:
dialogItemChanged in interface ij.gui.DialogListener

decodeKernel

boolean decodeKernel(java.lang.String text)

hasNewLine

boolean hasNewLine(java.lang.String text)

decodeSquareKernel

boolean decodeSquareKernel(java.lang.String text)

makeButtonPanel

java.awt.Panel makeButtonPanel(ij.gui.GenericDialog gd)
Creates a panel containing "Save...", "Save..." and "Preview" buttons.


convolve

public boolean convolve(ImageProcessor ip,
                        float[] kernel,
                        int kw,
                        int kh)

setNormalize

public void setNormalize(boolean normalizeKernel)

convolveFloat

public boolean convolveFloat(ImageProcessor ip,
                             float[] kernel,
                             int kw,
                             int kh)
Convolves the image ip with a kernel of width kw and height kh. Returns false if the user cancels the operation by pressing 'Esc'.


convolveFloat1D

void convolveFloat1D(ImageProcessor ip,
                     float[] kernel,
                     int kw,
                     int kh)
Convolves the image ip with a kernel of width kw and height kh.


getScale

double getScale(float[] kernel)

save

void save()

open

void open()

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

showProgress

void showProgress(double percent)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener