util.wavelet
Enum NoiseComputation

java.lang.Object
  extended by java.lang.Enum<NoiseComputation>
      extended by util.wavelet.NoiseComputation
All Implemented Interfaces:
Serializable, Comparable<NoiseComputation>

public enum NoiseComputation
extends Enum<NoiseComputation>

An enumeration of noise computation methods for thresholding in wavelet space. Each entry in the enumeration implements a variation of the compute() method which takes as input the signal and its non-uniform noise map and returns its output in the noise component of the scales list.

Author:
John Talbot

Enum Constant Summary
Dirac
           
UpperLimit
           
 
Method Summary
 void compute(Signal signal, List<Scale> scales)
          Compute the noise assuming unit variance for each point in the signal.
static float[] getStandardDeviation(int size)
          Get the standard deviation (sigma) at each scale in the wavelet transform of a random noise signal comprised of a normally distributed gaussian deviates.
static void main(String[] args)
           
static NoiseComputation valueOf(String name)
          Returns the enum constant of this type with the specified name.
static NoiseComputation[] values()
          Returns an array containing the constants of this enum type, in the order they're declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

UpperLimit

public static final NoiseComputation UpperLimit

Dirac

public static final NoiseComputation Dirac
Method Detail

values

public static final NoiseComputation[] values()
Returns an array containing the constants of this enum type, in the order they're declared. This method may be used to iterate over the constants as follows:
for(NoiseComputation c : NoiseComputation.values())
        System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they're declared

valueOf

public static NoiseComputation valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name

main

public static void main(String[] args)

compute

public void compute(Signal signal,
                    List<Scale> scales)
Compute the noise assuming unit variance for each point in the signal.

Parameters:
signal - input: the signal with noise
scales - output: the pre-computed scales of the wavelet transform of the signal

getStandardDeviation

public static float[] getStandardDeviation(int size)
Get the standard deviation (sigma) at each scale in the wavelet transform of a random noise signal comprised of a normally distributed gaussian deviates. These sigmaNoise values can be used to estimate the sigma of a signal using : where sigma[0] is estimated by equating it with the standard deviation of scale 0 of the wavelet transform of a signal (i.e signalWavelet[0][i]). Then when the absolute value of signalWavelet[scale][i] is greater than 3*sigma[scale] we have a significant coefficient. If the signal to noise is non-uniform then another technique is used. (test data: when n=1200 sigma[] = {0.750, 0.304, 0.177, 0.112, 0.077, 0.062, 0.045, 0.030, 0.039))

Parameters:
size - the size of the random signal
Returns:
a list of standard deviations at each scale of the wavelet transform of the noise signal