Class DenoiseSureShrink_F32

java.lang.Object
boofcv.alg.denoise.wavelet.SubbandShrink<GrayF32>
boofcv.alg.denoise.wavelet.DenoiseSureShrink_F32
All Implemented Interfaces:
DenoiseWavelet<GrayF32>

public class DenoiseSureShrink_F32 extends SubbandShrink<GrayF32>

SureShrink denoises wavelets using a threshold computed by minimizing Stein's Unbiased Risk Estimate (SURE). In practice a hybrid approach was found to work best where either the Stein threshold or the universal threshold proposed by VisuShrink is used.

This implementation computes a threshold for each subband.

D. Donoho, L. Johnstone, "Adapting to Unknown Smoothness via Wavelet Shrinkage" Journal of the American Statistical Association, Vol. 90, No. 432, December 1995, pp. 1200-1224

  • Constructor Details

    • DenoiseSureShrink_F32

      public DenoiseSureShrink_F32()
  • Method Details

    • computeThreshold

      protected Number computeThreshold(GrayF32 subband)
      Description copied from class: SubbandShrink
      Compute the threshold for the specified subband.
      Specified by:
      computeThreshold in class SubbandShrink<GrayF32>
      Parameters:
      subband - Subband whose threshold is being computed.
    • denoise

      public void denoise(GrayF32 transform, int numLevels)
      Description copied from interface: DenoiseWavelet
      Removes noise from the multi-level wavelet transform.
      Parameters:
      transform - Transform of the original image.
      numLevels - NUmber of levels in the transform.