Class CBlkWTData
- Direct Known Subclasses:
CBlkWTDataFloat,CBlkWTDataInt
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptiondoubleThe value by which the absolute value of the data has to be divided in order to get the real absolute value.intThe height of the code-blockintThe vertical index of the code-block, within the subbandintThe number of magnitude bits in the integer representation.intThe horizontal index of the code-block, within the subbandintNumber of ROI magnitude bit-planesintNumber of ROI coefficients in the code-blockintThe offset in the array of the top-left coefficientThe subband in which this code-block is foundintThe width of the scanlines used to store the data in the arraydoubleThe quantization step size of the code-block.intThe horizontal coordinate of the upper-left corner of the code-blockintThe vertical coordinate of the upper left corner of the code-blockintThe width of the code-blockfloatThe WMSE scaling factor (multiplicative) to apply to the distortion measures of the data of this code-block. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract ObjectgetData()Returns the array containing the data, or null if there is no data.abstract intReturns the data type of the CBlkWTData object, as defined in the DataBlk class.abstract voidSets the data array to the specified one.toString()Returns a string of informations about the DataBlk
-
Field Details
-
ulx
public int ulxThe horizontal coordinate of the upper-left corner of the code-block -
uly
public int ulyThe vertical coordinate of the upper left corner of the code-block -
n
public int nThe horizontal index of the code-block, within the subband -
m
public int mThe vertical index of the code-block, within the subband -
sb
The subband in which this code-block is found -
w
public int wThe width of the code-block -
h
public int hThe height of the code-block -
offset
public int offsetThe offset in the array of the top-left coefficient -
scanw
public int scanwThe width of the scanlines used to store the data in the array -
magbits
public int magbitsThe number of magnitude bits in the integer representation. This is only used for quantized wavelet data. -
wmseScaling
public float wmseScalingThe WMSE scaling factor (multiplicative) to apply to the distortion measures of the data of this code-block. By default it is 1. -
convertFactor
public double convertFactorThe 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. -
stepSize
public double stepSizeThe quantization step size of the code-block. The value is updated by the quantizer module -
nROIcoeff
public int nROIcoeffNumber of ROI coefficients in the code-block -
nROIbp
public int nROIbpNumber of ROI magnitude bit-planes
-
-
Constructor Details
-
CBlkWTData
public CBlkWTData()
-
-
Method Details
-
getDataType
public abstract int getDataType()Returns the data type of the CBlkWTData object, as defined in the DataBlk class.- Returns:
- The data type of the object, as defined in the DataBlk class.
- See Also:
-
getData
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.
- Returns:
- The array containing the data, or null if there is no data.
- See Also:
-
setData
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:
-
toString
Returns a string of informations about the DataBlk
-