public class ImgDataJoiner extends Object implements BlkImgDataSrc
All input ImgData must not be tiled (i.e. must have only 1 tile) and the image origin must be the canvas origin. The different inputs can have different dimensions though (this will lead to different subsampling factors for each component).
The input ImgData and component index list must be defined when constructing this class and can not be modified later.
Modifier and Type | Field and Description |
---|---|
private int[] |
compIdx
The component index associated with each ImgData
|
private int |
h
The height of the image
|
private BlkImgDataSrc[] |
imageData
The list of input ImgData
|
private int |
nc
The number of components in the image
|
private int[] |
subsX
The subsampling factor along the horizontal direction, for every
component
|
private int[] |
subsY
The subsampling factor along the vertical direction, for every
component
|
private int |
w
The width of the image
|
Constructor and Description |
---|
ImgDataJoiner(BlkImgDataSrc[] imD,
int[] cIdx)
Class constructor.
|
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.
|
int |
getCompImgHeight(int n)
Returns the height in pixels of the specified component in the
overall image.
|
int |
getCompImgWidth(int c)
Returns the width in pixels of the specified component in the overall
image.
|
int |
getCompSubsX(int c)
Returns the component subsampling factor in the horizontal direction,
for the specified component.
|
int |
getCompSubsY(int c)
Returns the component subsampling factor in the vertical direction, for
the specified component.
|
int |
getCompULX(int c)
Returns the horizontal coordinate of the upper-left corner of the
specified component in the current tile.
|
int |
getCompULY(int c)
Returns the vertical coordinate of the upper-left corner of the
specified component in the current tile.
|
int |
getFixedPoint(int c)
Returns the position of the fixed point in the specified
component.
|
int |
getImgHeight()
Returns the overall height of the image in pixels.
|
int |
getImgULX()
Returns the horizontal coordinate of the image origin, the top-left
corner, in the canvas system, on the reference grid.
|
int |
getImgULY()
Returns the vertical coordinate of the image origin, the top-left
corner, in the canvas system, on the reference grid.
|
int |
getImgWidth()
Returns the overall width of the image in pixels.
|
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.
|
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.
|
int |
getNomTileHeight()
Returns the nominal tiles height
|
int |
getNomTileWidth()
Returns the nominal tiles width
|
int |
getNumComps()
Returns the number of components in the image.
|
int |
getNumTiles()
Returns the total number of tiles in the image.
|
Point |
getNumTiles(Point co)
Returns the number of tiles in the horizontal and vertical
directions.
|
Point |
getTile(Point co)
Returns the coordinates of the current tile.
|
int |
getTileCompHeight(int t,
int c)
Returns the height in pixels of the specified tile-component.
|
int |
getTileCompWidth(int t,
int c)
Returns the width in pixels of the specified tile-component
|
int |
getTileHeight()
Returns the overall height of the current tile in pixels.
|
int |
getTileIdx()
Returns the index of the current tile, relative to a standard scan-line
order.
|
int |
getTilePartULX()
Returns the horizontal tile partition offset in the reference grid
|
int |
getTilePartULY()
Returns the vertical tile partition offset in the reference grid
|
int |
getTileWidth()
Returns the overall width of the current tile in pixels.
|
void |
nextTile()
Advances to the next tile, in standard scan-line order (by rows then
columns).
|
void |
setTile(int x,
int y)
Changes the current tile, given the new coordinates.
|
String |
toString()
Returns a string of information about the object, more than 1 line
long.
|
private int w
private int h
private int nc
private BlkImgDataSrc[] imageData
private int[] compIdx
private int[] subsX
private int[] subsY
public ImgDataJoiner(BlkImgDataSrc[] imD, int[] cIdx)
Of course, the 2 arrays must have the same length (This length is the number of output components). The image width and height are definded to be the maximum values of all the input ImgData.
imD
- The list of input BlkImgDataSrc in an array.cIdx
- The component index associated with each ImgData.public int getTileWidth()
getTileWidth
in interface ImgData
public int getTileHeight()
getTileHeight
in interface ImgData
public int getNomTileWidth()
getNomTileWidth
in interface ImgData
public int getNomTileHeight()
getNomTileHeight
in interface ImgData
public int getImgWidth()
getImgWidth
in interface ImgData
public int getImgHeight()
getImgHeight
in interface ImgData
public int getNumComps()
getNumComps
in interface ImgData
public int getCompSubsX(int c)
getCompSubsX
in interface ImgData
c
- The index of the component (between 0 and N-1)ImgData
public int getCompSubsY(int c)
getCompSubsY
in interface ImgData
c
- The index of the component (between 0 and N-1)ImgData
public int getTileCompWidth(int t, int c)
getTileCompWidth
in interface ImgData
t
- Tile indexc
- The index of the component, from 0 to N-1.public int getTileCompHeight(int t, int c)
getTileCompHeight
in interface ImgData
t
- The tile index.c
- The index of the component, from 0 to N-1.public int getCompImgWidth(int c)
getCompImgWidth
in interface ImgData
c
- The index of the component, from 0 to N-1.public int getCompImgHeight(int n)
getCompImgHeight
in interface ImgData
n
- The index of the component, from 0 to N-1.public int getNomRangeBits(int c)
getNomRangeBits
in interface ImgData
c
- The index of the component.public int getFixedPoint(int c)
getFixedPoint
in interface BlkImgDataSrc
c
- The index of the component.public 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.
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)
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 void setTile(int x, int y)
public void nextTile()
public Point getTile(Point co)
public int getTileIdx()
getTileIdx
in interface ImgData
public int getCompULX(int c)
getCompULX
in interface ImgData
c
- The component index.public int getCompULY(int c)
getCompULY
in interface ImgData
c
- The component index.public int getTilePartULX()
getTilePartULX
in interface ImgData
public int getTilePartULY()
getTilePartULY
in interface ImgData
public int getImgULX()
public int getImgULY()
public Point getNumTiles(Point co)
getNumTiles
in interface ImgData
co
- If not null this object is used to return the information. If
null a new one is created and returned.public int getNumTiles()
getNumTiles
in interface ImgData
public String toString()
Copyright © 2017 Open Microscopy Environment