ComponentOne PdfViewer for WPF and Silverlight
C1.WPF.PdfViewer.4.6.2 Assembly / CSJ2K.j2k.image Namespace
Inheritance Hierarchy
In This Topic
    CSJ2K.j2k.image Namespace
    In This Topic
    Classes
     ClassDescription
    ClassThis class extends the ModuleSpec class in order to hold tile specifications for multiple component transformation
    ClassThis class represents 2-D coordinates.
    ClassThis 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.).

    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 (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.

    A block of data can have the progressive 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.

    The classes DataBlkInt and DataBlkFloat provide implementations for int and float types respectively.

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

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

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

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

    ClassThis 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.

    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.

    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.

    ClassThis 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.
    ClassThis 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).

    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).

    The input ImgData and component index list must be defined when constructing this class and can not be modified later.

    ClassThis 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.

    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.

    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.

    Interfaces
     InterfaceDescription
    Interface 
    InterfaceThis 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'.
    See Also