- java.lang.Object
-
- ij.plugin.filter.FractalBoxCounter
-
- All Implemented Interfaces:
PlugInFilter
public class FractalBoxCounter extends java.lang.Object implements PlugInFilter
Calculate the so-called "capacity" fractal dimension. The algorithm is called, in fractal parlance, the "box counting" method. In the simplest terms, the routine counts the number of boxes of a given size needed to cover a one pixel wide, binary (black on white) border. The procedure is repeated for boxes that are 2 to 64 pixels wide. The output consists of two columns labeled "size" and "count". A plot is generated with the log of size on the x-axis and the log of count on the y-axis and the data is fitted with a straight line. The slope (S) of the line is the negative of the fractal dimension, i.e. D=-S. A full description of the technique can be found in T. G. Smith, Jr., G. D. Lange and W. B. Marks, Fractal Methods and Results in Cellular Morphology, which appeared in J. Neurosci. Methods, 69:1123-126, 1996. --- 12/Jun/2006 G. Landini added "set is white" option, otherwise the plugin assumes that the object is always low-dimensional (i.e. the phase with the smallest number of pixels). Now it works fine for sets with D near to 2.0
-
-
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, 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 FractalBoxCounter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
run(ImageProcessor ip)
Filters use this method to process the image.int[]
s2ints(java.lang.String s)
Breaks the specified string into an array of ints.int
setup(java.lang.String arg, ImagePlus imp)
This method is called once when the filter is loaded.
-
-
-
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
-
s2ints
public int[] s2ints(java.lang.String s)
Breaks the specified string into an array of ints. Returns null if there is an error.
-
-