[]
<p>This abstract class defines the methods of all analysis wavelet
filters. Specialized abstract classes that work on particular data types (int, float) provide more specific method calls while retaining the generality of this one. See the AnWTFilterInt and AnWTFilterFloat classes. Implementations of analysis filters should inherit from one of those classes.
All analysis wavelet filters should follow the following conventions:
This class inherits from the analysis wavelet filter definition for int data. It implements the forward wavelet transform specifically for the 5x3 filter. The implementation is based on the lifting scheme.
<p>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.</p>
This class extends ModuleSpec class for analysis filters specification holding purpose.
This is a generic abstract class to store a code-block of wavelet data, quantized or not. This class does not have the notion of components. Therefore, it should be used for data from a single component. Subclasses should implement the different types of storage (int, float, etc.).
<p>The data is always stored in one array, of the type matching the data
type (i.e. for 'int' it's an 'int[]'). The data should be stored in the
array in standard scan-line order. That is the samples go from the top-left
corner of the code-block to the lower-right corner by line and then
column.</p><p>The member variable 'offset' gives the index in the array of the first
data element (i.e. the top-left coefficient). The member variable 'scanw'
gives the width of the scan that is used to store the data, that can be
different from the width of the block. Element '(x,y)' of the code-block
(i.e. '(0,0)' is the top-left coefficient), will appear at position
'offset+y*scanw+x' in the array of data.</p><p>The classes <tt>CBlkWTDataInt</tt> and <tt>CBlkWTDataFloat</tt> provide
implementations for <tt>int</tt> and <tt>float</tt> types respectively.</p><p>The types of data are the same as those defined by the 'DataBlk'
class.</p>
This is an implementation of the 'CBlkWTData' abstract class for 32 bit floating point data (float).
<p>The methods in this class are declared final, so that they can be
inlined by inlining compilers.</p>
This is an implementation of the 'CBlkWTData' abstract class for signed 32 bit integer data.
<p>The methods in this class are declared final, so that they can be
inlined by inlining compilers.</p>
This class implements the ForwardWT abstract class with the full-page approach to be used either with integer or floating-point filters
This abstract class represents the forward wavelet transform functional block. The functional block may actually be comprised of several classes linked together, but a subclass of this abstract class is the one that is returned as the functional block that performs the forward wavelet transform.
<p>This class assumes that data is transferred in code-blocks, as defined
by the 'CBlkWTDataSrc' interface. The internal calculation of the wavelet
transform may be done differently but a buffering class should convert to
that type of transfer.</p>
This class represents a subband in a bidirectional tree structure that describes the subband decomposition for a wavelet transform, specifically for the analysis side.
<p>The element can be either a node or a leaf of the tree. If it is a node
then ther are 4 descendants (LL, HL, LH and HH). If it is a leaf there are
no descendants.</p><p>The tree is bidirectional. Each element in the tree structure has a
"parent", which is the subband from which the element was obtained by
decomposition. The only exception is the root element which has no parent
(i.e.it's null), for obvious reasons.</p>
This abstract class defines methods to transfer wavelet data in a code-block by code-block basis. In each call to 'getNextCodeBlock()' or 'getNextInternCodeBlock()' a new code-block is returned. The code-blocks are returned in no specific order.
<p>This class is the source of data for the quantizer. See the 'Quantizer'
class.</p><p>Note that no more of one object may request data, otherwise one object
would get some of the data and another one another part, in no defined
manner.</p>
This interface extends the WaveletTransform with the specifics of forward wavelet transforms. Classes that implement forward wavelet transfoms should implement this interface.
<p>This class does not define the methods to transfer data, just the
specifics to forward wavelet transform. Different data transfer methods are
evisageable for different transforms.</p>
This interface extends the ImgData interface with methods that are necessary for forward wavelet data (i.e. data that is produced by a forward wavelet transform).