| java.lang.Object jj2000.j2k.image.ImgDataAdapter jj2000.j2k.image.Tiler
Tiler | public class Tiler extends ImgDataAdapter implements BlkImgDataSrc(Code) | | This class places an image in the canvas coordinate system, tiles it, if so
specified, and performs the coordinate conversions transparently. The
source must be a 'BlkImgDataSrc' which is not tiled and has a the image
origin at the canvas origin (i.e. it is not "canvased"), or an exception is
thrown by the constructor. A tiled and "canvased" output is given through
the 'BlkImgDataSrc' interface. See the 'ImgData' interface for a
description of the canvas and tiling.
All tiles produced are rectangular, non-overlapping and their union
covers all the image. However, the tiling may not be uniform, depending on
the nominal tile size, tiling origin, component subsampling and other
factors. Therefore it might not be assumed that all tiles are of the same
width and height.
The nominal dimension of the tiles is the maximal one, in the reference
grid. All the components of the image have the same number of tiles.
See Also: ImgData See Also: BlkImgDataSrc |
Constructor Summary | |
public | Tiler(BlkImgDataSrc src, int ax, int ay, int px, int py, int nw, int nh) Constructs a new tiler with the specified 'BlkImgDataSrc' source,
image origin, tiling origin and nominal tile size.
Parameters: src - The 'BlkImgDataSrc' source from where to get the imagedata. |
Method Summary | |
final 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. | final public int | getCompULX(int c) Returns the horizontal coordinate of the upper-left corner of the
specified component in the current tile. | final public int | getCompULY(int c) Returns the vertical coordinate of the upper-left corner of the
specified component in the current tile. | public int | getFixedPoint(int c) Returns the position of the fixed point in the specified
component. | final public int | getImgULX() Returns the horizontal coordinate of the image origin, the top-left
corner, in the canvas system, on the reference grid. | final public int | getImgULY() Returns the vertical coordinate of the image origin, the top-left
corner, in the canvas system, on the reference grid. | 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. | final public int | getNomTileHeight() Returns the nominal width of the tiles in the reference grid. | final public int | getNomTileWidth() Returns the nominal width of the tiles in the reference grid. | final public Point | getNumTiles(Point co) Returns the number of tiles in the horizontal and vertical directions.
Parameters: co - If not null this object is used to return the information. | final public int | getNumTiles() Returns the total number of tiles in the image. | final public Point | getTile(Point co) Returns the horizontal and vertical indexes of the current tile.
Parameters: co - If not null this object is used to return theinformation. | final public int | getTileCompHeight(int t, int c) Returns the height in pixels of the specified tile-component.
Parameters: t - The tile index. Parameters: c - The index of the component, from 0 to N-1. | final public int | getTileCompWidth(int t, int c) Returns the width in pixels of the specified tile-component.
Parameters: t - Tile index Parameters: c - The index of the component, from 0 to N-1. | final public int | getTileHeight() Returns the overall height of the current tile in pixels. | final public int | getTileIdx() Returns the index of the current tile, relative to a standard scan-line
order. | public int | getTilePartULX() | public int | getTilePartULY() | final public int | getTileWidth() Returns the overall width of the current tile in pixels. | final public Point | getTilingOrigin(Point co) Returns the tiling origin, referred to as '(xt0siz,yt0siz)' in the
codestream header (SIZ marker segment).
Parameters: co - If not null this object is used to return the information. | final public void | nextTile() Advances to the next tile, in standard scan-line order (by rows then
columns). | final public void | setTile(int x, int y) Changes the current tile, given the new tile indexes. | public String | toString() |
Tiler | public Tiler(BlkImgDataSrc src, int ax, int ay, int px, int py, int nw, int nh)(Code) | | Constructs a new tiler with the specified 'BlkImgDataSrc' source,
image origin, tiling origin and nominal tile size.
Parameters: src - The 'BlkImgDataSrc' source from where to get the imagedata. It must not be tiled and the image origin must be at '(0,0)' onits canvas. Parameters: ax - The horizontal coordinate of the image origin in the canvassystem, on the reference grid (i.e. the image's top-left corner in thereference grid). Parameters: ay - The vertical coordinate of the image origin in the canvassystem, on the reference grid (i.e. the image's top-left corner in thereference grid). Parameters: px - The horizontal tiling origin, in the canvas system, on thereference grid. It must satisfy 'px<=ax'. Parameters: py - The vertical tiling origin, in the canvas system, on thereference grid. It must satisfy 'py<=ay'. Parameters: nw - The nominal tile width, on the reference grid. If 0 thenthere is no tiling in that direction. Parameters: nh - The nominal tile height, on the reference grid. If 0 thenthere is no tiling in that direction. exception: IllegalArgumentException - If src is tiled or "canvased", orif the arguments do not satisfy the specified constraints. |
getCompData | final 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. 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. The requested DataBlk See Also: Tiler.getInternCompData |
getCompULX | final public int getCompULX(int c)(Code) | | Returns the horizontal coordinate of the upper-left corner of the
specified component in the current tile.
Parameters: c - The component index. |
getCompULY | final public int getCompULY(int c)(Code) | | Returns the vertical coordinate of the upper-left corner of the
specified component in the current tile.
Parameters: c - The component index. |
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. For floating-point data 0 is returned. |
getImgULX | final public int getImgULX()(Code) | | Returns the horizontal coordinate of the image origin, the top-left
corner, in the canvas system, on the reference grid.
The horizontal coordinate of the image origin in the canvassystem, on the reference grid. |
getImgULY | final public int getImgULY()(Code) | | Returns the vertical coordinate of the image origin, the top-left
corner, in the canvas system, on the reference grid.
The vertical coordinate of the image origin in the canvassystem, on the reference grid. |
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. 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.
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: Tiler.getCompData |
getNomTileHeight | final public int getNomTileHeight()(Code) | | Returns the nominal width of the tiles in the reference grid.
The nominal tile width, in the reference grid. |
getNomTileWidth | final public int getNomTileWidth()(Code) | | Returns the nominal width of the tiles in the reference grid.
The nominal tile width, in the reference grid. |
getNumTiles | final public Point getNumTiles(Point co)(Code) | | Returns the number of tiles in the horizontal and vertical directions.
Parameters: co - If not null this object is used to return the information. Ifnull a new one is created and returned. The number of tiles in the horizontal (Point.x) and vertical(Point.y) directions. |
getNumTiles | final public int getNumTiles()(Code) | | Returns the total number of tiles in the image.
The total number of tiles in the image. |
getTile | final public Point getTile(Point co)(Code) | | Returns the horizontal and vertical indexes of the current tile.
Parameters: co - If not null this object is used to return theinformation. If null a new one is created and returned. The current tile's horizontal and vertical indexes.. |
getTileCompHeight | final public int getTileCompHeight(int t, int c)(Code) | | Returns the height in pixels of the specified tile-component.
Parameters: t - The tile index. Parameters: c - The index of the component, from 0 to N-1. The height of specified tile-component. |
getTileCompWidth | final public int getTileCompWidth(int t, int c)(Code) | | Returns the width in pixels of the specified tile-component.
Parameters: t - Tile index Parameters: c - The index of the component, from 0 to N-1. The width of specified tile-component. |
getTileHeight | final public int getTileHeight()(Code) | | Returns the overall height of the current tile in pixels. This is the
tile's width without accounting for any component subsampling.
The total current tile height in pixels. |
getTileIdx | final public int getTileIdx()(Code) | | Returns the index of the current tile, relative to a standard scan-line
order.
The current tile's index (starts at 0). |
getTilePartULX | public int getTilePartULX()(Code) | | Returns the horizontal tile partition offset in the reference grid
|
getTilePartULY | public int getTilePartULY()(Code) | | Returns the vertical tile partition offset in the reference grid
|
getTileWidth | final public int getTileWidth()(Code) | | Returns the overall width of the current tile in pixels. This is the
tile's width without accounting for any component subsampling.
The total current tile width in pixels. |
getTilingOrigin | final public Point getTilingOrigin(Point co)(Code) | | Returns the tiling origin, referred to as '(xt0siz,yt0siz)' in the
codestream header (SIZ marker segment).
Parameters: co - If not null this object is used to return the information. Ifnull a new one is created and returned. The coordinate of the tiling origin, in the canvas system, onthe reference grid. See Also: ImgData |
nextTile | final 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).
|
setTile | final public void setTile(int x, int y)(Code) | | Changes the current tile, given the new tile indexes. An
IllegalArgumentException is thrown if the coordinates do not correspond
to a valid tile.
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 object representing Tiler's informations
Tiler's infos in a string |
|
|