ucar.jpeg.icc.lut
Class MatrixBasedTransformTosRGB

java.lang.Object
  extended by ucar.jpeg.icc.lut.MatrixBasedTransformTosRGB

public class MatrixBasedTransformTosRGB
extends Object

Transform for applying ICCProfiling to an input DataBlk

Version:
1.0
Author:
Bruce A. Kern
See Also:
jj2000.j2k.image.DataBlkInt, jj2000.j2k.image.DataBlkFloat

Constructor Summary
MatrixBasedTransformTosRGB(RestrictedICCProfile ricc, int[] dwMaxValue, int[] dwShiftValue)
          Construct a 3 component transform based on an input RestricedICCProfile This transform will pass the input throught a floating point lut (LookUpTableFP), apply a matrix to the output and finally pass the intermediate buffer through a 8-bit lut (LookUpTable8).
 
Method Summary
 void apply(DataBlkFloat[] inb, DataBlkFloat[] outb)
          Performs the transform.
 void apply(DataBlkInt[] inb, DataBlkInt[] outb)
          Performs the transform.
 String toString()
          String representation of class
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MatrixBasedTransformTosRGB

public MatrixBasedTransformTosRGB(RestrictedICCProfile ricc,
                                  int[] dwMaxValue,
                                  int[] dwShiftValue)
Construct a 3 component transform based on an input RestricedICCProfile This transform will pass the input throught a floating point lut (LookUpTableFP), apply a matrix to the output and finally pass the intermediate buffer through a 8-bit lut (LookUpTable8). This operation will be designated (LFP*M*L8) * Data The operators (LFP*M*L8) are constructed here. Although the data for only one component is returned, the transformation must be done for all components, because the matrix application involves a linear combination of component input to produce the output.

Parameters:
ricc - input profile
dwMaxValue - clipping value for output.
dwMaxCols - number of columns to transform
dwMaxRows - number of rows to transform
Method Detail

toString

public String toString()
String representation of class

Overrides:
toString in class Object
Returns:
suitable representation for class

apply

public void apply(DataBlkInt[] inb,
                  DataBlkInt[] outb)
           throws MatrixBasedTransformException
Performs the transform. Pass the input throught the LookUpTableFP, apply the matrix to the output and finally pass the intermediate buffer through the LookUpTable8. This operation is designated (LFP*M*L8) * Data are already constructed. Although the data for only one component is returned, the transformation must be done for all components, because the matrix application involves a linear combination of component input to produce the output.

Parameters:
ncols - number of columns in the input
nrows - number of rows in the input
inb - input data block
outb - output data block
Throws:
MatrixBasedTransformException

apply

public void apply(DataBlkFloat[] inb,
                  DataBlkFloat[] outb)
           throws MatrixBasedTransformException
Performs the transform. Pass the input throught the LookUpTableFP, apply the matrix to the output and finally pass the intermediate buffer through the LookUpTable8. This operation is designated (LFP*M*L8) * Data are already constructed. Although the data for only one component is returned, the transformation must be done for all components, because the matrix application involves a linear combination of component input to produce the output.

Parameters:
ncols - number of columns in the input
nrows - number of rows in the input
inb - input data block
outb - output data block
Throws:
MatrixBasedTransformException


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.