Class AlgorithmVesselEnhancement

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

    public class AlgorithmVesselEnhancement
    extends AlgorithmBase
    Author:
    ilb This is a port of MATLAB code vesselnessv2d.m by Boguslaw Obara. multiscale vessel enhancement filtering with vectors Ported under: Apache License Version 2.0, January 2004 Reference:
    • Constructor Detail

      • AlgorithmVesselEnhancement

        public AlgorithmVesselEnhancement​(ModelImage destImg,
                                          ModelImage srcImg,
                                          double[][] sigma,
                                          double gamma,
                                          double alpha,
                                          double beta,
                                          double c,
                                          boolean wb)
    • 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
      • vesselnessv2d

        public void vesselnessv2d()
      • gaussian2nd2d

        private void gaussian2nd2d​(double[][] gxx,
                                   double[][] gxy,
                                   double[][] gyy,
                                   double[] s)
      • replicateBorder3d

        private double[][][] replicateBorder3d​(double[][][] src,
                                               int front,
                                               int back,
                                               int top,
                                               int bottom,
                                               int left,
                                               int right)
      • copyMakeBorder2D

        private double[][] copyMakeBorder2D​(double[][] src,
                                            int top,
                                            int bottom,
                                            int left,
                                            int right,
                                            int borderType,
                                            double borderValue)
      • filter2Same

        private void filter2Same​(double[][] result,
                                 double[][] img,
                                 double[][] win)
      • filter3Same

        private void filter3Same​(double[][][] result,
                                 double[][][] img,
                                 double[][][] win)
      • hessian2d

        private void hessian2d​(double[][] hxx,
                               double[][] hxy,
                               double[][] hyy,
                               double[][] im,
                               double[] s)
      • eigen2d_m

        private void eigen2d_m​(double[][] l1,
                               double[][] l2,
                               double[][] a,
                               double[][] b,
                               double[][] c,
                               double[][] d)
      • vesselnessv3d

        public void vesselnessv3d()
      • hessian3D

        private void hessian3D​(double[][][] hxx,
                               double[][][] hyy,
                               double[][][] hzz,
                               double[][][] hxy,
                               double[][][] hxz,
                               double[][][] hyz,
                               double[][][] im,
                               double[] s)
      • gaussian2nd3d

        private void gaussian2nd3d​(double[][][] gxx,
                                   double[][][] gyy,
                                   double[][][] gzz,
                                   double[][][] gxy,
                                   double[][][] gxz,
                                   double[][][] gyz,
                                   double[] s)
      • eigen3d_m

        private void eigen3d_m​(double[][][] l1,
                               double[][][] l2,
                               double[][][] l3,
                               double[][][] x1,
                               double[][][] x2,
                               double[][][] x3,
                               double[][][] x4,
                               double[][][] x5,
                               double[][][] x6,
                               double[][][] x7,
                               double[][][] x8,
                               double[][][] x9)
      • eigen_sort3d_m

        private void eigen_sort3d_m​(double[][][] l1,
                                    double[][][] l2,
                                    double[][][] l3)