- All Implemented Interfaces:
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
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
Constructors Constructor Description
public int setup(java.lang.String arg, ImagePlus imp)Description copied from interface:
PlugInFilterThis 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_PROCESSINGflag, the setup method will be called again, this time with arg = "final" after all other processing is done.
public void run(ImageProcessor ip)Description copied from interface:
PlugInFilterFilters use this method to process the image. If the
PlugInFilter.DOES_STACKSflag 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_REQUIREDflag and not the
PlugInFilter.DONEflag, run(ip) is called once with the argument
public int s2ints(java.lang.String s)Breaks the specified string into an array of ints. Returns null if there is an error.