jj2000.j2k.wavelet
Interface WaveletTransform

All Superinterfaces:
ImgData
All Known Subinterfaces:
ForwWT, InvWT
All Known Implementing Classes:
ForwardWT, InvWTAdapter

public interface WaveletTransform
extends ImgData

This interface defines how a forward or inverse wavelet transform should present itself. As specified in the ImgData interface, from which this class inherits, all operations are confined to the current tile, and all coordinates are relative to it.

The definition of the methods in this interface allows for different types of implementation, reversibility and levels of decompositions for each component and each tile. An implementation of this interface does not need to support all this flexibility (e.g., it may provide the same implementation type and decomposition levels for all tiles and components).


Field Summary
static int WT_IMPL_FULL
          ID for full-page based implementations of wavelet transforms.
static int WT_IMPL_LINE
          ID for line based implementations of wavelet transforms.
 
Method Summary
 int getImplementationType(int c)
          Returns the implementation type of this wavelet transform (WT_IMPL_LINE or WT_IMPL_FRAME) for the specified component, in the current tile.
 boolean isReversible(int t, int c)
          Returns the reversibility of the wavelet transform for the specified component and tile.
 
Methods inherited from interface jj2000.j2k.image.ImgData
getCompImgHeight, getCompImgWidth, getCompSubsX, getCompSubsY, getCompULX, getCompULY, getImgHeight, getImgULX, getImgULY, getImgWidth, getNomRangeBits, getNomTileHeight, getNomTileWidth, getNumComps, getNumTiles, getNumTiles, getTile, getTileCompHeight, getTileCompWidth, getTileHeight, getTileIdx, getTilePartULX, getTilePartULY, getTileWidth, nextTile, setTile
 

Field Detail

WT_IMPL_LINE

public static final int WT_IMPL_LINE
ID for line based implementations of wavelet transforms.

See Also:
Constant Field Values

WT_IMPL_FULL

public static final int WT_IMPL_FULL
ID for full-page based implementations of wavelet transforms. Full-page based implementations should be avoided since they require large amounts of memory.

See Also:
Constant Field Values
Method Detail

isReversible

public boolean isReversible(int t,
                            int c)
Returns the reversibility of the wavelet transform for the specified component and tile. A wavelet transform is reversible when it is suitable for lossless and lossy-to-lossless compression.

Parameters:
t - The index of the tile.
c - The index of the component.
Returns:
true is the wavelet transform is reversible, false if not.

getImplementationType

public int getImplementationType(int c)
Returns the implementation type of this wavelet transform (WT_IMPL_LINE or WT_IMPL_FRAME) for the specified component, in the current tile.

Parameters:
c - The index of the component.
Returns:
WT_IMPL_LINE or WT_IMPL_FULL for line, block or full-page based transforms.