Class AlgorithmFacetModel

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

    public class AlgorithmFacetModel
    extends AlgorithmBase
    • Field Detail

      • FACET_BASED_PEAK_NOISE_REMOVAL

        public static final int FACET_BASED_PEAK_NOISE_REMOVAL
        See Also:
        Constant Field Values
      • GRADIENT_BASED_FACET_EDGE_DETECTION

        public static final int GRADIENT_BASED_FACET_EDGE_DETECTION
        See Also:
        Constant Field Values
      • ZERO_CROSSING_EDGE_DETECTOR

        public static final int ZERO_CROSSING_EDGE_DETECTOR
        See Also:
        Constant Field Values
      • INTEGRATED_DIRECTIONAL_DERIVATIVE_ANGLE

        public static final int INTEGRATED_DIRECTIONAL_DERIVATIVE_ANGLE
        See Also:
        Constant Field Values
      • INTEGRATED_DIRECTIONAL_DERIVATIVE_MAGNITUDE

        public static final int INTEGRATED_DIRECTIONAL_DERIVATIVE_MAGNITUDE
        See Also:
        Constant Field Values
      • blockSide

        private int blockSide
      • alpha

        private double alpha
      • routine

        private int routine
      • gradientDirectionThreshold

        private double gradientDirectionThreshold
      • xDim

        private int xDim
      • yDim

        private int yDim
      • buffer

        private double[] buffer
      • result

        private double[] result
      • blockHalf

        private int blockHalf
    • Constructor Detail

      • AlgorithmFacetModel

        public AlgorithmFacetModel​(ModelImage srcImg,
                                   int routine,
                                   int blockSide,
                                   double alpha,
                                   double gradientDirectionThreshold)
      • AlgorithmFacetModel

        public AlgorithmFacetModel​(ModelImage destImg,
                                   ModelImage srcImg,
                                   int routine,
                                   int blockSide,
                                   double alpha,
                                   double gradientDirectionThreshold)
    • Method Detail

      • facetBasedPeakNoiseRemoval

        private void facetBasedPeakNoiseRemoval()
      • iteratedFacetModel

        private void iteratedFacetModel()
      • gradientBasedFacetEdgeDetection

        private void gradientBasedFacetEdgeDetection()
      • isEdgePixel

        private boolean isEdgePixel​(double k1,
                                    double k2,
                                    double k3,
                                    double k4,
                                    double k5,
                                    double k6,
                                    double k7,
                                    double k8,
                                    double k9,
                                    double k10,
                                    double sinAngle,
                                    double cosAngle,
                                    double[] rho)
      • directionalDerivatives

        private void directionalDerivatives​(double k1,
                                            double k2,
                                            double k3,
                                            double k4,
                                            double k5,
                                            double k6,
                                            double k7,
                                            double k8,
                                            double k9,
                                            double k10,
                                            double sinAngle,
                                            double cosAngle,
                                            double rho,
                                            double[] firstDirectionalDerivative,
                                            double[] secondDirectionalDerivative,
                                            double[] thirdDirectionalDerivative)
      • testBivariateCubicCoefficients5By5

        private void testBivariateCubicCoefficients5By5()
      • bivariateCubicCoefficients

        private void bivariateCubicCoefficients​(int x,
                                                int y,
                                                double[] k1,
                                                double[] k2,
                                                double[] k3,
                                                double[] k4,
                                                double[] k5,
                                                double[] k6,
                                                double[] k7,
                                                double[] k8,
                                                double[] k9,
                                                double[] k10,
                                                double[] sinAngle,
                                                double[] cosAngle,
                                                double[] gradientAngle)
      • bivariateCubicCoefficients5By5

        private void bivariateCubicCoefficients5By5​(int x,
                                                    int y,
                                                    double[] k1,
                                                    double[] k2,
                                                    double[] k3,
                                                    double[] k4,
                                                    double[] k5,
                                                    double[] k6,
                                                    double[] k7,
                                                    double[] k8,
                                                    double[] k9,
                                                    double[] k10,
                                                    double[] sinAngle,
                                                    double[] cosAngle,
                                                    double[] gradientAngle)
      • zeroCrossingEdgeDetector

        private void zeroCrossingEdgeDetector()
      • cornerDetector

        private void cornerDetector()
      • integratedDirectionalDerivative

        private void integratedDirectionalDerivative()
      • rowDerivativeMask5By5

        private double rowDerivativeMask5By5​(int x,
                                             int y)
      • columnDerivativeMask5By5

        private double columnDerivativeMask5By5​(int x,
                                                int y)
      • rowDerivativeMask7By7

        private double rowDerivativeMask7By7​(int x,
                                             int y)
      • columnDerivativeMask7By7

        private double columnDerivativeMask7By7​(int x,
                                                int y)