| java.lang.Object jj2000.j2k.image.ImgDataAdapter jj2000.j2k.image.invcomptransf.InvCompTransf
InvCompTransf | public class InvCompTransf extends ImgDataAdapter implements BlkImgDataSrc(Code) | | This class apply inverse component transformations to the tiles depending
on specification read from the codestream header. These transformations can
be used to improve compression efficiency but are not related to colour
transforms used to map colour values for display purposes. JPEG 2000 part I
defines 2 component transformations: RCT (Reversible Component
Transformation) and ICT (Irreversible Component Transformation).
See Also: ModuleSpec |
Field Summary | |
final public static int | INV_ICT Identifier for the Inverse Irreversible Component
Transformation (INV_ICT). | final public static int | INV_RCT Identifier for the Inverse Reversible Component Transformation
(INV_RCT). | final public static int | NONE Identifier for no component transformation. | final public static char | OPT_PREFIX |
Constructor Summary | |
public | InvCompTransf(BlkImgDataSrc imgSrc, DecoderSpecs decSpec, int[] utdepth) Constructs a new ForwCompTransf object that operates on the
specified source of image data. |
Method Summary | |
public static int[] | calcMixedBitDepths(int utdepth, int ttype, int tdepth) Calculates the bitdepths of the transformed components, given the
bitdepth of the un-transformed components and the component
tranformation type.
Parameters: utdepth - The bitdepth of each un-transformed component Parameters: ttype - The type ID of the inverse component tranformation Parameters: tdepth - If not null the results are stored in thisarray, otherwise a new array is allocated and returned. | public DataBlk | getCompData(DataBlk blk, int c) Apply inverse component transformation associated with the current
tile. | public int | getFixedPoint(int c) Returns the position of the fixed point in the specified
component. | public DataBlk | getInternCompData(DataBlk blk, int c) Apply the inverse component transformation associated with the current
tile. | public int | getNomRangeBits(int c) Returns the number of bits, referred to as the "range bits",
corresponding to the nominal range of the data in the specified
component. | public static String[][] | getParameterInfo() Returns the parameters that are used in this class and implementing
classes. | public boolean | isReversible() Returns true if this transform is reversible in current
tile. | public void | nextTile() Advances to the next tile, in standard scan-line order (by rows
then columns). | public void | setTile(int x, int y) Changes the current tile, given the new indexes. | public String | toString() Returns a string with a descriptive text of which inverse component
transformation is used. |
INV_ICT | final public static int INV_ICT(Code) | | Identifier for the Inverse Irreversible Component
Transformation (INV_ICT). Value is 2
|
INV_RCT | final public static int INV_RCT(Code) | | Identifier for the Inverse Reversible Component Transformation
(INV_RCT). Value is 1.
|
NONE | final public static int NONE(Code) | | Identifier for no component transformation. Value is 0.
|
OPT_PREFIX | final public static char OPT_PREFIX(Code) | | The prefix for inverse component transformation options: 'M'
|
InvCompTransf | public InvCompTransf(BlkImgDataSrc imgSrc, DecoderSpecs decSpec, int[] utdepth)(Code) | | Constructs a new ForwCompTransf object that operates on the
specified source of image data.
Parameters: imgSrc - The source from where to get the data to betransformed Parameters: decSpec - The decoder specifications See Also: BlkImgDataSrc |
calcMixedBitDepths | public static int[] calcMixedBitDepths(int utdepth, int ttype, int tdepth)(Code) | | Calculates the bitdepths of the transformed components, given the
bitdepth of the un-transformed components and the component
tranformation type.
Parameters: utdepth - The bitdepth of each un-transformed component Parameters: ttype - The type ID of the inverse component tranformation Parameters: tdepth - If not null the results are stored in thisarray, otherwise a new array is allocated and returned. The bitdepth of each transformed component. |
getCompData | public DataBlk getCompData(DataBlk blk, int c)(Code) | | Apply inverse component transformation associated with the current
tile. If no component transformation has been requested by the user,
data are not modified.
This method calls the getInternCompData() method, but respects the
definitions of the getCompData() method defined in the BlkImgDataSrc
interface.
Parameters: blk - Determines the rectangular area to return, and thedata is returned in this object. Parameters: c - Index of the output component. The requested DataBlk See Also: BlkImgDataSrc.getCompData |
getFixedPoint | public int getFixedPoint(int c)(Code) | | Returns the position of the fixed point in the specified
component. This is the position of the least significant integral
(i.e. non-fractional) bit, which is equivalent to the number of
fractional bits. For instance, for fixed-point values with 2 fractional
bits, 2 is returned. For floating-point data this value does not apply
and 0 should be returned. Position 0 is the position of the least
significant bit in the data.
This default implementation assumes that the number of fractional
bits is not modified by the component mixer.
Parameters: c - The index of the component. The value of the fixed point position of the source since thecolor transform does not affect it. |
getInternCompData | public DataBlk getInternCompData(DataBlk blk, int c)(Code) | | Apply the inverse component transformation associated with the current
tile. If no component transformation has been requested by the user,
data are not modified. Else, appropriate method is called (invRCT or
invICT).
See Also: InvCompTransf.invRCT See Also: InvCompTransf.invICT Parameters: blk - Determines the rectangular area to return. Parameters: c - Index of the output component. The requested DataBlk |
getNomRangeBits | public int getNomRangeBits(int c)(Code) | | Returns the number of bits, referred to as the "range bits",
corresponding to the nominal range of the data in the specified
component. If this number is b then for unsigned data the
nominal range is between 0 and 2^b-1, and for signed data it is between
-2^(b-1) and 2^(b-1)-1.
Parameters: c - The index of the component. The bitdepth of un-transformed component 'c'. |
getParameterInfo | public static String[][] getParameterInfo()(Code) | | Returns the parameters that are used in this class and implementing
classes. It returns a 2D String array. Each of the 1D arrays is for a
different option, and they have 4 elements. The first element is the
option name, the second one is the synopsis, the third one is a long
description of what the parameter is and the fourth is its default
value. The synopsis or description may be 'null', in which case it is
assumed that there is no synopsis or description of the option,
respectively. Null may be returned if no options are supported.
the options name, their synopsis and their explanation,or null if no options are supported. |
isReversible | public boolean isReversible()(Code) | | Returns true if this transform is reversible in current
tile. Reversible component transformations are those which operation
can be completely reversed without any loss of information (not even
due to rounding).
Reversibility of component transformation in currenttile |
nextTile | public void nextTile()(Code) | | Advances to the next tile, in standard scan-line order (by rows
then columns). An NoNextElementException is thrown if the
current tile is the last one (i.e. there is no next tile).
This default implementation just advances to the next tile
in the source and re-initializes properly component
transformation variables.
|
setTile | public void setTile(int x, int y)(Code) | | Changes the current tile, given the new indexes. An
IllegalArgumentException is thrown if the indexes do not
correspond to a valid tile.
This default implementation changes the tile in the source
and re-initializes properly component transformation variables..
Parameters: x - The horizontal index of the tile. Parameters: y - The vertical index of the new tile. |
toString | public String toString()(Code) | | Returns a string with a descriptive text of which inverse component
transformation is used. This can be either "Inverse RCT" or "Inverse
ICT" or "No component transformation" depending on the current tile.
A descriptive string |
|
|