[]
        
(Showing Draft Content)

CSJ2K.j2k.wavelet.synthesis

CSJ2K.j2k.wavelet.synthesis Namespace

Classes

InvWTAdapter

This class provides default implementation of the methods in the 'InvWT' interface. The source is always a 'MultiResImgData', which is a multi-resolution image. The default implementation is just to return the value of the source at the current image resolution level, which is set by the 'setImgResLevel()' method.

       <p>This abstract class can be used to facilitate the development of other
       classes that implement the 'InvWT' interface, because most of the trivial
       methods are already implemented.</p><p>If the default implementation of a method provided in this class does
       not suit a particular implementation of the 'InvWT' interface, the method
       can be overriden to implement the proper behaviour.</p><p>If the 'setImgResLevel()' method is overriden then it is very important
       that the one of this class is called from the overriding method, so that
       the other methods in this class return the correct values.</p>

InvWTFull

This class implements the InverseWT with the full-page approach for int and float data.

       <p>The image can be reconstructed at different (image) resolution levels
       indexed from the lowest resolution available for each tile-component. This
       is controlled by the setImgResLevel() method.</p><p>Note: Image resolution level indexes may differ from tile-component
       resolution index. They are indeed indexed starting from the lowest number
       of decomposition levels of each component of each tile.</p><p>Example: For an image (1 tile) with 2 components (component 0 having 2
       decomposition levels and component 1 having 3 decomposition levels), the
       first (tile-) component has 3 resolution levels and the second one has 4
       resolution levels, whereas the image has only 3 resolution levels
       available.</p><p>This implementation does not support progressive data: Data is
       considered to be non-progressive (i.e. "final" data) and the 'progressive'
       attribute of the 'DataBlk' class is always set to false, see the 'DataBlk'
       class.</p>

InverseWT

This abstract class extends the WaveletTransform one with the specifics of inverse wavelet transforms.

       <p>The image can be reconstructed at different resolution levels. This is
       controlled by the setResLevel() method. All the image, tile and component
       dimensions are relative the the resolution level being used. The number of
       resolution levels indicates the number of wavelet recompositions that will
       be used, if it is equal as the number of decomposition levels then the full
       resolution image is reconstructed.</p><p>It is assumed in this class that all tiles and components the same
       reconstruction resolution level. If that where not the case the
       implementing class should have additional data structures to store those
       values for each tile. However, the 'recResLvl' member variable always
       contain the values applicable to the current tile, since many methods
       implemented here rely on them.</p>

MultiResImgDataAdapter

This class provides a default implementation for the methods of the 'MultiResImgData' interface. The default implementation consists just in returning the value of the source, where the source is another 'MultiResImgData' object.

       <p>This abstract class can be used to facilitate the development of other
       classes that implement 'MultiResImgData'. For example a dequantizer can
       inherit from this class and all the trivial methods do not have to be
       reimplemented.</p><p>If the default implementation of a method provided in this class does
       not suit a particular implementation of the 'MultiResImgData' interface,
       the method can be overriden to implement the proper behaviour.</p>

SubbandSyn

This class represents a subband in a tree structure that describes the subband decomposition for a wavelet transform, specifically for the syhthesis 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>

SynWTFilter

SynWTFilterFloat

SynWTFilterFloatLift9x7

SynWTFilterInt

SynWTFilterIntLift5x3

This class inherits from the synthesis wavelet filter definition for int data. It implements the inverse wavelet transform specifically for the 5x3 filter. The implementation is based on the lifting scheme.

       <p>See the SynWTFilter 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>

SynWTFilterSpec

This class extends ModuleSpec class for synthesis filters specification holding purpose.

Interfaces

CBlkWTDataSrcDec

This abstract class defines methods to transfer wavelet data in a code-block by code-block basis, for the decoder side. In each call to 'getCodeBlock()' or 'getInternCodeBlock()' a new code-block is returned. The code-blocks are returned in no specific order.

       <p>This class is the source of data, in general, for the inverse wavelet
       transforms. See the 'InverseWT' class.</p>

InvWT

This interface extends the WaveletTransform with the specifics of inverse wavelet transforms. Classes that implement inverse wavelet transfoms should implement this interface.

       <p>This class does not define the methods to transfer data, just the
       specifics to inverse wavelet transform. Different data transfer methods are
       envisageable for different transforms.</p>

InvWTData

This interface extends the MultiResImgData interface with the methods that are necessary for inverse wavelet data (i.e. data that is the source to an inverse wavlet trasnform).

MultiResImgData

This interface defines methods to access image attributes (width, height, number of components, etc.) of multiresolution images, such as those resulting from an inverse wavelet transform. The image can be tiled or not (i.e. if the image is not tiled then there is only 1 tile). It should be implemented by all classes that provide multi-resolution image data, such as entropy decoders, dequantizers, etc. This interface, however, does not define methods to transfer image data (i.e. pixel data), that is defined by other interfaces, such as 'CBlkQuantDataSrcDec'.

       <p>This interface is very similar to the 'ImgData' one. It differs only by
       the fact that it handles multiple resolutions.</p><p>Resolution levels are counted from 0 to L. Resolution level 0 is the
       lower resolution, while L is the maximum resolution level, or full
       resolution, which is returned by 'getMaxResLvl()'. Note that there are L+1
       resolution levels available.</p><p>As in the 'ImgData' interface a multi-resolution image lies on top of a
       canvas. The canvas coordinates are mapped from the full resolution
       reference grid (i.e. resolution level 'L' reference grid) to a resolution
       level 'l' reference grid by '(x_l,y_l) =
       (ceil(x_l/2^(L-l)),ceil(y_l/2^(L-l)))', where '(x,y)' are the full
       resolution reference grid coordinates and '(x_l,y_l)' are the level 'l'
       reference grid coordinates.</p><p>For details on the canvas system and its implications consult the
       'ImgData' interface.</p><p>Note that tile sizes may not be obtained by simply dividing the tile
       size in the reference grid by the subsampling factor.</p>