ij.plugin.filter
Class FFTFilter
java.lang.Object
ij.plugin.filter.FFTFilter
- All Implemented Interfaces:
- ij.measure.Measurements, PlugInFilter
public class FFTFilter
- extends java.lang.Object
- implements PlugInFilter, ij.measure.Measurements
This class implements the Process/FFT/bandpass Filter command. It started out as
Joachim Walter's FFT Filter plugin at "http://rsb.info.nih.gov/ij/plugins/fft-filter.html".
2001/10/29: First Version (JW)
2003/02/06: 1st bugfix (works in macros/plugins, works on stacks, overwrites image(=>filter)) (JW)
2003/07/03: integrated into ImageJ, added "Display Filter" option (WSR)
2007/03/26: 2nd bugfix (Fixed incorrect calculation of filter from structure sizes, which caused
the real structure sizes to be wrong by a factor of 0.75 to 1.5 depending on the image size.)
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 |
Fields inherited from interface ij.measure.Measurements |
AREA, AREA_FRACTION, CENTER_OF_MASS, CENTROID, CIRCULARITY, ELLIPSE, FERET, INTEGRATED_DENSITY, INVERT_Y, KURTOSIS, LABELS, LIMIT, MAX_STANDARDS, MEAN, MEDIAN, MIN_MAX, MODE, PERIMETER, RECT, SKEWNESS, SLICE, STD_DEV |
Method Summary |
(package private) void |
filter(ImageProcessor ip)
|
(package private) void |
filterLargeSmall(ImageProcessor ip,
double filterLarge,
double filterSmall,
int stripesHorVert,
double scaleStripes)
|
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. |
(package private) boolean |
showBandpassDialog(ImagePlus imp)
|
(package private) void |
showStatus(java.lang.String msg)
|
(package private) ImageProcessor |
tileMirror(ImageProcessor ip,
int width,
int height,
int x,
int y)
Puts imageprocessor (ROI) into a new imageprocessor of size width x height y at position (x,y). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FFTFilter
public FFTFilter()
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
filter
void filter(ImageProcessor ip)
showStatus
void showStatus(java.lang.String msg)
tileMirror
ImageProcessor tileMirror(ImageProcessor ip,
int width,
int height,
int x,
int y)
- Puts imageprocessor (ROI) into a new imageprocessor of size width x height y at position (x,y).
The image is mirrored around its edges to avoid wrap around effects of the FFT.
filterLargeSmall
void filterLargeSmall(ImageProcessor ip,
double filterLarge,
double filterSmall,
int stripesHorVert,
double scaleStripes)
showBandpassDialog
boolean showBandpassDialog(ImagePlus imp)