| java.lang.Object jj2000.j2k.wavelet.analysis.CBlkWTData
All known Subclasses: jj2000.j2k.wavelet.analysis.CBlkWTDataFloat, jj2000.j2k.wavelet.analysis.CBlkWTDataInt,
CBlkWTData | abstract public class CBlkWTData (Code) | | This is a generic abstract class to store a code-block of wavelet data, be
it quantized or not. This class does not have the notion of
components. Therefore, it should be used for data from a single
component. Subclasses should implement the different types of storage
(int, float, etc.).
The data is always stored in one array, of the type matching the data
type (i.e. for 'int' it's an 'int[]'). The data should be stored in the
array in standard scan-line order. That is the samples go from the top-left
corner of the code-block to the lower-right corner by line and then column.
The member variable 'offset' gives the index in the array of the first
data element (i.e. the top-left coefficient). The member variable 'scanw'
gives the width of the scan that is used to store the data, that can be
different from the width of the block. Element '(x,y)' of the code-block
(i.e. '(0,0)' is the top-left coefficient), will appear at position
'offset+y*scanw+x' in the array of data.
The classes CBlkWTDataInt and CBlkWTDataFloat
provide implementations for int and float types
respectively.
The types of data are the same as those defined by the 'DataBlk' class.
See Also: CBlkWTDataSrc See Also: jj2000.j2k.quantization.quantizer.CBlkQuantDataSrcEnc See Also: DataBlk See Also: CBlkWTDataInt See Also: CBlkWTDataFloat |
Field Summary | |
public double | convertFactor The value by which the absolute value of the data has to be divided in
order to get the real absolute value. | public int | h | public int | m | public int | magbits The number of magnitude bits in the integer representation. | public int | n | public int | nROIbp | public int | nROIcoeff | public int | offset | public SubbandAn | sb | public int | scanw | public double | stepSize The quantization step size of the code-block. | public int | ulx | public int | uly | public int | w | public float | wmseScaling The WMSE scaling factor (multiplicative) to apply to the distortion
measures of the data of this code-block. |
Method Summary | |
abstract public Object | getData() Returns the array containing the data, or null if there is no data. | abstract public int | getDataType() Returns the data type of the CBlkWTData object, as
defined in the DataBlk class. | abstract public void | setData(Object arr) Sets the data array to the specified one. | public String | toString() |
convertFactor | public double convertFactor(Code) | | The value by which the absolute value of the data has to be divided in
order to get the real absolute value. This value is useful to obtain
the complement of 2 representation of a coefficient that is currently
using the sign-magnitude representation.
|
h | public int h(Code) | | The height of the code-block
|
m | public int m(Code) | | The vertical index of the code-block, within the subband
|
magbits | public int magbits(Code) | | The number of magnitude bits in the integer representation. This is
only used for quantized wavelet data.
|
n | public int n(Code) | | The horizontal index of the code-block, within the subband
|
nROIbp | public int nROIbp(Code) | | Number of ROI magnitude bit-planes
|
nROIcoeff | public int nROIcoeff(Code) | | Number of ROI coefficients in the code-block
|
offset | public int offset(Code) | | The offset in the array of the top-left coefficient
|
scanw | public int scanw(Code) | | The width of the scanlines used to store the data in the array
|
stepSize | public double stepSize(Code) | | The quantization step size of the code-block. The value is updated by
the quantizer module
|
ulx | public int ulx(Code) | | The horizontal coordinate of the upper-left corner of the code-block
|
uly | public int uly(Code) | | The vertical coordinate of the upper left corner of the code-block
|
w | public int w(Code) | | The width of the code-block
|
wmseScaling | public float wmseScaling(Code) | | The WMSE scaling factor (multiplicative) to apply to the distortion
measures of the data of this code-block. By default it is 1.
|
getData | abstract public Object getData()(Code) | | Returns the array containing the data, or null if there is no data. The
returned array is of the type returned by getDataType() (e.g.,
for TYPE_INT, it is a int[]).
Each implementing class should provide a type specific equivalent
method (e.g., getDataInt() in DataBlkInt) which
returns an array of the correct type explicitely and not through an
Object.
The array containing the data, or null if there is nodata. See Also: CBlkWTData.getDataType |
getDataType | abstract public int getDataType()(Code) | | Returns the data type of the CBlkWTData object, as
defined in the DataBlk class.
The data type of the object, as defined in the DataBlk class. See Also: DataBlk |
setData | abstract public void setData(Object arr)(Code) | | Sets the data array to the specified one. The type of the specified
data array must match the one returned by getDataType() (e.g.,
for TYPE_INT, it should be a int[]). If the wrong
type of array is given a ClassCastException will be thrown.
The size of the array is not necessarily checked for consistency
with w and h or any other fields.
Each implementing class should provide a type specific equivalent
method (e.g., setDataInt() in DataBlkInt) which takes
an array of the correct type explicetely and not through an
Object.
Parameters: arr - The new data array to use See Also: CBlkWTData.getDataType |
toString | public String toString()(Code) | | Returns a string of informations about the DataBlk
Block dimensions and progressiveness in a string |
|
|