public class ImgDataConverter extends ImgDataAdapter implements BlkImgDataSrc
Modifier and Type | Field and Description |
---|---|
private int |
fp
The number of fraction bits in the casted ints
|
private BlkImgDataSrc |
src
The source of image data
|
private DataBlk |
srcBlk
The block used to request data from the source in the case that a
conversion seems necessary.
|
imgdatasrc, tIdx
Constructor and Description |
---|
ImgDataConverter(BlkImgDataSrc imgSrc)
Constructs a new ImgDataConverter object that operates on the specified
source of image data.
|
ImgDataConverter(BlkImgDataSrc imgSrc,
int fp)
Constructs a new ImgDataConverter object that operates on the specified
source of image data.
|
Modifier and Type | Method and Description |
---|---|
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.
|
private DataBlk |
getData(DataBlk blk,
int c,
boolean intern)
Implements the 'getInternCompData()' and the 'getCompData()'
methods.
|
int |
getFixedPoint(int c)
Returns the position of the fixed point in the specified
component.
|
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.
|
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
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
private DataBlk srcBlk
private BlkImgDataSrc src
private int fp
public ImgDataConverter(BlkImgDataSrc imgSrc, int fp)
imgSrc
- The source from where to get the data to be transformedfp
- The number of fraction bits in the casted intsBlkImgDataSrc
public ImgDataConverter(BlkImgDataSrc imgSrc)
imgSrc
- The source from where to get the data to be transformedBlkImgDataSrc
public int getFixedPoint(int c)
getFixedPoint
in interface BlkImgDataSrc
c
- The index of the component.public DataBlk getCompData(DataBlk blk, int c)
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.
getCompData
in interface BlkImgDataSrc
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 new
one is created. Some fields in this object are modified to return the
data.c
- The index of the component from which to get the data.getInternCompData(jj2000.j2k.image.DataBlk, int)
public final DataBlk getInternCompData(DataBlk blk, int c)
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.
getInternCompData
in interface BlkImgDataSrc
blk
- Its coordinates and dimensions specify the area to return,
relative to the current tile. Some fields in this object are modified
to return the data.c
- The index of the component from which to get the data.getCompData(jj2000.j2k.image.DataBlk, int)
private DataBlk getData(DataBlk blk, int c, boolean intern)
blk
- The data block to get.c
- The index of the component from which to get the data.intern
- If true behave as 'getInternCompData(). Otherwise behave
as 'getCompData()'getInternCompData(jj2000.j2k.image.DataBlk, int)
,
getCompData(jj2000.j2k.image.DataBlk, int)
Copyright © 2017 Open Microscopy Environment