[]
        
(Showing Draft Content)

CSJ2K.j2k.image

CSJ2K.j2k.image Namespace

Classes

CompTransfSpec

This class extends the ModuleSpec class in order to hold tile specifications for multiple component transformation

Coord

This class represents 2-D coordinates.

DataBlk

This is a generic abstract class to store data from a block of an image. 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.).

       <p>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.</p><p>The member variable 'offset' gives the index in the array of the first
       data element (i.e. the top-left coefficient (ulx,uly)). 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. '(ulx,uly)' is the top-left coefficient), will appear at
       position 'offset+(y-uly)*scanw+(x-ulx)' in the array of data.</p><p>A block of data can have the <i>progressive</i> attribute set. Data is
       progressive when it is obtained by successive refinement and the values in
       this block are approximations of the "final" values. When the final values
       are returned the progressive attribute must be turned off.</p><p>The classes <tt>DataBlkInt</tt> and <tt>DataBlkFloat</tt> provide
       implementations for <tt>int</tt> and <tt>float</tt> types respectively.</p>

DataBlkFloat

This is an implementation of the DataBlk interface for 32 bit floating point data (float).

       <p>The methods in this class are declared final, so that they can be
       inlined by inlining compilers.</p>

DataBlkInt

This is an implementation of the DataBlk interface for signed 32 bit integral data.

       <p>The methods in this class are declared final, so that they can be
       inlined by inlining compilers.</p>

ImgDataAdapter

This class provides a default implementation of the methods in the 'ImgData' interface. The default implementation is just to return the value of the source, where the source is another 'ImgData' object.

       <p>This abstract class can be used to facilitate the development of other
       classes that implement 'ImgData'. For example a YCbCr color transform can
       inherit from this class and all the trivial methods do not have to be
       re-implemented.</p><p>If the default implementation of a method provided in this class does
       not suit a particular implementation of the 'ImgData' interface, the method
       can be overridden to implement the proper behavior.</p>

ImgDataConverter

This class is responsible of all data type conversions. It should be used, at encoder side, between Tiler and ForwardWT modules and, at decoder side, between InverseWT/CompDemixer and ImgWriter modules. The conversion is realized when a block of data is requested: if source and destination data type are the same one, it does nothing, else appropriate cast is done. All the methods of the 'ImgData' interface are implemented by the 'ImgDataAdapter' class that is the superclass of this one, so they don't need to be reimplemented by subclasses.

ImgDataJoiner

This class implements the ImgData interface and allows to obtain data from different sources. Here, one source is represented by an ImgData and a component index. The typical use of this class is when the encoder needs different components (Red, Green, Blue, alpha, ...) from different input files (i.e. from different ImgReader objects).

       <p>All input ImgData must not be tiled (i.e. must have only 1 tile) and the
       image origin must be the canvas origin. The different inputs can have
       different dimensions though (this will lead to different subsampling
       factors for each component).</p><p>The input ImgData and component index list must be defined when
       constructing this class and can not be modified later.</p>

Tiler

This class places an image in the canvas coordinate system, tiles it, if so specified, and performs the coordinate conversions transparently. The source must be a 'BlkImgDataSrc' which is not tiled and has a the image origin at the canvas origin (i.e. it is not "canvased"), or an exception is thrown by the constructor. A tiled and "canvased" output is given through the 'BlkImgDataSrc' interface. See the 'ImgData' interface for a description of the canvas and tiling.

       <p>All tiles produced are rectangular, non-overlapping and their union
       covers all the image. However, the tiling may not be uniform, depending on
       the nominal tile size, tiling origin, component subsampling and other
       factors. Therefore it might not be assumed that all tiles are of the same
       width and height.</p><p>The nominal dimension of the tiles is the maximal one, in the reference
       grid. All the components of the image have the same number of tiles.</p>

Interfaces

BlkImgDataSrc

ImgData

This interface defines methods to access image attributes (width, height, number of components, etc.). The image can be tiled or not (i.e. if the image is not tiled then there is only 1 tile). It should be implemented by all classes that provide image data, such as image file readers, color transforms, wavelet transforms, etc. This interface, however, does not define methods to transfer image data (i.e. pixel data), that is defined by other interfaces, such as 'BlkImgDataSrc'.