Class AlgorithmTextureSegmentation

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

    public class AlgorithmTextureSegmentation
    extends AlgorithmBase
    implements AlgorithmInterface
    This software implements the factorization-based segmentation algorithm. The original code was written in MATLAB and C by: Jiangye Yuan Computational Sciences and and Engineering Division Oak Ridge National Laboratory, Oak Ridge, Tennessee 37831 yuanj@ornl.gov Reference: [1] J. Yuan and D. L. Wang. Factorization-based texture segmentation. Technical Report OSU-CISRC-1/13 -TR01, 2013. The website for this code is: https://sites.google.com/site/factorizationsegmentation/ This code was ported to Java by William Gandler
    • Field Detail

      • operationType

        private int operationType
      • filter

        private double[] filter
      • windowSize

        private int windowSize
      • segmentNumber

        private int segmentNumber
      • pt

        private WildMagic.LibFoundation.Mathematics.Vector3f[] pt
      • contourMask

        private java.util.BitSet contourMask
      • nonNegativity

        private boolean nonNegativity
      • removeSmallRegions

        private boolean removeSmallRegions
      • omega

        private double omega
      • filterNumber

        private int filterNumber
      • binNumber

        private int binNumber
      • xDim

        private int xDim
      • yDim

        private int yDim
    • Constructor Detail

      • AlgorithmTextureSegmentation

        public AlgorithmTextureSegmentation​(ModelImage destImage,
                                            ModelImage srcImage,
                                            int windowSize,
                                            int segmentNumber,
                                            WildMagic.LibFoundation.Mathematics.Vector3f[] pt,
                                            java.util.BitSet contourMask,
                                            boolean nonNegativity,
                                            boolean removeSmallRegions)
    • Method Detail

      • runAlgorithm

        public void runAlgorithm()
        Description copied from class: AlgorithmBase
        Actually runs the algorithm. Implemented by inheriting algorithms.
        Specified by:
        runAlgorithm in class AlgorithmBase
      • RmSmRg

        private void RmSmRg​(int[][] segLabelLarge,
                            int[][] segLabel,
                            int minSize)
      • expand

        private void expand​(int y,
                            int x,
                            int[] stk,
                            int[][] segLabelLarge,
                            int[][] segLabel,
                            int labelN,
                            int[] cnt,
                            int[] tb,
                            int[] bb,
                            int[] lb,
                            int[] rb,
                            int tgt)
      • expand2

        private void expand2​(int y,
                             int x,
                             int[] stk,
                             int[] mark,
                             int[][] segLabel,
                             int labelN,
                             int[] cnt,
                             int[] tb,
                             int[] bb,
                             int[] lb,
                             int[] rb,
                             int tgt)
      • SHedge_ls

        private void SHedge_ls​(double[][] EdgeMap,
                               int ws,
                               int dism,
                               double[][][] sh_mx)
      • x2dist

        private double x2dist​(double[] a,
                              double[] b,
                              int k)
      • l2dist

        private double l2dist​(double[] a,
                              double[] b,
                              int k)
      • SHcomp

        private void SHcomp​(double[][][] sh_mx,
                            int ws,
                            double[][][] Ig)
      • algorithmPerformed

        public void algorithmPerformed​(AlgorithmBase algorithm)
        Description copied from interface: AlgorithmInterface
        Called after an algorithm this listener is registered to exits (maybe successfully, maybe not). If the algorithm is run in a separate thread, this call will be made within that thread. If not, this call will be made from that same, shared thread.
        Specified by:
        algorithmPerformed in interface AlgorithmInterface
        Parameters:
        algorithm - the algorithm which has just completed