[]
        
(Showing Draft Content)

CSJ2K.j2k.image.forwcomptransf.ForwCompTransf

ForwCompTransf Class

This class apply component transformations to the tiles depending on user specifications. These transformations can be used to improve compression efficiency but are not related to colour transforms used to map colour values for display purposes. JPEG 2000 part I defines 2 component transformations: RCT (Reversible Component Transformation) and ICT (Irreversible Component Transformation).

Inheritance
ForwCompTransf
Implements
Namespace: CSJ2K.j2k.image.forwcomptransf
Assembly: C1.WPF.PdfViewer.4.6.2.dll
Syntax
public class ForwCompTransf : ImgDataAdapter, BlkImgDataSrc, ImgData

Constructors

Name Description
ForwCompTransf(BlkImgDataSrc, EncoderSpecs)

Constructs a new ForwCompTransf object that operates on the specified source of image data.

Fields

Name Description
FORW_ICT

Identifier for the Forward Irreversible Component Transformation (FORW_ICT). Value is 2

FORW_RCT

Identifier for the Forward Reversible Component Transformation (FORW_RCT). Value is 1.

NONE

Identifier for no component transformation. Value is 0.

OPT_PREFIX

The prefix for component transformation type: 'M'

Properties

Name Description
ParameterInfo

Returns the parameters that are used in this class and implementing classes. It returns a 2D String array. Each of the 1D arrays is for a different option, and they have 4 elements. The first element is the option name, the second one is the synopsis, the third one is a long description of what the parameter is and the fourth is its default value. The synopsis or description may be 'null', in which case it is assumed that there is no synopsis or description of the option, respectively. Null may be returned if no options are supported.

Reversible

Returns true if this transform is reversible in current tile. Reversible component transformations are those which operation can be completely reversed without any loss of information (not even due to rounding).

Methods

Name Description
ToString()

Returns a string with a descriptive text of which forward component transformation is used. This can be either "Forward RCT" or "Forward ICT" or "No component transformation" depending on the current tile.

calcMixedBitDepths(int[], int, int[])

Calculates the bitdepths of the transformed components, given the bitdepth of the un-transformed components and the component transformation type.

getCompData(DataBlk, int)

Apply forward component transformation associated with the current tile. If no component transformation has been requested by the user, data are not modified.

       <p>This method calls the getInternCompData() method, but respects the
       definitions of the getCompData() method defined in the BlkImgDataSrc
       interface.</p>
getFixedPoint(int)

Returns the position of the fixed point in the specified component. This is the position of the least significant integral (i.e. non-fractional) bit, which is equivalent to the number of fractional bits. For instance, for fixed-point values with 2 fractional bits, 2 is returned. For floating-point data this value does not apply and 0 should be returned. Position 0 is the position of the least significant bit in the data.

       <p>This default implementation assumes that the number of fractional
       bits is not modified by the component mixer.</p>
getInternCompData(DataBlk, int)

Apply the component transformation associated with the current tile. If no component transformation has been requested by the user, data are not modified. Else, appropriate method is called (forwRCT or forwICT).

getNomRangeBits(int)

Returns the number of bits, referred to as the "range bits", corresponding to the nominal range of the data in the specified component and in the current tile. If this number is b then for unsigned data the nominal range is between 0 and 2^b-1, and for signed data it is between -2^(b-1) and 2^(b-1)-1. Note that this value can be affected by the multiple component transform.

nextTile()

Goes to the next tile, in standard scan-line order (by rows then by columns). An NoNextElementException is thrown if the current tile is the last one (i.e. there is no next tile).

       <p>This default implementation just advances to the next tile in the
       source and re-initializes properly component transformation
       variables.</p>
setTile(int, int)

Changes the current tile, given the new indexes. An IllegalArgumentException is thrown if the indexes do not correspond to a valid tile.

       <p>This default implementation changes the tile in the source and
       re-initializes properly component transformation variables..</p>

See Also