C# Class CSJ2K.Color.SYccColorSpaceMapper

This decodes maps which are defined in the sYCC colorspace into the sRGB colorspadce.
Inheritance: ColorSpaceMapper
Show file Open project: cureos/csj2k Class Usage Examples

Protected Properties

Property Type Description
Matrix00 float
Matrix01 float
Matrix02 float
Matrix10 float
Matrix11 float
Matrix12 float
Matrix20 float
Matrix21 float
Matrix22 float

Public Methods

Method Description
ToString ( ) : System.String

Return a suitable String representation of the class instance.

createInstance ( CSJ2K.j2k.image.BlkImgDataSrc src, ColorSpace csMap ) : CSJ2K.j2k.image.BlkImgDataSrc

Factory method for creating instances of this class.

getCompData ( CSJ2K.j2k.image.DataBlk outblk, int c ) : CSJ2K.j2k.image.DataBlk

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.

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 has its 'progressive' attribute set to that of the input data.

getInternCompData ( CSJ2K.j2k.image.DataBlk out_Renamed, int c ) : CSJ2K.j2k.image.DataBlk

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 possible, the data in the returned 'DataBlk' should be the internal data itself, instead of a copy, in order to increase the data transfer efficiency. However, this depends on the particular implementation (it may be more convenient to just return a copy of the data). This is the reason why the returned data should not be modified.

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.

Protected Methods

Method Description
SYccColorSpaceMapper ( CSJ2K.j2k.image.BlkImgDataSrc src, ColorSpace csMap ) : System

Ctor which creates an ICCProfile for the image and initializes all data objects (input, working, and output).

Private Methods

Method Description
initialize ( ) : void

General utility used by ctors

mult ( CSJ2K.j2k.image.DataBlkFloat inblk ) : DataBlkFloat[]

Output a DataBlkFloat array where each sample in each component is the product of the YCC matrix * the vector of samples across the input components.

mult ( CSJ2K.j2k.image.DataBlkInt inblk ) : DataBlkInt[]

Output a DataBlkInt array where each sample in each component is the product of the YCC matrix * the vector of samples across the input components.

Method Details

SYccColorSpaceMapper() protected method

Ctor which creates an ICCProfile for the image and initializes all data objects (input, working, and output).
protected SYccColorSpaceMapper ( CSJ2K.j2k.image.BlkImgDataSrc src, ColorSpace csMap ) : System
src CSJ2K.j2k.image.BlkImgDataSrc -- Source of image data ///
csMap ColorSpace
return System

ToString() public method

Return a suitable String representation of the class instance.
public ToString ( ) : System.String
return System.String

createInstance() public static method

Factory method for creating instances of this class.
public static createInstance ( CSJ2K.j2k.image.BlkImgDataSrc src, ColorSpace csMap ) : CSJ2K.j2k.image.BlkImgDataSrc
src CSJ2K.j2k.image.BlkImgDataSrc -- source of image data ///
csMap ColorSpace -- provides colorspace info ///
return CSJ2K.j2k.image.BlkImgDataSrc

getCompData() public method

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.

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 has its 'progressive' attribute set to that of the input data.

public getCompData ( CSJ2K.j2k.image.DataBlk outblk, int c ) : CSJ2K.j2k.image.DataBlk
outblk CSJ2K.j2k.image.DataBlk
c int The index of the component from which to get the data. Only 0 /// and 3 are valid. /// ///
return CSJ2K.j2k.image.DataBlk

getInternCompData() public method

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 possible, the data in the returned 'DataBlk' should be the internal data itself, instead of a copy, in order to increase the data transfer efficiency. However, this depends on the particular implementation (it may be more convenient to just return a copy of the data). This is the reason why the returned data should not be modified.

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.

public getInternCompData ( CSJ2K.j2k.image.DataBlk out_Renamed, int c ) : CSJ2K.j2k.image.DataBlk
out_Renamed CSJ2K.j2k.image.DataBlk
c int The index of the component from which to get the data. /// ///
return CSJ2K.j2k.image.DataBlk

Property Details

Matrix00 protected static property

Matrix component for ycc transform.
protected static float Matrix00
return float

Matrix01 protected static property

Matrix component for ycc transform.
protected static float Matrix01
return float

Matrix02 protected static property

Matrix component for ycc transform.
protected static float Matrix02
return float

Matrix10 protected static property

Matrix component for ycc transform.
protected static float Matrix10
return float

Matrix11 protected static property

Matrix component for ycc transform.
protected static float Matrix11
return float

Matrix12 protected static property

Matrix component for ycc transform.
protected static float Matrix12
return float

Matrix20 protected static property

Matrix component for ycc transform.
protected static float Matrix20
return float

Matrix21 protected static property

Matrix component for ycc transform.
protected static float Matrix21
return float

Matrix22 protected static property

Matrix component for ycc transform.
protected static float Matrix22
return float