ComponentOne PdfViewer for WPF and Silverlight
C1.WPF.PdfViewer.4.6.2 Assembly / CSJ2K.j2k.wavelet.synthesis Namespace
Inheritance Hierarchy
In This Topic
    CSJ2K.j2k.wavelet.synthesis Namespace
    In This Topic
    Classes
     ClassDescription
    ClassThis abstract class extends the WaveletTransform one with the specifics of inverse wavelet transforms.

    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.

    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.

    ClassThis 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.

    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.

    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.

    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.

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

    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.

    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.

    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.

    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.

    ClassThis 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.

    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.

    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.

    ClassThis class represents a subband in a tree structure that describes the subband decomposition for a wavelet transform, specifically for the syhthesis side.

    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.

    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.

    Class 
    Class 
    Class 
    Class 
    ClassThis 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.

    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.

    ClassThis class extends ModuleSpec class for synthesis filters specification holding purpose.
    Interfaces
     InterfaceDescription
    InterfaceThis 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.

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

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

    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.

    InterfaceThis 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).
    InterfaceThis 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'.

    This interface is very similar to the 'ImgData' one. It differs only by the fact that it handles multiple resolutions.

    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.

    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.

    For details on the canvas system and its implications consult the 'ImgData' interface.

    Note that tile sizes may not be obtained by simply dividing the tile size in the reference grid by the subsampling factor.

    See Also