public class HaarWithPolynomialInterpolationWavelet extends HaarWavelet
HaarWavelet transform extended with a polynomial interpolation step
This wavelet transform extends the HaarWavelet transform with a polynomial wavelet function.
The polynomial wavelet uses 4-point polynomial interpolation to "predict" an odd point from four even point values.
This class extends the HaarWavelet transform with an interpolation stage which follows the predict and update stages of the HaarWavelet transform. The predict value is calculated from the even points, which in this case are the smoothed values calculated by the scaling function (e.g., the averages of the even and odd values).
The predict value is subtracted from the current odd value, which is the result of the HaarWavelet wavelet function (e.g., the difference between the odd value and the even value). This tends to result in large odd values after the interpolation stage, which is a weakness in this algorithm.
This algorithm was suggested by Wim Sweldens' tutorial Building Your Own Wavelets at Home.
http://www.bearcave.com/misl/misl_tech/wavelets/lifting/index.html
You may use this source code without limitation and without fee as long as you include:
This software was written and is copyrighted by Ian Kaplan, Bear Products International, www.bearcave.com, 2001.
This software is provided "as is", without any warrenty or claim as to its usefulness. Anyone who uses this source code uses it at their own risk. Nor is any support provided by Ian Kaplan and Bear Products International.
Please send any bug fixes or suggested source changes to:
iank@bearcave.com
Constructor and Description |
---|
HaarWithPolynomialInterpolationWavelet()
HaarWithPolynomialInterpolationWavelet class constructor
|
Modifier and Type | Method and Description |
---|---|
void |
forwardTrans(float[] vec)
HaarWavelet transform extened with polynomial interpolation forward
transform.
|
void |
inverseTrans(float[] vec)
HaarWavelet transform extened with polynomial interpolation inverse
transform.
|
forwardTransOne
public HaarWithPolynomialInterpolationWavelet()
public void forwardTrans(float[] vec)
HaarWavelet transform extened with polynomial interpolation forward transform.
This version of the forwardTrans function overrides the function in the LiftingSchemeBaseWavelet base class. This function introduces an extra polynomial interpolation stage at the end of the transform.
forwardTrans
in class LiftingSchemeBaseWavelet
vec
- the vectorpublic void inverseTrans(float[] vec)
HaarWavelet transform extened with polynomial interpolation inverse transform.
This version of the inverseTrans function overrides the function in the LiftingSchemeBaseWavelet base class. This function introduces an inverse polynomial interpolation stage at the start of the inverse transform.
inverseTrans
in class LiftingSchemeBaseWavelet
vec
- the vector