Class MultiResolutionBilateralFilter

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

    public class MultiResolutionBilateralFilter
    extends AlgorithmBase
    This is a port of multi_bilateral.py by Yiqian Wang. References: 1.) Feature preserving image denoising with multiresolution filters by Yiqian Wang and You-Yi Jau. 2.) D. L. Donoho and I. M. Johnstone. "Ideal spatial adaptation by wavelet shrinkage." Biometrika 81.3 (1994): 425-455. :DOI:10.1093/biomet/81.3.425
    • Field Detail

      • wavelet_order

        private int wavelet_order
      • wavelet_levels

        private int wavelet_levels
      • estimateNoiseStandardDeviation

        private boolean estimateNoiseStandardDeviation
      • noiseStandardDeviation

        private double noiseStandardDeviation
      • filterType

        private int filterType
      • d

        private int d
      • sigmaColor

        private double sigmaColor
      • sigmaSpace

        private double sigmaSpace
      • epsilon

        private double epsilon
    • Constructor Detail

      • MultiResolutionBilateralFilter

        public MultiResolutionBilateralFilter​(ModelImage destImg,
                                              ModelImage srcImg,
                                              PyWavelets.WAVELET_NAME wavelet_name,
                                              int wavelet_order,
                                              int wavelet_levels,
                                              boolean estimateNoiseStandardDeviation,
                                              double noiseStandardDeviation,
                                              int filterType,
                                              int d,
                                              double sigmaColor,
                                              double sigmaSpace)
    • 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
      • denoiseBW

        public void denoiseBW()
      • hard

        public double[][] hard​(double[][] data,
                               double value,
                               double substitute)
      • soft

        public double[][] soft​(double[][] data,
                               double value,
                               double substitute)
      • _bayes_thresh

        private double _bayes_thresh​(double[][] details,
                                     double var)
      • _sigma_est_dwt

        private double _sigma_est_dwt​(double[][] detail_coeffs,
                                      java.lang.String distribution)
      • denoiseColor

        public void denoiseColor()