org.jscience.mathematics.wavelet.daubechies8
Class Daubechies8

java.lang.Object
  extended by org.jscience.mathematics.wavelet.Multiresolution
      extended by org.jscience.mathematics.wavelet.daubechies8.Daubechies8
All Implemented Interfaces:
Filter

public final class Daubechies8
extends Multiresolution
implements Filter

Daubechies wavelets adapted to the interval by Meyer. Thanks to Pierre Vial for the filters.


Field Summary
protected static int filtretype
          DOCUMENT ME!
protected static int minlength
          DOCUMENT ME!
 
Constructor Summary
Daubechies8()
          Creates a new Daubechies8 object.
 
Method Summary
 MultiscaleFunction dualScaling(int n0, int k)
          DOCUMENT ME!
 MultiscaleFunction dualWavelet(int n0, int k)
          DOCUMENT ME!
 double[] evalScaling(int n0, int k, int j1)
          DOCUMENT ME!
 double[] evalWavelet(int n0, int k, int j1)
          DOCUMENT ME!
 int getFilterType()
          This method is used to compute how the number of scaling functions changes from on scale to the other.
 double[] highpass(double[] gete)
          This is the implementation of the highpass Filter.
 double[] highpass(double[] v, double[] param)
          This is the implementation of the highpass Filter.
 double[] lowpass(double[] gete)
          This is the implementation of the lowpass Filter.
 double[] lowpass(double[] v, double[] param)
          This is the implementation of the lowpass Filter.
 int previousDimension(int k)
          This method return the number of "scaling" functions at the previous scale given a number of scaling functions.
 MultiscaleFunction primaryScaling(int n0, int k)
          DOCUMENT ME!
 MultiscaleFunction primaryWavelet(int n0, int k)
          DOCUMENT ME!
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

filtretype

protected static final int filtretype
DOCUMENT ME!

See Also:
Constant Field Values

minlength

protected static final int minlength
DOCUMENT ME!

See Also:
Constant Field Values
Constructor Detail

Daubechies8

public Daubechies8()
Creates a new Daubechies8 object.

Method Detail

getFilterType

public int getFilterType()
This method is used to compute how the number of scaling functions changes from on scale to the other. Basically, if you have k scaling function and a Filter of type t, you'll have 2k+t scaling functions at the next scale (dyadic case). Notice that this method assumes that one is working with the dyadic grid while the method "previousDimension" define in the interface "Filter" doesn't.

Specified by:
getFilterType in class Multiresolution
Returns:
DOCUMENT ME!

primaryScaling

public MultiscaleFunction primaryScaling(int n0,
                                         int k)
DOCUMENT ME!

Specified by:
primaryScaling in class Multiresolution
Parameters:
n0 - DOCUMENT ME!
k - DOCUMENT ME!
Returns:
DOCUMENT ME!

dualScaling

public MultiscaleFunction dualScaling(int n0,
                                      int k)
DOCUMENT ME!

Specified by:
dualScaling in class Multiresolution
Parameters:
n0 - DOCUMENT ME!
k - DOCUMENT ME!
Returns:
DOCUMENT ME!

primaryWavelet

public MultiscaleFunction primaryWavelet(int n0,
                                         int k)
DOCUMENT ME!

Specified by:
primaryWavelet in class Multiresolution
Parameters:
n0 - DOCUMENT ME!
k - DOCUMENT ME!
Returns:
DOCUMENT ME!

dualWavelet

public MultiscaleFunction dualWavelet(int n0,
                                      int k)
DOCUMENT ME!

Specified by:
dualWavelet in class Multiresolution
Parameters:
n0 - DOCUMENT ME!
k - DOCUMENT ME!
Returns:
DOCUMENT ME!

previousDimension

public int previousDimension(int k)
This method return the number of "scaling" functions at the previous scale given a number of scaling functions. The answer is always smaller than the provided value (about half since this is a dyadic implementation). This relates to the same idea as the "Filter type". It is used by the interface "Filter".

Specified by:
previousDimension in interface Filter
Overrides:
previousDimension in class Multiresolution
Parameters:
k - DOCUMENT ME!
Returns:
DOCUMENT ME!

lowpass

public double[] lowpass(double[] v,
                        double[] param)
This is the implementation of the lowpass Filter. It is used by the interface "Filter". Lowpass filters are normalized so that they preserve constants away from the boundaries.

Specified by:
lowpass in interface Filter
Parameters:
v - DOCUMENT ME!
param - DOCUMENT ME!
Returns:
DOCUMENT ME!

highpass

public double[] highpass(double[] v,
                         double[] param)
This is the implementation of the highpass Filter. It is used by the interface "Filter". Highpass filters are normalized in order to get L2 orthonormality of the resulting wavelets (when it applies). See the class DiscreteHilbertSpace for an implementation of the L2 integration.

Specified by:
highpass in interface Filter
Parameters:
v - DOCUMENT ME!
param - DOCUMENT ME!
Returns:
DOCUMENT ME!

lowpass

public double[] lowpass(double[] gete)
This is the implementation of the lowpass Filter. It is used by the interface "Filter". Lowpass filters are normalized so that they preserve constants away from the boundaries.

Specified by:
lowpass in interface Filter
Parameters:
gete - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
IllegalScalingException - DOCUMENT ME!

highpass

public double[] highpass(double[] gete)
This is the implementation of the highpass Filter. It is used by the interface "Filter". Highpass filters are normalized in order to get L2 orthonormality of the resulting wavelets (when it applies). See the class DiscreteHilbertSpace for an implementation of the L2 integration.

Specified by:
highpass in interface Filter
Parameters:
gete - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
IllegalScalingException - DOCUMENT ME!

evalScaling

public double[] evalScaling(int n0,
                            int k,
                            int j1)
DOCUMENT ME!

Parameters:
n0 - DOCUMENT ME!
k - DOCUMENT ME!
j1 - DOCUMENT ME!
Returns:
DOCUMENT ME!

evalWavelet

public double[] evalWavelet(int n0,
                            int k,
                            int j1)
DOCUMENT ME!

Parameters:
n0 - DOCUMENT ME!
k - DOCUMENT ME!
j1 - DOCUMENT ME!
Returns:
DOCUMENT ME!