| java.lang.Object jj2000.j2k.image.ImgDataAdapter jj2000.j2k.image.ImgDataConverter
ImgDataConverter | public class ImgDataConverter extends ImgDataAdapter implements BlkImgDataSrc(Code) | | This class is responsible of all data type conversions. It should be used,
at encoder side, between Tiler and ForwardWT modules and, at decoder side,
between InverseWT/CompDemixer and ImgWriter modules. The conversion is
realized when a block of data is requested: if source and destination data
type are the same one, it does nothing, else appropriate cast is done. All
the methods of the 'ImgData' interface are implemented by the
'ImgDataAdapter' class that is the superclass of this one, so they don't
need to be reimplemented by subclasses.
|
Constructor Summary | |
public | ImgDataConverter(BlkImgDataSrc imgSrc, int fp) Constructs a new ImgDataConverter object that operates on the specified
source of image data. | public | ImgDataConverter(BlkImgDataSrc imgSrc) Constructs a new ImgDataConverter object that operates on the specified
source of image data. |
Method Summary | |
public DataBlk | getCompData(DataBlk blk, int c) Returns, in the blk argument, a block of image data containing the
specifed rectangular area, in the specified component, using the
'transfer type' specified in the block given as argument. | public int | getFixedPoint(int c) Returns the position of the fixed point in the specified
component. | final public DataBlk | getInternCompData(DataBlk blk, int c) Returns, in the blk argument, a block of image data containing the
specifed rectangular area, in the specified component, using the
'transfer type' defined in the block given as argument. |
ImgDataConverter | public ImgDataConverter(BlkImgDataSrc imgSrc, int fp)(Code) | | Constructs a new ImgDataConverter object that operates on the specified
source of image data.
Parameters: imgSrc - The source from where to get the data to be transformed Parameters: fp - The number of fraction bits in the casted ints See Also: BlkImgDataSrc |
ImgDataConverter | public ImgDataConverter(BlkImgDataSrc imgSrc)(Code) | | Constructs a new ImgDataConverter object that operates on the specified
source of image data.
Parameters: imgSrc - The source from where to get the data to be transformed See Also: BlkImgDataSrc |
getCompData | public DataBlk getCompData(DataBlk blk, int c)(Code) | | Returns, in the blk argument, a block of image data containing the
specifed rectangular area, in the specified component, using the
'transfer type' specified in the block given as argument. The data is
returned, as a copy of the internal data, therefore the returned data
can be modified "in place".
The rectangular area to return is specified by the 'ulx', 'uly', 'w'
and 'h' members of the 'blk' argument, relative to the current
tile. These members are not modified by this method. The 'offset' of
the returned data is 0, and the 'scanw' is the same as the block's
width. See the 'DataBlk' class.
This method, in general, is less efficient than the
'getInternCompData()' method since, in general, it copies the
data. However if the array of returned data is to be modified by the
caller then this method is preferable.
If the data array in 'blk' is 'null', then a new one is created. If
the data array is not 'null' then it is reused, and it must be large
enough to contain the block's data. Otherwise an 'ArrayStoreException'
or an 'IndexOutOfBoundsException' is thrown by the Java system.
The returned data may have its 'progressive' attribute set. In this
case the returned data is only an approximation of the "final" data.
Parameters: blk - Its coordinates and dimensions specify the area to return,relative to the current tile. If it contains a non-null data array,then it must be large enough. If it contains a null data array a newone is created. Some fields in this object are modified to return thedata. Parameters: c - The index of the component from which to get the data. See Also: ImgDataConverter.getInternCompData |
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.
Parameters: c - The index of the component. The position of the fixed-point, which is the same as thenumber of fractional bits. |
getInternCompData | final public DataBlk getInternCompData(DataBlk blk, int c)(Code) | | Returns, in the blk argument, a block of image data containing the
specifed rectangular area, in the specified component, using the
'transfer type' defined in the block given as argument. The data is
returned, as a reference to the internal data, if any, instead of as a
copy, therefore the returned data should not be modified.
The rectangular area to return is specified by the 'ulx', 'uly', 'w'
and 'h' members of the 'blk' argument, relative to the current
tile. These members are not modified by this method. The 'offset' and
'scanw' of the returned data can be arbitrary. See the 'DataBlk' class.
If source data and expected data (blk) are using the same type,
block returned without any modification. If not appropriate cast is
used.
This method, in general, is more efficient than the 'getCompData()'
method since it may not copy the data. However if the array of returned
data is to be modified by the caller then the other method is probably
preferable.
If the data array in blk is null, then a new one
is created if necessary. The implementation of this interface may
choose to return the same array or a new one, depending on what is more
efficient. Therefore, the data array in blk prior to the
method call should not be considered to contain the returned data, a
new array may have been created. Instead, get the array from
blk after the method has returned.
The returned data may have its 'progressive' attribute set. In this
case the returned data is only an approximation of the "final" data.
Parameters: blk - Its coordinates and dimensions specify the area to return,relative to the current tile. Some fields in this object are modifiedto return the data. Parameters: c - The index of the component from which to get the data. The requested DataBlk See Also: ImgDataConverter.getCompData |
|
|