code: public static float estimateNoiseStdDev(GrayF32 subband , float storage[] ) {
  
  		storage = subbandAbsVal(subband, storage );
  
  		int N = subband.width*subband.height;
  		return QuickSelect.select(storage, N / 2, N)/0.6745f;
  	}
docs: <p>
  Robust median estimator of the noise standard deviation.  Typically applied to the HH<sub>1</sub> subband.
  </p>
  
  <p>
  &sigma; = Median(|Y<sub>ij</sub>|)/0.6745<br>
  where &sigma; is the estimated noise standard deviation, and Median(|Y<sub>ij</sub>|)
  is the median absolute value of all the pixels in the subband.
  </p>
  
  <p>
  D. L. Donoho and I. M. Johnstone, "Ideal spatial adaption via wavelet shrinkage."
  Biometrika, vol 81, pp. 425-455, 1994
  </p>
  
  @param subband The subband the image is being computed from. Not modified.
  @param storage Used to temporarily store the absolute value of each element in the subband.
  @return estimated noise variance.