Module ij

Class RankFilters

    • Constructor Detail

      • RankFilters

        public RankFilters()
    • Method Detail

      • setup

        public int setup​(java.lang.String arg,
                         ImagePlus imp)
        Setup of the PlugInFilter. Returns the flags specifying the capabilities and needs of the filter.
        Specified by:
        setup in interface PlugInFilter
        Parameters:
        arg - Defines type of filter operation
        imp - The ImagePlus to be processed
        Returns:
        Flags specifying further action of the PlugInFilterRunner
      • 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​(GenericDialog gd,
                                         java.awt.AWTEvent e)
        Description copied from interface: DialogListener
        This method is invoked by a Generic Dialog if any of the inputs have changed (CANCEL does not trigger it; OK and running the dialog from a macro only trigger the first DialogListener added to a GenericDialog).
        Specified by:
        dialogItemChanged in interface DialogListener
        Parameters:
        gd - A reference to the GenericDialog.
        e - The event that has been generated by the user action in the dialog. Note that e is null if the dialogItemChanged method is called after the user has pressed the OK button or if the GenericDialog has read its parameters from a macro.
        Returns:
        Should be true if the dialog input is valid. False disables the OK button and preview (if any).
      • rank

        public void rank​(ImageProcessor ip,
                         double radius,
                         int filterType)
        Filters an image by any method except 'despecle', 'remove outliers', or top-hat
        Parameters:
        ip - The ImageProcessor that should be filtered (all 4 types supported)
        radius - Determines the kernel size, see Process>Filters>Show Circular Masks. Must not be negative. No checking is done for large values that would lead to excessive computing times.
        filterType - May be MEAN, MIN, MAX, VARIANCE, or MEDIAN.
      • rank

        public void rank​(ImageProcessor ip,
                         double radius,
                         int filterType,
                         int whichOutliers,
                         float threshold)
        Filters an image by any method except 'despecle' and top-hat (for 'despeckle', use 'median' and radius=1)
        Parameters:
        ip - The image subject to filtering
        radius - The kernel radius
        filterType - as defined above; DESPECKLE is not a valid type here; use median and a radius of 1.0 instead
        whichOutliers - BRIGHT_OUTLIERS or DARK_OUTLIERS for 'outliers' filter
        threshold - Threshold for 'outliers' filter
      • rank

        public void rank​(ImageProcessor ip,
                         double radius,
                         int filterType,
                         int whichOutliers,
                         float threshold,
                         boolean lightBackground,
                         boolean dontSubtract)
        Filters an image by any method except 'despecle' (for 'despeckle', use 'median' and radius=1)
        Parameters:
        ip - The image subject to filtering
        radius - The kernel radius
        filterType - as defined above; DESPECKLE is not a valid type here; use median and a radius of 1.0 instead
        whichOutliers - BRIGHT_OUTLIERS or DARK_OUTLIERS for 'outliers' filter
        threshold - Threshold for 'outliers' filter
        lightBackground - for top-hat background subtraction, background is light, not dark
        dontSubtract - fpr top-hat filter, performs a grayscale open or close instead of top-hat, where the result of grayscale open/close is subtracted from the original.
      • findNthLowestNumber

        public static final float findNthLowestNumber​(float[] buf,
                                                      int bufLength,
                                                      int n)
        Find the n-th lowest number in part of an array
        Parameters:
        buf - The input array. Only values 0 ... bufLength are read. buf will be modified.
        bufLength - Number of values in buf that should be read
        n - which value should be found; n=0 for the lowest, n=bufLength-1 for the highest
        Returns:
        the value
      • makeKernel

        public void makeKernel​(double radius)
        Deprecated.
        Not needed any more, use the rank(ip, ...) method, which creates the kernel
      • makeLineRadii

        protected int[] makeLineRadii​(double radius)
        Create a circular kernel (structuring element) of a given radius.
        Parameters:
        radius - Radius = 0.5 includes the 4 neighbors of the pixel in the center, radius = 1 corresponds to a 3x3 kernel size.
        Returns:
        the circular kernel The output is an array that gives the length of each line of the structuring element (kernel) to the left (negative) and to the right (positive): [0] left in line 0, [1] right in line 0, [2] left in line 2, ... The maximum (absolute) value should be kernelRadius. Array elements at the end: length-2: nPoints, number of pixels in the kernel area length-1: kernelRadius in x direction (kernel width is 2*kernelRadius+1) Kernel height can be calculated as (array length - 1)/2 (odd number); Kernel radius in y direction is kernel height/2 (truncating integer division). Note that kernel width and height are the same for the circular kernels used here, but treated separately for the case of future extensions with non-circular kernels.
      • setNPasses

        public void setNPasses​(int nPasses)
        This method is called by ImageJ to set the number of calls to run(ip) corresponding to 100% of the progress bar. Setting nPasses=0 suppresses the progress bar
        Specified by:
        setNPasses in interface ExtendedPlugInFilter