JSci.maths.wavelet.daubechies7
Class Daubechies7

java.lang.Object
  extended by JSci.maths.wavelet.Multiresolution
      extended by JSci.maths.wavelet.daubechies7.Daubechies7
All Implemented Interfaces:
NumericalConstants, Filter

public final class Daubechies7
extends Multiresolution
implements Filter, NumericalConstants

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


Field Summary
protected static int filtretype
           
protected static int minlength
           
(package private) static double[] phv0
           
(package private) static double[] phv1
           
(package private) static double[] phv2
           
(package private) static double[] phv3
           
(package private) static double[] phv4
           
(package private) static double[] phv5
           
(package private) static double[] phvd0
           
(package private) static double[] phvd0temp
           
(package private) static double[] phvd1
           
(package private) static double[] phvd1temp
           
(package private) static double[] phvd2
           
(package private) static double[] phvd2temp
           
(package private) static double[] phvd3
           
(package private) static double[] phvd3temp
           
(package private) static double[] phvd4
           
(package private) static double[] phvd4temp
           
(package private) static double[] phvd5
           
(package private) static double[] phvd5temp
           
(package private) static double[] phvg
           
(package private) static double[] v0
           
(package private) static double[] v0temp
           
(package private) static double[] v1
           
(package private) static double[] v10
           
(package private) static double[] v10temp
           
(package private) static double[] v11
           
(package private) static double[] v11temp
           
(package private) static double[] v1temp
           
(package private) static double[] v2
           
(package private) static double[] v2temp
           
(package private) static double[] v3
           
(package private) static double[] v3temp
           
(package private) static double[] v4
           
(package private) static double[] v4temp
           
(package private) static double[] v5
           
(package private) static double[] v5temp
           
(package private) static double[] v6
           
(package private) static double[] v6temp
           
(package private) static double[] v7
           
(package private) static double[] v7temp
           
(package private) static double[] v8
           
(package private) static double[] v8temp
           
(package private) static double[] v9
           
(package private) static double[] v9temp
           
(package private) static double[] vd0
           
(package private) static double[] vd0temp
           
(package private) static double[] vd1
           
(package private) static double[] vd10
           
(package private) static double[] vd10temp
           
(package private) static double[] vd11
           
(package private) static double[] vd11temp
           
(package private) static double[] vd1temp
           
(package private) static double[] vd2
           
(package private) static double[] vd2temp
           
(package private) static double[] vd3
           
(package private) static double[] vd3temp
           
(package private) static double[] vd4
           
(package private) static double[] vd4temp
           
(package private) static double[] vd5
           
(package private) static double[] vd5temp
           
(package private) static double[] vd6
           
(package private) static double[] vd6temp
           
(package private) static double[] vd7
           
(package private) static double[] vd7temp
           
(package private) static double[] vd8
           
(package private) static double[] vd8temp
           
(package private) static double[] vd9
           
(package private) static double[] vd9temp
           
(package private) static double[] vg
           
(package private) static double[] vgtemp
          On définit ici le filtre comme tel par le vecteur phvg (filtre passe-haut).
 
Fields inherited from interface JSci.maths.NumericalConstants
GAMMA, GOLDEN_RATIO, LOG10, SQRT2, SQRT2PI, TWO_PI
 
Constructor Summary
Daubechies7()
           
 
Method Summary
 MultiscaleFunction dualScaling(int n0, int k)
           
 MultiscaleFunction dualWavelet(int n0, int k)
           
 double[] evalScaling(int n0, int k, int j1)
           
 double[] evalWavelet(int n0, int k, int j1)
           
 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)
           
 MultiscaleFunction primaryWavelet(int n0, int k)
           
 
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
See Also:
Constant Field Values

minlength

protected static final int minlength
See Also:
Constant Field Values

vg

static final double[] vg

v0temp

static final double[] v0temp

v1temp

static final double[] v1temp

v2temp

static final double[] v2temp

v3temp

static final double[] v3temp

v4temp

static final double[] v4temp

v5temp

static final double[] v5temp

v6temp

static final double[] v6temp

v7temp

static final double[] v7temp

v8temp

static final double[] v8temp

v9temp

static final double[] v9temp

v10temp

static final double[] v10temp

v11temp

static final double[] v11temp

vd0temp

static final double[] vd0temp

vd1temp

static final double[] vd1temp

vd2temp

static final double[] vd2temp

vd3temp

static final double[] vd3temp

vd4temp

static final double[] vd4temp

vd5temp

static final double[] vd5temp

vd6temp

static final double[] vd6temp

vd7temp

static final double[] vd7temp

vd8temp

static final double[] vd8temp

vd9temp

static final double[] vd9temp

vd10temp

static final double[] vd10temp

vd11temp

static final double[] vd11temp

v0

static final double[] v0

v1

static final double[] v1

v2

static final double[] v2

v3

static final double[] v3

v4

static final double[] v4

v5

static final double[] v5

v6

static final double[] v6

v7

static final double[] v7

v8

static final double[] v8

v9

static final double[] v9

v10

static final double[] v10

v11

static final double[] v11

vd0

static final double[] vd0

vd1

static final double[] vd1

vd2

static final double[] vd2

vd3

static final double[] vd3

vd4

static final double[] vd4

vd5

static final double[] vd5

vd6

static final double[] vd6

vd7

static final double[] vd7

vd8

static final double[] vd8

vd9

static final double[] vd9

vd10

static final double[] vd10

vd11

static final double[] vd11

vgtemp

static final double[] vgtemp
On définit ici le filtre comme tel par le vecteur phvg (filtre passe-haut).


phvg

static final double[] phvg

phv0

static final double[] phv0

phv1

static final double[] phv1

phv2

static final double[] phv2

phv3

static final double[] phv3

phv4

static final double[] phv4

phv5

static final double[] phv5

phvd0temp

static final double[] phvd0temp

phvd1temp

static final double[] phvd1temp

phvd2temp

static final double[] phvd2temp

phvd3temp

static final double[] phvd3temp

phvd4temp

static final double[] phvd4temp

phvd5temp

static final double[] phvd5temp

phvd0

static final double[] phvd0

phvd1

static final double[] phvd1

phvd2

static final double[] phvd2

phvd3

static final double[] phvd3

phvd4

static final double[] phvd4

phvd5

static final double[] phvd5
Constructor Detail

Daubechies7

public Daubechies7()
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 2*k+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

primaryScaling

public MultiscaleFunction primaryScaling(int n0,
                                         int k)
Specified by:
primaryScaling in class Multiresolution

dualScaling

public MultiscaleFunction dualScaling(int n0,
                                      int k)
Specified by:
dualScaling in class Multiresolution

primaryWavelet

public MultiscaleFunction primaryWavelet(int n0,
                                         int k)
Specified by:
primaryWavelet in class Multiresolution

dualWavelet

public MultiscaleFunction dualWavelet(int n0,
                                      int k)
Specified by:
dualWavelet in class Multiresolution

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

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
param - a parameter for the filter

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
param - a parameter for the filter

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

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

evalScaling

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

evalWavelet

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