[]
        
(Showing Draft Content)

CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_lpf

analyze_lpf Method

analyze_lpf(object, int, int, int, object, int, int, object, int, int)

Filters the input signal by this analysis filter, decomposing it in a low-pass and a high-pass signal. This method performs the filtering and the subsampling with the low pass first filtering convention.

       <p>The input signal resides in the inSig array. The index of the first
       sample to filter (i.e. that will generate the first low-pass output
       sample) is given by inOff. The number of samples to filter is given by
       inLen. This array must be of the same type as the one for which the
       particular implementation works with (which is returned by the
       getDataType() method).</p><p>The input signal can be interleaved with other signals in the same
       inSig array, and this is determined by the inStep argument. This means
       that the first sample of the input signal is inSig[inOff], the second
       is inSig[inOff+inStep], the third is inSig[inOff+2*inStep], and so
       on. Therefore if inStep is 1 there is no interleaving. This feature
       allows to filter columns of a 2-D signal, when it is stored in a line
       by line order in inSig, without having to copy the data, in this case
       the inStep argument should be the line width.</p><p>This method also allows to apply the analysis wavelet filter by
       parts in the input signal using an overlap and thus producing the same
       coefficients at the output. The tailOvrlp argument specifies how many
       samples in the input signal, before the first one to be filtered, can
       be used for overlap. Then, the filter instead of extending the input
       signal will use those samples to calculate the first output
       samples. The argument tailOvrlp can be 0 for no overlap, or some value
       that provides partial or full overlap. There should be enough samples
       in the input signal, before the first sample to be filtered, to support
       the overlap. The headOvrlp provides the same functionality but at the
       end of the input signal. The inStep argument also applies to samples
       used for overlap. This overlap feature can be used for line-based
       wavelet transforms (in which case it will only be used when filtering
       the columns) or for overlapping block-based wavelet transforms (in
       which case it will be used when filtering lines and columns).</p><p>The low-pass output signal is placed in the lowSig array. The lowOff
       and lowStep arguments are analogous to the inOff and inStep ones, but
       they apply to the lowSig array. The lowSig array must be long enough to
       hold the low-pass output signal.</p><p>The high-pass output signal is placed in the highSig array. The
       highOff and highStep arguments are analogous to the inOff and inStep
       ones, but they apply to the highSig array. The highSig array must be
       long enough to hold the high-pass output signal.</p>
Declaration
public abstract void analyze_lpf(object inSig, int inOff, int inLen, int inStep, object lowSig, int lowOff, int lowStep, object highSig, int highOff, int highStep)
Public MustOverride Sub analyze_lpf(inSig As Object, inOff As Integer, inLen As Integer, inStep As Integer, lowSig As Object, lowOff As Integer, lowStep As Integer, highSig As Object, highOff As Integer, highStep As Integer)
Parameters
Type Name Description
object inSig

This is the array that contains the input signal. It must be of the correct type (e.g., it must be int[] if getDataType() returns TYPE_INT).

int inOff

This is the index in inSig of the first sample to filter.

int inLen

This is the number of samples in the input signal to filter.

int inStep

This is the step, or interleave factor, of the input signal samples in the inSig array. See above.

object lowSig

This is the array where the low-pass output signal is placed. It must be of the same type as inSig and it should be long enough to contain the output signal.

int lowOff

This is the index in lowSig of the element where to put the first low-pass output sample.

int lowStep

This is the step, or interleave factor, of the low-pass output samples in the lowSig array. See above.

object highSig

This is the array where the high-pass output signal is placed. It must be of the same type as inSig and it should be long enough to contain the output signal.

int highOff

This is the index in highSig of the element where to put the first high-pass output sample.

int highStep

This is the step, or interleave factor, of the high-pass output samples in the highSig array. See above.