util.wavelet
Class WaveletSpace

java.lang.Object
  extended by util.wavelet.WaveletSpace

public class WaveletSpace
extends Object

A set of wavelet coefficients and a smoothed array computed using the 'atrous' discrete wavelet trasform on a signal. In more detail a wavelet space contains instances of the following classes :

A WaveletSpace contains zero or more WObject instances which in turn contains one or more InterscaleRelationship instances which in turn each contain two Structure instances. A WaveletSpace is derived from a Signal which has an associated noise estimate. A WaveletSpace contains a certain number of wavelet Scale instances.

The discrete wavelet transform of a signal is computed using the 1D A-Trous method with a b3-spline smoothing function. The constructor computes the wavelet coefficients a a set of scales plus a smoothed signal, the 1-sigma threshold for wavelet coefficients, structures, interscale relationships and object trees for feature extraction and makes available a set of signals corresponding to each individual object detected.

Reference: Starck,J.-L., Murtagh, F.: 2002, Astronomical Image and Data Analysis, ISBN 3540428852, Springer.

Author:
John Talbot

Field Summary
 List<Scale> scales
          A list of scales containing wavelet coefficients and optionally noise thresholds.
 Signal signal
          An reference to the original signal.
 SimpleSignal smoothedSignal
          The last smoothed array as computed by the atrous wavelet transform.
 List<WObject> wObjects
          A list of WObject instances contained in the wavelet space
 
Constructor Summary
WaveletSpace(Signal signal)
          Construct a discrete wavelet transform using the 1D A-Trous method with a b3-spline smoothing function.
WaveletSpace(Signal signal, float uniformNoise)
          Construct the WaveletSpace given a signal and a uniform noise value.
 
Method Summary
 SimpleSignal getContinuum()
          Get the continuum of a signal.
 SimpleSignal getReconstruction()
          Discrete wavelet transform reconstruction using the 1D A-Trous method with a b3-spline smoothing function.
 SimpleSignal getReconstruction(WObject wObject)
          Discrete wavelet transform reconstruction using the 1D A-Trous method with a b3-spline smoothing function.
 Scale getScale(int scaleNumber)
          Get the specified scale as computed by the atrous wavelet transform.
 SimpleSignal getSmoothedSignal()
          Get the last smoothed array as computed by the atrous wavelet transform.
 void mask(WObject wObject)
          Use the WObject as a mask to eliminate wavelet coefficients not in the object.
 void setScale(int scaleNumber, Scale scale)
          Set the scale at the specified scale number.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

signal

public Signal signal
An reference to the original signal.


scales

public List<Scale> scales
A list of scales containing wavelet coefficients and optionally noise thresholds. This representation is useful when using decimating wavelet transforms which have a decreasing number of wavelet coefficients at larger scales.


smoothedSignal

public SimpleSignal smoothedSignal
The last smoothed array as computed by the atrous wavelet transform.


wObjects

public List<WObject> wObjects
A list of WObject instances contained in the wavelet space

Constructor Detail

WaveletSpace

public WaveletSpace(Signal signal)
Construct a discrete wavelet transform using the 1D A-Trous method with a b3-spline smoothing function. (Starck 2002 p.29). Boundary conditions are handled by the signal.

Parameters:
signal - the signal to be wavelet transformed

WaveletSpace

public WaveletSpace(Signal signal,
                    float uniformNoise)
Construct the WaveletSpace given a signal and a uniform noise value.

Parameters:
signal - the signal to be wavelet transformed
uniformNoise - a uniform noise standard deviation
Method Detail

getScale

public Scale getScale(int scaleNumber)
Get the specified scale as computed by the atrous wavelet transform.

Parameters:
scaleNumber - the scale number
Returns:
the specified scale as an instance of simple signal

setScale

public void setScale(int scaleNumber,
                     Scale scale)
Set the scale at the specified scale number.

Parameters:
scaleNumber - the scale number
scale - the specified scale

mask

public void mask(WObject wObject)
Use the WObject as a mask to eliminate wavelet coefficients not in the object.


getReconstruction

public SimpleSignal getReconstruction(WObject wObject)
Discrete wavelet transform reconstruction using the 1D A-Trous method with a b3-spline smoothing function. Reconstruction is computed by summing up all the structures belonging to the WObject plus the last smoothed array. (see Starck 1998 p.21-26).

Returns:
the reconstructed signal as an instance of simple signal

getReconstruction

public SimpleSignal getReconstruction()
Discrete wavelet transform reconstruction using the 1D A-Trous method with a b3-spline smoothing function. Reconstruction is computed by summing up all the scales plus the last smoothed array. (see Starck 1998 p.21-26).

Returns:
the reconstructed signal as an instance of simple signal

getContinuum

public SimpleSignal getContinuum()
Get the continuum of a signal. The continuum is computed by iteratively substracting the smoothed signal from the signal; the iteration is required due to border problems. (see Starck 1998 p.127).

Returns:
the continuum of the signal

getSmoothedSignal

public SimpleSignal getSmoothedSignal()
Get the last smoothed array as computed by the atrous wavelet transform.

Returns:
the last smoothed array as a simple signal