Class AlgorithmHurstIndex

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.WindowListener, java.lang.Runnable, java.util.EventListener

    public class AlgorithmHurstIndex
    extends AlgorithmBase
    DOCUMENT ME!
    Version:
    0.1 June 25, 2012
    Author:
    William Gandler In 2D for image points find the absolute value of the intensity differences to all points between a minimum distance of minDist and a maximum distance of maxDist. Do this either for all points in the image or only between points in a given contour or polyline curve. If done for all points in an image, the Hurst image will be produced as a double value in a result image having the same dimensions as the source image. If done only for VOIs, there will be no result image. If done only for VOIs, there will just be a Hurst value outputted on the data panel for each contour or polyline curve. Have the option to define the distance as the rounded Euclidean distance. For every distance between minDist and maxDist find the average value of the absolute value of the intensity difference. Find the best fit to the line log(average absolute value of the intensity difference) = log(c) + H*log(distance) where H is the Hurst index. For VOIs and slices the Hurst index varies from 0 to 1. If H is 0.5, each step can be up or down completely at random. If H is less than 0.5, each step upward is likely to be followed by a downward step and each downward step is likely to be followed by an upward step. Therefore, a lower Hurst index indicates a higher complexity of the distribution of pixel values. Dimensionality = 3 - Hurst coefficient. The fractal dimension has lower values on the boundary of different texture regions, and tends to be constant over uniform texture regions. References: 1.) "Sonographic Texture Characterization of Salivary Gland Tumors by Fractal Analysis", by Toru Chikui, Kenji Tokumori, Kazunori Yoshiura, Kazunari Oobu, Seiji Nakamura, and Katsumasa Nakamura, Ultrasound in Medicine and Biology, Vol. 31, No. 10, pp. 1297-1304, 2005. 2.) "Fractal Analysis of Medical Images in the Irregular Regions of Interest", by Edward Oczeretko, Marta Borowska, Agnieszka Kitlas, Andrzej Borusiewicz, and Malgorzata Sobolewska-Siemieniuk. 3.) "Fractal Feature Analysis and Classification in Medical Imaging", by Chi-Chang Chen, John S. Daponte, and Martin D. Fox, IEEE Transactions on Medical Imaging, Vol. 8, No. 2, June, 1989, pp. 133-142.
    • Field Detail

      • minDist

        private double minDist
      • maxDist

        private double maxDist
      • integerDistanceRound

        private boolean integerDistanceRound
      • RGBOffset

        private int RGBOffset
      • grouping

        private int grouping
    • Constructor Detail

      • AlgorithmHurstIndex

        public AlgorithmHurstIndex​(ModelImage destImg,
                                   ModelImage srcImg,
                                   double minDist,
                                   double maxDist,
                                   boolean integerDistanceRound)
        Creates a new AlgorithmHurstIndex object for black and white image.
        Parameters:
        destImg - destination image model
        srcImg - source image model
        minDist - minimum distance between pixels
        maxDist - maximum distance between pixels
        integerDistanceRound - If true, take the rounding of the Euclidean distance as the distance. if false, take the Euclidean distance as the distance.
      • AlgorithmHurstIndex

        public AlgorithmHurstIndex​(ModelImage destImg,
                                   ModelImage srcImg,
                                   int RGBOffset,
                                   double minDist,
                                   double maxDist,
                                   boolean integerDistanceRound)
        Creates a new AlgorithmHurstIndex object for color image.
        Parameters:
        destImg - destination image model
        srcImg - source image model
        RGBOffset - selects red, green, or blue channel
        minDist - minimum distance between pixels
        maxDist - maximum distance between pixels
        integerDistancePart - If true, take the integer part of the Euclidean distance as the distance. if false, take the Euclidean distance as the distance.
      • AlgorithmHurstIndex

        public AlgorithmHurstIndex​(ModelImage srcImg,
                                   double minDist,
                                   double maxDist,
                                   boolean integerDistanceRound,
                                   int grouping)
        Creates a new AlgorithmHurstIndex object for black and white image.
        Parameters:
        srcImg - source image model
        minDist - minimum distance between pixels
        maxDist - maximum distance between pixels
        integerDistanceRound - If true, take the rounding of the Euclidean distance as the distance. if false, take the Euclidean distance as the distance.
        grouping - VOI_GROUPING or SLICE_GROUPING
      • AlgorithmHurstIndex

        public AlgorithmHurstIndex​(ModelImage srcImg,
                                   int RGBOffset,
                                   double minDist,
                                   double maxDist,
                                   boolean integerDistanceRound,
                                   int grouping)
        Creates a new AlgorithmHurstIndex object for color image.
        Parameters:
        srcImg - source image model
        RGBOffset - selects red, green, or blue channel
        minDist - minimum distance between pixels
        maxDist - maximum distance between pixels
        integerDistancePart - If true, take the integer part of the Euclidean distance as the distance. if false, take the Euclidean distance as the distance.
        grouping - VOI_GROUPING or SLICE_GROUPING
    • Method Detail

      • finalize

        public void finalize()
        Prepares this class for destruction.
        Overrides:
        finalize in class AlgorithmBase
      • calculatePixelHurstIndex

        private void calculatePixelHurstIndex()
        DOCUMENT ME!
      • calculateVOIHurstIndex

        private void calculateVOIHurstIndex()
      • calculateSliceHurstIndex

        private void calculateSliceHurstIndex()