|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectucar.jpeg.jj2000.j2k.wavelet.analysis.AnWTFilter
ucar.jpeg.jj2000.j2k.wavelet.analysis.AnWTFilterFloat
ucar.jpeg.jj2000.j2k.wavelet.analysis.AnWTFilterFloatLift9x7
public class AnWTFilterFloatLift9x7
This class inherits from the analysis wavelet filter definition for int data. It implements the forward wavelet transform specifically for the 9x7 filter. The implementation is based on the lifting scheme.
See the AnWTFilter class for details such as normalization, how to split odd-length signals, etc. In particular, this method assumes that the low-pass coefficient is computed first.
AnWTFilter
,
AnWTFilterFloat
Field Summary | |
---|---|
static float |
ALPHA
The value of the first lifting step coefficient |
static float |
BETA
The value of the second lifting step coefficient |
static float |
DELTA
The value of the fourth lifting step coefficient |
static float |
GAMMA
The value of the third lifting step coefficient |
static float |
KH
The value of the high-pass subband normalization factor |
static float |
KL
The value of the low-pass subband normalization factor |
Fields inherited from class ucar.jpeg.jj2000.j2k.wavelet.analysis.AnWTFilter |
---|
OPT_PREFIX |
Fields inherited from interface ucar.jpeg.jj2000.j2k.wavelet.WaveletFilter |
---|
WT_FILTER_FLOAT_CONVOL, WT_FILTER_FLOAT_LIFT, WT_FILTER_INT_LIFT |
Constructor Summary | |
---|---|
AnWTFilterFloatLift9x7()
|
Method Summary | |
---|---|
void |
analyze_hpf(float[] inSig,
int inOff,
int inLen,
int inStep,
float[] lowSig,
int lowOff,
int lowStep,
float[] highSig,
int highOff,
int highStep)
An implementation of the analyze_hpf() method that works on int data, for the forward 9x7 wavelet transform using the lifting scheme. |
void |
analyze_lpf(float[] inSig,
int inOff,
int inLen,
int inStep,
float[] lowSig,
int lowOff,
int lowStep,
float[] highSig,
int highOff,
int highStep)
An implementation of the analyze_lpf() method that works on int data, for the forward 9x7 wavelet transform using the lifting scheme. |
boolean |
equals(Object obj)
Tests if the 'obj' object is the same filter as this one. |
int |
getAnHighNegSupport()
Returns the negative support of the high-pass analysis filter. |
int |
getAnHighPosSupport()
Returns the positive support of the high-pass analysis filter. |
int |
getAnLowNegSupport()
Returns the negative support of the low-pass analysis filter. |
int |
getAnLowPosSupport()
Returns the positive support of the low-pass analysis filter. |
int |
getFilterType()
Returns the type of filter used according to the FilterTypes interface(W9x7). |
float[] |
getHPSynthesisFilter()
Returns the time-reversed high-pass synthesis waveform of the filter, which is the high-pass filter. |
int |
getImplType()
Returns the implementation type of this filter, as defined in this class, such as WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT, WT_FILTER_FLOAT_CONVOL. |
float[] |
getLPSynthesisFilter()
Returns the time-reversed low-pass synthesis waveform of the filter, which is the low-pass filter. |
int |
getSynHighNegSupport()
Returns the negative support of the high-pass synthesis filter. |
int |
getSynHighPosSupport()
Returns the positive support of the high-pass synthesis filter. |
int |
getSynLowNegSupport()
Returns the negative support of the low-pass synthesis filter. |
int |
getSynLowPosSupport()
Returns the positive support of the low-pass synthesis filter. |
boolean |
isReversible()
Returns the reversibility of the filter. |
boolean |
isSameAsFullWT(int tailOvrlp,
int headOvrlp,
int inLen)
Returns true if the wavelet filter computes or uses the same "inner" subband coefficient as the full frame wavelet transform, and false otherwise. |
String |
toString()
Debugging method |
Methods inherited from class ucar.jpeg.jj2000.j2k.wavelet.analysis.AnWTFilterFloat |
---|
analyze_hpf, analyze_lpf, getDataType |
Methods inherited from class ucar.jpeg.jj2000.j2k.wavelet.analysis.AnWTFilter |
---|
getHPSynWaveForm, getLPSynWaveForm, getParameterInfo |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final float ALPHA
public static final float BETA
public static final float GAMMA
public static final float DELTA
public static final float KL
public static final float KH
Constructor Detail |
---|
public AnWTFilterFloatLift9x7()
Method Detail |
---|
public void analyze_lpf(float[] inSig, int inOff, int inLen, int inStep, float[] lowSig, int lowOff, int lowStep, float[] highSig, int highOff, int highStep)
The coefficients of the first lifting step are [ALPHA 1 ALPHA].
The coefficients of the second lifting step are [BETA 1 BETA].
The coefficients of the third lifting step are [GAMMA 1 GAMMA].
The coefficients of the fourth lifting step are [DELTA 1 DELTA].
The low-pass and high-pass subbands are normalized by respectively a factor of KL and a factor of KH
analyze_lpf
in class AnWTFilterFloat
inSig
- This is the array that contains the input
signal.inOff
- This is the index in inSig of the first sample to
filter.inLen
- This is the number of samples in the input signal
to filter.inStep
- This is the step, or interleave factor, of the
input signal samples in the inSig array.lowSig
- This is the array where the low-pass output
signal is placed.lowOff
- This is the index in lowSig of the element where
to put the first low-pass output sample.lowStep
- This is the step, or interleave factor, of the
low-pass output samples in the lowSig array.highSig
- This is the array where the high-pass output
signal is placed.highOff
- This is the index in highSig of the element where
to put the first high-pass output sample.highStep
- This is the step, or interleave factor, of the
high-pass output samples in the highSig array.AnWTFilter.analyze_lpf(java.lang.Object, int, int, int, java.lang.Object, int, int, java.lang.Object, int, int)
public void analyze_hpf(float[] inSig, int inOff, int inLen, int inStep, float[] lowSig, int lowOff, int lowStep, float[] highSig, int highOff, int highStep)
The coefficients of the first lifting step are [ALPHA 1 ALPHA].
The coefficients of the second lifting step are [BETA 1 BETA].
The coefficients of the third lifting step are [GAMMA 1 GAMMA].
The coefficients of the fourth lifting step are [DELTA 1 DELTA].
The low-pass and high-pass subbands are normalized by respectively a factor of KL and a factor of KH
analyze_hpf
in class AnWTFilterFloat
inSig
- This is the array that contains the input
signal.inOff
- This is the index in inSig of the first sample to
filter.inLen
- This is the number of samples in the input signal
to filter.inStep
- This is the step, or interleave factor, of the
input signal samples in the inSig array.lowSig
- This is the array where the low-pass output
signal is placed.lowOff
- This is the index in lowSig of the element where
to put the first low-pass output sample.lowStep
- This is the step, or interleave factor, of the
low-pass output samples in the lowSig array.highSig
- This is the array where the high-pass output
signal is placed.highOff
- This is the index in highSig of the element where
to put the first high-pass output sample.highStep
- This is the step, or interleave factor, of the
high-pass output samples in the highSig array.AnWTFilter.analyze_hpf(java.lang.Object, int, int, int, java.lang.Object, int, int, java.lang.Object, int, int)
public int getAnLowNegSupport()
public int getAnLowPosSupport()
public int getAnHighNegSupport()
public int getAnHighPosSupport()
public int getSynLowNegSupport()
A MORE PRECISE DEFINITION IS NEEDED
public int getSynLowPosSupport()
A MORE PRECISE DEFINITION IS NEEDED
public int getSynHighNegSupport()
A MORE PRECISE DEFINITION IS NEEDED
public int getSynHighPosSupport()
A MORE PRECISE DEFINITION IS NEEDED
public float[] getLPSynthesisFilter()
The returned array may not be modified (i.e. a reference to the internal array may be returned by the implementation of this method).
getLPSynthesisFilter
in class AnWTFilter
public float[] getHPSynthesisFilter()
The returned array may not be modified (i.e. a reference to the internal array may be returned by the implementation of this method).
getHPSynthesisFilter
in class AnWTFilter
public int getImplType()
public boolean isReversible()
public boolean isSameAsFullWT(int tailOvrlp, int headOvrlp, int inLen)
The result depends on the length of the allowed overlap when compared to the overlap required by the wavelet filter. It also depends on how overlap processing is implemented in the wavelet filter.
tailOvrlp
- This is the number of samples in the input
signal before the first sample to filter that can be used for
overlap.headOvrlp
- This is the number of samples in the input
signal after the last sample to filter that can be used for
overlap.inLen
- This is the lenght of the input signal to filter.The
required number of samples in the input signal after the last sample
depends on the length of the input signal.
public boolean equals(Object obj)
Currently the implementation of this method only tests if 'obj' is also of the class AnWTFilterFloatLift9x7
equals
in class Object
The
- object against which to test inequality.public int getFilterType()
getFilterType
in class AnWTFilter
FilterTypes
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |