ij.plugin.filter
Class BackgroundSubtracter

java.lang.Object
  extended byij.plugin.filter.BackgroundSubtracter
All Implemented Interfaces:
PlugInFilter

public class BackgroundSubtracter
extends java.lang.Object
implements PlugInFilter

Implements ImageJ's Subtract Background command. Based on the NIH Image Pascal version by Michael Castle and Janice Keller of the University of Michigan Mental Health Research Institute. Rolling ball algorithm inspired by Stanley Sternberg's article, "Biomedical Image Processing", IEEE Computer, January 1983.


Field Summary
 
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
BackgroundSubtracter()
           
 
Method Summary
 void run(ImageProcessor ip)
          Filters use this method to process the image.
 int setup(java.lang.String arg, ImagePlus imp)
          This method is called once when the filter is loaded.
 void showDialog()
           
 void subtractBackround(ImageProcessor ip, int ballRadius)
          Implements a rolling-ball algorithm for the removal of smooth continuous background from a two-dimensional gel image.
 void subtractRGBBackround(ColorProcessor ip, int ballRadius)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BackgroundSubtracter

public BackgroundSubtracter()
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 void showDialog()

subtractRGBBackround

public void subtractRGBBackround(ColorProcessor ip,
                                 int ballRadius)

subtractBackround

public void subtractBackround(ImageProcessor ip,
                              int ballRadius)
Implements a rolling-ball algorithm for the removal of smooth continuous background from a two-dimensional gel image. It rolls the ball (actually a square patch on the top of a sphere) on a low-resolution (by a factor of 'shrinkfactor' times) copy of the original image in order to increase speed with little loss in accuracy. It uses interpolation and extrapolation to blow the shrunk image to full size.