<?xml version="1.0"?>
<doc>
    <assembly>
        <name>C1.Xaml.PdfViewer</name>
    </assembly>
    <members>
        <member name="T:FluxJpeg.Core.DCT">
            <summary>
            Implements the Discrete Cosine Transform with dynamic CIL
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.DCT.buildC">
            <summary>
            Precomputes cosine terms in A.3.3 of 
            http://www.w3.org/Graphics/JPEG/itu-t81.pdf
            
            Closely follows the term precomputation in the
            Java Advanced Imaging library.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.DCT.FastIDCT(System.Single[])">
            See figure A.3.3 IDCT (informative) on A-5.
            http://www.w3.org/Graphics/JPEG/itu-t81.pdf
        </member>
        <member name="M:FluxJpeg.Core.DecodedJpeg.Initialize">
            <summary>
            This method creates and fills three arrays, Y, Cb, and Cr using the input image.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.HuffmanTable.GenerateSizeTable">
            <summary>See Figure C.1</summary>
        </member>
        <member name="M:FluxJpeg.Core.HuffmanTable.GenerateCodeTable">
            <summary>See Figure C.2</summary>
        </member>
        <member name="M:FluxJpeg.Core.HuffmanTable.GenerateDecoderTables">
            <summary>See figure F.15</summary>
        </member>
        <member name="M:FluxJpeg.Core.HuffmanTable.Extend(System.Int32,System.Int32)">
            <summary>Figure F.12</summary>
        </member>
        <member name="M:FluxJpeg.Core.HuffmanTable.Decode(FluxJpeg.Core.IO.JPEGBinaryReader)">
            <summary>Figure F.16 - Reads the huffman code bit-by-bit.</summary>
        </member>
        <member name="M:FluxJpeg.Core.HuffmanTable.HuffmanBlockEncoder(System.IO.Stream,System.Int32[],System.Int32,System.Int32,System.Int32)">
            <summary>
            HuffmanBlockEncoder run length encodes and Huffman encodes the quantized data.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.HuffmanTable.bufferIt(System.IO.Stream,System.Int32,System.Int32)">
            <summary>
            Uses an integer long (32 bits) buffer to store the Huffman encoded bits
            and sends them to outStream by the byte.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.HuffmanTable.initHuf">
            <summary>
            Initialisation of the Huffman codes for Luminance and Chrominance.
            This code results in the same tables created in the IJG Jpeg-6a
            library.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.Decoder.JpegComponent.padMCU(System.Int32,System.Int32)">
            <summary>
            If a restart marker is found with too little of an MCU count (i.e. our
            Restart Interval is 63 and we have 61 we copy the last MCU until it's full)
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.Decoder.JpegComponent.resetInterval">
            <summary>
            Reset the interval by setting the previous DC value
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.Decoder.JpegComponent.quantizeData">
            <summary>
            Run the Quantization backward method on all of the block data.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.Decoder.JpegComponent.idctData">
            <summary>
            Run the Inverse DCT method on all of the block data
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.Decoder.JpegComponent.scaleByFactors(FluxJpeg.Core.Decoder.BlockUpsamplingMode)">
            <summary>
            Stretches components as needed to normalize the size of all components.
            For example, in a 2x1 (4:2:2) sequence, the Cr and Cb channels will be 
            scaled vertically by a factor of 2.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.Decoder.JpegComponent.decode_dc_coefficient(FluxJpeg.Core.IO.JPEGBinaryReader)">
            <summary>
            Generated from text on F-22, F.2.2.1 - Huffman decoding of DC
            coefficients on ISO DIS 10918-1. Requirements and Guidelines.
            </summary>
            <param name="JPEGStream">Stream that contains huffman bits</param>
            <returns>DC coefficient</returns>
        </member>
        <member name="M:FluxJpeg.Core.Decoder.JpegComponent.decode_ac_coefficients(FluxJpeg.Core.IO.JPEGBinaryReader,System.Single[])">
            <summary>
            Generated from text on F-23, F.13 - Huffman decoded of AC coefficients
            on ISO DIS 10918-1. Requirements and Guidelines.
            </summary>
        </member>
        <member name="F:FluxJpeg.Core.Decoder.BlockUpsamplingMode.BoxFilter">
            <summary> The simplest upsampling mode. Produces sharper edges. </summary>
        </member>
        <member name="F:FluxJpeg.Core.Decoder.BlockUpsamplingMode.Interpolate">
            <summary> Smoother upsampling. May improve color spread for some images. </summary>
        </member>
        <member name="F:FluxJpeg.Core.Decoder.JpegDecoder.MAJOR_VERSION">
            <summary>
            This decoder expects JFIF 1.02 encoding.
            </summary>
        </member>
        <member name="F:FluxJpeg.Core.Decoder.JpegDecoder.JFIF_FIXED_LENGTH">
            <summary>
            The length of the JFIF field not including thumbnail data.
            </summary>
        </member>
        <member name="F:FluxJpeg.Core.Decoder.JpegDecoder.JFXX_FIXED_LENGTH">
            <summary>
            The length of the JFIF extension field not including extension data.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.Decoder.JpegDecoder.TryParseJFIF(System.Byte[])">
            <summary>
            Tries to parse the JFIF APP0 header
            See http://en.wikipedia.org/wiki/JFIF
            </summary>
        </member>
        <member name="T:FluxJpeg.Core.JpegHuffmanTable">
            <summary>
             The JPEGHuffmanTable class represents a Huffman table read from a
             JPEG image file.  The standard JPEG AC and DC chrominance and
             luminance values are provided as static fields.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.JpegHuffmanTable.#ctor(System.Int16[],System.Int16[])">
            <summary>
            Construct and initialize a Huffman table. Copies are created of
            the array arguments. lengths[index] stores the number of Huffman
            values with Huffman codes of length index + 1. The values array
            stores the Huffman values in order of increasing code length.
            
            throws ArgumentException if either parameter is null, if
            lengths.Length > 16 or values.Length > 256, if any value in
            length or values is negative, or if the parameters do not
            describe a valid Huffman table
            </summary>
            <param name="lengths"> an array of Huffman code lengths</param>
            <param name="values">a sorted array of Huffman values</param>
        </member>
        <member name="M:FluxJpeg.Core.JpegHuffmanTable.#ctor(System.Int16[],System.Int16[],System.Boolean)">
            <summary>
            Private constructor that avoids unnecessary copying and argument checking.
            </summary>
            <param name="lengths">lengths an array of Huffman code lengths</param>
            <param name="values">a sorted array of Huffman values</param>
            <param name="copy">true if copies should be created of the given arrays</param>
        </member>
        <member name="P:FluxJpeg.Core.JpegHuffmanTable.Lengths">
            <summary>
             Retrieve the array of Huffman code lengths.  If the
             returned array is called lengthcount, there are
             lengthcount[index] codes of length index + 1.
            </summary>
        </member>
        <member name="F:FluxJpeg.Core.JpegQuantizationTable.K1Luminance">
            <summary>
            The standard JPEG luminance quantization table.  Values are
            stored in natural order.
            </summary>
        </member>
        <member name="F:FluxJpeg.Core.JpegQuantizationTable.K1Div2Luminance">
            <summary>
            The standard JPEG luminance quantization table, scaled by
            one-half.  Values are stored in natural order.
            </summary>
        </member>
        <member name="F:FluxJpeg.Core.JpegQuantizationTable.K2Chrominance">
            <summary>
            The standard JPEG chrominance quantization table.  Values are
            stored in natural order.
            </summary>
        </member>
        <member name="F:FluxJpeg.Core.JpegQuantizationTable.K2Div2Chrominance">
            <summary>
            The standard JPEG chrominance quantization table, scaled by
            one-half.  Values are stored in natural order.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.JpegQuantizationTable.#ctor(System.Int32[])">
            <summary>
            Construct a new JPEG quantization table.  A copy is created of
            the table argument.
            </summary>
            <param name="table">The 64-element value table, stored in natural order</param>
        </member>
        <member name="M:FluxJpeg.Core.JpegQuantizationTable.#ctor(System.Int32[],System.Boolean)">
            <summary>
            Private constructor that avoids unnecessary copying and argument
            checking.
            </summary>
            <param name="table">the 64-element value table, stored in natural order</param>
            <param name="copy">true if a copy should be created of the given table</param>
        </member>
        <member name="M:FluxJpeg.Core.JpegQuantizationTable.getScaledInstance(System.Single,System.Boolean)">
            <summary>
            Retrieve a copy of this JPEG quantization table with every value
            scaled by the given scale factor, and clamped from 1 to 255
            </summary>
            <param name="scaleFactor">the factor by which to scale this table</param>
            <param name="forceBaseline"> clamp scaled values to a maximum of 255 if baseline or from 1 to 32767 otherwise.</param>
            <returns>new scaled JPEG quantization table</returns>
        </member>
        <member name="M:FluxJpeg.Core.Image.ChangeColorSpace(FluxJpeg.Core.ColorSpace)">
            <summary>
            Converts the colorspace of an image (in-place)
            </summary>
            <param name="cs">Colorspace to convert into</param>
            <returns>Self</returns>
        </member>
        <member name="P:FluxJpeg.Core.Image.DensityX">
            <summary> X density (dots per inch).</summary>
        </member>
        <member name="P:FluxJpeg.Core.Image.DensityY">
            <summary> Y density (dots per inch).</summary>
        </member>
        <member name="T:FluxJpeg.Core.IO.BinaryReader">
            <summary>
            Big-endian binary reader
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.IO.JPEGBinaryReader.GetNextMarker">
            <summary>
            Seeks through the stream until a marker is found.
            </summary>
        </member>
        <member name="M:FluxJpeg.Core.IO.JPEGBinaryReader.ReadBits(System.Int32)">
            <summary>
            Places n bits from the stream, where the most-significant bits
            from the first byte read end up as the most-significant of the returned
            n bits.
            </summary>
            <param name="n">Number of bits to return</param>
            <returns>Integer containing the bits desired -- shifted all the way right.</returns>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.DHT">
            <summary>Huffman Table</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.DQT">
            <summary>Quantization Table</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOS">
            <summary>Start of Scan</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.DRI">
            <summary>Define Restart Interval</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.COM">
            <summary>Comment</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOI">
            <summary>Start of Image</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.EOI">
            <summary>End of Image</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.DNL">
            <summary>Define Number of Lines</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF0">
            <summary>Nondifferential Huffman-coding frame (baseline dct)</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF1">
            <summary>Nondifferential Huffman-coding frame (extended dct)</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF2">
            <summary>Nondifferential Huffman-coding frame (progressive dct)</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF3">
            <summary>Nondifferential Huffman-coding frame Lossless (Sequential)</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF5">
            <summary>Differential Huffman-coding frame Sequential DCT</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF6">
            <summary>Differential Huffman-coding frame Progressive DCT</summary> 
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF7">
            <summary>Differential Huffman-coding frame lossless</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF9">
            <summary>Nondifferential Arithmetic-coding frame (extended dct)</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF10">
            <summary>Nondifferential Arithmetic-coding frame (progressive dct)</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF11">
            <summary>Nondifferential Arithmetic-coding frame (lossless)</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF13">
            <summary>Differential Arithmetic-coding frame (sequential dct)</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF14">
            <summary>Differential Arithmetic-coding frame (progressive dct)</summary>
        </member>
        <member name="F:FluxJpeg.Core.JPEGMarker.SOF15">
            <summary>Differential Arithmetic-coding frame (lossless)</summary>
        </member>
        <member name="M:FluxJpeg.Core.YCbCr.fromRGB(System.Single[])">
            * RGB to YCbCr range 0-255 */
        </member>
        <member name="T:C1.Xaml.PdfViewer.LZWDecoder">
             A class for performing LZW decoding.
            
            
        </member>
        <member name="M:C1.Xaml.PdfViewer.LZWDecoder.Decode(System.Byte[],System.IO.Stream)">
             Method to decode LZW compressed data.
            
             @param data            The compressed data.
             @param uncompData      Array to return the uncompressed data in.
        </member>
        <member name="M:C1.Xaml.PdfViewer.LZWDecoder.InitializeStringTable">
            Initialize the string table.
        </member>
        <member name="M:C1.Xaml.PdfViewer.LZWDecoder.WriteString(System.Byte[])">
            Write out the string just uncompressed.
        </member>
        <member name="M:C1.Xaml.PdfViewer.LZWDecoder.AddStringToTable(System.Byte[],System.Byte)">
            Add a new string to the string table.
        </member>
        <member name="M:C1.Xaml.PdfViewer.LZWDecoder.AddStringToTable(System.Byte[])">
            Add a new string to the string table.
        </member>
        <member name="M:C1.Xaml.PdfViewer.LZWDecoder.ComposeString(System.Byte[],System.Byte)">
            Append <code>newstring</code> to the end of <code>oldstring</code>.
        </member>
        <member name="M:C1.Xaml.PdfViewer.TIFFFaxDecoder.#ctor(System.Int32,System.Int32,System.Int32)">
            @param fillOrder   The fill order of the compressed data bytes.
            @param w
            @param h
        </member>
        <member name="F:C1.Xaml.PdfViewer.TIFFFaxDecompressor.fillOrder">
            The logical order of bits within a byte.
            <pre>
            1 = MSB-to-LSB
            2 = LSB-to-MSB (flipped)
            </pre>
        </member>
        <member name="F:C1.Xaml.PdfViewer.TIFFFaxDecompressor.uncompressedMode">
            Uncompressed mode flag: 1 if uncompressed, 0 if not.
        </member>
        <member name="F:C1.Xaml.PdfViewer.TIFFFaxDecompressor.fillBits">
            EOL padding flag: 1 if fill bits have been added before an EOL such
            that the EOL ends on a byte boundary, 0 otherwise.
        </member>
        <member name="F:C1.Xaml.PdfViewer.TIFFFaxDecompressor.oneD">
            Coding dimensionality: 1 for 2-dimensional, 0 for 1-dimensional.
        </member>
        <member name="M:C1.Xaml.PdfViewer.TIFFFaxDecompressor.SetOptions(System.Int32,System.Int32,System.Int32,System.Int32)">
            Invokes the superclass method and then sets instance variables on
            the basis of the metadata set on this decompressor.
        </member>
        <member name="M:C1.Xaml.PdfViewer.CCITTFaxDecoder.#ctor(System.Int32,System.Int32,System.Int32)">
            @param fillOrder
                       The fill order of the compressed data bytes.
            @param w
            @param h
        </member>
        <member name="T:C1.Xaml.PdfViewer.GraphicsState">
            <summary>
            Keeps the state of the objects used for generating graphics 
            on the page (pen, brush, transforms, clipping region)
            </summary>
        </member>
        <member name="F:org.jpedal.jbig2.decoders.MMRDecoder.whiteTable1">
            <summary>
            white run lengths </summary>
        </member>
        <member name="F:org.jpedal.jbig2.decoders.MMRDecoder.blackTable1">
            <summary>
            black run lengths </summary>
        </member>
        <member name="M:org.jpedal.jbig2.image.JBIG2Bitmap.duplicateRow(System.Int32,System.Int32)">
            <summary>
            get a byte of pixels
            </summary>
        </member>
        <member name="M:org.jpedal.jbig2.image.JBIG2Bitmap.setPixel(System.Int32,System.Int32,org.jpedal.jbig2.image.JBIG2Bitmap.FastBitSet,System.Int32)">
            <summary>
            private static void setPixel(int col, int row, FastBitSet data, int value) {
            if (value == 1)
            	data.set(row, col);
            else
            	data.clear(row, col);
            }/*
            </summary>
        </member>
        <member name="T:org.jpedal.jbig2.image.JBIG2Bitmap.FastBitSet">
            <summary>
            Faster BitSet implementation. Does not perfom any bound checks.
             
            @author Boris von Loesch
            
            </summary>
        </member>
        <member name="M:org.jpedal.jbig2.JBIG2Decoder.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:org.jpedal.jbig2.JBIG2Decoder.decodeJBIG2(System.Byte[])">
            <summary>
            Decodes a JBIG2 image from a byte array </summary>
            <param name="data"> the raw data stream </param>
            <exception cref="T:System.IO.IOException"> </exception>
            <exception cref="T:org.jpedal.jbig2.JBIG2Exception"> </exception>
        </member>
        <member name="P:org.jpedal.jbig2.JBIG2Decoder.GlobalData">
            <summary>
            If the data stream is taken from a PDF, there may be some global data. Pass any global data
            in here.  Call this method before decodeJBIG2(...) </summary>
            <param name="data"> global data </param>
            <exception cref="T:System.IO.IOException"> </exception>
            <exception cref="T:org.jpedal.jbig2.JBIG2Exception"> </exception>
        </member>
        <member name="P:org.jpedal.jbig2.JBIG2Decoder.NumberOfPagesKnown">
            
            <param name="page">
            @return </param>
        </member>
        <member name="M:org.jpedal.jbig2.JBIG2Exception.#ctor">
            <summary>
            Constructs a <CODE>JBIGException</CODE> whithout a message.
            </summary>
        </member>
        <member name="M:org.jpedal.jbig2.JBIG2Exception.#ctor(System.String)">
            <summary>
            Constructs a <code>JBIGException</code> with a message.
            </summary>
            <param name="message">
                       a message describing the exception </param>
        </member>
        <member name="T:CSJ2K.Color.Boxes.ChannelDefinitionBox">
            <summary> This class maps the components in the codestream
            to channels in the image.  It models the Component
            Mapping box in the JP2 header.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="T:CSJ2K.Color.Boxes.JP2Box">
            <summary> The abstract super class modeling the aspects of
            a JP2 box common to all such boxes.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Color.Boxes.JP2Box.eol">
            <summary>Platform dependant line terminator </summary>
        </member>
        <member name="F:CSJ2K.Color.Boxes.JP2Box.type">
            <summary>Box type                           </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.JP2Box.getTypeString(System.Int32)">
            <summary>Return a String representation of the Box type. </summary>
        </member>
        <member name="F:CSJ2K.Color.Boxes.JP2Box.length">
            <summary>Length of the box.             </summary>
        </member>
        <member name="F:CSJ2K.Color.Boxes.JP2Box.in_Renamed">
            <summary>input file                     </summary>
        </member>
        <member name="F:CSJ2K.Color.Boxes.JP2Box.boxStart">
            <summary>offset to start of box         </summary>
        </member>
        <member name="F:CSJ2K.Color.Boxes.JP2Box.boxEnd">
            <summary>offset to end of box           </summary>
        </member>
        <member name="F:CSJ2K.Color.Boxes.JP2Box.dataStart">
            <summary>offset to start of data in box </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.JP2Box.#ctor(CSJ2K.j2k.io.RandomAccessIO,System.Int32)">
            <summary> Construct a JP2Box from an input image.</summary>
            <param name="in">RandomAccessIO jp2 image
            </param>
            <param name="boxStart">offset to the start of the box in the image
            </param>
            <exception cref="!:IOException,">ColorSpaceException 
            </exception>
        </member>
        <member name="M:CSJ2K.Color.Boxes.JP2Box.getTypeString">
            <summary>Return the box type as a String. </summary>
        </member>
        <member name="T:CSJ2K.Color.Boxes.JP2Box.BoxType">
            <summary>JP2 Box structure analysis help </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ChannelDefinitionBox.#ctor(CSJ2K.j2k.io.RandomAccessIO,System.Int32)">
            <summary> Construct a ChannelDefinitionBox from an input image.</summary>
            <param name="in">RandomAccessIO jp2 image
            </param>
            <param name="boxStart">offset to the start of the box in the image
            </param>
            <exception cref="!:IOException,">ColorSpaceException 
            </exception>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ChannelDefinitionBox.readBox">
            <summary>Analyze the box content. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ChannelDefinitionBox.ToString">
            <summary>Return a suitable String representation of the class instance. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ChannelDefinitionBox.getCn(System.Byte[])">
            <summary>Return the channel from the record.</summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ChannelDefinitionBox.getTyp(System.Byte[])">
            <summary>Return the channel type from the record.</summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ChannelDefinitionBox.getAsoc(System.Byte[])">
            <summary>Return the associated channel from the record.</summary>
        </member>
        <member name="T:CSJ2K.Color.Boxes.ComponentMappingBox">
            <summary> This class maps the components in the codestream
            to channels in the image.  It models the Component
            Mapping box in the JP2 header.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ComponentMappingBox.#ctor(CSJ2K.j2k.io.RandomAccessIO,System.Int32)">
            <summary> Construct a ComponentMappingBox from an input image.</summary>
            <param name="in">RandomAccessIO jp2 image
            </param>
            <param name="boxStart">offset to the start of the box in the image
            </param>
            <exception cref="!:IOException,">ColorSpaceException 
            </exception>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ComponentMappingBox.readBox">
            <summary>Analyze the box content. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ComponentMappingBox.getMTYP(System.Int32)">
            <summary>Return the channel type. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ComponentMappingBox.getPCOL(System.Int32)">
            <summary>Return the palette index for the channel. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ComponentMappingBox.ToString">
            <summary>Return a suitable String representation of the class instance. </summary>
        </member>
        <member name="T:CSJ2K.Color.Boxes.ImageHeaderBox">
            <summary> This class models the Image Header box contained in a JP2
            image.  It is a stub class here since for colormapping the
            knowlege of the existance of the box in the image is sufficient.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ImageHeaderBox.#ctor(CSJ2K.j2k.io.RandomAccessIO,System.Int32)">
            <summary> Construct an ImageHeaderBox from an input image.</summary>
            <param name="in">RandomAccessIO jp2 image
            </param>
            <param name="boxStart">offset to the start of the box in the image
            </param>
            <exception cref="!:IOException,">ColorSpaceException
            </exception>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ImageHeaderBox.ToString">
            <summary>Return a suitable String representation of the class instance. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ImageHeaderBox.readBox">
            <summary>Analyze the box content. </summary>
        </member>
        <member name="T:CSJ2K.Color.Boxes.PaletteBox">
            <summary> This class models the palette box contained in a JP2
            image.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Color.Boxes.PaletteBox.#ctor(CSJ2K.j2k.io.RandomAccessIO,System.Int32)">
            <summary> Construct a PaletteBox from an input image.</summary>
            <param name="in">RandomAccessIO jp2 image
            </param>
            <param name="boxStart">offset to the start of the box in the image
            </param>
            <exception cref="!:IOException,">ColorSpaceException 
            </exception>
        </member>
        <member name="M:CSJ2K.Color.Boxes.PaletteBox.readBox">
            <summary>Analyze the box content. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.PaletteBox.isSigned(System.Int32)">
            <summary>Are entries signed predicate. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.PaletteBox.isUnSigned(System.Int32)">
            <summary>Are entries unsigned predicate. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.PaletteBox.getBitDepth(System.Int32)">
            <summary>Return the bitdepth of palette entries. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.PaletteBox.getEntry(System.Int32,System.Int32)">
            <summary>Return an entry for a given index and column. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.PaletteBox.ToString">
            <summary>Return a suitable String representation of the class instance. </summary>
        </member>
        <member name="P:CSJ2K.Color.Boxes.PaletteBox.NumEntries">
            <summary>Return the number of palette entries. </summary>
        </member>
        <member name="P:CSJ2K.Color.Boxes.PaletteBox.NumColumns">
            <summary>Return the number of palette columns. </summary>
        </member>
        <member name="T:CSJ2K.Color.ChannelDefinitionMapper">
            <summary> This class is responsible for the mapping between
            requested components and image channels.
            
            </summary>
            <seealso cref="!:jj2000.j2k.colorspace.ColorSpace">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="T:CSJ2K.Color.ColorSpaceMapper">
            <summary> This is the base class for all modules in the colorspace and icc
            profiling steps of the decoding chain.  It is responsible for the
            allocation and iniitialization of all working storage.  It provides
            several utilities which are of generic use in preparing DataBlks
            for use and provides default implementations for the getCompData
            and getInternCompData methods.
            
            </summary>
            <seealso cref="!:jj2000.j2k.colorspace.ColorSpace">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="T:CSJ2K.j2k.image.ImgDataAdapter">
            <summary> 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>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.image.ImgData">
            <summary> 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'.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.image.BlkImgDataSrc">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal direction,
            for the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The horizontal subsampling factor of component 'c'
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical direction, for
            the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The vertical subsampling factor of component 'c'
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getTileCompWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in tile<tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getTileCompHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component.
            
            </summary>
            <param name="t">The tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in tile
            <tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getCompImgWidth(System.Int32)">
            <summary> Returns the width in pixels of the specified component in the overall
            image.
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getCompImgHeight(System.Int32)">
            <summary> Returns the height in pixels of the specified component in the overall
            image.
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height in pixels of component <tt>n</tt> in the overall
            image.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.ImgData.getNomRangeBits(System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.ImgData.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new indices. An
            IllegalArgumentException is thrown if the coordinates do not correspond
            to a valid tile.
            
            </summary>
            <param name="x">The horizontal index of the tile.
            
            </param>
            <param name="y">The vertical index of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). An NoNextElementException is thrown if the current tile is
            the last one (i.e. there is no next tile).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getTile(CSJ2K.j2k.image.Coord)">
            <summary> Returns the indixes of the current tile. These are the horizontal and
            vertical indexes of the current tile.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The current tile's indices (vertical and horizontal indexes).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getCompULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getCompULY(System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getNumTiles(CSJ2K.j2k.image.Coord)">
            <summary> Returns the number of tiles in the horizontal and vertical directions.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The number of tiles in the horizontal (Coord.x) and vertical
            (Coord.y) directions.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgData.getNumTiles">
            <summary> Returns the total number of tiles in the image.
            
            </summary>
            <returns> The total number of tiles in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.TileWidth">
            <summary> Returns the overall width of the current tile in pixels. This is the
            tile's width without accounting for any component subsampling. This is
            also referred as the reference grid width in the current tile.
            
            </summary>
            <returns> The total current tile's width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.TileHeight">
            <summary> Returns the overall height of the current tile in pixels. This is the
            tile's height without accounting for any component subsampling. This is
            also referred as the reference grid height in the current tile.
            
            </summary>
            <returns> The total current tile's height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.NomTileWidth">
            <summary>Returns the nominal tiles width </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.NomTileHeight">
            <summary>Returns the nominal tiles height </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.ImgWidth">
            <summary> Returns the overall width of the image in pixels. This is the image's
            width without accounting for any component subsampling or tiling.
            
            </summary>
            <returns> The total image's width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.ImgHeight">
            <summary> Returns the overall height of the image in pixels. This is the image's
            height without accounting for any component subsampling or tiling.
            
            </summary>
            <returns> The total image's height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.NumComps">
            <summary> Returns the number of components in the image.
            
            </summary>
            <returns> The number of components in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.TileIdx">
            <summary> Returns the index of the current tile, relative to a standard scan-line
            order.
            
            </summary>
            <returns> The current tile's index (starts at 0).
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.TilePartULX">
            <summary>Returns the horizontal tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.TilePartULY">
            <summary>Returns the vertical tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.ImgULX">
            <summary> Returns the horizontal coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            </summary>
            <returns> The horizontal coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgData.ImgULY">
            <summary> Returns the vertical coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            </summary>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataAdapter.tIdx">
            <summary>Index of the current tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataAdapter.imgdatasrc">
            <summary>The ImgData source </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.#ctor(CSJ2K.j2k.image.ImgData)">
            <summary> Instantiates the ImgDataAdapter object specifying the ImgData source.
            
            </summary>
            <param name="src">From where to obtain all the ImgData values.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal direction,
            for the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The horizontal subsampling factor of component 'c'
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical direction, for
            the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The vertical subsampling factor of component 'c'
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getTileCompWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component
            tile.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in tile<tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getTileCompHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="t">The tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in tile
            <tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getCompImgWidth(System.Int32)">
            <summary> Returns the width in pixels of the specified component in the overall
            image.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getCompImgHeight(System.Int32)">
            <summary> Returns the height in pixels of the specified component in the overall
            image.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.ImgDataAdapter.getNomRangeBits(System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.setTile(System.Int32,System.Int32)">
            <summary> 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 just changes the tile in the source.</p>
            
            </summary>
            <param name="x">The horizontal index of the tile.
            
            </param>
            <param name="y">The vertical index of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            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.</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getTile(CSJ2K.j2k.image.Coord)">
            <summary> Returns the indexes of the current tile. These are the horizontal and
            vertical indexes of the current tile.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The current tile's indexes (vertical and horizontal indexes).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getCompULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified component in the current tile.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getCompULY(System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified component in the current tile.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getNumTiles(CSJ2K.j2k.image.Coord)">
            <summary> Returns the number of tiles in the horizontal and vertical directions.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The number of tiles in the horizontal (Coord.x) and vertical
            (Coord.y) directions.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataAdapter.getNumTiles">
            <summary> Returns the total number of tiles in the image.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The total number of tiles in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.TileWidth">
            <summary> Returns the overall width of the current tile in pixels. This is the
            tile's width without accounting for any component subsampling. This is
            also referred as the reference grid width in the current tile.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The total current tile's width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.TileHeight">
            <summary> Returns the overall height of the current tile in pixels. This is the
            tile's height without accounting for any component subsampling. This is
            also referred as the reference grid height in the current tile.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The total current tile's height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.NomTileWidth">
            <summary>Returns the nominal tiles width </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.NomTileHeight">
            <summary>Returns the nominal tiles height </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.ImgWidth">
            <summary> Returns the overall width of the image in pixels. This is the image's
            width without accounting for any component subsampling or tiling.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The total image's width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.ImgHeight">
            <summary> Returns the overall height of the image in pixels. This is the image's
            height without accounting for any component subsampling or tiling.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The total image's height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.NumComps">
            <summary> Returns the number of components in the image.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The number of components in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.TileIdx">
            <summary> Returns the index of the current tile, relative to a standard scan-line
            order.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The current tile's index (starts at 0).
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.TilePartULX">
            <summary>Returns the horizontal tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.TilePartULY">
            <summary>Returns the vertical tile offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.ImgULX">
            <summary> Returns the horizontal coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The horizontal coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataAdapter.ImgULY">
            <summary> Returns the vertical coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.image.BlkImgDataSrc" -->
        <member name="M:CSJ2K.j2k.image.BlkImgDataSrc.getFixedPoint(System.Int32)">
            <summary> Returns the position of the fixed point in the specified component, or
            equivalently the number of fractional bits. 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.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point, which is the same as the
            number of fractional bits. For floating-point data 0 is returned.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.BlkImgDataSrc.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.BlkImgDataSrc.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="F:CSJ2K.Color.ColorSpaceMapper.OPT_PREFIX">
            <summary>The prefix for ICC Profiler options </summary>
        </member>
        <member name="F:CSJ2K.Color.ColorSpaceMapper.eol">
            <summary>Platform dependant end of line String. </summary>
        </member>
        <member name="F:CSJ2K.Color.ColorSpaceMapper.pinfo">
            <summary>The list of parameters that are accepted for ICC profiling.</summary>
        </member>
        <member name="F:CSJ2K.Color.ColorSpaceMapper.pl">
            <summary>Parameter Specs </summary>
        </member>
        <member name="F:CSJ2K.Color.ColorSpaceMapper.csMap">
            <summary>ColorSpace info </summary>
        </member>
        <member name="F:CSJ2K.Color.ColorSpaceMapper.ncomps">
            <summary>Number of image components </summary>
        </member>
        <member name="F:CSJ2K.Color.ColorSpaceMapper.src">
            <summary>The image source. </summary>
        </member>
        <member name="F:CSJ2K.Color.ColorSpaceMapper.srcBlk">
            <summary>The image source data per component. </summary>
        </member>
        <member name="M:CSJ2K.Color.ColorSpaceMapper.copyGeometry(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.image.DataBlk)">
            <summary> Copy the DataBlk geometry from source to target
            DataBlk and assure that the target has an appropriate
            data buffer.
            </summary>
            <param name="tgt">has its geometry set.
            </param>
            <param name="src">used to get the new geometric parameters.
            </param>
        </member>
        <member name="M:CSJ2K.Color.ColorSpaceMapper.createInstance(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Factory method for creating instances of this class.</summary>
            <param name="src">-- source of image data
            </param>
            <param name="csMap">-- provides colorspace info
            </param>
            <returns> ColorSpaceMapper instance
            </returns>
            <exception cref="!:IOException">profile access exception
            </exception>
        </member>
        <member name="M:CSJ2K.Color.ColorSpaceMapper.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Ctor which creates an ICCProfile for the image and initializes
            all data objects (input, working, and output).
            
            </summary>
            <param name="src">-- Source of image data
            </param>
            <param name="csm">-- provides colorspace info
            
            </param>
        </member>
        <member name="M:CSJ2K.Color.ColorSpaceMapper.initialize">
            <summary>General utility used by ctors </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.ColorSpaceMapper.getFixedPoint(System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.ColorSpaceMapper.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.ColorSpaceMapper.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="P:CSJ2K.Color.ColorSpaceMapper.ParameterInfo">
            <summary> 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 3 elements. The first element is the
            option name, the second one is the synopsis and the third one is a long
            description of what the parameter is. 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, or null
            if no options are supported.
            
            </returns>
        </member>
        <member name="P:CSJ2K.Color.ColorSpaceMapper.InternalBuffer">
            <summary> Arrange for the input DataBlk to receive an
            appropriately sized and typed data buffer
            </summary>
            <param name="db">input DataBlk
            </param>
            <seealso cref="!:jj2000.j2k.image.DataBlk">
            </seealso>
        </member>
        <member name="M:CSJ2K.Color.ChannelDefinitionMapper.createInstance(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Factory method for creating instances of this class.</summary>
            <param name="src">-- source of image data
            </param>
            <param name="csMap">-- provides colorspace info
            </param>
            <returns> ChannelDefinitionMapper instance
            </returns>
            <exception cref="T:CSJ2K.Color.ColorSpaceException">
            </exception>
        </member>
        <member name="M:CSJ2K.Color.ChannelDefinitionMapper.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Ctor which creates an ICCProfile for the image and initializes
            all data objects (input, working, and output).
            
            </summary>
            <param name="src">-- Source of image data
            </param>
            <param name="csm">-- provides colorspace info
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.ChannelDefinitionMapper.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.ChannelDefinitionMapper.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.ChannelDefinitionMapper.getFixedPoint(System.Int32)" -->
        <member name="T:CSJ2K.Color.ColorSpace">
            <summary> This class analyzes the image to provide colorspace
            information for the decoding chain.  It does this by
            examining the box structure of the JP2 image.
            It also provides access to the parameter list information,
            which is stored as a public final field.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.ICCProfile">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Color.ColorSpace.pl">
            <summary>Parameter Specs </summary>
        </member>
        <member name="F:CSJ2K.Color.ColorSpace.hd">
            <summary>Parameter Specs </summary>
        </member>
        <member name="F:CSJ2K.Color.ColorSpace.in_Renamed">
            <summary>Input image </summary>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.indent(System.String,System.Text.StringBuilder)">
            <summary>Indent a String that contains newlines. </summary>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.indent(System.String,System.String)">
            <summary>Indent a String that contains newlines. </summary>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.#ctor(CSJ2K.j2k.io.RandomAccessIO,CSJ2K.j2k.codestream.reader.HeaderDecoder,CSJ2K.j2k.util.ParameterList)">
            <summary> public constructor which takes in the image, parameterlist and the
            image header decoder as args.
            </summary>
            <param name="in">input RandomAccess image file.
            </param>
            <param name="hd">provides information about the image header.
            </param>
            <param name="pl">provides parameters from the default and commandline lists. 
            </param>
            <exception cref="!:IOException,">ColorSpaceException
            </exception>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.getBoxes">
            <summary> Retrieve the various boxes from the JP2 file.</summary>
            <exception cref="!:ColorSpaceException,">IOException
            </exception>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.getChannelDefinition(System.Int32)">
            <summary>Return the channel definition of the input component. </summary>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.getColorSpace">
            <summary>Return the colorspace (sYCC, sRGB, sGreyScale). </summary>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.getPaletteChannelBits(System.Int32)">
            <summary>Return bitdepth of the palette entries. </summary>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.getPalettizedSample(System.Int32,System.Int32)">
            <summary> Return a palettized sample</summary>
            <param name="channel">requested 
            </param>
            <param name="index">of entry
            </param>
            <returns> palettized sample
            </returns>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.isOutputSigned(System.Int32)">
            <summary>Signed output predicate. </summary>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.ToString">
            <summary>Return a suitable String representation of the class instance. </summary>
        </member>
        <member name="M:CSJ2K.Color.ColorSpace.debugging">
            <summary> Are profiling diagnostics turned on</summary>
            <returns> yes or no
            </returns>
        </member>
        <member name="P:CSJ2K.Color.ColorSpace.ICCProfile">
            <summary> Retrieve the ICC profile from the images as
            a byte array.
            </summary>
            <returns> the ICC Profile as a byte [].
            </returns>
        </member>
        <member name="P:CSJ2K.Color.ColorSpace.Method">
            <summary>Return the colorspace method (Profiled, enumerated, or palettized). </summary>
        </member>
        <member name="P:CSJ2K.Color.ColorSpace.PaletteBox">
            <summary>Return number of channels in the palette. </summary>
        </member>
        <member name="P:CSJ2K.Color.ColorSpace.PaletteChannels">
            <summary>Return number of channels in the palette. </summary>
        </member>
        <member name="P:CSJ2K.Color.ColorSpace.Palettized">
            <summary>Is palettized predicate. </summary>
        </member>
        <member name="T:CSJ2K.Color.ColorSpaceException">
            <summary> This exception is thrown when the content of an
            image contains an incorrect colorspace box
            
            </summary>
            <seealso cref="!:jj2000.j2k.colorspace.ColorSpaceMapper">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Color.ColorSpaceException.#ctor(System.String)">
            <summary> Contruct with message</summary>
            <param name="msg">returned by getMessage()
            </param>
        </member>
        <member name="M:CSJ2K.Color.ColorSpaceException.#ctor">
            <summary> Empty constructor</summary>
        </member>
        <member name="T:CSJ2K.Color.Boxes.ColorSpecificationBox">
            <summary> This class models the Color Specification Box in a JP2 image.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ColorSpecificationBox.#ctor(CSJ2K.j2k.io.RandomAccessIO,System.Int32)">
            <summary> Construct a ColorSpecificationBox from an input image.</summary>
            <param name="in">RandomAccessIO jp2 image
            </param>
            <param name="boxStart">offset to the start of the box in the image
            </param>
            <exception cref="!:IOException,">ColorSpaceException 
            
            </exception>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ColorSpecificationBox.readBox">
            <summary>Analyze the box content. </summary>
        </member>
        <member name="M:CSJ2K.Color.Boxes.ColorSpecificationBox.ToString">
            <summary>Return a suitable String representation of the class instance. </summary>
        </member>
        <member name="T:CSJ2K.Color.EnumeratedColorSpaceMapper">
            <summary> This class provides Enumerated ColorSpace API for the jj2000.j2k imaging chain
            by implementing the BlkImgDataSrc interface, in particular the getCompData
            and getInternCompData methods.
            
            </summary>
            <seealso cref="!:jj2000.j2k.colorspace.ColorSpace">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Color.EnumeratedColorSpaceMapper.createInstance(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Factory method for creating instances of this class.</summary>
            <param name="src">-- source of image data
            </param>
            <param name="csMap">-- provides colorspace info
            </param>
            <returns> EnumeratedColorSpaceMapper instance
            </returns>
        </member>
        <member name="M:CSJ2K.Color.EnumeratedColorSpaceMapper.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Ctor which creates an ICCProfile for the image and initializes
            all data objects (input, working, and output).
            
            </summary>
            <param name="src">-- Source of image data
            </param>
            <param name="csm">-- provides colorspace info
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.EnumeratedColorSpaceMapper.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.EnumeratedColorSpaceMapper.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="T:CSJ2K.Color.EsRgbColorSpaceMapper">
            <summary> This decodes maps which are defined in the e-sRGB 
            colorspace into the sRGB colorspace.
            
            </summary>
            <seealso cref="!:jj2000.j2k.colorspace.ColorSpace">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Jason S. Clary
            </author>
        </member>
        <member name="M:CSJ2K.Color.EsRgbColorSpaceMapper.createInstance(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Factory method for creating instances of this class.</summary>
            <param name="src">-- source of image data
            </param>
            <param name="csMap">-- provides colorspace info
            </param>
            <returns> SYccColorSpaceMapper instance
            </returns>
        </member>
        <member name="M:CSJ2K.Color.EsRgbColorSpaceMapper.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Ctor which creates an ICCProfile for the image and initializes
            all data objects (input, working, and output).
            
            </summary>
            <param name="src">-- Source of image data
            </param>
            <param name="csm">-- provides colorspace info
            </param>
        </member>
        <member name="M:CSJ2K.Color.EsRgbColorSpaceMapper.initialize">
            <summary>General utility used by ctors </summary>
        </member>
        <member name="M:CSJ2K.Color.EsRgbColorSpaceMapper.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> 
            <para>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".</para>
            
            <para>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.</para>
            
            <para>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.</para>
            
            <para>The returned data has its 'progressive' attribute set to that of the
            input data.</para>
            
            </summary>
            <param name="blk">Its coordinates and dimensions specify the area to
            return. If it contains a non-null data array, then it must have the
            correct dimensions. If it contains a null data array a new one is
            created. The fields in this object are modified to return the data.
            
            </param>
            <param name="c">The index of the component from which to get the data. Only 0
            and 3 are valid.
            
            </param>
            <returns> The requested DataBlk
            </returns>
            <seealso cref="M:CSJ2K.Color.EsRgbColorSpaceMapper.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.EsRgbColorSpaceMapper.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="M:CSJ2K.Color.EsRgbColorSpaceMapper.ToString">
            <summary>Return a suitable String representation of the class instance. </summary>
        </member>
        <member name="T:CSJ2K.Color.PalettizedColorSpaceMapper">
            <summary> This class provides decoding of images with palettized colorspaces.
            Here each sample in the input is treated as an index into a color
            palette of triplet sRGB output values.
            
            </summary>
            <seealso cref="!:jj2000.j2k.colorspace.ColorSpace">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Color.PalettizedColorSpaceMapper.pbox">
            <summary>Access to the palette box information. </summary>
        </member>
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.createInstance(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Factory method for creating instances of this class.</summary>
            <param name="src">-- source of image data
            </param>
            <param name="csMap">-- provides colorspace info
            </param>
            <returns> PalettizedColorSpaceMapper instance
            </returns>
        </member>
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Ctor which creates an ICCProfile for the image and initializes
            all data objects (input, working, and output).
            
            </summary>
            <param name="src">-- Source of image data
            </param>
            <param name="csm">-- provides colorspace info
            </param>
        </member>
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.initialize">
            <summary>General utility used by ctors </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.PalettizedColorSpaceMapper.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.PalettizedColorSpaceMapper.ToString" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.PalettizedColorSpaceMapper.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.PalettizedColorSpaceMapper.getNomRangeBits(System.Int32)" -->
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal direction,
            for the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The horizontal subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical direction, for
            the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The vertical subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.getTileCompWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in tile<tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.getTileCompHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component.
            
            </summary>
            <param name="t">The tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in tile
            <tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.getCompImgWidth(System.Int32)">
            <summary> Returns the width in pixels of the specified component in the overall
            image.
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.PalettizedColorSpaceMapper.getCompImgHeight(System.Int32)" -->
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.getCompULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
        </member>
        <member name="M:CSJ2K.Color.PalettizedColorSpaceMapper.getCompULY(System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
        </member>
        <member name="P:CSJ2K.Color.PalettizedColorSpaceMapper.NumComps">
            <summary> Returns the number of components in the image.
            
            </summary>
            <returns> The number of components in the image.
            </returns>
        </member>
        <member name="T:CSJ2K.Color.Resampler">
            <summary> This class resamples the components of an image so that
            all have the same number of samples.  The current implementation
            only handles the case of 2:1 upsampling.
            
            </summary>
            <seealso cref="!:jj2000.j2k.colorspace.ColorSpace">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Color.Resampler.createInstance(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Factory method for creating instances of this class.</summary>
            <param name="src">-- source of image data
            </param>
            <param name="csMap">-- provides colorspace info
            </param>
            <returns> Resampler instance
            </returns>
        </member>
        <member name="M:CSJ2K.Color.Resampler.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Ctor resamples a BlkImgDataSrc so that all components
            have the same number of samples.
            
            Note the present implementation does only two to one
            respampling in either direction (row, column).
            
            </summary>
            <param name="src">-- Source of image data
            </param>
            <param name="csm">-- provides colorspace info
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.Resampler.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="M:CSJ2K.Color.Resampler.ToString">
            <summary> Return an appropriate String representation of this Resampler instance.</summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.Resampler.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="M:CSJ2K.Color.Resampler.getCompImgHeight(System.Int32)">
            <summary> Returns the height in pixels of the specified component in the
            overall image.
            </summary>
        </member>
        <member name="M:CSJ2K.Color.Resampler.getCompImgWidth(System.Int32)">
            <summary> Returns the width in pixels of the specified component in the
            overall image.
            </summary>
        </member>
        <member name="M:CSJ2K.Color.Resampler.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal
            direction, for the specified component.
            </summary>
        </member>
        <member name="M:CSJ2K.Color.Resampler.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical
            direction, for the specified component.
            </summary>
        </member>
        <member name="M:CSJ2K.Color.Resampler.getTileCompHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component.</summary>
        </member>
        <member name="M:CSJ2K.Color.Resampler.getTileCompWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component..</summary>
        </member>
        <member name="T:CSJ2K.Color.SYccColorSpaceMapper">
            <summary> This decodes maps which are defined in the sYCC 
            colorspace into the sRGB colorspadce.
            
            </summary>
            <seealso cref="!:jj2000.j2k.colorspace.ColorSpace">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Color.SYccColorSpaceMapper.Matrix00">
            <summary>Matrix component for ycc transform. </summary>
        </member>
        <member name="F:CSJ2K.Color.SYccColorSpaceMapper.Matrix01">
            <summary>Matrix component for ycc transform. </summary>
        </member>
        <member name="F:CSJ2K.Color.SYccColorSpaceMapper.Matrix02">
            <summary>Matrix component for ycc transform. </summary>
        </member>
        <member name="F:CSJ2K.Color.SYccColorSpaceMapper.Matrix10">
            <summary>Matrix component for ycc transform. </summary>
        </member>
        <member name="F:CSJ2K.Color.SYccColorSpaceMapper.Matrix11">
            <summary>Matrix component for ycc transform. </summary>
        </member>
        <member name="F:CSJ2K.Color.SYccColorSpaceMapper.Matrix12">
            <summary>Matrix component for ycc transform. </summary>
        </member>
        <member name="F:CSJ2K.Color.SYccColorSpaceMapper.Matrix20">
            <summary>Matrix component for ycc transform. </summary>
        </member>
        <member name="F:CSJ2K.Color.SYccColorSpaceMapper.Matrix21">
            <summary>Matrix component for ycc transform. </summary>
        </member>
        <member name="F:CSJ2K.Color.SYccColorSpaceMapper.Matrix22">
            <summary>Matrix component for ycc transform. </summary>
        </member>
        <member name="M:CSJ2K.Color.SYccColorSpaceMapper.createInstance(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Factory method for creating instances of this class.</summary>
            <param name="src">-- source of image data
            </param>
            <param name="csMap">-- provides colorspace info
            </param>
            <returns> SYccColorSpaceMapper instance
            </returns>
        </member>
        <member name="M:CSJ2K.Color.SYccColorSpaceMapper.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Ctor which creates an ICCProfile for the image and initializes
            all data objects (input, working, and output).
            
            </summary>
            <param name="src">-- Source of image data
            </param>
            <param name="csm">-- provides colorspace info
            </param>
        </member>
        <member name="M:CSJ2K.Color.SYccColorSpaceMapper.initialize">
            <summary>General utility used by ctors </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.SYccColorSpaceMapper.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Color.SYccColorSpaceMapper.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="M:CSJ2K.Color.SYccColorSpaceMapper.mult(CSJ2K.j2k.image.DataBlkFloat[])">
            <summary> 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.
            </summary>
            <param name="inblk">input DataBlkFloat array
            </param>
            <returns> output DataBlkFloat array
            </returns>
        </member>
        <member name="M:CSJ2K.Color.SYccColorSpaceMapper.mult(CSJ2K.j2k.image.DataBlkInt[])">
            <summary> 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.
            </summary>
            <param name="inblk">input DataBlkInt array
            </param>
            <returns> output DataBlkInt array
            </returns>
        </member>
        <member name="M:CSJ2K.Color.SYccColorSpaceMapper.ToString">
            <summary>Return a suitable String representation of the class instance. </summary>
        </member>
        <member name="T:CSJ2K.Icc.ICCMatrixBasedInputProfile">
            <summary> This class enables an application to construct an 3 component ICCProfile
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="T:CSJ2K.Icc.ICCProfile">
            <summary>  This class models the ICCProfile file.  This file is a binary file which is divided 
            into two parts, an ICCProfileHeader followed by an ICCTagTable. The header is a 
            straightforward list of descriptive parameters such as profile size, version, date and various
            more esoteric parameters.  The tag table is a structured list of more complexly aggragated data
            describing things such as ICC curves, copyright information, descriptive text blocks, etc.
            
            Classes exist to model the header and tag table and their various constituent parts the developer
            is refered to these for further information on the structure and contents of the header and tag table.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.types.ICCProfileHeader">
            </seealso>
            <seealso cref="!:jj2000.j2k.icc.tags.ICCTagTable">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.GRAY">
            <summary>Gray index. </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.RED">
            <summary>RGB index.  </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.GREEN">
            <summary>RGB index.  </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.BLUE">
            <summary>RGB index.  </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.boolean_size">
            <summary>Size of native type </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.byte_size">
            <summary>Size of native type </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.char_size">
            <summary>Size of native type </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.short_size">
            <summary>Size of native type </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.int_size">
            <summary>Size of native type </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.float_size">
            <summary>Size of native type </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.long_size">
            <summary>Size of native type </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.double_size">
            <summary>Size of native type </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kMonochromeInput">
            <summary>input type   </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kThreeCompInput">
            <summary>input type   </summary>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getIntFromString(System.String)">
            <summary> Creates an int from a 4 character String</summary>
            <param name="fourChar">string representation of an integer
            </param>
            <returns> the integer which is denoted by the input String.
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getXYZNumber(System.Byte[],System.Int32)">
            <summary> Create an XYZNumber from byte [] input</summary>
            <param name="data">array containing the XYZNumber representation
            </param>
            <param name="offset">start of the rep in the array
            </param>
            <returns> the created XYZNumber
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getICCProfileVersion(System.Byte[],System.Int32)">
            <summary> Create an ICCProfileVersion from byte [] input</summary>
            <param name="data">array containing the ICCProfileVersion representation
            </param>
            <param name="offset">start of the rep in the array
            </param>
            <returns>  the created ICCProfileVersion
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getICCDateTime(System.Byte[],System.Int32)">
            <summary> Create an ICCDateTime from byte [] input</summary>
            <param name="data">array containing the ICCProfileVersion representation
            </param>
            <param name="offset">start of the rep in the array
            </param>
            <returns> the created ICCProfileVersion
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getString(System.Byte[],System.Int32,System.Int32,System.Boolean)">
            <summary> Create a String from a byte []. Optionally swap adjacent byte
            pairs.  Intended to be used to create integer String representations
            allowing for endian translations.
            </summary>
            <param name="bfr">data array
            </param>
            <param name="offset">start of data in array
            </param>
            <param name="length">length of data in array
            </param>
            <param name="swap">swap adjacent bytes?
            </param>
            <returns> String rep of data
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getShort(System.Byte[],System.Int32,System.Boolean)">
            <summary> Create a short from a two byte [], with optional byte swapping.</summary>
            <param name="bfr">data array
            </param>
            <param name="off">start of data in array
            </param>
            <param name="swap">swap bytes?
            </param>
            <returns> native type from representation.
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getShort(System.Byte[],System.Int32)">
            <summary> Create a short from a two byte [].</summary>
            <param name="bfr">data array
            </param>
            <param name="off">start of data in array
            </param>
            <returns> native type from representation.
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.setInt(System.Int32)">
            <summary> Separate bytes in an int into a byte array lsb to msb order.</summary>
            <param name="d">integer to separate
            </param>
            <returns> byte [] containing separated int.
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.setInt(System.Int32,System.Byte[])">
            <summary> Separate bytes in an int into a byte array lsb to msb order.
            Return the result in the provided array
            </summary>
            <param name="d">integer to separate
            </param>
            <param name="b">return output here.
            </param>
            <returns> reference to output.
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.setLong(System.Int64)">
            <summary> Separate bytes in a long into a byte array lsb to msb order.</summary>
            <param name="d">long to separate
            </param>
            <returns> byte [] containing separated int.
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.setLong(System.Int64,System.Byte[])">
            <summary> Separate bytes in a long into a byte array lsb to msb order.
            Return the result in the provided array
            </summary>
            <param name="d">long to separate
            </param>
            <param name="b">return output here.
            </param>
            <returns> reference to output.
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getInt(System.Byte[],System.Int32,System.Boolean)">
            <summary> Create an int from a byte [4], with optional byte swapping.</summary>
            <param name="bfr">data array
            </param>
            <param name="off">start of data in array
            </param>
            <param name="swap">swap bytes?
            </param>
            <returns> native type from representation.
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getInt(System.Byte[],System.Int32)">
            <summary> Create an int from a byte [4].</summary>
            <param name="bfr">data array
            </param>
            <param name="off">start of data in array
            </param>
            <returns> native type from representation.
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.getLong(System.Byte[],System.Int32)">
            <summary> Create an long from a byte [8].</summary>
            <param name="bfr">data array
            </param>
            <param name="off">start of data in array
            </param>
            <returns> native type from representation.
            </returns>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwProfileSignature">
            <summary>signature    </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwProfileSigReverse">
            <summary>signature    </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwInputProfile">
            <summary>profile type </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwDisplayProfile">
            <summary>tag type     </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwRGBData">
            <summary>tag type     </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwGrayData">
            <summary>tag type     </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwXYZData">
            <summary>tag type     </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwGrayTRCTag">
            <summary>tag signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwRedColorantTag">
            <summary>tag signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwGreenColorantTag">
            <summary>tag signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwBlueColorantTag">
            <summary>tag signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwRedTRCTag">
            <summary>tag signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwGreenTRCTag">
            <summary>tag signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwBlueTRCTag">
            <summary>tag signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwCopyrightTag">
            <summary>tag signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwMediaWhiteTag">
            <summary>tag signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfile.kdwProfileDescTag">
            <summary>tag signature </summary>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.#ctor(CSJ2K.Color.ColorSpace)">
            <summary> ParameterList constructor </summary>
            <param name="csb">provides colorspace information
            </param>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.initProfile(System.Byte[])">
            <summary> Read the header and tags into memory and verify
            that the correct type of profile is being used. for encoding.
            </summary>
            <param name="data">ICCProfile
            </param>
            <exception cref="T:CSJ2K.Icc.ICCProfileInvalidException">for bad signature and class and bad type
            </exception>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.ToString">
            <summary>Provide a suitable string representation for the class </summary>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.toHexString(System.Byte)">
            <summary> Create a two character hex representation of a byte</summary>
            <param name="i">byte to represent
            </param>
            <returns> representation
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.toHexString(System.Int16)">
            <summary> Create a 4 character hex representation of a short</summary>
            <param name="i">short to represent
            </param>
            <returns> representation
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.toHexString(System.Int32)">
            <summary> Create a 8 character hex representation of a int</summary>
            <param name="i">int to represent
            </param>
            <returns> representation
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.parse">
            <summary> Parse this ICCProfile into a RestrictedICCProfile
            which is appropriate to the data in this profile.
            Either a MonochromeInputRestrictedProfile or 
            MatrixBasedRestrictedProfile is returned
            </summary>
            <returns> RestrictedICCProfile
            </returns>
            <exception cref="T:CSJ2K.Icc.ICCProfileInvalidException">no curve data
            </exception>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfile.#cctor">
            <summary> Output this ICCProfile to a RandomAccessFile</summary>
            <param name="os">output file
            </param>
        </member>
        <member name="P:CSJ2K.Icc.ICCProfile.Header">
            <summary> Access the profile header</summary>
            <returns> ICCProfileHeader
            </returns>
        </member>
        <member name="P:CSJ2K.Icc.ICCProfile.TagTable">
            <summary> Access the profile tag table</summary>
            <returns> ICCTagTable
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.ICCMatrixBasedInputProfile.createInstance(CSJ2K.Color.ColorSpace)">
            <summary> Factory method to create ICCMatrixBasedInputProfile based on a
            suppled profile file.
            </summary>
            <param name="f">contains a disk based ICCProfile.
            </param>
            <returns> the ICCMatrixBasedInputProfile
            </returns>
            <exception cref="T:CSJ2K.Icc.ICCProfileInvalidException">
            </exception>
            <exception cref="T:CSJ2K.Color.ColorSpaceException">
            </exception>
        </member>
        <member name="M:CSJ2K.Icc.ICCMatrixBasedInputProfile.#ctor(CSJ2K.Color.ColorSpace)">
            <summary> Construct an ICCMatrixBasedInputProfile based on a
            suppled profile file.
            </summary>
            <param name="f">contains a disk based ICCProfile.
            </param>
            <exception cref="T:CSJ2K.Color.ColorSpaceException">
            </exception>
            <exception cref="T:CSJ2K.Icc.ICCProfileInvalidException">
            </exception>
        </member>
        <member name="T:CSJ2K.Icc.ICCMonochromeInputProfile">
            <summary> The monochrome ICCProfile.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.ICCMonochromeInputProfile.createInstance(CSJ2K.Color.ColorSpace)">
            <summary> Return the ICCProfile embedded in the input image</summary>
            <param name="in">jp2 image with embedded profile
            </param>
            <returns> ICCMonochromeInputProfile 
            </returns>
            <exception cref="!:ColorSpaceICCProfileInvalidExceptionException">
            </exception>
            <exception cref="!:">
            </exception>
        </member>
        <member name="M:CSJ2K.Icc.ICCMonochromeInputProfile.#ctor(CSJ2K.Color.ColorSpace)">
            <summary> Construct a ICCMonochromeInputProfile corresponding to the profile file</summary>
            <param name="f">disk based ICCMonochromeInputProfile
            </param>
            <returns> theICCMonochromeInputProfile
            </returns>
            <exception cref="T:CSJ2K.Color.ColorSpaceException">
            </exception>
            <exception cref="T:CSJ2K.Icc.ICCProfileInvalidException">
            </exception>
        </member>
        <member name="T:CSJ2K.Icc.ICCProfileException">
            <summary> This exception is thrown when the content of a profile
            is incorrect.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.ICCProfile">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfileException.#ctor(System.String)">
            <summary>  Contruct with message</summary>
            <param name="msg">returned by getMessage()
            </param>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfileException.#ctor">
            <summary> Empty constructor</summary>
        </member>
        <member name="T:CSJ2K.Icc.ICCProfileInvalidException">
            <summary> This exception is thrown when the content of an an icc profile 
            is in someway incorrect.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.ICCProfile">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfileInvalidException.#ctor(System.String)">
            <summary> Contruct with message</summary>
            <param name="msg">returned by getMessage()
            </param>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfileInvalidException.#ctor">
            <summary> Empty constructor</summary>
        </member>
        <member name="T:CSJ2K.Icc.ICCProfileNotFoundException">
            <summary> This exception is thrown when an image contains no icc profile.
            is incorrect.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.ICCProfile">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfileNotFoundException.#ctor(System.String)">
            <summary> Contruct with message</summary>
            <param name="msg">returned by getMessage()
            </param>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfileNotFoundException.#ctor">
            <summary> Empty constructor</summary>
        </member>
        <member name="T:CSJ2K.Icc.ICCProfiler">
            <summary> This class provides ICC Profiling API for the jj2000.j2k imaging chain
            by implementing the BlkImgDataSrc interface, in particular the getCompData
            and getInternCompData methods.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.ICCProfile">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfiler.OPT_PREFIX">
            <summary>The prefix for ICC Profiler options </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfiler.eol">
            <summary>Platform dependant end of line String. </summary>
        </member>
        <member name="F:CSJ2K.Icc.ICCProfiler.iccp">
            <summary>The image's ICC profile. </summary>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfiler.createInstance(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Factory method for creating instances of this class.</summary>
            <param name="src">-- source of image data
            </param>
            <param name="csMap">-- provides colorspace info
            </param>
            <returns> ICCProfiler instance
            </returns>
            <exception cref="!:IOException">profile access exception
            </exception>
            <exception cref="T:CSJ2K.Icc.ICCProfileException">profile content exception
            </exception>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfiler.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Ctor which creates an ICCProfile for the image and initializes
            all data objects (input, working, output).
            
            </summary>
            <param name="src">-- Source of image data
            </param>
            <param name="csm">-- provides colorspace info
            
            </param>
            <exception cref="!:IOException">
            </exception>
            <exception cref="T:CSJ2K.Icc.ICCProfileException">
            </exception>
            <exception cref="!:IllegalArgumentException">
            </exception>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfiler.initialize">
            <summary>General utility used by ctors </summary>
        </member>
        <member name="M:CSJ2K.Icc.ICCProfiler.getICCProfile(CSJ2K.Color.ColorSpace)">
            <summary> Get the ICCProfile information JP2 ColorSpace</summary>
            <param name="csm">provides all necessary info about the colorspace
            </param>
            <returns> ICCMatrixBasedInputProfile for 3 component input and
            ICCMonochromeInputProfile for a 1 component source.  Returns
            null if exceptions were encountered.
            </returns>
            <exception cref="T:CSJ2K.Color.ColorSpaceException">
            </exception>
            <exception cref="T:CSJ2K.Icc.ICCProfileException">
            </exception>
            <exception cref="!:IllegalArgumentException">
            </exception>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Icc.ICCProfiler.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.Icc.ICCProfiler.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="M:CSJ2K.Icc.ICCProfiler.ToString">
            <summary>Return a suitable String representation of the class instance. </summary>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable">
            <summary> Toplevel class for a lut.  All lookup tables must
            extend this class.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTable.eol">
            <summary>End of line string.             </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTable.curve">
            <summary>The curve data                  </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTable.dwNumInput">
            <summary>Number of values in created lut </summary>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable.#ctor(CSJ2K.Icc.Tags.ICCCurveType,System.Int32)">
            <summary> For subclass usage.</summary>
            <param name="curve">The curve data  
            </param>
            <param name="dwNumInput">Number of values in created lut
            </param>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable16">
            <summary> Toplevel class for a short [] lut.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTable16.dwMaxOutput">
            <summary>Maximum output value of the LUT </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTable16.lut">
            <summary>The lut values.                 </summary>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable16.ToString">
            <summary> Create an abbreviated string representation of a 16 bit lut.</summary>
            <returns> the lut as a String
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable16.toStringWholeLut">
            <summary> Create a full string representation of a 16 bit lut.</summary>
            <returns> the lut as a String
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable16.createInstance(CSJ2K.Icc.Tags.ICCCurveType,System.Int32,System.Int32)">
            <summary> Factory method for getting a 16 bit lut from a given curve.</summary>
            <param name="curve"> the data
            </param>
            <param name="dwNumInput">the size of the lut 
            </param>
            <param name="dwMaxOutput">max output value of the lut
            </param>
            <returns> the lookup table
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable16.#ctor(System.Int32,System.Int32)">
            <summary> Construct an empty 16 bit lut</summary>
            <param name="dwNumInput">the size of the lut t lut.
            </param>
            <param name="dwMaxOutput">max output value of the lut
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable16.#ctor(CSJ2K.Icc.Tags.ICCCurveType,System.Int32,System.Int32)">
            <summary> Construct a 16 bit lut from a given curve.</summary>
            <param name="curve">the data
            </param>
            <param name="dwNumInput">the size of the lut t lut.
            </param>
            <param name="dwMaxOutput">max output value of the lut
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable16.elementAt(System.Int32)">
            <summary> lut accessor</summary>
            <param name="index">of the element
            </param>
            <returns> the lut [index]
            </returns>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable16Gamma">
            <summary> A Gamma based 16 bit lut.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.tags.ICCCurveType">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable16Interp">
            <summary> An interpolated 16 bit lut
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A.Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable16Interp.#ctor(CSJ2K.Icc.Tags.ICCCurveType,System.Int32,System.Int32)">
            <summary> Construct the lut from the curve data</summary>
            <oaram>   curve the data </oaram>
            <oaram>   dwNumInput the lut size </oaram>
            <oaram>   dwMaxOutput the lut max value </oaram>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable16LinearSRGBtoSRGB">
            <summary> A Linear 16 bit SRGB to SRGB lut
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable16LinearSRGBtoSRGB.createInstance(System.Int32,System.Double,System.Int32,System.Double,System.Double,System.Double)">
            <summary> Factory method for creating the lut.</summary>
            <param name="wShadowCutoff">size of shadow region
            </param>
            <param name="dfShadowSlope">shadow region parameter
            </param>
            <param name="ksRGBLinearMaxValue">size of lut
            </param>
            <param name="ksRGB8ScaleAfterExp">post shadow region parameter
            </param>
            <param name="ksRGBExponent">post shadow region parameter
            </param>
            <param name="ksRGB8ReduceAfterEx">post shadow region parameter
            </param>
            <returns> the lut
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable16LinearSRGBtoSRGB.#ctor(System.Int32,System.Double,System.Int32,System.Double,System.Double,System.Double)">
            <summary> Construct the lut</summary>
            <param name="wShadowCutoff">size of shadow region
            </param>
            <param name="dfShadowSlope">shadow region parameter
            </param>
            <param name="ksRGBLinearMaxValue">size of lut
            </param>
            <param name="ksRGB8ScaleAfterExp">post shadow region parameter
            </param>
            <param name="ksRGBExponent">post shadow region parameter
            </param>
            <param name="ksRGB8ReduceAfterExp">post shadow region parameter
            </param>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable32">
            <summary> Toplevel class for a int [] lut.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTable32.dwMaxOutput">
            <summary>Maximum output value of the LUT </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTable32.lut">
            <summary>the lut values.                 </summary>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable32.ToString">
            <summary> Create an abbreviated string representation of a 16 bit lut.</summary>
            <returns> the lut as a String
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable32.toStringWholeLut">
            <summary> Create the string representation of a 32 bit lut.</summary>
            <returns> the lut as a String
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable32.createInstance(CSJ2K.Icc.Tags.ICCCurveType,System.Int32,System.Int32)">
            <summary> Factory method for getting a 32 bit lut from a given curve.</summary>
            <param name="curve"> the data
            </param>
            <param name="dwNumInput">the size of the lut 
            </param>
            <param name="dwMaxOutput">max output value of the lut
            </param>
            <returns> the lookup table
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable32.#ctor(System.Int32,System.Int32)">
            <summary> Construct an empty 32 bit</summary>
            <param name="dwNumInput">the size of the lut t lut.
            </param>
            <param name="dwMaxOutput">max output value of the lut
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable32.#ctor(CSJ2K.Icc.Tags.ICCCurveType,System.Int32,System.Int32)">
            <summary> Construct a 16 bit lut from a given curve.</summary>
            <param name="curve">the data
            </param>
            <param name="dwNumInput">the size of the lut t lut.
            </param>
            <param name="dwMaxOutput">max output value of the lut
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable32.elementAt(System.Int32)">
            <summary> lut accessor</summary>
            <param name="index">of the element
            </param>
            <returns> the lut [index]
            </returns>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable32Gamma">
            <summary> A Gamma based 32 bit lut.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.tags.ICCCurveType">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable32Interp">
            <summary> An interpolated 32 bit lut
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A.Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable32Interp.#ctor(CSJ2K.Icc.Tags.ICCCurveType,System.Int32,System.Int32)">
            <summary> Construct the lut from the curve data</summary>
            <oaram>   curve the data </oaram>
            <oaram>   dwNumInput the lut size </oaram>
            <oaram>   dwMaxOutput the lut max value </oaram>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable32LinearSRGBtoSRGB">
            <summary> A Linear 32 bit SRGB to SRGB lut
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable32LinearSRGBtoSRGB.createInstance(System.Int32,System.Int32,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary> Factory method for creating the lut.</summary>
            <param name="wShadowCutoff">size of shadow region
            </param>
            <param name="dfShadowSlope">shadow region parameter
            </param>
            <param name="ksRGBLinearMaxValue">size of lut
            </param>
            <param name="ksRGB8ScaleAfterExp">post shadow region parameter
            </param>
            <param name="ksRGBExponent">post shadow region parameter
            </param>
            <param name="ksRGB8ReduceAfterEx">post shadow region parameter
            </param>
            <returns> the lut
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable32LinearSRGBtoSRGB.#ctor(System.Int32,System.Int32,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary> Construct the lut</summary>
            <param name="wShadowCutoff">size of shadow region
            </param>
            <param name="dfShadowSlope">shadow region parameter
            </param>
            <param name="ksRGBLinearMaxValue">size of lut
            </param>
            <param name="ksRGB8ScaleAfterExp">post shadow region parameter
            </param>
            <param name="ksRGBExponent">post shadow region parameter
            </param>
            <param name="ksRGB8ReduceAfterExp">post shadow region parameter
            </param>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable8">
            <summary> Toplevel class for a byte [] lut.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTable8.dwMaxOutput">
            <summary>Maximum output value of the LUT </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTable8.lut">
            <summary>The lut values.                 </summary>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable8.ToString">
            <summary> Create an abbreviated string representation of a 16 bit lut.</summary>
            <returns> the lut as a String
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable8.#ctor(CSJ2K.Icc.Tags.ICCCurveType,System.Int32,System.Byte)">
            <summary> Create the string representation of a 16 bit lut.</summary>
            <returns> the lut as a String
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable8.elementAt(System.Int32)">
            <summary> lut accessor</summary>
            <param name="index">of the element
            </param>
            <returns> the lut [index]
            </returns>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable8Gamma">
            <summary> A Gamma based 16 bit lut.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.tags.ICCCurveType">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTable8Interp">
            <summary> An interpolated 8 bit lut
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A.Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTable8Interp.#ctor(CSJ2K.Icc.Tags.ICCCurveType,System.Int32,System.Byte)">
            <summary> Construct the lut from the curve data</summary>
            <oaram>   curve the data </oaram>
            <oaram>   dwNumInput the lut size </oaram>
            <oaram>   dwMaxOutput the lut max value </oaram>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTableFP">
            <summary> Toplevel class for a float [] lut.
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Lut.LookUpTableFP.lut">
            <summary>The lut values. </summary>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTableFP.createInstance(CSJ2K.Icc.Tags.ICCCurveType,System.Int32)">
            <summary> Factory method for getting a lut from a given curve.</summary>
            <param name="curve"> the data
            </param>
            <param name="dwNumInput">the size of the lut 
            </param>
            <returns> the lookup table
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTableFP.#ctor(CSJ2K.Icc.Tags.ICCCurveType,System.Int32)">
            <summary> Construct an empty lut</summary>
            <param name="dwNumInput">the size of the lut t lut.
            </param>
            <param name="dwMaxOutput">max output value of the lut
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTableFP.elementAt(System.Int32)">
            <summary> lut accessor</summary>
            <param name="index">of the element
            </param>
            <returns> the lut [index]
            </returns>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTableFPGamma">
            <summary> Class Description
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTableFPGamma.ToString">
            <summary> Create an abbreviated string representation of a 16 bit lut.</summary>
            <returns> the lut as a String
            </returns>
        </member>
        <member name="T:CSJ2K.Icc.Lut.LookUpTableFPInterp">
            <summary> An interpolated floating point lut
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A.Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTableFPInterp.ToString">
            <summary> Create an abbreviated string representation of a 16 bit lut.</summary>
            <returns> the lut as a String
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.LookUpTableFPInterp.#ctor(CSJ2K.Icc.Tags.ICCCurveType,System.Int32)">
            <summary> Construct the lut from the curve data</summary>
            <oaram>   curve the data </oaram>
            <oaram>   dwNumInput the lut size </oaram>
        </member>
        <member name="T:CSJ2K.Icc.Lut.MatrixBasedTransformException">
            <summary> Thrown by MatrixBasedTransformTosRGB
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.lut.MatrixBasedTransformTosRGB">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MatrixBasedTransformException.#ctor(System.String)">
            <summary> Contruct with message</summary>
            <param name="msg">returned by getMessage()
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MatrixBasedTransformException.#ctor">
            <summary> Empty constructor</summary>
        </member>
        <member name="T:CSJ2K.Icc.Lut.MatrixBasedTransformTosRGB">
            <summary> Transform for applying ICCProfiling to an input DataBlk
            
            </summary>
            <seealso cref="!:jj2000.j2k.image.DataBlkInt">
            </seealso>
            <seealso cref="!:jj2000.j2k.image.DataBlkFloat">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MatrixBasedTransformTosRGB.ToString">
            <summary> String representation of class</summary>
            <returns> suitable representation for class 
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MatrixBasedTransformTosRGB.#ctor(CSJ2K.Icc.RestrictedICCProfile,System.Int32[],System.Int32[])">
            <summary> 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.
            </summary>
            <param name="ricc">input profile
            </param>
            <param name="dwMaxValue">clipping value for output.
            </param>
            <param name="dwMaxCols">number of columns to transform
            </param>
            <param name="dwMaxRows">number of rows to transform
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MatrixBasedTransformTosRGB.apply(CSJ2K.j2k.image.DataBlkInt[],CSJ2K.j2k.image.DataBlkInt[])">
            <summary> 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.
            </summary>
            <param name="ncols">number of columns in the input
            </param>
            <param name="nrows">number of rows in the input
            </param>
            <param name="inb">input data block
            </param>
            <param name="outb">output data block
            </param>
            <exception cref="T:CSJ2K.Icc.Lut.MatrixBasedTransformException">
            </exception>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MatrixBasedTransformTosRGB.apply(CSJ2K.j2k.image.DataBlkFloat[],CSJ2K.j2k.image.DataBlkFloat[])">
            <summary> 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.
            </summary>
            <param name="ncols">number of columns in the input
            </param>
            <param name="nrows">number of rows in the input
            </param>
            <param name="inb">input data block
            </param>
            <param name="outb">output data block
            </param>
            <exception cref="T:CSJ2K.Icc.Lut.MatrixBasedTransformException">
            </exception>
        </member>
        <member name="T:CSJ2K.Icc.Lut.MonochromeTransformException">
            <summary> Exception thrown by MonochromeTransformTosRGB.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.lut.MonochromeTransformTosRGB">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MonochromeTransformException.#ctor(System.String)">
            <summary> Contruct with message</summary>
            <param name="msg">returned by getMessage()
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MonochromeTransformException.#ctor">
            <summary> Empty constructor</summary>
        </member>
        <member name="T:CSJ2K.Icc.Lut.MonochromeTransformTosRGB">
            <summary> 
            This class constructs a LookUpTableFP from a RestrictedICCProfile.
            The values in this table are used to calculate a second lookup table (simply a short []).  
            table.  When this transform is applied to an input DataBlk, an output data block is
            constructed by using the input samples as indices into the lookup table, whose values
            are used to populate the output DataBlk.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.RestrictedICCProfile">
            </seealso>
            <seealso cref="!:jj2000.j2k.icc.lut.LookUpTableFP">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.ksRGBShadowCutoff">
            <summary>Transform parameter. </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.ksRGBShadowSlope">
            <summary>Transform parameter. </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.ksRGBExponent">
            <summary>Transform parameter. </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.ksRGB8ScaleAfterExp">
            <summary>Transform parameter. </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.ksRGB8ReduceAfterExp">
            <summary>Transform parameter. </summary>
        </member>
        <member name="F:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.ksRGB8ShadowSlope">
            <summary>Transform parameter. </summary>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.ToString">
            <summary> String representation of class</summary>
            <returns> suitable representation for class 
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.#ctor(CSJ2K.Icc.RestrictedICCProfile,System.Int32,System.Int32)">
            <summary> Construct the lut from the RestrictedICCProfile.
            
            </summary>
            <param name="ricc">input RestrictedICCProfile
            </param>
            <param name="dwInputMaxValue">size of the output lut.
            </param>
            <param name="dwInputShiftValue">value used to shift samples to positive
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.apply(CSJ2K.j2k.image.DataBlkInt,CSJ2K.j2k.image.DataBlkInt)">
            <summary> Populate the output block by looking up the values in the lut, using the input
            as lut indices.
            </summary>
            <param name="inb">input samples
            </param>
            <param name="outb">output samples.
            </param>
            <exception cref="T:CSJ2K.Icc.Lut.MonochromeTransformException">
            </exception>
        </member>
        <member name="M:CSJ2K.Icc.Lut.MonochromeTransformTosRGB.apply(CSJ2K.j2k.image.DataBlkFloat,CSJ2K.j2k.image.DataBlkFloat)">
            <summary> Populate the output block by looking up the values in the lut, using the input
            as lut indices.
            </summary>
            <param name="inb">input samples
            </param>
            <param name="outb">output samples.
            </param>
            <exception cref="T:CSJ2K.Icc.Lut.MonochromeTransformException">
            </exception>
        </member>
        <member name="T:CSJ2K.Icc.MatrixBasedRestrictedProfile">
            <summary> This class is a 3 component RestrictedICCProfile
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A Kern
            </author>
        </member>
        <member name="T:CSJ2K.Icc.RestrictedICCProfile">
            <summary> This profile is constructed by parsing an ICCProfile and
            is the profile actually applied to the image.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.ICCProfile">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.RestrictedICCProfile.kMonochromeInput">
            <summary>input type enumerator </summary>
        </member>
        <member name="F:CSJ2K.Icc.RestrictedICCProfile.kThreeCompInput">
            <summary>input type enumerator </summary>
        </member>
        <member name="M:CSJ2K.Icc.RestrictedICCProfile.createInstance(CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCXYZType,CSJ2K.Icc.Tags.ICCXYZType,CSJ2K.Icc.Tags.ICCXYZType)">
            <summary> Factory method for creating a RestrictedICCProfile from 
            3 component curve and colorant data.
            </summary>
            <param name="rcurve">red curve
            </param>
            <param name="gcurve">green curve
            </param>
            <param name="bcurve">blue curve
            </param>
            <param name="rcolorant">red colorant
            </param>
            <param name="gcolorant">green colorant
            </param>
            <param name="bcolorant">blue colorant
            </param>
            <returns> MatrixBasedRestrictedProfile
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.RestrictedICCProfile.createInstance(CSJ2K.Icc.Tags.ICCCurveType)">
            <summary> Factory method for creating a RestrictedICCProfile from 
            gray curve data.
            </summary>
            <param name="gcurve">gray curve
            </param>
            <returns> MonochromeInputRestrictedProfile
            </returns>
        </member>
        <member name="F:CSJ2K.Icc.RestrictedICCProfile.GRAY">
            <summary>Component index       </summary>
        </member>
        <member name="F:CSJ2K.Icc.RestrictedICCProfile.RED">
            <summary>Component index       </summary>
        </member>
        <member name="F:CSJ2K.Icc.RestrictedICCProfile.GREEN">
            <summary>Component index       </summary>
        </member>
        <member name="F:CSJ2K.Icc.RestrictedICCProfile.BLUE">
            <summary>Component index       </summary>
        </member>
        <member name="F:CSJ2K.Icc.RestrictedICCProfile.trc">
            <summary>Curve data    </summary>
        </member>
        <member name="F:CSJ2K.Icc.RestrictedICCProfile.colorant">
            <summary>Colorant data </summary>
        </member>
        <member name="M:CSJ2K.Icc.RestrictedICCProfile.#ctor(CSJ2K.Icc.Tags.ICCCurveType)">
            <summary> Construct the common state of all gray RestrictedICCProfiles</summary>
            <param name="gcurve">curve data
            </param>
        </member>
        <member name="M:CSJ2K.Icc.RestrictedICCProfile.#ctor(CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCXYZType,CSJ2K.Icc.Tags.ICCXYZType,CSJ2K.Icc.Tags.ICCXYZType)">
            <summary> Construct the common state of all 3 component RestrictedICCProfiles
            
            </summary>
            <param name="rcurve">red curve
            </param>
            <param name="gcurve">green curve
            </param>
            <param name="bcurve">blue curve
            </param>
            <param name="rcolorant">red colorant
            </param>
            <param name="gcolorant">green colorant
            </param>
            <param name="bcolorant">blue colorant
            </param>
        </member>
        <member name="P:CSJ2K.Icc.RestrictedICCProfile.Type">
            <summary>Returns the appropriate input type enum. </summary>
        </member>
        <member name="M:CSJ2K.Icc.MatrixBasedRestrictedProfile.createInstance(CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCXYZType,CSJ2K.Icc.Tags.ICCXYZType,CSJ2K.Icc.Tags.ICCXYZType)">
            <summary> Factory method which returns a 3 component RestrictedICCProfile</summary>
            <param name="rcurve">Red TRC curve
            </param>
            <param name="gcurve">Green TRC curve
            </param>
            <param name="bcurve">Blue TRC curve
            </param>
            <param name="rcolorant">Red colorant
            </param>
            <param name="gcolorant">Green colorant
            </param>
            <param name="bcolorant">Blue colorant
            </param>
            <returns> the RestrictedICCProfile
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.MatrixBasedRestrictedProfile.#ctor(CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCCurveType,CSJ2K.Icc.Tags.ICCXYZType,CSJ2K.Icc.Tags.ICCXYZType,CSJ2K.Icc.Tags.ICCXYZType)">
            <summary> Construct a 3 component RestrictedICCProfile</summary>
            <param name="rcurve">Red TRC curve
            </param>
            <param name="gcurve">Green TRC curve
            </param>
            <param name="bcurve">Blue TRC curve
            </param>
            <param name="rcolorant">Red colorant
            </param>
            <param name="gcolorant">Green colorant
            </param>
            <param name="bcolorant">Blue colorant
            </param>
        </member>
        <member name="M:CSJ2K.Icc.MatrixBasedRestrictedProfile.ToString">
            <returns> String representation of a MatrixBasedRestrictedProfile
            </returns>
        </member>
        <member name="P:CSJ2K.Icc.MatrixBasedRestrictedProfile.Type">
            <summary> Get the type of RestrictedICCProfile for this object</summary>
            <returns> kThreeCompInput
            </returns>
        </member>
        <member name="T:CSJ2K.Icc.MonochromeInputRestrictedProfile">
            <summary> This class is a 1 component RestrictedICCProfile
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.MonochromeInputRestrictedProfile.createInstance(CSJ2K.Icc.Tags.ICCCurveType)">
            <summary> Factory method which returns a 1 component RestrictedICCProfile</summary>
            <param name="c">Gray TRC curve
            </param>
            <returns> the RestrictedICCProfile
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.MonochromeInputRestrictedProfile.#ctor(CSJ2K.Icc.Tags.ICCCurveType)">
            <summary> Construct a 1 component RestrictedICCProfile</summary>
            <param name="c">Gray TRC curve
            </param>
        </member>
        <member name="M:CSJ2K.Icc.MonochromeInputRestrictedProfile.ToString">
            <returns> String representation of a MonochromeInputRestrictedProfile
            </returns>
        </member>
        <member name="P:CSJ2K.Icc.MonochromeInputRestrictedProfile.Type">
            <summary> Get the type of RestrictedICCProfile for this object</summary>
            <returns> kMonochromeInput
            </returns>
        </member>
        <member name="T:CSJ2K.Icc.Tags.ICCCurveType">
            <summary> The ICCCurve tag
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.Icc.Tags.ICCTag" -->
        <member name="F:CSJ2K.Icc.Tags.ICCTag.signature">
            <summary>Tag id                            </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTag.type">
            <summary>Tag type                          </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTag.data">
            <summary>Tag data                          </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTag.offset">
            <summary>offset to tag data in the array   </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTag.count">
            <summary>size of the tag data in the array </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTag.typeString(System.Int32)">
            <summary> Create a string representation of the tag type</summary>
            <param name="type">input
            </param>
            <returns> String representation of the type
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTag.signatureString(System.Int32)">
            <summary> Create a string representation of the signature</summary>
            <param name="signature">input
            </param>
            <returns> String representation of the signature
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTag.createInstance(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Factory method for creating a tag of a specific type.</summary>
            <param name="signature">tag to create
            </param>
            <param name="data">byte array containg embedded tag data
            </param>
            <param name="offset">to tag data in the array
            </param>
            <param name="count">size of tag data in bytes
            </param>
            <returns> specified ICCTag
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTag.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Ued by subclass initialization to store the state common to all tags</summary>
            <param name="signature">tag being created
            </param>
            <param name="data">byte array containg embedded tag data
            </param>
            <param name="offset">to tag data in the array
            </param>
            <param name="count">size of tag data in bytes
            </param>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCCurveType.type">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCCurveType.reserved">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCCurveType.nEntries">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCCurveType.entry_Renamed_Field">
            <summary>Tag fields </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveType.ToString">
            <summary>Return the string rep of this tag. </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveType.CurveToDouble(System.Int32)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveType.DoubleToCurve(System.Double)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveType.CurveGammaToDouble(System.Int32)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveType.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id
            </param>
            <param name="data">array of bytes
            </param>
            <param name="offset">to data in the data array
            </param>
            <param name="length">of data in the data array
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveType.entry(System.Int32)">
            <summary>Accessor for curve entry at index. </summary>
        </member>
        <member name="T:CSJ2K.Icc.Tags.ICCCurveTypeReverse">
            <summary> The ICCCurveReverse tag
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCCurveTypeReverse.type">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCCurveTypeReverse.reserved">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCCurveTypeReverse.nEntries">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCCurveTypeReverse.entry_Renamed_Field">
            <summary>Tag fields </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveTypeReverse.ToString">
            <summary>Return the string rep of this tag. </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveTypeReverse.CurveToDouble(System.Int32)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveTypeReverse.DoubleToCurve(System.Int32)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveTypeReverse.CurveGammaToDouble(System.Int32)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveTypeReverse.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id
            </param>
            <param name="data">array of bytes
            </param>
            <param name="offset">to data in the data array
            </param>
            <param name="length">of data in the data array
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCCurveTypeReverse.entry(System.Int32)">
            <summary>Accessor for curve entry at index. </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCDataType.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id</param>
            <param name="data">array of bytes</param>
            <param name="offset">to data in the data array</param>
            <param name="length">of data in the data array</param>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCMeasurementType.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id</param>
            <param name="data">array of bytes</param>
            <param name="offset">to data in the data array</param>
            <param name="length">of data in the data array</param>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCSignatureType.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id</param>
            <param name="data">array of bytes</param>
            <param name="offset">to data in the data array</param>
            <param name="length">of data in the data array</param>
        </member>
        <member name="T:CSJ2K.Icc.Tags.ICCTagTable">
            <summary> This class models an ICCTagTable as a HashTable which maps 
            ICCTag signatures (as Integers) to ICCTags.
            
            On disk the tag table exists as a byte array conventionally aggragted into a
            structured sequence of types (bytes, shorts, ints, and floats.  The first four bytes
            are the integer count of tags in the table.  This is followed by an array of triplets,
            one for each tag. The triplets each contain three integers, which are the tag signature,
            the offset of the tag in the byte array and the length of the tag in bytes.
            The tag data follows.  Each tag consists of an integer (4 bytes) tag type, a reserved integer
            and the tag data, which varies depending on the tag.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.tags.ICCTag">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTagTable.ToString">
            <summary> Representation of a tag table</summary>
            <returns> String
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTagTable.createInstance(System.Byte[])">
            <summary> Factory method for creating a tag table from raw input.</summary>
            <param name="byte">array of unstructured data representing a tag
            </param>
            <returns> ICCTagTable
            </returns>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTagTable.#ctor(System.Byte[])">
            <summary> Ctor used by factory method.</summary>
            <param name="byte">raw tag data
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTagTable.#cctor">
            <summary> Output the table to a disk</summary>
            <param name="raf">RandomAccessFile which receives the table.
            </param>
            <exception cref="!:IOException">
            </exception>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTagTable.Triplet.signature">
            <summary>Tag identifier              </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTagTable.Triplet.offset">
            <summary>absolute offset of tag data </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTagTable.Triplet.count">
            <summary>length of tag data          </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTagTable.Triplet.size">
            <summary>size of an entry            </summary>
        </member>
        <member name="T:CSJ2K.Icc.Tags.ICCTextDescriptionType">
            <summary> A text based ICC tag
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTextDescriptionType.type">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTextDescriptionType.reserved">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTextDescriptionType.size">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTextDescriptionType.ascii">
            <summary>Tag fields </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTextDescriptionType.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id
            </param>
            <param name="data">array of bytes
            </param>
            <param name="offset">to data in the data array
            </param>
            <param name="length">of data in the data array
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTextDescriptionType.ToString">
            <summary>Return the string rep of this tag. </summary>
        </member>
        <member name="T:CSJ2K.Icc.Tags.ICCTextType">
            <summary> A text based ICC tag
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTextType.type">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTextType.reserved">
            <summary>Tag fields </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCTextType.ascii">
            <summary>Tag fields </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTextType.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id
            </param>
            <param name="data">array of bytes
            </param>
            <param name="offset">to data in the data array
            </param>
            <param name="length">of data in the data array
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCTextType.ToString">
            <summary>Return the string rep of this tag. </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCViewType.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id</param>
            <param name="data">array of bytes</param>
            <param name="offset">to data in the data array</param>
            <param name="length">of data in the data array</param>
        </member>
        <member name="T:CSJ2K.Icc.Tags.ICCXYZType">
            <summary> A tag containing a triplet.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.tags.ICCXYZTypeReverse">
            </seealso>
            <seealso cref="!:jj2000.j2k.icc.types.XYZNumber">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCXYZType.x">
            <summary>x component </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCXYZType.y">
            <summary>y component </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCXYZType.z">
            <summary>z component </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCXYZType.DoubleToXYZ(System.Double)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCXYZType.XYZToDouble(System.Int64)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCXYZType.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id
            </param>
            <param name="data">array of bytes
            </param>
            <param name="offset">to data in the data array
            </param>
            <param name="length">of data in the data array
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCXYZType.ToString">
            <summary>Return the string rep of this tag. </summary>
        </member>
        <member name="T:CSJ2K.Icc.Tags.ICCXYZTypeReverse">
            <summary> A tag containing a triplet.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.tags.ICCXYZType">
            </seealso>
            <seealso cref="!:jj2000.j2k.icc.types.XYZNumber">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCXYZTypeReverse.x">
            <summary>x component </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCXYZTypeReverse.y">
            <summary>y component </summary>
        </member>
        <member name="F:CSJ2K.Icc.Tags.ICCXYZTypeReverse.z">
            <summary>z component </summary>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCXYZTypeReverse.#ctor(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary> Construct this tag from its constituant parts</summary>
            <param name="signature">tag id
            </param>
            <param name="data">array of bytes
            </param>
            <param name="offset">to data in the data array
            </param>
            <param name="length">of data in the data array
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Tags.ICCXYZTypeReverse.ToString">
            <summary>Return the string rep of this tag. </summary>
        </member>
        <member name="T:CSJ2K.Icc.Types.ICCDateTime">
            <summary> Date Time format for tags
            
            </summary>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCDateTime.wYear">
            <summary>Year datum.   </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCDateTime.wMonth">
            <summary>Month datum.  </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCDateTime.wDay">
            <summary>Day datum.    </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCDateTime.wHours">
            <summary>Hour datum.   </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCDateTime.wMinutes">
            <summary>Minute datum. </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCDateTime.wSeconds">
            <summary>Second datum. </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.ICCDateTime.#ctor(System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16)">
            <summary>Construct an ICCDateTime from parts </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.ICCDateTime.ToString">
            <summary>Return a ICCDateTime representation. </summary>
        </member>
        <member name="T:CSJ2K.Icc.Types.ICCProfileHeader">
            <summary> An ICC profile contains a 128-byte header followed by a variable
            number of tags contained in a tag table. This class models the header
            portion of the profile.  Most fields in the header are ints.  Some, such
            as data and version are aggregations of ints. This class provides an api to
            those fields as well as the definition of standard constants which are used 
            in the header.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.ICCProfile">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.kdwProfileSignature">
            <summary>Profile header signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.kdwProfileSigReverse">
            <summary>Profile header signature </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.size">
            <summary>Size of the header </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwProfileSize">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwCMMTypeSignature">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwProfileClass">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwColorSpaceType">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwPCSType">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwProfileSignature">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwPlatformSignature">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwCMMFlags">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwDeviceManufacturer">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwDeviceModel">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwDeviceAttributes1">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwDeviceAttributesReserved">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwRenderingIntent">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dwCreatorSig">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.reserved">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.profileVersion">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.dateTime">
            <summary>Header field </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileHeader.PCSIlluminant">
            <summary>Header field </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.ICCProfileHeader.#ctor">
            <summary>Construct and empty header </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.ICCProfileHeader.#ctor(System.Byte[])">
            <summary> Construct a header from a complete ICCProfile</summary>
            <param name="byte">[] -- holds ICCProfile contents
            </param>
        </member>
        <member name="M:CSJ2K.Icc.Types.ICCProfileHeader.ToString">
            <summary>String representation of class </summary>
        </member>
        <member name="T:CSJ2K.Icc.Types.ICCProfileVersion">
            <summary> This class describes the ICCProfile Version as contained in
            the header of the ICC Profile.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.ICCProfile">
            </seealso>
            <seealso cref="!:jj2000.j2k.icc.types.ICCProfileHeader">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileVersion.size">
            <summary>Field size </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileVersion.uMajor">
            <summary>Major revision number in binary coded decimal </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.ICCProfileVersion.uMinor">
            <summary>Minor revision in high nibble, bug fix revision           
            in low nibble, both in binary coded decimal   
            </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.ICCProfileVersion.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>Construct from constituent parts. </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.ICCProfileVersion.ToString">
            <summary>String representation of class instance. </summary>
        </member>
        <member name="T:CSJ2K.Icc.Types.XYZNumber">
            <summary> A convientient representation for the contents of the
            ICCXYZTypeTag class.
            
            </summary>
            <seealso cref="!:jj2000.j2k.icc.tags.ICCXYZType">
            </seealso>
            <version> 	1.0
            </version>
            <author> 	Bruce A. Kern
            </author>
        </member>
        <member name="F:CSJ2K.Icc.Types.XYZNumber.dwX">
            <summary>x value </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.XYZNumber.dwY">
            <summary>y value </summary>
        </member>
        <member name="F:CSJ2K.Icc.Types.XYZNumber.dwZ">
            <summary>z value </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.XYZNumber.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>Construct from constituent parts. </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.XYZNumber.DoubleToXYZ(System.Double)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.XYZNumber.XYZToDouble(System.Int32)">
            <summary>Normalization utility </summary>
        </member>
        <member name="M:CSJ2K.Icc.Types.XYZNumber.ToString">
            <summary>String representation of class instance. </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.CBlkCoordInfo">
            <summary> This class is used to store the coordinates of code-blocks.
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.CoordInfo">
            <summary> This class is used to store the coordinates of objects such as code-blocks
            or precincts. As this is an abstract class, it cannot be used directly but
            derived classes have been created for code-blocks and packets
            (CBlkCoordInfo and PrecCoordInfo).
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.codestream.PrecCoordInfo">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.codestream.CBlkCoordInfo">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.CoordInfo.ulx">
            <summary>Horizontal upper left coordinate in the subband </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.CoordInfo.uly">
            <summary>Vertical upper left coordinate in the subband </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.CoordInfo.w">
            <summary>Object's width </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.CoordInfo.h">
            <summary>Object's height </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.CoordInfo.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Constructor. Creates a CoordInfo object.
            
            </summary>
            <param name="ulx">The horizontal upper left coordinate in the subband
            
            </param>
            <param name="uly">The vertical upper left coordinate in the subband
            
            </param>
            <param name="w">The width
            
            </param>
            <param name="h">The height
            
            </param>
            <param name="idx">The object's index
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.CoordInfo.#ctor">
            <summary>Empty contructor </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.CoordInfo.ToString">
            <summary> Returns object's information in a String 
            
            </summary>
            <returns> String with object's information
            
            </returns>
        </member>
        <member name="F:CSJ2K.j2k.codestream.CBlkCoordInfo.idx">
            <summary>The code-block horizontal and vertical indexes </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.CBlkCoordInfo.#ctor">
            <summary> Constructor. Creates a CBlkCoordInfo object.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.CBlkCoordInfo.#ctor(System.Int32,System.Int32)">
            <summary> Constructor. Creates a CBlkCoordInfo object width specified code-block
            vertical and horizontal indexes.
            
            </summary>
            <param name="m">Code-block vertical index.
            
            </param>
            <param name="n">Code-block horizontal index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.CBlkCoordInfo.ToString">
            <summary> Returns code-block's information in a String 
            
            </summary>
            <returns> String with code-block's information
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.codestream.CorruptedCodestreamException">
            <summary> This exception is thrown whenever an illegal value is read from a bit
            stream. The cause can be either a corrupted bit stream, or a a bit stream
            which is illegal.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.CorruptedCodestreamException.#ctor">
            <summary> Constructs a new <tt>CorruptedCodestreamException</tt> exception with
            no detail message.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.CorruptedCodestreamException.#ctor(System.String)">
            <summary> Constructs a new <tt>CorruptedCodestreamException</tt> exception with
            the specified detail message.
            
            </summary>
            <param name="s">The detail message.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo">
            <summary> Classe that holds information found in the marker segments of the main and
            tile-part headers. There is one inner-class per marker segment type found
            in these headers.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.sizValue">
            <summary>Reference to the SIZ marker segment found in main header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.sotValue">
            <summary>Reference to the SOT marker segments found in tile-part headers. The
            kwy is given by "t"+tileIdx"_tp"+tilepartIndex. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.codValue">
            <summary>Reference to the COD marker segments found in main and first tile-part
            header. The key is either "main" or "t"+tileIdx.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.cocValue">
            <summary>Reference to the COC marker segments found in main and first tile-part
            header. The key is either "main_c"+componentIndex or
            "t"+tileIdx+"_c"+component_index. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.rgnValue">
            <summary>Reference to the RGN marker segments found in main and first tile-part
            header. The key is either "main_c"+componentIndex or
            "t"+tileIdx+"_c"+component_index. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.qcdValue">
            <summary>Reference to the QCD marker segments found in main and first tile-part
            header. The key is either "main" or "t"+tileIdx. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.qccValue">
            <summary>Reference to the QCC marker segments found in main and first tile-part
            header. They key is either "main_c"+componentIndex or
            "t"+tileIdx+"_c"+component_index. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.pocValue">
            <summary>Reference to the POC marker segments found in main and first tile-part
            header. They key is either "main" or "t"+tileIdx. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.crgValue">
            <summary>Reference to the CRG marker segment found in main header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.comValue">
            <summary>Reference to the COM marker segments found in main and tile-part
            headers. The key is either "main_"+comIdx or "t"+tileIdx+"_"+comIdx. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.ncom">
            <summary>Number of found COM marker segment </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.toStringMainHeader">
            <summary>Display information found in the different marker segments of the main
            header 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.toStringTileHeader(System.Int32,System.Int32)">
            <summary> Returns information found in the tile-part headers of a given tile.
            
            </summary>
            <param name="t">index of the tile
            
            </param>
            <param name="tp">Number of tile-parts
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.toStringThNoSOT(System.Int32,System.Int32)">
            <summary> Returns information found in the tile-part headers of a given tile
            exception the SOT marker segment.
            
            </summary>
            <param name="t">index of the tile
            
            </param>
            <param name="tp">Number of tile-parts
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.getCopy(System.Int32)">
            <summary>Returns a copy of this object </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewSIZ">
            <summary>Returns a new instance of SIZ </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewSOT">
            <summary>Returns a new instance of SOT </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewCOD">
            <summary>Returns a new instance of COD </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewCOC">
            <summary>Returns a new instance of COC </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewRGN">
            <summary>Returns a new instance of RGN </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewQCD">
            <summary>Returns a new instance of QCD </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewQCC">
            <summary>Returns a new instance of QCC </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewPOC">
            <summary>Returns a new instance of POC </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewCRG">
            <summary>Returns a new instance of CRG </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NewCOM">
            <summary>Returns a new instance of COM </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.HeaderInfo.NumCOM">
            <summary>Returns the number of found COM marker segments </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.SIZ">
            <summary>Internal class holding information found in the SIZ marker segment </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.SIZ.compWidth">
            <summary>Component widths </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.SIZ.maxCompWidth">
            <summary>Maximum width among all components </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.SIZ.compHeight">
            <summary>Component heights </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.HeaderInfo.SIZ.maxCompHeight">
            <summary>Maximum height among all components </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.SIZ.getCompImgWidth(System.Int32)">
            <summary> Width of the specified tile-component
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.SIZ.ToString">
            <summary>Display information found in SIZ marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.SOT">
            <summary>Internal class holding information found in the SOt marker segments </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.SOT.ToString">
            <summary>Display information found in this SOT marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.COD">
            <summary>Internal class holding information found in the COD marker segments </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.COD.ToString">
            <summary>Display information found in this COD marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.COC">
            <summary>Internal class holding information found in the COC marker segments </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.COC.ToString">
            <summary>Display information found in this COC marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.RGN">
            <summary>Internal class holding information found in the RGN marker segments </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.RGN.ToString">
            <summary>Display information found in this RGN marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.QCD">
            <summary>Internal class holding information found in the QCD marker segments </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.QCD.ToString">
            <summary>Display information found in this QCD marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.QCC">
            <summary>Internal class holding information found in the QCC marker segments </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.QCC.ToString">
            <summary>Display information found in this QCC marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.POC">
            <summary>Internal class holding information found in the POC marker segments </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.POC.ToString">
            <summary>Display information found in this POC marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.CRG">
            <summary>Internal class holding information found in the CRG marker segment </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.CRG.ToString">
            <summary>Display information found in the CRG marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.HeaderInfo.COM">
            <summary>Internal class holding information found in the COM marker segments </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.HeaderInfo.COM.ToString">
            <summary>Display information found in the COM marker segment </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.Markers">
            <summary> This interface defines the values of the different markers in the JPEG 2000
            codestream. There are 16 bit values, always appearing in big-endian (most
            significant byte first) and byte-aligned in the codestream. This interface
            also defines some other constants such as bit-masks and bit-shifts.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SOC">
            <summary>Start of codestream (SOC): 0xFF4F </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SOT">
            <summary>Start of tile-part (SOT): 0xFF90 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SOD">
            <summary>Start of data (SOD): 0xFF93 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.EOC">
            <summary>End of codestream (EOC): 0xFFD9 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SIZ">
            <summary>SIZ marker (Image and tile size): 0xFF51 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.RSIZ_BASELINE">
            <summary>No special capabilities (baseline) in codestream, in Rsiz field of SIZ
            marker: 0x00. All flag bits are turned off 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.RSIZ_ER_FLAG">
            <summary>Error resilience marker flag bit in Rsiz field in SIZ marker: 0x01 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.RSIZ_ROI">
            <summary>ROI present marker flag bit in Rsiz field in SIZ marker: 0x02 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SSIZ_DEPTH_BITS">
            <summary>Component bitdepth bits in Ssiz field in SIZ marker: 7 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.MAX_COMP_BITDEPTH">
            <summary>The maximum number of component bitdepth </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.COD">
            <summary>Coding style default (COD): 0xFF52 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.COC">
            <summary>Coding style component (COC): 0xFF53 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SCOX_PRECINCT_PARTITION">
            <summary>Precinct used flag </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SCOX_USE_SOP">
            <summary>Use start of packet marker </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SCOX_USE_EPH">
            <summary>Use end of packet header marker </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SCOX_HOR_CB_PART">
            <summary>Horizontal code-block partition origin is at x=1 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SCOX_VER_CB_PART">
            <summary>Vertical code-block partition origin is at y=1 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.PRECINCT_PARTITION_DEF_SIZE">
            <summary>The default size exponent of the precincts </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.RGN">
            <summary>Region-of-interest (RGN): 0xFF5E </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SRGN_IMPLICIT">
            <summary>Implicit (i.e. max-shift) ROI flag for Srgn field in RGN marker
            segment: 0x00 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.QCD">
            <summary>Quantization default (QCD): 0xFF5C </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.QCC">
            <summary>Quantization component (QCC): 0xFF5D </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SQCX_GB_SHIFT">
            <summary>Guard bits shift in SQCX field: 5 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SQCX_GB_MSK">
            <summary>Guard bits mask in SQCX field: 7 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SQCX_NO_QUANTIZATION">
            <summary>No quantization (i.e. embedded reversible) flag for Sqcd or Sqcc
            (Sqcx) fields: 0x00. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SQCX_SCALAR_DERIVED">
            <summary>Scalar derived (i.e. LL values only) quantization flag for Sqcd or
            Sqcc (Sqcx) fields: 0x01. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SQCX_SCALAR_EXPOUNDED">
            <summary>Scalar expounded (i.e. all values) quantization flag for Sqcd or Sqcc
            (Sqcx) fields: 0x02. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SQCX_EXP_SHIFT">
            <summary>Exponent shift in SPQCX when no quantization: 3 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SQCX_EXP_MASK">
            <summary>Exponent bitmask in SPQCX when no quantization: 3 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.ERS_SOP">
            <summary>The "SOP marker segments used" flag within Sers: 1 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.ERS_SEG_SYMBOLS">
            <summary>The "segmentation symbols used" flag within Sers: 2 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.TLM">
            <summary>Tile-part lengths (TLM): 0xFF55 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.PLM">
            <summary>Packet length, main header (PLM): 0xFF57 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.PLT">
            <summary>Packet length, tile-part header (PLT): 0xFF58 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.PPM">
            <summary>Packed packet headers, main header (PPM): 0xFF60 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.PPT">
            <summary>Packed packet headers, tile-part header (PPT): 0xFF61 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.MAX_LPPT">
            <summary>Maximum length of PPT marker segment </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.MAX_LPPM">
            <summary>Maximum length of PPM marker segment </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SOP">
            <summary>Start pf packet (SOP): 0xFF91 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.SOP_LENGTH">
            <summary>Length of SOP marker (in bytes) </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.EPH">
            <summary>End of packet header (EPH): 0xFF92 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.EPH_LENGTH">
            <summary>Length of EPH marker (in bytes) </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.CRG">
            <summary>Component registration (CRG): 0xFF63 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.COM">
            <summary>Comment (COM): 0xFF64 </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.Markers.RCOM_GEN_USE">
            <summary>General use registration value (COM): 0x0001 </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.PrecCoordInfo">
            <summary> This class is used to store the coordinates of precincts.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecCoordInfo.xref">
            <summary>Horizontal upper left coordinate in the reference grid </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecCoordInfo.yref">
            <summary>Vertical upper left coordinate on the reference grid </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.PrecCoordInfo.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Constructor. Creates a PrecCoordInfo object.
            
            </summary>
            <param name="ulx">Horizontal upper left coordinate in the subband
            
            </param>
            <param name="uly">Vertical upper left coordinate in the subband
            
            </param>
            <param name="w">Precinct's width
            
            </param>
            <param name="h">Precinct's height
            
            </param>
            <param name="xref">The horizontal coordinate on the reference grid 
            
            </param>
            <param name="yref">The vertical coordinate on the reference grid 
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.PrecCoordInfo.#ctor">
            <summary> Empty Constructor. Creates an empty PrecCoordInfo object.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.PrecCoordInfo.ToString">
            <summary> Returns precinct's information in a String 
            
            </summary>
            <returns> String with precinct's information
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.codestream.PrecInfo">
            <summary> Class that holds precinct coordinates and references to contained
            code-blocks in each subband. 
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.rgulx">
            <summary>Precinct horizontal upper-left coordinate in the reference grid </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.rguly">
            <summary>Precinct vertical upper-left coordinate in the reference grid </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.rgw">
            <summary>Precinct width reported in the reference grid </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.rgh">
            <summary>Precinct height reported in the reference grid </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.ulx">
            <summary>Precinct horizontal upper-left coordinate in the corresponding
            resolution level
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.uly">
            <summary>Precinct vertical upper-left coordinate in the corresponding
            resolution level
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.w">
            <summary>Precinct width in the corresponding resolution level </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.h">
            <summary>Precinct height in the corresponding resolution level </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.r">
            <summary>Resolution level index </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.cblk">
            <summary>Code-blocks belonging to this precinct in each subbands of the
            resolution level 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.PrecInfo.nblk">
            <summary>Number of code-blocks in each subband belonging to this precinct </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.PrecInfo.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Class constructor.
            
            </summary>
            <param name="r">Resolution level index.
            </param>
            <param name="ulx">Precinct horizontal offset.
            </param>
            <param name="uly">Precinct vertical offset.
            </param>
            <param name="w">Precinct width.
            </param>
            <param name="h">Precinct height.
            </param>
            <param name="rgulx">Precinct horizontal offset in the image reference grid.
            </param>
            <param name="rguly">Precinct horizontal offset in the image reference grid.
            </param>
            <param name="rgw">Precinct width in the reference grid.
            </param>
            <param name="rgh">Precinct height in the reference grid.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.PrecInfo.ToString">
            <summary> Returns PrecInfo object information in a String
            
            </summary>
            <returns> PrecInfo information 
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.codestream.ProgressionType" -->
        <member name="F:CSJ2K.j2k.codestream.ProgressionType.LY_RES_COMP_POS_PROG">
            <summary>The codestream is Layer/Resolution/Component/Position progressive : 0
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.ProgressionType.RES_LY_COMP_POS_PROG">
            <summary>The codestream is Resolution/Layer/Component/Position progressive : 1
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.ProgressionType.RES_POS_COMP_LY_PROG">
            <summary>The codestream is Resolution/Position/Component/Layer progressive : 2
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.ProgressionType.POS_COMP_RES_LY_PROG">
            <summary>The codestream is Position/Component/Resolution/Layer progressive : 3
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.ProgressionType.COMP_POS_RES_LY_PROG">
            <summary>The codestream is Component/Position/Resolution/Layer progressive : 4
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent">
            <summary> This is the generic interface for bit stream reader agents. A bit stream
            reader agent is an entity that allows reading from a bit stream and
            requesting compressed code-blocks. It can be a simple file reader, or a
            network connection, or anything else.
            
            <p>The bit stream reader agent allows to make request for compressed block
            data in any order. The amount of data returned would normally depend on the
            data available at the time of the request, be it from a file or from a
            network connection.</p>
            
            <p>The bit stream reader agent has the notion of a current tile, and
            coordinates are relative to the current tile, where applicable.</p>
            
            <p>Resolution level 0 is the lowest resolution level, i.e. the LL subband
            alone.</p>
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.entropy.decoder.CodedCBlkDataSrcDec">
            <summary> This interface defines a source of entropy coded data and methods to
            transfer it in a code-block by code-block basis. In each call to
            'geCodeBlock()' a specified coded code-block is returned.
            
            <p>This interface is the source of data for the entropy decoder. See the
            'EntropyDecoder' class.</p>
            
            <p>For each coded-code-block the entropy-coded data is returned along with
            its truncation point information in a 'DecLyrdCBlk' object.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.entropy.decoder.EntropyDecoder">
            
            </seealso>
            <seealso cref="T:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk">
            
            </seealso>
            <seealso cref="!:jj2000.j2k.codestream.reader.BitstreamReaderAgent">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.InvWTData">
            <summary> This interface extends the MultiResImgData interface with the methods that
            are necessary for inverse wavelet data (i.e. data that is the source to an
            inverse wavlet trasnform).
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.MultiResImgData">
            <summary> This interface defines methods to access image attributes (width, height,
            number of components, etc.) of multiresolution images, such as those
            resulting from an inverse wavelet transform. 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 multi-resolution image data, such
            as entropy decoders, dequantizers, etc. This interface, however, does not
            define methods to transfer image data (i.e. pixel data), that is defined by
            other interfaces, such as 'CBlkQuantDataSrcDec'.
            
            <p>This interface is very similar to the 'ImgData' one. It differs only by
            the fact that it handles multiple resolutions.</p>
            
            <p>Resolution levels are counted from 0 to L. Resolution level 0 is the
            lower resolution, while L is the maximum resolution level, or full
            resolution, which is returned by 'getMaxResLvl()'. Note that there are L+1
            resolution levels available.</p>
            
            <p>As in the 'ImgData' interface a multi-resolution image lies on top of a
            canvas. The canvas coordinates are mapped from the full resolution
            reference grid (i.e. resolution level 'L' reference grid) to a resolution
            level 'l' reference grid by '(x_l,y_l) =
            (ceil(x_l/2^(L-l)),ceil(y_l/2^(L-l)))', where '(x,y)' are the full
            resolution reference grid coordinates and '(x_l,y_l)' are the level 'l'
            reference grid coordinates.</p>
            
            <p>For details on the canvas system and its implications consult the
            'ImgData' interface.</p>
            
            <p>Note that tile sizes may not be obtained by simply dividing the tile
            size in the reference grid by the subsampling factor.</p>
            
            </summary>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
            <seealso cref="!:jj2000.j2k.quantization.dequantizer.CBlkQuantDataSrcDec">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getTileWidth(System.Int32)">
            <summary> Returns the overall width of the current tile in pixels for the given
            resolution level. This is the tile's width without accounting for any
            component subsampling. The resolution level is indexed from the lowest
            number of resolution levels of all components of the current tile.
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The total current tile's width in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getTileHeight(System.Int32)">
            <summary> Returns the overall height of the current tile in pixels, for the given
            resolution level. This is the tile's height without accounting for any
            component subsampling. The resolution level is indexed from the lowest
            number of resolution levels of all components of the current tile.
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The total current tile's height in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getImgWidth(System.Int32)">
            <summary> Returns the overall width of the image in pixels, for the given
            resolution level. This is the image's width without accounting for any
            component subsampling or tiling. The resolution level is indexed from
            the lowest number of resolution levels of all components of the current
            tile.
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The total image's width in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getImgHeight(System.Int32)">
            <summary> Returns the overall height of the image in pixels, for the given
            resolution level. This is the image's height without accounting for any
            component subsampling or tiling. The resolution level is indexed from
            the lowest number of resolution levels of all components of the current
            tile.
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The total image's height in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal direction,
            for the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The horizontal subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical direction, for
            the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The vertical subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getTileCompWidth(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component for the
            given resolution level.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in tile <tt>t</tt>
            for resolution <tt>rl</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getTileCompHeight(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component for the
            given resolution level.
            
            </summary>
            <param name="t">The tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in tile
            <tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getCompImgWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified component in the overall
            image, for the given resolution level.
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getCompImgHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified component in the overall
            image, for the given resolution level.
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The height in pixels of component <tt>n</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new indexes. An
            IllegalArgumentException is thrown if the indexes do not correspond to
            a valid tile.
            
            </summary>
            <param name="x">The horizontal indexes the tile.
            
            </param>
            <param name="y">The vertical indexes of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). An NoNextElementException is thrown if the current tile is
            the last one (i.e. there is no next tile).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getTile(CSJ2K.j2k.image.Coord)">
            <summary> Returns the indexes of the current tile. These are the horizontal and
            vertical indexes of the current tile.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The current tile's indexes (vertical and horizontal indexes).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getResULX(System.Int32,System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified resolution in the given component of the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
            <param name="rl">The resolution level index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getResULY(System.Int32,System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified resolution in the given component of the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
            <param name="rl">The resolution level index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getImgULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid at the specified
            resolution level.  The resolution level is indexed from the lowest
            number of resolution levels of all components of the current tile.
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The horizontal coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getImgULY(System.Int32)">
            <summary> Returns the vertical coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid at the specified
            resolution level.  The resolution level is indexed from the lowest
            number of resolution levels of all components of the current tile.
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getNumTiles(CSJ2K.j2k.image.Coord)">
            <summary> Returns the number of tiles in the horizontal and vertical directions.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The number of tiles in the horizontal (Coord.x) and vertical
            (Coord.y) directions.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getNumTiles">
            <summary> Returns the total number of tiles in the image.
            
            </summary>
            <returns> The total number of tiles in the image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.getSynSubbandTree(System.Int32,System.Int32)">
            <summary> Returns the specified synthesis subband tree 
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="c">Component index.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.NomTileWidth">
            <summary>Returns the nominal tiles width </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.NomTileHeight">
            <summary>Returns the nominal tiles height </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.NumComps">
            <summary> Returns the number of components in the image.
            
            </summary>
            <returns> The number of components in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.TileIdx">
            <summary> Returns the index of the current tile, relative to a standard scan-line
            order.
            
            </summary>
            <returns> The current tile's index (starts at 0).
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.TilePartULX">
            <summary>Returns the horizontal tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgData.TilePartULY">
            <summary>Returns the vertical tile partition offset in the reference grid </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTData.getSynSubbandTree(System.Int32,System.Int32)">
            <summary> Returns the subband tree, for the specified tile-component. This method
            returns the root element of the subband tree structure, see 'Subband'
            and 'SubbandSyn'. The tree comprises all the available resolution
            levels.
            
            </summary>
            <param name="t">The index of the tile, from 0 to T-1.
            
            </param>
            <param name="c">The index of the component, from 0 to C-1.
            
            </param>
            <returns> The root of the tree structure.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTData.CbULX">
            <summary> Returns the horizontal code-block partition origin. Allowable values
            are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTData.CbULY">
            <summary> Returns the vertical code-block partition origin Allowable values are 0
            and 1, nothing else.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.CodedCBlkDataSrcDec.getCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,System.Int32,System.Int32,CSJ2K.j2k.entropy.decoder.DecLyrdCBlk)">
            <summary> Returns the specified coded code-block, for the specified component, in
            the current tile. The first layer to return is indicated by 'fl'. The
            number of layers that is returned depends on 'nl' and the amount of
            data available.
            
            <p>The argument 'fl' is to be used by subsequent calls to this method
            for the same code-block. In this way supplamental data can be retrieved
            at a later time. The fact that data from more than one layer can be
            returned means that several packets from the same code-block, of the
            same component, and the same tile, have been concatenated.</p>
            
            <p>The returned compressed code-block can have its progressive
            attribute set. If this attribute is set it means that more data can be
            obtained by subsequent calls to this method (subject to transmission
            delays, etc). If the progressive attribute is not set it means that the
            returned data is all the data that can be obtained for the specified
            subblock.</p>
            
            <p>The compressed code-block is uniquely specified by the current tile,
            the component (identified by 'c'), the subband (indentified by 'sb')
            and the code-bock vertical and horizontal indexes 'm' and 'n'.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'DecLyrdCBlk' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in whic the requested code-block is.
            
            </param>
            <param name="fl">The first layer to return.
            
            </param>
            <param name="nl">The number of layers to return, if negative all available
            layers are returned, starting at 'fl'.
            
            </param>
            <param name="ccb">If not null this object is used to return the compressed
            code-block. If null a new object is created and returned. If the data
            array in ccb is not null then it can be reused to return the compressed
            data.
            
            </param>
            <returns> The compressed code-block, with a certain number of layers
            determined by the available data and 'nl'.
            
            </returns>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.OPT_PREFIX">
            <summary>The prefix for bit stream reader options: 'B' </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.decSpec">
            <summary>The decoder specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.derived">
            <summary> Whether or not the components in the current tile uses a derived
            quantization step size (only relevant in non reversible quantization
            mode). This field is actualized by the setTile method in
            FileBitstreamReaderAgent.
            
            </summary>
            <seealso cref="!:FileBitstreamReaderAgent.initSubbandsFields">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.gb">
            <summary> Number of guard bits off all component in the current tile. This field
            is actualized by the setTile method in FileBitstreamReaderAgent.
            
            </summary>
            <seealso cref="!:FileBitstreamReaderAgent.initSubbandsFields">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.params_Renamed">
            <summary> Dequantization parameters of all subbands and all components in the
            current tile. The value is actualized by the setTile method in
            FileBitstreamReaderAgent.
            
            </summary>
            <seealso cref="!:FileBitstreamReaderAgent.initSubbandsFields">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.pinfo">
            <summary>The list of parameters that is accepted by the bit stream
            readers. They start with 'B'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.mdl">
            <summary> The maximum number of decompostion levels for each component of the
            current tile. It means that component c has mdl[c]+1 resolution levels
            (indexed from 0 to mdl[c])
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.nc">
            <summary>The number of components </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.targetRes">
            <summary>Image resolution level to generate </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.subbTrees">
            <summary> The subband trees for each component in the current tile. Each element
            in the array is the root element of the subband tree for a
            component. The number of magnitude bits in each subband (magBits member
            variable) is not initialized.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.imgW">
            <summary>The image width on the hi-res reference grid </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.imgH">
            <summary>The image width on the hi-res reference grid </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ax">
            <summary>The horizontal coordinate of the image origin in the canvas system, on
            the reference grid. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ay">
            <summary>The vertical coordinate of the image origin in the canvas system, on
            the reference grid. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.px">
            <summary>The horizontal coordinate of the tiling origin in the canvas system, on
            the reference grid. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.py">
            <summary>The vertical coordinate of the tiling origin in the canvas system, on
            the reference grid. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.offX">
            <summary>The horizontal offsets of the upper-left corner of the current tile
            (not active tile) with respect to the canvas origin, in the component
            hi-res grid, for each component. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.offY">
            <summary>The vertical offsets of the upper-left corner of the current tile (not
            active tile) with respect to the canvas origin, in the component hi-res
            grid, for each component. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.culx">
            <summary>The horizontal coordinates of the upper-left corner of the active
            tile, with respect to the canvas origin, in the component hi-res grid,
            for each component. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.culy">
            <summary>The vertical coordinates of the upper-left corner of the active tile,
            with respect to the canvas origin, in the component hi-res grid, for
            each component. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ntW">
            <summary>The nominal tile width, in the hi-res reference grid </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ntH">
            <summary>The nominal tile height, in the hi-res reference grid </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ntX">
            <summary>The number of tile in the horizontal direction </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ntY">
            <summary>The number of tiles in the vertical direction </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.nt">
            <summary>The total number of tiles </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ctX">
            <summary>The current tile horizontal index </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ctY">
            <summary>The current tile vertical index </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.hd">
            <summary>The decoded bit stream header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.tnbytes">
            <summary>Number of bytes targeted to be read </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.anbytes">
            <summary>Actual number of read bytes </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.trate">
            <summary>Target decoding rate in bpp </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.arate">
            <summary>Actual decoding rate in bpp </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.#ctor(CSJ2K.j2k.codestream.reader.HeaderDecoder,CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Initializes members of this class. This constructor takes a
            HeaderDecoder object. This object must be initialized by the
            constructor of the implementing class from the header of the bit
            stream.
            
            </summary>
            <param name="hd">The decoded header of the bit stream from where to initialize
            the values.
            
            </param>
            <param name="decSpec">The decoder specifications
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal direction,
            for the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The horizontal subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical direction, for
            the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and C-1)
            
            </param>
            <returns> The vertical subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getTileWidth(System.Int32)">
            <summary> Returns the overall width of the current tile in pixels for the given
            (tile) resolution level. This is the tile's width without accounting
            for any component subsampling.
            
            <p>Note: Tile resolution level indexes may be different from
            tile-component resolution index. They are indeed indexed starting from
            the lowest number of decomposition levels of each component of the
            tile.</p>
            
            <p>For an image (1 tile) with 2 components (component 0 having 2
            decomposition levels and component 1 having 3 decomposition levels),
            the first (tile-)component has 3 resolution levels and the second one
            has 4 resolution levels, whereas the tile has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="rl">The (tile) resolution level.
            
            </param>
            <returns> The current tile's width in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getTileHeight(System.Int32)">
            <summary> Returns the overall height of the current tile in pixels, for the given
            resolution level. This is the tile's height without accounting for any
            component subsampling.
            
            <p>Note: Tile resolution level indexes may be different from
            tile-component resolution index. They are indeed indexed starting from
            the lowest number of decomposition levels of each component of the
            tile.</p>
            
            <p>For an image (1 tile) with 2 components (component 0 having 2
            decomposition levels and component 1 having 3 decomposition levels),
            the first (tile-)component has 3 resolution levels and the second one
            has 4 resolution levels, whereas the tile has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="rl">The (tile) resolution level.
            
            </param>
            <returns> The total current tile's height in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getImgWidth(System.Int32)">
            <summary> Returns the overall width of the image in pixels, for the given (image)
            resolution level. This is the image's width without accounting for any
            component subsampling or tiling.
            
            <p>Note: Image resolution level indexes may differ from tile-component
            resolution index. They are indeed indexed starting from the lowest
            number of decomposition levels of each component of each tile.</p>
            
            <p>Example: For an image (1 tile) with 2 components (component 0 having
            2 decomposition levels and component 1 having 3 decomposition levels),
            the first (tile-) component has 3 resolution levels and the second one
            has 4 resolution levels, whereas the image has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="rl">The image resolution level.
            
            </param>
            <returns> The total image's width in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getImgHeight(System.Int32)">
            <summary> Returns the overall height of the image in pixels, for the given
            resolution level. This is the image's height without accounting for any
            component subsampling or tiling.
            
            <p>Note: Image resolution level indexes may differ from tile-component
            resolution index. They are indeed indexed starting from the lowest
            number of decomposition levels of each component of each tile.</p>
            
            <p>Example: For an image (1 tile) with 2 components (component 0 having
            2 decomposition levels and component 1 having 3 decomposition levels),
            the first (tile-) component has 3 resolution levels and the second one
            has 4 resolution levels, whereas the image has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="rl">The image resolution level, from 0 to L.
            
            </param>
            <returns> The total image's height in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getImgULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid at the specified
            resolution level.
            
            <p>Note: Image resolution level indexes may differ from tile-component
            resolution index. They are indeed indexed starting from the lowest
            number of decomposition levels of each component of each tile.</p>
            
            <p>Example: For an image (1 tile) with 2 components (component 0 having
            2 decomposition levels and component 1 having 3 decomposition levels),
            the first (tile-) component has 3 resolution levels and the second one
            has 4 resolution levels, whereas the image has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The horizontal coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getImgULY(System.Int32)">
            <summary> Returns the vertical coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid at the specified
            resolution level.
            
            <p>Note: Image resolution level indexes may differ from tile-component
            resolution index. They are indeed indexed starting from the lowest
            number of decomposition levels of each component of each tile.</p>
            
            <p>Example: For an image (1 tile) with 2 components (component 0 having
            2 decomposition levels and component 1 having 3 decomposition levels),
            the first (tile-) component has 3 resolution levels and the second one
            has 4 resolution levels, whereas the image has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getTileCompWidth(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component for the
            given (tile-component) resolution level.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in tile <tt>t</tt>
            for resolution level <tt>rl</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getTileCompHeight(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component for the
            given (tile-component) resolution level.
            
            </summary>
            <param name="t">The tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in the current
            tile.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getCompImgWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified component in the overall
            image, for the given (component) resolution level.
            
            <p>Note: Component resolution level indexes may differ from
            tile-component resolution index. They are indeed indexed starting from
            the lowest number of decomposition levels of same component of each
            tile.</p>
            
            <p>Example: For an image (2 tiles) with 1 component (tile 0 having 2
            decomposition levels and tile 1 having 3 decomposition levels), the
            first tile(-component) has 3 resolution levels and the second one has 4
            resolution levels, whereas the component has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getCompImgHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified component in the overall
            image, for the given (component) resolution level.
            
            <p>Note: Component resolution level indexes may differ from
            tile-component resolution index. They are indeed indexed starting from
            the lowest number of decomposition levels of same component of each
            tile.</p>
            
            <p>Example: For an image (2 tiles) with 1 component (tile 0 having 2
            decomposition levels and tile 1 having 3 decomposition levels), the
            first tile(-component) has 3 resolution levels and the second one has 4
            resolution levels, whereas the component has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new indexes. An
            IllegalArgumentException is thrown if the indexes do not correspond to
            a valid tile.
            
            </summary>
            <param name="x">The horizontal indexes the tile.
            
            </param>
            <param name="y">The vertical indexes of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). An NoNextElementException is thrown if the current tile is
            the last one (i.e. there is no next tile).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getTile(CSJ2K.j2k.image.Coord)">
            <summary> Returns the indexes of the current tile. These are the horizontal and
            vertical indexes of the current tile.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The current tile's indexes (vertical and horizontal indexes).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getResULX(System.Int32,System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified resolution in the given component of the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
            <param name="rl">The resolution level index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getResULY(System.Int32,System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified component in the given component of the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
            <param name="rl">The resolution level index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getNumTiles(CSJ2K.j2k.image.Coord)">
            <summary> Returns the number of tiles in the horizontal and vertical directions.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The number of tiles in the horizontal (Coord.x) and vertical
            (Coord.y) directions.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getNumTiles">
            <summary> Returns the total number of tiles in the image.
            
            </summary>
            <returns> The total number of tiles in the image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getSynSubbandTree(System.Int32,System.Int32)">
            <summary> Returns the subband tree, for the specified tile-component. This method
            returns the root element of the subband tree structure, see Subband and
            SubbandSyn. The tree comprises all the available resolution levels.
            
            <p>Note: this method is not able to return subband tree for a tile
            different than the current one.</p>
            
            <p>The number of magnitude bits ('magBits' member variable) for each
            subband is not initialized.</p>
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">The index of the component, from 0 to C-1.
            
            </param>
            <returns> The root of the tree structure.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.createInstance(CSJ2K.j2k.io.RandomAccessIO,CSJ2K.j2k.codestream.reader.HeaderDecoder,CSJ2K.j2k.util.ParameterList,CSJ2K.j2k.decoder.DecoderSpecs,System.Boolean,CSJ2K.j2k.codestream.HeaderInfo)">
            <summary> Creates a bit stream reader of the correct type that works on the
            provided RandomAccessIO, with the special parameters from the parameter
            list.
            
            </summary>
            <param name="in">The RandomAccessIO source from which to read the bit stream.
            
            </param>
            <param name="hd">Header of the codestream.
            
            </param>
            <param name="pl">The parameter list containing parameters applicable to the
            bit stream read (other parameters may also be present).
            
            </param>
            <param name="decSpec">The decoder specifications
            
            </param>
            <param name="cdstrInfo">Whether or not to print information found in
            codestream. 
            
            </param>
            <param name="hi">Reference to the HeaderInfo instance.
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading initial
            data from the bit stream.
            </exception>
            <exception cref="!:IllegalArgumentException">If an unrecognised bit stream
            reader option is present.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getPPX(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition width for the specified tile-component
            and (tile-component) resolution level.
            
            </summary>
            <param name="t">the tile index
            
            </param>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> the precinct partition width for the specified component,
            resolution level and tile.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.getPPY(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition height for the specified tile-component
            and (tile-component) resolution level.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The precinct partition height in the specified component, for
            the specified resolution level, for the current tile.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.initSubbandsFields(System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn)">
            <summary> Initialises subbands fields, such as number of code-blocks, code-blocks
            dimension and number of magnitude bits, in the subband tree. The
            nominal code-block width/height depends on the precincts dimensions if
            used. The way the number of magnitude bits is computed depends on the
            quantization type (reversible, derived, expounded).
            
            </summary>
            <param name="c">The component index
            
            </param>
            <param name="sb">The subband tree to be initialised.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.CbULX">
            <summary> Returns the horizontal code-block partition origin. Allowable values
            are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.CbULY">
            <summary> Returns the vertical code-block partition origin. Allowable values are
            0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.NumComps">
            <summary> Returns the number of components in the image.
            
            </summary>
            <returns> The number of components in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.TileIdx">
            <summary> Returns the index of the current tile, relative to a standard scan-line
            order.
            
            </summary>
            <returns> The current tile's index (starts at 0).
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ParameterInfo">
            <summary> 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 3 elements. The first element is the
            option name, the second one is the synopsis and the third one is a long
            description of what the parameter is. 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, or null
            if no options are supported.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ImgRes">
            <summary> Returns the image resolution level to reconstruct from the
            codestream. This value cannot be computed before every main and tile
            headers are read.
            
            </summary>
            <returns> The image  resolution level
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.TargetRate">
            <summary> Return the target decoding rate in bits per pixel.
            
            </summary>
            <returns> Target decoding rate in bpp.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ActualRate">
            <summary> Return the actual decoding rate in bits per pixel.
            
            </summary>
            <returns> Actual decoding rate in bpp.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.TargetNbytes">
            <summary> Return the target number of read bytes.
            
            </summary>
            <returns> Target decoding rate in bytes.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.ActualNbytes">
            <summary> Return the actual number of read bytes.
            
            </summary>
            <returns> Actual decoding rate in bytes.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.TilePartULX">
            <summary>Returns the horizontal offset of tile partition </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.TilePartULY">
            <summary>Returns the vertical offset of tile partition </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.NomTileWidth">
            <summary>Returns the nominal tile width </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.BitstreamReaderAgent.NomTileHeight">
            <summary>Returns the nominal tile height </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.reader.CBlkInfo">
            <summary> This class contains location of code-blocks' piece of codewords (there is
            one piece per layer) and some other information.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.ulx">
            <summary>Upper-left x-coordinate of the code-block (relative to the tile) </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.uly">
            <summary>Upper-left y-coordinate of the code-block (relative to the tile) </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.w">
            <summary>Width of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.h">
            <summary>Height of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.msbSkipped">
            <summary>The number of most significant bits which are skipped for this
            code-block (= Mb-1-bitDepth). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.len">
            <summary>Length of each piece of code-block's codewords </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.off">
            <summary>Offset of each piece of code-block's codewords in the file </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.ntp">
            <summary>The number of truncation point for each layer </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.ctp">
            <summary>The cumulative number of truncation points </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.segLen">
            <summary>The length of each segment (used with regular termination or in
            selective arithmetic bypass coding mode) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.CBlkInfo.pktIdx">
            <summary>Index of the packet where each layer has been found </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.CBlkInfo.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Constructs a new instance with specified number of layers and
            code-block coordinates. The number corresponds to the maximum piece of
            codeword for one code-block.
            
            </summary>
            <param name="ulx">The uper-left x-coordinate
            
            </param>
            <param name="uly">The uper-left y-coordinate
            
            </param>
            <param name="w">Width of the code-block
            
            </param>
            <param name="h">Height of the code-block
            
            </param>
            <param name="nl">The number of layers
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.CBlkInfo.addNTP(System.Int32,System.Int32)">
            <summary> Adds the number of new truncation for specified layer.
            
            </summary>
            <param name="l">layer index
            
            </param>
            <param name="newtp">Number of new truncation points 
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.CBlkInfo.ToString">
            <summary> Object information in a string.
            
            </summary>
            <returns> Object information
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent">
            <summary> This class reads the bit stream (with the help of HeaderDecoder for tile
            headers and PktDecoder for packets header and body) and retrives location
            of all code-block's codewords.
            
            <p>Note: All tile-parts headers are read by the constructor whereas packets
            are processed when decoding related tile (when setTile method is
            called).</p>
            
            <p>In parsing mode, the reader simulates a virtual layer-resolution
            progressive bit stream with the same truncation points in each code-block,
            whereas in truncation mode, only the first bytes are taken into account (it
            behaves like if it is a real truncated codestream).</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.codestream.reader.HeaderDecoder">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.codestream.reader.PktDecoder">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.isPsotEqualsZero">
            <summary>Whether or not the last read Psot value was zero. Only the Psot in the
            last tile-part in the codestream can have such a value. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.pktDec">
            <summary>Reference to the PktDecoder instance </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.pl">
            <summary>Reference to the ParameterList instance </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.in_Renamed">
            <summary>The RandomAccessIO where to get data from </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.firstPackOff">
            <summary>Offset of the first packet in each tile-part in each tile </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.getNumTileParts(System.Int32)">
            <summary> Returns the number of tile-part found for a given tile
            
            </summary>
            <param name="t">Tile index
            
            
            </param>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.nBytes">
            <summary> Number of bytes allocated to each tile. In parsing mode, this number
            is related to the tile length in the codestream whereas in truncation
            mode all the rate is affected to the first tiles. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.printInfo">
            <summary>Whether or not to print information found in codestream </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.baknBytes">
            <summary> Backup of the number of bytes allocated to each tile. This array is
            used to restore the number of bytes to read in each tile when the
            codestream is read several times (for instance when decoding an R,G,B
            image to three output files)
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.tilePartLen">
            <summary>Length of each tile-part (written in Psot) </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.totTileLen">
            <summary>Total length of each tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.totTileHeadLen">
            <summary>Total length of tiles' header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.firstTilePartHeadLen">
            <summary>First tile part header length</summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.totAllTileLen">
            <summary>Total length of all tile parts in all tiles </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.mainHeadLen">
            <summary>Length of main header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.headLen">
            <summary>Length of main and tile-parts headers </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.tilePartHeadLen">
            <summary>Length of all tile-part headers </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.pktHL">
            <summary>Length of each packet head found in the tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.isTruncMode">
            <summary>True if truncation mode is used. False if parsing mode </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.remainingTileParts">
            <summary>The number of tile-parts that remain to read </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.tilePartsRead">
            <summary>The number of tile-parts read so far for each tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.totTilePartsRead">
            <summary>Thetotal  number of tile-parts read so far </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.tileParts">
            <summary>The number of found tile-parts in each tile. </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.curTilePart">
            <summary>The current tile part being used </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.tilePartNum">
            <summary>The number of the tile-parts found in the codestream after reading the
            tp'th tile-part of tile t 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.isEOCFound">
            <summary>Whether or not a EOC marker has been found instead of a SOT </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.hi">
            <summary>Reference to the HeaderInfo instance (used when reading SOT marker
            segments) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.cbI">
            <summary>Array containing information for all the code-blocks:
            
            <ul>
            <li>1st dim: component index.</li>
            <li>2nd dim: resolution level index.</li>
            <li>3rd dim: subband index.</li>
            <li>4th/5th dim: code-block index (vert. and horiz.).</li>
            </ul>
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.lQuit">
            <summary>The maximum number of layers to decode for any code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.usePOCQuit">
            <summary>Whether or not to use only first progression order </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.#ctor(CSJ2K.j2k.codestream.reader.HeaderDecoder,CSJ2K.j2k.io.RandomAccessIO,CSJ2K.j2k.decoder.DecoderSpecs,CSJ2K.j2k.util.ParameterList,System.Boolean,CSJ2K.j2k.codestream.HeaderInfo)">
            <summary> Reads all tiles headers and keep offset of their first
            packet. Finally it calls the rate allocation method.
            
            </summary>
            <param name="hd">HeaderDecoder of the codestream.
            
            </param>
            <param name="ehs">The input stream where to read bit-stream.
            
            </param>
            <param name="decSpec">The decoder specifications 
            
            </param>
            <param name="pl">The ParameterList instance created from the
            command-line arguments.
            
            </param>
            <param name="cdstrInfo">Whether or not to print information found in
            codestream. 
            
            </param>
            <seealso cref="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.allocateRate">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.allocateRate">
            <summary> Allocates output bit-rate for each tile in parsing mode: The allocator
            simulates the truncation of a virtual layer-resolution progressive
            codestream.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.readTilePartHeader">
            <summary> Reads SOT marker segment of the tile-part header and calls related
            methods of the HeaderDecoder to read other markers segments. The
            tile-part header is entirely read when a SOD marker is encountered.
            
            </summary>
            <returns> The tile number of the tile part that was read
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.readLyResCompPos(System.Int32[][],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Reads packets of the current tile according to the
            layer-resolution-component-position progressiveness.
            
            </summary>
            <param name="lys">Index of the first layer for each component and resolution.
            
            </param>
            <param name="lye">Index of the last layer.
            
            </param>
            <param name="ress">Index of the first resolution level.
            
            </param>
            <param name="rese">Index of the last resolution level.
            
            </param>
            <param name="comps">Index of the first component.
            
            </param>
            <param name="compe">Index of the last component.
            
            </param>
            <returns> True if rate has been reached.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.readResLyCompPos(System.Int32[][],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Reads packets of the current tile according to the
            resolution-layer-component-position progressiveness.
            
            </summary>
            <param name="lys">Index of the first layer for each component and resolution.
            
            </param>
            <param name="lye">Index of the last layer.
            
            </param>
            <param name="ress">Index of the first resolution level.
            
            </param>
            <param name="rese">Index of the last resolution level.
            
            </param>
            <param name="comps">Index of the first component.
            
            </param>
            <param name="compe">Index of the last component.
            
            </param>
            <returns> True if rate has been reached.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.readResPosCompLy(System.Int32[][],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Reads packets of the current tile according to the
            resolution-position-component-layer progressiveness.
            
            </summary>
            <param name="lys">Index of the first layer for each component and resolution.
            
            </param>
            <param name="lye">Index of the last layer.
            
            </param>
            <param name="ress">Index of the first resolution level.
            
            </param>
            <param name="rese">Index of the last resolution level.
            
            </param>
            <param name="comps">Index of the first component.
            
            </param>
            <param name="compe">Index of the last component.
            
            </param>
            <returns> True if rate has been reached.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.readPosCompResLy(System.Int32[][],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Reads packets of the current tile according to the
            position-component-resolution-layer progressiveness.
            
            </summary>
            <param name="lys">Index of the first layer for each component and resolution.
            
            </param>
            <param name="lye">Index of the last layer.
            
            </param>
            <param name="ress">Index of the first resolution level.
            
            </param>
            <param name="rese">Index of the last resolution level.
            
            </param>
            <param name="comps">Index of the first component.
            
            </param>
            <param name="compe">Index of the last component.
            
            </param>
            <returns> True if rate has been reached.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.readCompPosResLy(System.Int32[][],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Reads packets of the current tile according to the
            component-position-resolution-layer progressiveness.
            
            </summary>
            <param name="lys">Index of the first layer for each component and resolution.
            
            </param>
            <param name="lye">Index of the last layer.
            
            </param>
            <param name="ress">Index of the first resolution level.
            
            </param>
            <param name="rese">Index of the last resolution level.
            
            </param>
            <param name="comps">Index of the first component.
            
            </param>
            <param name="compe">Index of the last component.
            
            </param>
            <returns> True if rate has been reached.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.readTilePkts(System.Int32)">
            <summary> Finish initialization of members for specified tile, reads packets head
            of each tile and keeps location of each code-block's codewords. The
            last 2 tasks are done by calling specific methods of PktDecoder.
            
            <p>Then, if a parsing output rate is defined, it keeps information of
            first layers only. This operation simulates a creation of a
            layer-resolution-component progressive bit-stream which will be next
            truncated and decoded.</p>
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <seealso cref="T:CSJ2K.j2k.codestream.reader.PktDecoder">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new indexes. An
            IllegalArgumentException is thrown if the indexes do not correspond to
            a valid tile.
            
            </summary>
            <param name="x">The horizontal indexes the tile.
            
            </param>
            <param name="y">The vertical indexes of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). A NoNextElementException is thrown if the current tile is the
            last one (i.e. there is no next tile).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.getCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,System.Int32,System.Int32,CSJ2K.j2k.entropy.decoder.DecLyrdCBlk)">
            <summary> Returns the specified coded code-block, for the specified component, in
            the current tile. The first layer to return is indicated by 'fl'. The
            number of layers that is returned depends on 'nl' and the amount of
            available data.
            
            <p>The argument 'fl' is to be used by subsequent calls to this method
            for the same code-block. In this way supplemental data can be retrieved
            at a later time. The fact that data from more than one layer can be
            returned means that several packets from the same code-block, of the
            same component, and the same tile, have been concatenated.</p>
            
            <p>The returned compressed code-block can have its progressive
            attribute set. If this attribute is set it means that more data can be
            obtained by subsequent calls to this method (subject to transmission
            delays, etc). If the progressive attribute is not set it means that the
            returned data is all the data that can be obtained for the specified
            code-block.</p>
            
            <p>The compressed code-block is uniquely specified by the current tile,
            the component (identified by 'c'), the subband (indentified by 'sb')
            and the code-block vertical and horizontal indexes 'n' and 'm'.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'DecLyrdCBlk' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in whic the requested code-block is.
            
            </param>
            <param name="fl">The first layer to return.
            
            </param>
            <param name="nl">The number of layers to return, if negative all available
            layers are returned, starting at 'fl'.
            
            </param>
            <param name="ccb">If not null this object is used to return the compressed
            code-block. If null a new object is created and returned. If the data
            array in ccb is not null then it can be reused to return the compressed
            data.
            
            </param>
            <returns> The compressed code-block, with a certain number of layers
            determined by the available data and 'nl'.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.CBlkInfo">
            <summary>Gets the reference to the CBlkInfo array </summary>
        </member>
        <member name="T:CSJ2K.j2k.codestream.reader.HeaderDecoder">
            <summary> This class reads main and tile-part headers from the codestream given a
            RandomAccessIO instance located at the beginning of the codestream (i.e
            just before the SOC marker) or at the beginning of a tile-part (i.e. just
            before a SOT marker segment) respectively.
            
            <p>A marker segment includes a marker and eventually marker segment
            parameters. It is designed by the three letters code of the marker
            associated with the marker segment. JPEG 2000 part 1 defines 6 types of
            markers segments:
            
            <ul> 
            <li> Delimiting : SOC, SOT, SOD, EOC</li> 
            
            <li> Fixed information: SIZ.</li>
            
            <li> Functional: COD, COC, RGN, QCD, QCC,POC.</li> 
            
            <li> In bit-stream: SOP, EPH.</li>
            
            <li> Pointer: TLM, PLM, PLT, PPM, PPT.</li>
            
            <li> Informational: CRG, COM.</li>
            </ul></p>
            
            <p>The main header is read when the constructor is called whereas tile-part
            headers are read when the FileBitstreamReaderAgent instance is created. The
            reading is done in 2 passes:
            
            <ol> 
            <li>All marker segments are buffered and their corresponding flag is
            activated (extractMainMarkSeg and extractTilePartMarkSeg methods).</li>
            
            <li>Buffered marker segment are analyzed in a logical way and
            specifications are stored in appropriate member of DecoderSpecs instance
            (readFoundMainMarkSeg and readFoundTilePartMarkSeg methods).</li>
            </ol></p>
            
            <p>Whenever a marker segment is not recognized a warning message is
            displayed and its length parameter is used to skip it.</p>
            
            <p>The information found in this header is stored in HeaderInfo and
            DecoderSpecs instances.</p>
            
            </summary>
            <seealso cref="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.DecoderSpecs">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.codestream.HeaderInfo">
            </seealso>
            <seealso cref="!:Decoder">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.OPT_PREFIX">
            <summary>The prefix for header decoder options: 'H' </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.SIZ_FOUND">
            <summary>Flag bit for SIZ marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.COD_FOUND">
            <summary>Flag bit for COD marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.COC_FOUND">
            <summary>Flag bit for COC marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.QCD_FOUND">
            <summary>Flag bit for QCD marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.TLM_FOUND">
            <summary>Flag bit for TLM marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.PLM_FOUND">
            <summary>Flag bit for PLM marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.SOT_FOUND">
            <summary>Flag bit for SOT marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.PLT_FOUND">
            <summary>Flag bit for PLT marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.QCC_FOUND">
            <summary>Flag bit for QCC marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.RGN_FOUND">
            <summary>Flag bit for RGN marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.POC_FOUND">
            <summary>Flag bit for POC marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.COM_FOUND">
            <summary>Flag bit for COM marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.SOD_FOUND">
            <summary>Flag bit for SOD marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.PPM_FOUND">
            <summary>Flag bit for SOD marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.PPT_FOUND">
            <summary>Flag bit for SOD marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.CRG_FOUND">
            <summary>Flag bit for CRG marker segment found </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.pinfo">
            <summary>The list of parameters that is accepted for quantization. Options 
            for quantization start with 'Q'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.hi">
            <summary>The reference to the HeaderInfo instance holding the information found
            in headers 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.hdStr">
            <summary>Current header information in a string </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nTiles">
            <summary>The number of tiles within the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nTileParts">
            <summary>The number of tile parts in each tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nfMarkSeg">
            <summary>Used to store which markers have been already read, by using flag
            bits. The different markers are marked with XXX_FOUND flags, such as
            SIZ_FOUND 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nCOCMarkSeg">
            <summary>Counts number of COC markers found in the header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nQCCMarkSeg">
            <summary>Counts number of QCC markers found in the header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nCOMMarkSeg">
            <summary>Counts number of COM markers found in the header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nRGNMarkSeg">
            <summary>Counts number of RGN markers found in the header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nPPMMarkSeg">
            <summary>Counts number of PPM markers found in the header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nPPTMarkSeg">
            <summary>Counts number of PPT markers found in the header </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.ht">
            <summary>HashTable used to store temporary marker segment byte buffers </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.nComp">
            <summary>The number of components in the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.cb0x">
            <summary>The horizontal code-block partition origin </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.cb0y">
            <summary>The vertical code-block partition origin </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.decSpec">
            <summary>The decoder specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.precinctPartitionIsUsed">
            <summary>Is the precinct partition used </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.mainHeadOff">
            <summary>The offset of the main header in the input stream </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.tileOfTileParts">
            <summary>Vector containing info as to which tile each tilepart belong </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.pPMMarkerData">
            <summary>Array containing the Nppm and Ippm fields of the PPM marker segments</summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.tilePartPkdPktHeaders">
            <summary>Array containing the Ippm fields of the PPT marker segments </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.HeaderDecoder.pkdPktHeaders">
            <summary>The packed packet headers if the PPM or PPT markers are used </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.getTilingOrigin(CSJ2K.j2k.image.Coord)">
            <summary> Returns the tiling origin, referred to as '(Px,Py)' in the 'ImgData'
            interface.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The coordinate of the tiling origin, in the canvas system, on
            the reference grid.
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.isOriginalSigned(System.Int32)">
            <summary> Returns true if the original data of the specified component was
            signed. If the data was not signed a level shift has to be applied at
            the end of the decompression chain.
            
            </summary>
            <param name="c">The index of the component
            
            </param>
            <returns> True if the original image component was signed.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.getOriginalBitDepth(System.Int32)">
            <summary> Returns the original bitdepth of the specified component.
            
            </summary>
            <param name="c">The index of the component
            
            </param>
            <returns> The bitdepth of the component
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.getCompSubsX(System.Int32)">
            <summary> Returns the component sub-sampling factor, with respect to the
            reference grid, along the horizontal direction for the specified
            component.
            
            </summary>
            <param name="c">The index of the component
            
            </param>
            <returns> The component sub-sampling factor X-wise.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.getCompSubsY(System.Int32)">
            <summary> Returns the component sub-sampling factor, with respect to the
            reference grid, along the vertical direction for the specified
            component.
            
            </summary>
            <param name="c">The index of the component
            
            </param>
            <returns> The component sub-sampling factor Y-wise.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.createDequantizer(CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec,System.Int32[],CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Returns the dequantizer parameters. Dequantizer parameters normally are
            the quantization step sizes, see DequantizerParams.
            
            </summary>
            <param name="src">The source of data for the dequantizer.
            
            </param>
            <param name="rb">The number of range bits for each component. Must be
            the number of range bits of the mixed components.
            
            </param>
            <param name="decSpec2">The DecoderSpecs instance after any image manipulation.
            
            </param>
            <returns> The dequantizer
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.getPPX(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition width for the specified tile-component
            and resolution level.
            
            </summary>
            <param name="c">the component index
            
            </param>
            <param name="t">the tile index
            
            </param>
            <param name="rl">the resolution level
            
            </param>
            <returns> The precinct partition width for the specified tile-component
            and resolution level
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.getPPY(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition height for the specified tile-component
            and resolution level.
            
            </summary>
            <param name="c">the component index
            
            </param>
            <param name="t">the tile index
            
            </param>
            <param name="rl">the resolution level
            
            </param>
            <returns> The precinct partition height for the specified tile-component
            and resolution level
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.precinctPartitionUsed">
            <summary> Returns the boolean used to know if the precinct partition is used
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readFilter(System.IO.BinaryReader,System.Int32[])">
            <summary> Reads a wavelet filter from the codestream and returns the filter
            object that implements it.
            
            </summary>
            <param name="ehs">The encoded header stream from where to read the info
            
            </param>
            <param name="filtIdx">Int array of one element to return the type of the
            wavelet filter.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.checkMarkerLength(System.IO.BinaryReader,System.String)">
            <summary> Checks that the marker segment length is correct. 
            
            </summary>
            <param name="ehs">The encoded header stream
            
            </param>
            <param name="str">The string identifying the marker, such as "SIZ marker"
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readSIZ(System.IO.BinaryReader)">
            <summary> Reads the SIZ marker segment and realigns the codestream at the point
            where the next marker segment should be found. 
            
            <p>SIZ is a fixed information marker segment containing informations
            about image and tile sizes. It is required in the main header
            immediately after SOC.</p>
            
            </summary>
            <param name="ehs">The encoded header stream
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoded header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readCRG(System.IO.BinaryReader)">
            <summary> Reads a CRG marker segment and checks its length. CRG is an
            informational marker segment that allows specific registration of
            components with respect to each other.
            
            </summary>
            <param name="ehs">The encoded header stream
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readCOM(System.IO.BinaryReader,System.Boolean,System.Int32,System.Int32)">
            <summary> Reads a COM marker segments and realigns the bit stream at the point
            where the next marker segment should be found. COM is an informational
            marker segment that allows to include unstructured data in the main and
            tile-part headers.
            
            </summary>
            <param name="ehs">The encoded header stream
            
            </param>
            <param name="mainh">Flag indicating whether or not this marker segment is read
            from the main header.
            
            </param>
            <param name="tileIdx">The index of the current tile
            
            </param>
            <param name="comIdx">Occurence of this COM marker in eith main or tile-part
            header 
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoded header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readQCD(System.IO.BinaryReader,System.Boolean,System.Int32,System.Int32)">
            <summary> Reads a QCD marker segment and realigns the codestream at the point
            where the next marker should be found. QCD is a functional marker
            segment that describes the quantization default.
            
            </summary>
            <param name="ehs">The encoded stream.
            
            </param>
            <param name="mainh">Flag indicating whether or not this marker segment is read
            from the main header.
            
            </param>
            <param name="tileIdx">The index of the current tile
            
            </param>
            <param name="tpIdx">Tile-part index
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoded header stream.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readQCC(System.IO.BinaryReader,System.Boolean,System.Int32,System.Int32)">
            <summary> Reads a QCC marker segment and realigns the codestream at the point
            where the next marker should be found. QCC is a functional marker
            segment that describes the quantization of one component.
            
            </summary>
            <param name="ehs">The encoded stream.
            
            </param>
            <param name="mainh">Flag indicating whether or not this marker segment is read
            from the main header.
            
            </param>
            <param name="tileIdx">The index of the current tile
            
            </param>
            <param name="tpIdx">Tile-part index
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoded header stream.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readCOD(System.IO.BinaryReader,System.Boolean,System.Int32,System.Int32)">
            <summary> Reads a COD marker segment and realigns the codestream where the next
            marker should be found. 
            
            </summary>
            <param name="ehs">The encoder header stream.
            
            </param>
            <param name="mainh">Flag indicating whether or not this marker segment is read
            from the main header.
            
            </param>
            <param name="tileIdx">The index of the current tile
            
            </param>
            <param name="tpIdx">Tile-part index
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readCOC(System.IO.BinaryReader,System.Boolean,System.Int32,System.Int32)">
            <summary> Reads the COC marker segment and realigns the codestream where the next
            marker should be found.
            
            </summary>
            <param name="ehs">The encoder header stream.
            
            </param>
            <param name="mainh">Flag indicating whether or not this marker segment is read
            from the main header.
            
            </param>
            <param name="tileIdx">The index of the current tile
            
            </param>
            <param name="tpIdx">Tile-part index
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readPOC(System.IO.BinaryReader,System.Boolean,System.Int32,System.Int32)">
            <summary> Reads the POC marker segment and realigns the codestream where the next
            marker should be found.
            
            </summary>
            <param name="ehs">The encoder header stream.
            
            </param>
            <param name="mainh">Flag indicating whether or not this marker segment is read
            from the main header.
            
            </param>
            <param name="t">The index of the current tile
            
            </param>
            <param name="tpIdx">Tile-part index
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readTLM(System.IO.BinaryReader)">
            <summary> Reads TLM marker segment and realigns the codestream where the next
            marker should be found. Informations stored in these fields are
            currently NOT taken into account.
            
            </summary>
            <param name="ehs">The encoder header stream.
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readPLM(System.IO.BinaryReader)">
            <summary> Reads PLM marker segment and realigns the codestream where the next
            marker should be found. Informations stored in these fields are
            currently not taken into account.
            
            </summary>
            <param name="ehs">The encoder header stream.
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readPLTFields(System.IO.BinaryReader)">
            <summary> Reads the PLT fields and realigns the codestream where the next marker
            should be found. Informations stored in these fields are currently NOT
            taken into account.
            
            </summary>
            <param name="ehs">The encoder header stream.
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readRGN(System.IO.BinaryReader,System.Boolean,System.Int32,System.Int32)">
            <summary> Reads the RGN marker segment of the codestream header.
            
            <p>May be used in tile or main header. If used in main header, it
            refers to the maxshift value of a component in all tiles. When used in
            tile header, only the particular tile-component is affected.</p>
            
            </summary>
            <param name="ehs">The encoder header stream.
            
            </param>
            <param name="mainh">Flag indicating whether or not this marker segment is read
            from the main header.
            
            </param>
            <param name="tileIdx">The index of the current tile
            
            </param>
            <param name="tpIdx">Tile-part index
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readPPM(System.IO.BinaryReader)">
            <summary> Reads the PPM marker segment of the main header.
            
            </summary>
            <param name="ehs">The encoder header stream.
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readPPT(System.IO.BinaryReader,System.Int32,System.Int32)">
            <summary> Reads the PPT marker segment of the main header.
            
            </summary>
            <param name="ehs">The encoder header stream.
            
            </param>
            <param name="tile">The tile to which the current tile part belongs
            
            </param>
            <param name="tpIdx">Tile-part index
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.extractMainMarkSeg(System.Int16,CSJ2K.j2k.io.RandomAccessIO)">
            <summary> This method extract a marker segment from the main header and stores it
            into a byte buffer for the second pass. The marker segment is first
            identified. Then its flag is activated. Finally, its content is
            buffered into a byte array stored in an hashTable.
            
            <p>If the marker is not recognized, it prints a warning and skips it
            according to its length.</p>
            
            <p>SIZ marker segment shall be the first encountered marker segment.</p>
            
            </summary>
            <param name="marker">The marker segment to process
            
            </param>
            <param name="ehs">The encoded header stream
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.extractTilePartMarkSeg(System.Int16,CSJ2K.j2k.io.RandomAccessIO,System.Int32,System.Int32)">
            <summary> This method extracts a marker segment in a tile-part header and stores
            it into a byte buffer for the second pass. The marker is first
            recognized, then its flag is activated and, finally, its content is
            buffered in an element of byte arrays accessible thanks to a hashTable.
            If a marker segment is not recognized, it prints a warning and skip it
            according to its length.
            
            </summary>
            <param name="marker">The marker to process
            
            </param>
            <param name="ehs">The encoded header stream
            
            </param>
            <param name="tileIdx">The index of the current tile
            
            </param>
            <param name="tilePartIdx">The index of the current tile part
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readFoundMainMarkSeg">
            <summary> Retrieves and reads all marker segments found in the main header during
            the first pass.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.readFoundTilePartMarkSeg(System.Int32,System.Int32)">
            <summary> Retrieves and reads all marker segments previously found in the
            tile-part header.
            
            </summary>
            <param name="tileIdx">The index of the current tile
            
            </param>
            <param name="tpIdx">Index of the current tile-part
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.#ctor(CSJ2K.j2k.io.RandomAccessIO,CSJ2K.j2k.util.ParameterList,CSJ2K.j2k.codestream.HeaderInfo)">
            <summary> Creates a HeaderDecoder instance and read in two passes the main header
            of the codestream. The first and last marker segments shall be
            respectively SOC and SOT.
            
            </summary>
            <param name="ehs">The encoded header stream where marker segments are
            extracted.
            
            </param>
            <param name="pl">The ParameterList object of the decoder
            
            </param>
            <param name="hi">The HeaderInfo holding information found in marker segments
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoded header stream.
            </exception>
            <exception cref="!:EOFException">If the end of the encoded header stream is
            reached before getting all the data.
            </exception>
            <exception cref="T:CSJ2K.j2k.codestream.CorruptedCodestreamException">If invalid data is found in the
            codestream main header.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.createEntropyDecoder(CSJ2K.j2k.entropy.decoder.CodedCBlkDataSrcDec,CSJ2K.j2k.util.ParameterList)">
            <summary> Creates and returns the entropy decoder corresponding to the
            information read from the codestream header and with the special
            additional parameters from the parameter list.
            
            </summary>
            <param name="src">The bit stream reader agent where to get code-block data
            from.
            
            </param>
            <param name="pl">The parameter list containing parameters applicable to the
            entropy decoder (other parameters can also be present).
            
            </param>
            <returns> The entropy decoder
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.createColorSpaceMapper(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Creates and returns the EnumeratedColorSpaceMapper
            corresponding to the information read from the JP2 image file
            via the ColorSpace parameter.
            
            </summary>
            <param name="src">The bit stream reader agent where to get code-block
            data from.
            </param>
            <param name="csMap">provides color space information from the image file
            
            </param>
            <returns> The color space mapping object
            </returns>
            <exception cref="!:IOException">image access exception
            </exception>
            <exception cref="T:CSJ2K.Icc.ICCProfileException">if image contains a bad icc profile
            </exception>
            <exception cref="T:CSJ2K.Color.ColorSpaceException">if image contains a bad colorspace box
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.createChannelDefinitionMapper(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Creates and returns the ChannelDefinitonMapper which maps the
            input channels to the channel definition for the appropriate
            colorspace.
            
            </summary>
            <param name="src">The bit stream reader agent where to get code-block
            data from.
            </param>
            <param name="csMap">provides color space information from the image file
            
            </param>
            <returns> The channel definition mapping object
            </returns>
            <exception cref="!:IOException">image access exception
            </exception>
            <exception cref="T:CSJ2K.Color.ColorSpaceException">if image contains a bad colorspace box
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.createPalettizedColorSpaceMapper(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Creates and returns the PalettizedColorSpaceMapper which uses
            the input samples as indicies into a sample palette to
            construct the output.
            
            </summary>
            <param name="src">The bit stream reader agent where to get code-block
            data from.
            </param>
            <param name="csMap">provides color space information from the image file
            
            </param>
            <returns> a  PalettizedColorSpaceMapper instance
            </returns>
            <exception cref="!:IOException">image access exception
            </exception>
            <exception cref="T:CSJ2K.Color.ColorSpaceException">if image contains a bad colorspace box
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.createResampler(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
            <summary> Creates and returns the Resampler which converts the input
            source to one in which all channels have the same number of
            samples.  This is required for colorspace conversions.
            
            </summary>
            <param name="src">The bit stream reader agent where to get code-block
            data from.
            </param>
            <param name="csMap">provides color space information from the image file
            
            </param>
            <returns> The resampled BlkImgDataSrc
            </returns>
            <exception cref="!:IOException">image access exception
            </exception>
            <exception cref="T:CSJ2K.Color.ColorSpaceException">if image contains a bad colorspace box
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.createROIDeScaler(CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec,CSJ2K.j2k.util.ParameterList,CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Creates and returns the ROIDeScaler corresponding to the information
            read from the codestream header and with the special additional
            parameters from the parameter list.
            
            </summary>
            <param name="src">The bit stream reader agent where to get code-block data
            from.
            
            </param>
            <param name="pl">The parameter list containing parameters applicable to the
            entropy decoder (other parameters can also be present).
            
            </param>
            <param name="decSpec2">The DecoderSpecs instance after any image manipulation.
            
            </param>
            <returns> The ROI descaler.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.resetHeaderMarkers">
            <summary> Method that resets members indicating which markers have already been
            found
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.ToString">
            <summary> Print information about the current header.
            
            </summary>
            <returns> Information in a String
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.HeaderDecoder.getPackedPktHead(System.Int32)">
            <summary> Return the packed packet headers for a given tile.
            
            </summary>
            <returns> An input stream containing the packed packet headers for a
            particular tile
            
            </returns>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.MaxCompImgHeight">
            <summary> Return the maximum height among all components 
            
            </summary>
            <returns> Maximum component height
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.MaxCompImgWidth">
            <summary> Return the maximum width among all components 
            
            </summary>
            <returns> Maximum component width
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgWidth">
            <summary> Returns the image width in the reference grid.
            
            </summary>
            <returns> The image width in the reference grid
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgHeight">
            <summary> Returns the image height in the reference grid.
            
            </summary>
            <returns> The image height in the reference grid
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgULX">
            <summary> Return the horizontal upper-left coordinate of the image in the
            reference grid.
            
            </summary>
            <returns> The horizontal coordinate of the image origin.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgULY">
            <summary> Return the vertical upper-left coordinate of the image in the reference
            grid.
            
            </summary>
            <returns> The vertical coordinate of the image origin.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.NomTileWidth">
            <summary> Returns the nominal width of the tiles in the reference grid.
            
            </summary>
            <returns> The nominal tile width, in the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.NomTileHeight">
            <summary> Returns the nominal width of the tiles in the reference grid.
            
            </summary>
            <returns> The nominal tile width, in the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.NumComps">
            <summary> Returns the number of components in the image.
            
            </summary>
            <returns> The number of components in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.CbULX">
            <summary> Returns the horizontal code-block partition origin.Allowable values are
            0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.CbULY">
            <summary> Returns the vertical code-block partition origin. Allowable values are
            0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.DecoderSpecs">
            <summary> Return the DecoderSpecs instance filled when reading the headers
            
            </summary>
            <returns> The DecoderSpecs of the decoder
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.ParameterInfo">
            <summary> Returns the parameters that are used in this class. It returns a 2D
            String array. Each of the 1D arrays is for a different option, and they
            have 3 elements. The first element is the option name, the second one
            is the synopsis and the third one is a long description of what the
            parameter is. The synopsis or description may be 'null', in which case
            it is assumed that there is no synopsis or description of the option,
            respectively.
            
            </summary>
            <returns> the options name, their synopsis and their explanation.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.NumTiles">
            <summary> Return the number of tiles in the image
            
            </summary>
            <returns> The number of tiles
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.TileOfTileParts">
            <summary> Sets the tile of each tile part in order. This information is needed
            for identifying which packet header belongs to which tile when using
            the PPM marker.
            
            </summary>
            <param name="tile">The tile number that the present tile part belongs to.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.HeaderDecoder.NumFoundMarkSeg">
            <summary> Returns the number of found marker segments in the current header.
            
            </summary>
            <returns> The number of marker segments found in the current header.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.codestream.reader.PktDecoder">
            <summary> This class is used to read packet's head and body. All the members must be
            re-initialized at the beginning of each tile thanks to the restart()
            method.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.src">
            <summary>Reference to the codestream reader agent </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.pph">
            <summary>Flag indicating whether packed packet header was used for this tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.pphbais">
            <summary>The packed packet header if it was used </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.decSpec">
            <summary>Reference to decoder specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.hd">
            <summary>Reference to the HeaderDecoder </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.INIT_LBLOCK">
            <summary>Initial value of the state variable associated with code-block
            length. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.bin">
            <summary>The wrapper to read bits for the packet heads </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.ehs">
            <summary>Reference to the stream where to read from </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.numPrec">
            <summary> Maximum number of precincts :
            
            <ul>
            <li> 1st dim: component index.</li>
            <li> 2nd dim: resolution level index.</li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.tIdx">
            <summary>Index of the current tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.ppinfo">
            <summary> Array containing the coordinates, width, height, indexes, ... of the
            precincts in the current tile:
            
            <ul>
            <li> 1st dim: component index.</li>
            <li> 2nd dim: resolution level index.</li>
            <li> 3rd dim: precinct index.</li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.lblock">
            <summary> Lblock value used to read code size information in each packet head:
            
            <ul>
            <li> 1st dim: component index.</li>
            <li> 2nd dim: resolution level index.</li>
            <li> 3rd dim: subband index.</li>
            <li> 4th/5th dim: code-block index (vert. and horiz.).</li>
            </ul> 
            
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "F:CSJ2K.j2k.codestream.reader.PktDecoder.ttIncl" -->
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.ttMaxBP">
            <summary> Tag tree used to read bit-depth information in packet's head:
            
            <ul>
            <li> 1st dim: component index.</li>
            <li> 2nd dim: resolution level index.</li>
            <li> 3rd dim: precinct index.</li>
            <li> 4th dim: subband index.</li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.nl">
            <summary>Number of layers in t he current tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.nc">
            <summary>The number of components </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.sopUsed">
            <summary>Whether or not SOP marker segment are used </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.ephUsed">
            <summary>Whether or not EPH marker are used </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.pktIdx">
            <summary>Index of the current packet in the tile. Used with SOP marker segment
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.cblks">
            <summary>List of code-blocks found in last read packet head (one list
            per subband) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.ncb">
            <summary>Number of codeblocks encountered. used for ncb quit condition</summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.maxCB">
            <summary>Maximum number of codeblocks to read before ncb quit condition is
            reached 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.ncbQuit">
            <summary>Flag indicating whether ncb quit condition has been reached </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.tQuit">
            <summary>The tile in which the ncb quit condition was reached </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.cQuit">
            <summary>The component in which the ncb quit condition was reached </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.sQuit">
            <summary>The subband in which the ncb quit condition was reached </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.rQuit">
            <summary>The resolution in which the ncb quit condition was reached </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.xQuit">
            <summary>The x position of the last code block before ncb quit reached </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.yQuit">
            <summary>The y position of the last code block before ncb quit reached  </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktDecoder.isTruncMode">
            <summary>True if truncation mode is used. False if it is parsing mode </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.#ctor(CSJ2K.j2k.decoder.DecoderSpecs,CSJ2K.j2k.codestream.reader.HeaderDecoder,CSJ2K.j2k.io.RandomAccessIO,CSJ2K.j2k.codestream.reader.BitstreamReaderAgent,System.Boolean,System.Int32)">
            <summary> Creates an empty PktDecoder object associated with given decoder
            specifications and HeaderDecoder. This object must be initialized
            thanks to the restart method before being used.
            
            </summary>
            <param name="decSpec">The decoder specifications.
            
            </param>
            <param name="hd">The HeaderDecoder instance.
            
            </param>
            <param name="ehs">The stream where to read data from.
            
            </param>
            <param name="src">The bit stream reader agent.
            
            </param>
            <param name="isTruncMode">Whether or not truncation mode is required.
            
            </param>
            <param name="maxCB">The maximum number of code-blocks to read before ncbquit
            
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.restart(System.Int32,System.Int32[],System.Int32,CSJ2K.j2k.codestream.reader.CBlkInfo[][][][][],System.Boolean,System.IO.MemoryStream)">
            <summary> Re-initialize the PktDecoder instance at the beginning of a new tile.
            
            </summary>
            <param name="nc">The number of components in this tile
            
            </param>
            <param name="mdl">The maximum number of decomposition level in each component
            of this tile
            
            </param>
            <param name="nl">The number of layers in  this tile
            
            </param>
            <param name="cbI">The code-blocks array
            
            </param>
            <param name="pph">Flag indicating whether packed packet headers was used
            
            </param>
            <param name="pphbais">Stream containing the packed packet headers
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.fillPrecInfo(System.Int32,System.Int32,System.Int32)">
            <summary> Retrives precincts and code-blocks coordinates in the given resolution,
            level and component. Finishes TagTreeEncoder initialization as well.
            
            </summary>
            <param name="c">Component index.
            
            </param>
            <param name="r">Resolution level index.
            
            </param>
            <param name="mdl">Number of decomposition level in component <tt>c</tt>.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.getNumPrecinct(System.Int32,System.Int32)">
            <summary> Gets the number of precincts in a given component and resolution level.
            
            </summary>
            <param name="c">Component index
            
            </param>
            <param name="r">Resolution index
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.readPktHead(System.Int32,System.Int32,System.Int32,System.Int32,CSJ2K.j2k.codestream.reader.CBlkInfo[][][],System.Int32[])">
            <summary> Read specified packet head and found length of each code-block's piece
            of codewords as well as number of skipped most significant bit-planes.
            
            </summary>
            <param name="l">layer index
            
            </param>
            <param name="r">Resolution level index
            
            </param>
            <param name="c">Component index
            
            </param>
            <param name="p">Precinct index
            
            </param>
            <param name="cbI">CBlkInfo array of relevant component and resolution
            level.
            
            </param>
            <param name="nb">The number of bytes to read in each tile before reaching
            output rate (used by truncation mode)
            
            </param>
            <returns> True if specified output rate or EOF is reached.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.readPktBody(System.Int32,System.Int32,System.Int32,System.Int32,CSJ2K.j2k.codestream.reader.CBlkInfo[][][],System.Int32[])">
            <summary> Reads specificied packet body in order to find offset of each
            code-block's piece of codeword. This use the list of found code-blocks
            in previous red packet head.
            
            </summary>
            <param name="l">layer index
            
            </param>
            <param name="r">Resolution level index
            
            </param>
            <param name="c">Component index
            
            </param>
            <param name="p">Precinct index
            
            </param>
            <param name="cbI">CBlkInfo array of relevant component and resolution
            level.
            
            </param>
            <param name="nb">The remainding number of bytes to read from the bit stream in
            each tile before reaching the decoding rate (in truncation mode)
            
            </param>
            <returns> True if decoding rate is reached 
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.getPPX(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition width for the specified component,
            resolution level and tile.
            
            </summary>
            <param name="t">the tile index
            
            </param>
            <param name="c">The index of the component (between 0 and C-1)
            
            </param>
            <param name="r">The resolution level, from 0 to L.
            
            </param>
            <returns> the precinct partition width for the specified component,
            resolution level and tile.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.getPPY(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition height for the specified component,
            resolution level and tile.
            
            </summary>
            <param name="t">the tile index
            
            </param>
            <param name="c">The index of the component (between 0 and C-1)
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> the precinct partition height in the specified component, for
            the specified resolution level, for the current tile.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.readSOPMarker(System.Int32[],System.Int32,System.Int32,System.Int32)">
            <summary> Try to read a SOP marker and check that its sequence number if not out
            of sequence. If so, an error is thrown.
            
            </summary>
            <param name="nBytes">The number of bytes left to read from each tile
            
            </param>
            <param name="p">Precinct index
            
            </param>
            <param name="r">Resolution level index
            
            </param>
            <param name="c">Component index
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.readEPHMarker(CSJ2K.j2k.codestream.reader.PktHeaderBitReader)">
            <summary> Try to read an EPH marker. If it is not possible then an Error is
            thrown.
            
            </summary>
            <param name="bin">The packet header reader to read the EPH marker from
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktDecoder.getPrecInfo(System.Int32,System.Int32,System.Int32)">
            <summary> Get PrecInfo instance of the specified resolution level, component and
            precinct.
            
            </summary>
            <param name="c">Component index.
            
            </param>
            <param name="r">Resolution level index.
            
            </param>
            <param name="p">Precinct index.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.codestream.reader.PktHeaderBitReader">
            <summary> This class provides a bit based reading facility from a byte based one,
            applying the bit unstuffing procedure as required by the packet headers.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.in_Renamed">
            <summary>The byte based source of data </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.bais">
            <summary>The byte array that is the source of data if the PktHeaderBitReader
            is instantiated with a buffer instead of a RandomAccessIO
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.usebais">
            <summary>Flag indicating whether the data should be read from the buffer </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.bbuf">
            <summary>The current bit buffer </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.bpos">
            <summary>The position of the next bit to read in the bit buffer (0 means 
            empty, 8 full) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.nextbbuf">
            <summary>The next bit buffer, if bit stuffing occurred (i.e. current bit 
            buffer holds 0xFF) 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.#ctor(CSJ2K.j2k.io.RandomAccessIO)">
            <summary> Instantiates a 'PktHeaderBitReader' that gets the byte data from the
            given source.
            
            </summary>
            <param name="in">The source of byte data
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.#ctor(System.IO.MemoryStream)">
            <summary> Instantiates a 'PktHeaderBitReader' that gets the byte data from the
            given source.
            
            </summary>
            <param name="bais">The source of byte data
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.readBit">
            <summary> Reads a single bit from the input.
            
            </summary>
            <returns> The read bit (0 or 1)
            
            </returns>
            <exception cref="!:IOException">If an I/O error occurred
            </exception>
            <exception cref="!:EOFException">If teh end of file has been reached
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.readBits(System.Int32)">
            <summary> Reads a specified number of bits and returns them in a single
            integer. The bits are returned in the 'n' least significant bits of the
            returned integer. The maximum number of bits that can be read is 31.
            
            </summary>
            <param name="n">The number of bits to read
            
            </param>
            <returns> The read bits, packed in the 'n' LSBs.
            
            </returns>
            <exception cref="!:IOException">If an I/O error occurred
            </exception>
            <exception cref="!:EOFException">If teh end of file has been reached
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.sync">
            <summary> Synchronizes this object with the underlying byte based input. It
            discards and buffered bits and gets ready to read bits from the current 
            position in the underlying byte based input.
            
            <p>This method should always be called when some data has been read
            directly from the underlying byte based input since the last call to
            'readBits()' or 'readBit()' before a new call to any of those
            methods.</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.setInput(CSJ2K.j2k.io.RandomAccessIO)">
            <summary> Sets the underlying byte based input to the given object. This method
            discards any currently buffered bits and gets ready to start reading
            bits from 'in'.
            
            <p>This method is equivalent to creating a new 'PktHeaderBitReader'
            object.</p>
            
            </summary>
            <param name="in">The source of byte data
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktHeaderBitReader.setInput(System.IO.MemoryStream)">
            <summary> Sets the underlying byte based input to the given object. This method
            discards any currently buffered bits and gets ready to start reading
            bits from 'in'.
            
            <p>This method is equivalent to creating a new 'PktHeaderBitReader'
            object.</p>
            
            </summary>
            <param name="bais">The source of byte data
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.codestream.reader.PktInfo">
            <summary> This class defines an object used to countain informations about a packet
            to which the current code-block belongs.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.codestream.reader.CBlkInfo">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktInfo.packetIdx">
            <summary>Index of the packet </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktInfo.layerIdx">
            <summary>The layer associated with the current code-block in this packet. </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktInfo.cbOff">
            <summary>The code-block offset in the codestream (for this packet) </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktInfo.cbLength">
            <summary>The length of the code-block in this packet (in bytes) </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktInfo.segLengths">
            <summary> The length of each terminated segment in the packet. The total is the
            same as 'cbLength'. It can be null if there is only one terminated
            segment, in which case 'cbLength' holds the legth of that segment 
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.PktInfo.numTruncPnts">
            <summary> The number of truncation points that appear in this packet, and all
            previous packets, for this code-block. This is the number of passes
            that can be decoded with the information in this packet and all
            previous ones. 
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktInfo.#ctor(System.Int32,System.Int32)">
            <summary> Classe's constructor.
            
            </summary>
            <param name="lyIdx">The layer index for the code-block in this packet
            
            </param>
            <param name="pckIdx">The packet index
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.PktInfo.ToString">
            <summary> Object information in a string.
            
            </summary>
            <returns> Object information
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.codestream.reader.TagTreeDecoder">
            <summary> This class implements the tag tree decoder. A tag tree codes a 2D matrix of
            integer elements in an efficient way. The decoding procedure 'update()'
            updates a value of the matrix from a stream of coded data, given a
            threshold. This procedure decodes enough information to identify whether or
            not the value is greater than or equal to the threshold, and updates the
            value accordingly.
            
            <p>In general the decoding procedure must follow the same sequence of
            elements and thresholds as the encoding one. The encoder is implemented by
            the TagTreeEncoder class.</p>
            
            <p>Tag trees that have one dimension, or both, as 0 are allowed for
            convenience. Of course no values can be set or coded in such cases.</p>
            
            </summary>
            <seealso cref="!:jj2000.j2k.codestream.writer.TagTreeEncoder">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.TagTreeDecoder.w">
            <summary>The horizontal dimension of the base level </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.TagTreeDecoder.h">
            <summary>The vertical dimensions of the base level </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.TagTreeDecoder.lvls">
            <summary>The number of levels in the tag tree </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.TagTreeDecoder.treeV">
            <summary>The tag tree values. The first index is the level, starting at level 0
            (leafs). The second index is the element within the level, in
            lexicographical order. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.reader.TagTreeDecoder.treeS">
            <summary>The tag tree state. The first index is the level, starting at level 0
            (leafs). The second index is the element within the level, in
            lexicographical order. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.TagTreeDecoder.#ctor(System.Int32,System.Int32)">
            <summary> Creates a tag tree decoder with 'w' elements along the horizontal
            dimension and 'h' elements along the vertical direction. The total
            number of elements is thus 'vdim' x 'hdim'.
            
            <p>The values of all elements are initialized to Integer.MAX_VALUE
            (i.e. no information decoded so far). The states are initialized all to
            0.</p>
            
            </summary>
            <param name="h">The number of elements along the vertical direction.
            
            </param>
            <param name="w">The number of elements along the horizontal direction.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.TagTreeDecoder.update(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.codestream.reader.PktHeaderBitReader)">
            <summary> Decodes information for the specified element of the tree, given the
            threshold, and updates its value. The information that can be decoded
            is whether or not the value of the element is greater than, or equal
            to, the value of the threshold.
            
            </summary>
            <param name="m">The vertical index of the element.
            
            </param>
            <param name="n">The horizontal index of the element.
            
            </param>
            <param name="t">The threshold to use in decoding. It must be non-negative.
            
            </param>
            <param name="in">The stream from where to read the coded information.
            
            </param>
            <returns> The updated value at position (m,n).
            
            </returns>
            <exception cref="!:IOException">If an I/O error occurs while reading from 'in'.
            
            </exception>
            <exception cref="!:EOFException">If the ned of the 'in' stream is reached before
            getting all the necessary data.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.reader.TagTreeDecoder.getValue(System.Int32,System.Int32)">
            <summary> Returns the current value of the specified element in the tag
            tree. This is the value as last updated by the update() method.
            
            </summary>
            <param name="m">The vertical index of the element.
            
            </param>
            <param name="n">The horizontal index of the element.
            
            </param>
            <returns> The current value of the element.
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.codestream.reader.TagTreeDecoder.update(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.codestream.reader.PktHeaderBitReader)">
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.TagTreeDecoder.Width">
            <summary> Returns the number of leafs along the horizontal direction.
            
            </summary>
            <returns> The number of leafs along the horizontal direction.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.reader.TagTreeDecoder.Height">
            <summary> Returns the number of leafs along the vertical direction.
            
            </summary>
            <returns> The number of leafs along the vertical direction.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.codestream.writer.BitOutputBuffer" -->
        <member name="F:CSJ2K.j2k.codestream.writer.BitOutputBuffer.SZ_INCR">
            <summary>The increment size for the buffer, 16 bytes. This is the
            number of bytes that are added to the buffer each time it is
            needed to enlarge it.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.BitOutputBuffer.SZ_INIT">
            <summary>The initial size for the buffer, 32 bytes. </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.BitOutputBuffer.buf">
            <summary>The buffer where we store the data </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.BitOutputBuffer.curbyte">
            <summary>The position of the current byte to write </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.BitOutputBuffer.avbits">
            <summary>The number of available bits in the current byte </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.BitOutputBuffer.#ctor">
            <summary> Creates a new BitOutputBuffer width a buffer of length
            'SZ_INIT'.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.BitOutputBuffer.reset">
            <summary> Resets the buffer. This rewinds the current position to the start of
            the buffer and sets all tha data to 0. Note that no new buffer is
            allocated, so this will affect any data that was returned by the
            'getBuffer()' method.
            
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.codestream.writer.BitOutputBuffer.writeBit(System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.codestream.writer.BitOutputBuffer.writeBits(System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.codestream.writer.BitOutputBuffer.toByteArray(System.Byte[])">
            <summary> Returns the byte buffer data in a new array. This is a copy of the
            internal byte buffer. If 'data' is non-null it is used to return the
            data. This array should be large enough to contain all the data,
            otherwise a IndexOutOfBoundsException is thrown by the Java system. The
            number of elements returned is what 'getLength()' returns.
            
            </summary>
            <param name="data">If non-null this array is used to return the data, which
            mus be large enough. Otherwise a new one is created and returned.
            
            </param>
            <returns> The byte buffer data.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.BitOutputBuffer.ToString">
            <summary> Prints information about this object for debugging purposes
            
            </summary>
            <returns> Information about the object.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.codestream.writer.BitOutputBuffer.Length" -->
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.codestream.writer.BitOutputBuffer.Buffer" -->
        <member name="T:CSJ2K.j2k.codestream.writer.CodestreamWriter">
            <summary> This is the abstract class for writing to a codestream. A codestream
            corresponds to headers (main and tile-parts) and packets. Each packet has a
            head and a body. The codestream always has a maximum number of bytes that
            can be written to it. After that many number of bytes no more data is
            written to the codestream but the number of bytes is counted so that the
            value returned by getMaxAvailableBytes() is negative. If the number of
            bytes is unlimited a ridicoulosly large value, such as Integer.MAX_VALUE,
            is equivalent.
            
            <p>Data writting to the codestream can be simulated. In this case, no byto
            is effectively written to the codestream but the resulting number of bytes
            is calculated and returned (although it is not accounted in the bit
            stream). This can be used in rate control loops.</p>
            
            <p>Implementing classes should write the header of the bit stream before
            writing any packets. The bit stream header can be written with the help of
            the HeaderEncoder class.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.codestream.writer.HeaderEncoder">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.CodestreamWriter.ndata">
            <summary>The number of bytes already written to the bit stream </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.CodestreamWriter.maxBytes">
            <summary>The maximum number of bytes that can be written to the bit stream </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.CodestreamWriter.#ctor(System.Int32)">
            <summary> Allocates this object and initializes the maximum number of bytes.
            
            </summary>
            <param name="mb">The maximum number of bytes that can be written to the
            codestream.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.codestream.writer.CodestreamWriter.writePacketHead(System.Byte[],System.Int32,System.Boolean,System.Boolean,System.Boolean)" -->
        <member name="M:CSJ2K.j2k.codestream.writer.CodestreamWriter.writePacketBody(System.Byte[],System.Int32,System.Boolean,System.Boolean,System.Int32)">
            <summary> Writes a packet body to the codestream and returns the number of bytes
            used by this body. If in simulation mode then no data is written to the
            bit stream but the number of bytes is calculated. This can be used for
            iterative rate allocation.
            
            <p>If the number of bytes that has to be written to the codestream is
            more than the space left (as returned by getMaxAvailableBytes()), only
            the data that does not exceed the allowed length is effectively written
            and the rest is discarded. However the value returned by the method is
            the total length of the packet, as if all of it was written to the bit
            stream.</p>
            
            </summary>
            <param name="body">The packet body data.
            
            </param>
            <param name="blen">The number of bytes in the packet body.
            
            </param>
            <param name="sim">Simulation mode flag. If true nothing is written to the bit
            stream, but the number of bytes that would be written is returned.
            
            </param>
            <param name="roiInPkt">Whether or not there is ROI information in this packet
            
            </param>
            <param name="roiLen">Number of byte to read in packet body to get all the ROI
            information 
            
            </param>
            <returns> The number of bytes spent by the packet body.
            
            </returns>
            <exception cref="!:IOException">If an I/O error occurs while writing to the
            output stream.
            
            </exception>
            <seealso cref="M:CSJ2K.j2k.codestream.writer.CodestreamWriter.commitBitstreamHeader(CSJ2K.j2k.codestream.writer.HeaderEncoder)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.CodestreamWriter.close">
            <summary> Closes the underlying resource (file, stream, network connection,
            etc.). After a CodestreamWriter is closed no more data can be written
            to it.
            
            </summary>
            <exception cref="!:IOException">If an I/O error occurs while closing the
            resource.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.CodestreamWriter.commitBitstreamHeader(CSJ2K.j2k.codestream.writer.HeaderEncoder)">
            <summary> Writes the header data to the bit stream, if it has not been already
            done. In some implementations this method can be called only once, and
            an IllegalArgumentException is thrown if called more than once.
            
            </summary>
            <exception cref="!:IOException">If an I/O error occurs while writing the data.
            
            </exception>
            <exception cref="!:IllegalArgumentException">If this method has already been
            called.
            
            </exception>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.CodestreamWriter.MaxAvailableBytes">
            <summary> Returns the number of bytes remaining available in the codestream. This
            is the maximum allowed number of bytes minus the number of bytes that
            have already been written to the bit stream. If more bytes have been
            written to the bit stream than the maximum number of allowed bytes,
            then a negative value is returned.
            
            </summary>
            <returns> The number of bytes remaining available in the bit stream.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.CodestreamWriter.Length">
            <summary> Returns the current length of the entire codestream.
            
            </summary>
            <returns> the current length of the codestream
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.CodestreamWriter.OffLastROIPkt">
            <summary> Gives the offset of the end of last packet containing ROI information 
            
            </summary>
            <returns> End of last ROI packet 
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.codestream.writer.FileCodestreamWriter" -->
        <member name="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.SOP_MARKER_LIMIT">
            <summary>The upper limit for the value of the Nsop field of the SOP marker </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.out_Renamed">
            <summary>The file to write </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.ndata">
            <summary>The number of bytes already written to the codestream, excluding the
            header length, magic number and header length info. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.DEF_BUF_LEN">
            <summary>The default buffer length, 1024 bytes </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.sopMarker">
            <summary>Array used to store the SOP markers values </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.ephMarker">
            <summary>Array used to store the EPH markers values </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.packetIdx">
            <summary>The packet index (when start of packet markers i.e. SOP markers) are
            used. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.offLastROIPkt">
            <summary>Offset of end of last packet containing ROI information </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.lenLastNoROI">
            <summary>Length of last packets containing no ROI information </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.#ctor(System.Object,System.Int32)">
            <summary> Opens the file 'file' for writing the codestream. The magic number is
            written to the bit stream. Normally, the header encoder must be empty
            (i.e. no data has been written to it yet). A BufferedOutputStream is
            used on top of the file to increase throughput, the length of the
            buffer is DEF_BUF_LEN.
            
            </summary>
            <param name="file">The file where to write the bit stream
            
            </param>
            <param name="mb">The maximum number of bytes that can be written to the bit
            stream.
            
            </param>
            <exception cref="T:System.IO.IOException">If an error occurs while trying to open the file
            for writing or while writing the magic number.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.#ctor(System.String,System.Int32)">
            <summary> Opens the file named 'fname' for writing the bit stream, using the 'he'
            header encoder. The magic number is written to the bit
            stream. Normally, the header encoder must be empty (i.e. no data has
            been written to it yet). A BufferedOutputStream is used on top of the
            file to increase throughput, the length of the buffer is DEF_BUF_LEN.
            
            </summary>
            <param name="fname">The name of file where to write the bit stream
            
            </param>
            <param name="mb">The maximum number of bytes that can be written to the bit
            stream.
            
            </param>
            <param name="encSpec">The encoder's specifications
            
            </param>
            <exception cref="T:System.IO.IOException">If an error occurs while trying to open the file
            for writing or while writing the magic number.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.#ctor(System.IO.Stream,System.Int32)">
            <summary> Uses the output stream 'os' for writing the bit stream, using the 'he'
            header encoder. The magic number is written to the bit
            stream. Normally, the header encoder must be empty (i.e. no data has
            been written to it yet). No BufferedOutputStream is used on top of the
            output stream 'os'.
            
            </summary>
            <param name="os">The output stream where to write the bit stream.
            
            </param>
            <param name="mb">The maximum number of bytes that can be written to the bit
            stream.
            
            </param>
            <exception cref="T:System.IO.IOException">If an error occurs while writing the magic
            number to the 'os' output stream.
            
            </exception>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.writePacketHead(System.Byte[],System.Int32,System.Boolean,System.Boolean,System.Boolean)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.writePacketBody(System.Byte[],System.Int32,System.Boolean,System.Boolean,System.Int32)" -->
        <member name="M:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.close">
            <summary> Writes the EOC marker and closes the underlying stream.
            
            </summary>
            <exception cref="T:System.IO.IOException">If an error occurs while closing the underlying
            stream.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.commitBitstreamHeader(CSJ2K.j2k.codestream.writer.HeaderEncoder)">
            <summary> Writes the header data in the codestream and actualize ndata with the
            header length. The header is either a MainHeaderEncoder or a
            TileHeaderEncoder.
            
            </summary>
            <param name="he">The current header encoder.
            
            </param>
            <exception cref="T:System.IO.IOException">If an I/O error occurs while writing the data.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.initSOP_EPHArrays">
            <summary> Performs the initialisation of the arrays that are used to store the
            values used to write SOP and EPH markers
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.MaxAvailableBytes">
            <summary> Returns the number of bytes remaining available in the bit stream. This
            is the maximum allowed number of bytes minus the number of bytes that
            have already been written to the bit stream. If more bytes have been
            written to the bit stream than the maximum number of allowed bytes,
            then a negative value is returned.
            
            </summary>
            <returns> The number of bytes remaining available in the bit stream.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.Length">
            <summary> Returns the current length of the entire bit stream.
            
            </summary>
            <returns> the current length of the bit stream
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.OffLastROIPkt">
            <summary> Gives the offset of the end of last packet containing ROI information 
            
            </summary>
            <returns> End of last ROI packet 
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.codestream.writer.HeaderEncoder">
            <summary> This class writes almost of the markers and marker segments in main header
            and in tile-part headers. It is created by the run() method of the Encoder
            instance.
            
            <p>A marker segment includes a marker and eventually marker segment
            parameters. It is designed by the three letter code of the marker
            associated with the marker segment. JPEG 2000 part I defines 6 types of
            markers:
            <ul> 
            <li>Delimiting : SOC,SOT,SOD,EOC (written in FileCodestreamWriter).</li>
            <li>Fixed information: SIZ.</li> 
            <li>Functional: COD,COC,RGN,QCD,QCC,POC.</li>
            <li> In bit-stream: SOP,EPH.</li>
            <li> Pointer: TLM,PLM,PLT,PPM,PPT.</li> 
            <li> Informational: CRG,COM.</li>
            </ul></p>
            
            <p>Main Header is written when Encoder instance calls encodeMainHeader
            whereas tile-part headers are written when the EBCOTRateAllocator instance
            calls encodeTilePartHeader.</p>
            
            </summary>
            <seealso cref="!:Encoder">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.codestream.Markers">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.OPT_PREFIX">
            <summary>The prefix for the header encoder options: 'H' </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.pinfo">
            <summary>The list of parameters that are accepted for the header encoder
            module. Options for this modules start with 'H'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.defimgn">
            <summary>Nominal range bit of the component defining default values in QCD for
            main header 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.deftilenr">
            <summary>Nominal range bit of the component defining default values in QCD for
            tile headers 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.nComp">
            <summary>The number of components in the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.enJJ2KMarkSeg">
            <summary>Whether or not to write the JJ2000 COM marker segment </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.otherCOMMarkSeg">
            <summary>Other COM marker segments specified in the command line </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.baos">
            <summary>The ByteArrayOutputStream to store header data. This handler is kept
            in order to use methods not accessible from a general
            DataOutputStream. For the other methods, it's better to use variable
            hbuf.
            
            </summary>
            <seealso cref="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.hbuf">
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.hbuf">
            <summary>The DataOutputStream to store header data. This kind of object is
            useful to write short, int, .... It's constructor takes baos as
            parameter.
            
            </summary>
            <seealso cref="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.baos">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.origSrc">
            <summary>The image data reader. Source of original data info </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.isOrigSig">
            <summary>An array specifying, for each component,if the data was signed or not
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.ralloc">
            <summary>Reference to the rate allocator </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.dwt">
            <summary>Reference to the DWT module </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.tiler">
            <summary>Reference to the tiler module </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.roiSc">
            <summary>Reference to the ROI module </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.HeaderEncoder.encSpec">
            <summary>The encoder specifications </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.#ctor(CSJ2K.j2k.image.ImgData,System.Boolean[],CSJ2K.j2k.wavelet.analysis.ForwardWT,CSJ2K.j2k.image.Tiler,CSJ2K.j2k.encoder.EncoderSpecs,CSJ2K.j2k.roi.encoder.ROIScaler,CSJ2K.j2k.entropy.encoder.PostCompRateAllocator,CSJ2K.j2k.util.ParameterList)">
            <summary> Initializes the header writer with the references to the coding chain.
            
            </summary>
            <param name="origsrc">The original image data (before any component mixing,
            tiling, etc.)
            
            </param>
            <param name="isorigsig">An array specifying for each component if it was
            originally signed or not.
            
            </param>
            <param name="dwt">The discrete wavelet transform module.
            
            </param>
            <param name="tiler">The tiler module.
            
            </param>
            <param name="encSpec">The encoder specifications
            
            </param>
            <param name="roiSc">The ROI scaler module.
            
            </param>
            <param name="ralloc">The post compression rate allocator.
            
            </param>
            <param name="pl">ParameterList instance.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.reset">
            <summary> Resets the contents of this HeaderEncoder to its initial state. It
            erases all the data in the header buffer and reactualizes the
            headerLength field of the bit stream writer.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeTo(CSJ2K.j2k.io.BinaryDataOutput)">
            <summary> Writes the header to the specified BinaryDataOutput.
            
            </summary>
            <param name="out">Where to write the header.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeTo(System.IO.Stream)">
            <summary> Writes the header to the specified OutputStream.
            
            </summary>
            <param name="out">Where to write the header.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeSOC">
            <summary> Start Of Codestream marker (SOC) signalling the beginning of a
            codestream.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeSIZ">
            <summary> Writes SIZ marker segment of the codestream header. It is a fixed
            information marker segment containing informations about image and tile
            sizes. It is required in the main header immediately after SOC marker
            segment.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeCOD(System.Boolean,System.Int32)">
            <summary> Writes COD marker segment. COD is a functional marker segment
            containing the code style default (coding style, decomposition,
            layering) used for compressing all the components in an image.
            
            <p>The values can be overriden for an individual component by a COC
            marker in either the main or the tile header.</p>
            
            </summary>
            <param name="mh">Flag indicating whether this marker belongs to the main
            header
            
            </param>
            <param name="tileIdx">Tile index if the marker belongs to a tile-part header
            
            </param>
            <seealso cref="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeCOC(System.Boolean,System.Int32,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeCOC(System.Boolean,System.Int32,System.Int32)">
            <summary> Writes COC marker segment . It is a functional marker containing the
            coding style for one component (coding style, decomposition, layering).
            
            <p>Its values overrides any value previously set in COD in the main
            header or in the tile header.</p>
            
            </summary>
            <param name="mh">Flag indicating whether the main header is to be written. 
            
            </param>
            <param name="tileIdx">Tile index.
            
            </param>
            <param name="compIdx">index of the component which need use of the COC marker
            segment.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeCOD(System.Boolean,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeMainQCD">
            <summary> Writes QCD marker segment in main header. QCD is a functional marker
            segment countaining the quantization default used for compressing all
            the components in an image. The values can be overriden for an
            individual component by a QCC marker in either the main or the tile
            header.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeMainQCC(System.Int32)">
            <summary> Writes QCC marker segment in main header. It is a functional marker
            segment countaining the quantization used for compressing the specified
            component in an image. The values override for the specified component
            what was defined by a QCC marker in either the main or the tile header.
            
            </summary>
            <param name="compIdx">Index of the component which needs QCC marker segment.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeTileQCD(System.Int32)">
            <summary> Writes QCD marker segment in tile header. QCD is a functional marker
            segment countaining the quantization default used for compressing all
            the components in an image. The values can be overriden for an
            individual component by a QCC marker in either the main or the tile
            header.
            
            </summary>
            <param name="tIdx">Tile index
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeTileQCC(System.Int32,System.Int32)">
            <summary> Writes QCC marker segment in tile header. It is a functional marker
            segment countaining the quantization used for compressing the specified
            component in an image. The values override for the specified component
            what was defined by a QCC marker in either the main or the tile header.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="compIdx">Index of the component which needs QCC marker segment.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writePOC(System.Boolean,System.Int32)">
            <summary> Writes POC marker segment. POC is a functional marker segment
            containing the bounds and progression order for any progression order
            other than default in the codestream.
            
            </summary>
            <param name="mh">Flag indicating whether the main header is to be written 
            
            </param>
            <param name="tileIdx">Tile index
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.encodeMainHeader">
            <summary> Write main header. JJ2000 main header corresponds to the following
            sequence of marker segments:
            
            <ol>
            <li>SOC</li>
            <li>SIZ</li>
            <li>COD</li>
            <li>COC (if needed)</li>
            <li>QCD</li>
            <li>QCC (if needed)</li>
            <li>POC (if needed)</li>
            </ol>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeCOM">
            <summary> Write COM marker segment(s) to the codestream.
            
            <p>This marker is currently written in main header and indicates the
            JJ2000 encoder's version that has created the codestream.</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.writeRGN(System.Int32)">
            <summary> Writes the RGN marker segment in the tile header. It describes the
            scaling value in each tile component
            
            <p>May be used in tile or main header. If used in main header, it
            refers to a ROI of the whole image, regardless of tiling. When used in
            tile header, only the particular tile is affected.</p>
            
            </summary>
            <param name="tIdx">The tile index 
            
            </param>
            <exception cref="!:IOException">If an I/O error occurs while reading from the
            encoder header stream
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.HeaderEncoder.encodeTilePartHeader(System.Int32,System.Int32)">
            <summary> Writes tile-part header. JJ2000 tile-part header corresponds to the
            following sequence of marker segments:
            
            <ol> 
            <li>SOT</li> 
            <li>COD (if needed)</li> 
            <li>COC (if needed)</li> 
            <li>QCD (if needed)</li> 
            <li>QCC (if needed)</li> 
            <li>RGN (if needed)</li> 
            <li>POC (if needed)</li>
            <li>SOD</li> 
            </ol>
            
            </summary>
            <param name="length">The length of the current tile-part.
            
            </param>
            <param name="tileIdx">Index of the tile to write
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.HeaderEncoder.ParameterInfo">
            <summary> 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 3 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, or null
            if no options are supported.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.HeaderEncoder.Buffer">
            <summary> Returns the byte-buffer used to store the codestream header.
            
            </summary>
            <returns> A byte array countaining codestream header
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.HeaderEncoder.Length">
            <summary> Returns the length of the header.
            
            </summary>
            <returns> The length of the header in bytes
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.HeaderEncoder.BufferLength">
            <summary> Returns the number of bytes used in the codestream header's buffer.
            
            </summary>
            <returns> Header length in buffer (without any header overhead)
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.codestream.writer.PktEncoder">
            <summary> This class builds packets and keeps the state information of packet
            interdependencies. It also supports saving the state and reverting
            (restoring) to the last saved state, with the save() and restore() methods.
            
            <p>Each time the encodePacket() method is called a new packet is encoded,
            the packet header is returned by the method, and the packet body can be
            obtained with the getLastBodyBuf() and getLastBodyLen() methods.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.OPT_PREFIX">
            <summary>The prefix for packet encoding options: 'P' </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.INIT_LBLOCK">
            <summary>The initial value for the lblock </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.pinfo">
            <summary>The list of parameters that is accepted for packet encoding.</summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.infoSrc">
            <summary>The source object </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.encSpec">
            <summary>The encoder specs </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.ttIncl">
            <summary> The tag tree for inclusion information. The indexes are outlined
            below. Note that the layer indexes start at 1, therefore, the layer
            index minus 1 is used. The subband indices are used as they are defined
            in the Subband class. The tile indices start at 0 and follow a
            lexicographical order.
            
            <ul>
            <li>1st index: tile index, in lexicographical order</li>
            <li>2nd index: component index </li>
            <li>3rd index: resolution level </li>
            <li>4th index: precinct index </li>
            <li>5th index: subband index </li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.ttMaxBP">
            <summary> The tag tree for the maximum significant bit-plane. The indexes are
            outlined below. Note that the layer indexes start at 1, therefore, the
            layer index minus 1 is used. The subband indices are used as they are
            defined in the Subband class. The tile indices start at 0 and follow a
            lexicographical order.
            
            <ul>
            <li>1st index: tile index, in lexicographical order</li>
            <li>2nd index: component index </li>
            <li>3rd index: resolution level </li>
            <li>4th index: precinct index </li>
            <li>5th index: subband index</li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.lblock">
            <summary> The base number of bits for sending code-block length information
            (referred as Lblock in the JPEG 2000 standard). The indexes are
            outlined below. Note that the layer indexes start at 1, therefore, the
            layer index minus 1 is used. The subband indices are used as they are
            defined in the Subband class. The tile indices start at 0 and follow a
            lexicographical order.
            
            <ul>
            <li>1st index: tile index, in lexicographical order </li>
            <li>2nd index: component index </li>
            <li>3rd index: resolution level </li>
            <li>4th index: subband index </li>
            <li>5th index: code-block index, in lexicographical order</li>
            </ul>
            
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "F:CSJ2K.j2k.codestream.writer.PktEncoder.prevtIdxs" -->
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.bak_lblock">
            <summary> The saved base number of bits for sending code-block length
            information. It is used for restoring previous saved state by
            restore(). The indexes are outlined below. Note that the layer indexes
            start at 1, therefore, the layer index minus 1 is used. The subband
            indices are used as they are defined in the Subband class. The tile
            indices start at 0 and follow a lexicographical order.
            
            <ul> 
            <li>1st index: tile index, in lexicographical order </li>
            <li>2nd index: component index </li>
            <li>3rd index: resolution level </li>
            <li>4th index: subband index </li>
            <li>5th index: code-block index, in lexicographical order</li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.bak_prevtIdxs">
            <summary> The saved last encoded truncation point for each code-block. It is used
            for restoring previous saved state by restore(). A negative value means
            that no information has been included for the block, yet. The indexes
            are outlined below. The subband indices are used as they are defined in
            the Subband class. The tile indices start at 0 and follow a
            lexicographical order. The code-block indices follow a lexicographical
            order within the subband tile.
            
            <ul>
            <li>1st index: tile index, in lexicographical order </li>
            <li>2nd index: component index </li>
            <li>3rd index: resolution level </li>
            <li>4th index: subband index </li>
            <li>5th index: code-block index, in lexicographical order </li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.lbbuf">
            <summary>The body buffer of the last encoded packet </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.lblen">
            <summary>The body length of the last encoded packet </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.saved">
            <summary>The saved state </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.roiInPkt">
            <summary>Whether or not there is ROI information in the last encoded Packet </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.roiLen">
            <summary>Length to read in current packet body to get all the ROI information </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.ppinfo">
            <summary> Array containing the coordinates, width, height, indexes, ... of the
            precincts.
            
            <ul>
            <li> 1st dim: tile index.</li>
            <li> 2nd dim: component index.</li>
            <li> 3rd dim: resolution level index.</li>
            <li> 4th dim: precinct index.</li>
            </ul> 
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.PktEncoder.packetWritable">
            <summary>Whether or not the current packet is writable </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.PktEncoder.#ctor(CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc,CSJ2K.j2k.encoder.EncoderSpecs,CSJ2K.j2k.image.Coord[][][],CSJ2K.j2k.util.ParameterList)">
            <summary> Creates a new packet encoder object, using the information from the
            'infoSrc' object. 
            
            </summary>
            <param name="infoSrc">The source of information to construct the object.
            
            </param>
            <param name="encSpec">The encoding parameters.
            
            </param>
            <param name="numPrec">Maximum number of precincts in each tile, component
            and resolution level.
            
            </param>
            <param name="pl">ParameterList instance that holds command line options
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.PktEncoder.fillPrecInfo(System.Int32,System.Int32,System.Int32)">
            <summary> Retrives precincts and code-blocks coordinates in the given resolution,
            component and tile. It terminates TagTreeEncoder initialization as
            well.
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="c">Component index.
            
            </param>
            <param name="r">Resolution level index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.PktEncoder.encodePacket(System.Int32,System.Int32,System.Int32,System.Int32,CSJ2K.j2k.entropy.encoder.CBlkRateDistStats[][],System.Int32[][],CSJ2K.j2k.codestream.writer.BitOutputBuffer,System.Byte[],System.Int32)">
            <summary> Encodes a packet and returns the buffer containing the encoded packet
            header. The code-blocks appear in a 3D array of CBlkRateDistStats,
            'cbs'. The first index is the tile index in lexicographical order, the
            second index is the subband index (as defined in the Subband class),
            and the third index is the code-block index (whithin the subband tile)
            in lexicographical order as well. The indexes of the new truncation
            points for each code-block are specified by the 3D array of int
            'tIndx'. The indices of this array are the same as for cbs. The
            truncation point indices in 'tIndx' are the indices of the elements of
            the 'truncIdxs' array, of the CBlkRateDistStats class, that give the
            real truncation points. If a truncation point index is negative it
            means that the code-block has not been included in any layer yet. If
            the truncation point is less than or equal to the highest truncation
            point used in previous layers then the code-block is not included in
            the packet. Otherwise, if larger, the code-block is included in the
            packet. The body of the packet can be obtained with the
            getLastBodyBuf() and getLastBodyLen() methods.
            
            <p>Layers must be coded in increasing order, in consecutive manner, for
            each tile, component and resolution level (e.g., layer 1, then layer 2,
            etc.). For different tile, component and/or resolution level no
            particular order must be followed.</p>
            
            </summary>
            <param name="ly">The layer index (starts at 1).
            
            </param>
            <param name="c">The component index.
            
            </param>
            <param name="r">The resolution level
            
            </param>
            <param name="t">Index of the current tile
            
            </param>
            <param name="cbs">The 3D array of coded code-blocks.
            
            </param>
            <param name="tIndx">The truncation point indices for each code-block.
            
            </param>
            <param name="hbuf">The header buffer. If null a new BitOutputBuffer is created
            and returned. This buffer is reset before anything is written to it.
            
            </param>
            <param name="bbuf">The body buffer. If null a new one is created. If not large
            enough a new one is created.
            
            </param>
            <param name="pIdx">The precinct index.
            
            </param>
            <returns> The buffer containing the packet header.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.PktEncoder.save">
            <summary> Saves the current state of this object. The last saved state
            can be restored with the restore() method.
            
            </summary>
            <seealso cref="M:CSJ2K.j2k.codestream.writer.PktEncoder.restore">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.PktEncoder.restore">
            <summary> Restores the last saved state of this object. An
            IllegalArgumentException is thrown if no state has been saved.
            
            </summary>
            <seealso cref="M:CSJ2K.j2k.codestream.writer.PktEncoder.save">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.PktEncoder.reset">
            <summary> Resets the state of the object to the initial state, as if the object
            was just created.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.PktEncoder.getPrecInfo(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Returns information about a given precinct
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="c">Component index.
            
            </param>
            <param name="r">Resolution level index.
            
            </param>
            <param name="p">Precinct index
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.PktEncoder.LastBodyBuf">
            <summary> Returns the buffer of the body of the last encoded packet. The length
            of the body can be retrieved with the getLastBodyLen() method. The
            length of the array returned by this method may be larger than the
            actual body length.
            
            </summary>
            <returns> The buffer of body of the last encoded packet.
            
            </returns>
            <exception cref="!:IllegalArgumentException">If no packet has been coded since
            last reset(), last restore(), or object creation.
            
            </exception>
            <seealso cref="!:getLastBodyLen">
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.PktEncoder.LastBodyLen">
            <summary> Returns the length of the body of the last encoded packet, in
            bytes. The body itself can be retrieved with the getLastBodyBuf()
            method.
            
            </summary>
            <returns> The length of the body of last encoded packet, in bytes.
            
            </returns>
            <seealso cref="!:getLastBodyBuf">
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.PktEncoder.PacketWritable">
            <summary> Returns true if the current packet is writable i.e. should be written.
            Returns false otherwise.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.PktEncoder.ROIinPkt">
            <summary> Tells if there was ROI information in the last written packet 
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.PktEncoder.ROILen">
            <summary>Gives the length to read in current packet body to get all ROI
            information 
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.PktEncoder.ParameterInfo">
            <summary> 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 3 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, 
            or null if no options are supported.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.codestream.writer.TagTreeEncoder">
            <summary> This class implements the tag tree encoder. A tag tree codes a 2D matrix of
            integer elements in an efficient way. The encoding procedure 'encode()'
            codes information about a value of the matrix, given a threshold. The
            procedure encodes the sufficient information to identify whether or not the
            value is greater than or equal to the threshold.
            
            <p>The tag tree saves encoded information to a BitOutputBuffer.</p>
            
            <p>A particular and useful property of tag trees is that it is possible to
            change a value of the matrix, provided both new and old values of the
            element are both greater than or equal to the largest threshold which has
            yet been supplied to the coding procedure 'encode()'. This property can be
            exploited through the 'setValue()' method.</p>
            
            <p>This class allows saving the state of the tree at any point and
            restoring it at a later time, by calling save() and restore().</p>
            
            <p>A tag tree can also be reused, or restarted, if one of the reset()
            methods is called.</p>
            
            <p>The TagTreeDecoder class implements the tag tree decoder.</p>
            
            <p>Tag trees that have one dimension, or both, as 0 are allowed for
            convenience. Of course no values can be set or coded in such cases.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.codestream.writer.BitOutputBuffer">
            
            </seealso>
            <seealso cref="!:jj2000.j2k.codestream.reader.TagTreeDecoder">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.TagTreeEncoder.w">
            <summary>The horizontal dimension of the base level </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.TagTreeEncoder.h">
            <summary>The vertical dimensions of the base level </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.TagTreeEncoder.lvls">
            <summary>The number of levels in the tag tree </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.TagTreeEncoder.treeV">
            <summary>The tag tree values. The first index is the level, starting at level 0
            (leafs). The second index is the element within the level, in
            lexicographical order. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.TagTreeEncoder.treeS">
            <summary>The tag tree state. The first index is the level, starting at level 0
            (leafs). The second index is the element within the level, in
            lexicographical order. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.TagTreeEncoder.treeVbak">
            <summary>The saved tag tree values. The first index is the level, starting at
            level 0 (leafs). The second index is the element within the level, in
            lexicographical order. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.TagTreeEncoder.treeSbak">
            <summary>The saved tag tree state. The first index is the level, starting at
            level 0 (leafs). The second index is the element within the level, in
            lexicographical order. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.codestream.writer.TagTreeEncoder.saved">
            <summary>The saved state. If true the values and states of the tree have been
            saved since the creation or last reset. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.#ctor(System.Int32,System.Int32)">
            <summary> Creates a tag tree encoder with 'w' elements along the horizontal
            dimension and 'h' elements along the vertical direction. The total
            number of elements is thus 'vdim' x 'hdim'.
            
            <p>The values of all elements are initialized to Integer.MAX_VALUE.</p>
            
            </summary>
            <param name="h">The number of elements along the horizontal direction.
            
            </param>
            <param name="w">The number of elements along the vertical direction.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.#ctor(System.Int32,System.Int32,System.Int32[])">
            <summary> Creates a tag tree encoder with 'w' elements along the horizontal
            dimension and 'h' elements along the vertical direction. The total
            number of elements is thus 'vdim' x 'hdim'. The values of the leafs in
            the tag tree are initialized to the values of the 'val' array.
            
            <p>The values in the 'val' array are supposed to appear in
            lexicographical order, starting at index 0.</p>
            
            </summary>
            <param name="h">The number of elements along the horizontal direction.
            
            </param>
            <param name="w">The number of elements along the vertical direction.
            
            </param>
            <param name="val">The values with which initialize the leafs of the tag tree.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.init(System.Int32,System.Int32)">
            <summary> Initializes the variables of this class, given the dimensions at the
            base level (leaf level). All the state ('treeS' array) and values
            ('treeV' array) are intialized to 0. This method is called by the
            constructors.
            
            </summary>
            <param name="w">The number of elements along the vertical direction.
            
            </param>
            <param name="h">The number of elements along the horizontal direction.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.recalcTreeV">
            <summary> Recalculates the values of the elements in the tag tree, in levels 1
            and up, based on the values of the leafs (level 0).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.setValue(System.Int32,System.Int32,System.Int32)">
            <summary> Changes the value of a leaf in the tag tree. The new and old values of
            the element must be not smaller than the largest threshold which has
            yet been supplied to 'encode()'.
            
            </summary>
            <param name="m">The vertical index of the element.
            
            </param>
            <param name="n">The horizontal index of the element.
            
            </param>
            <param name="v">The new value of the element.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.encode(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.codestream.writer.BitOutputBuffer)">
            <summary> Encodes information for the specified element of the tree, given the
            threshold and sends it to the 'out' stream. The information that is
            coded is whether or not the value of the element is greater than or
            equal to the value of the threshold.
            
            </summary>
            <param name="m">The vertical index of the element.
            
            </param>
            <param name="n">The horizontal index of the element.
            
            </param>
            <param name="t">The threshold to use for encoding. It must be non-negative.
            
            </param>
            <param name="out">The stream where to write the coded information.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.save">
            <summary> Saves the current values and state of the tree. Calling restore()
            restores the tag tree the saved state.
            
            </summary>
            <seealso cref="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.restore">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.restore">
            <summary> Restores the saved values and state of the tree. An
            IllegalArgumentException is thrown if the tree values and state have
            not been saved yet.
            
            </summary>
            <seealso cref="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.save">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.reset">
            <summary> Resets the tree values and state. All the values are set to
            Integer.MAX_VALUE and the states to 0.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.reset(System.Int32[])">
            <summary> Resets the tree values and state. The values are set to the values in
            'val'. The states are all set to 0.
            
            </summary>
            <param name="val">The new values for the leafs, in lexicographical order.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.TagTreeEncoder.Width">
            <summary> Returns the number of leafs along the horizontal direction.
            
            </summary>
            <returns> The number of leafs along the horizontal direction.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.TagTreeEncoder.Height">
            <summary> Returns the number of leafs along the vertical direction.
            
            </summary>
            <returns> The number of leafs along the vertical direction.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.codestream.writer.TagTreeEncoder.Values">
            <summary> Sets the values of the leafs to the new set of values and updates the
            tag tree accordingly. No leaf can change its value if either the new or
            old value is smaller than largest threshold which has yet been supplied
            to 'encode()'. However such a leaf can keep its old value (i.e. new and
            old value must be identical.
            
            <p>This method is more efficient than the setValue() method if a large
            proportion of the leafs change their value. Note that for leafs which
            don't have their value defined yet the value should be
            Integer.MAX_VALUE (which is the default initialization value).</p>
            
            </summary>
            <param name="val">The new values for the leafs, in lexicographical order.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.codestream.writer.TagTreeEncoder.setValue(System.Int32,System.Int32,System.Int32)">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.decoder.DecoderSpecs">
            <summary> This class holds references to each module specifications used in the
            decoding chain. This avoid big amount of arguments in method calls. A
            specification contains values of each tile-component for one module. All
            members must be instance of ModuleSpec class (or its children).
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.iccs">
            <summary>ICC Profiling specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.rois">
            <summary>ROI maxshift value specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.qts">
            <summary>Quantization type specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.qsss">
            <summary>Quantization normalized base step size specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.gbs">
            <summary>Number of guard bits specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.wfs">
            <summary>Analysis wavelet filters specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.dls">
            <summary>Number of decomposition levels specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.nls">
            <summary>Number of layers specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.pos">
            <summary>Progression order specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.ecopts">
            <summary>The Entropy decoder options specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.cts">
            <summary>The component transformation specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.pcs">
            <summary>The progression changes specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.ers">
            <summary>The error resilience specifications concerning the entropy
            decoder 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.pss">
            <summary>Precinct partition specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.sops">
            <summary>The Start Of Packet (SOP) markers specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.ephs">
            <summary>The End of Packet Headers (EPH) markers specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.cblks">
            <summary>Code-blocks sizes specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.decoder.DecoderSpecs.pphs">
            <summary>Packed packet header specifications </summary>
        </member>
        <member name="M:CSJ2K.j2k.decoder.DecoderSpecs.#ctor(System.Int32,System.Int32)">
            <summary> Initialize all members with the given number of tiles and components.
            
            </summary>
            <param name="nt">Number of tiles
            
            </param>
            <param name="nc">Number of components
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.decoder.DecoderSpecs.Copy">
            <summary> Returns a copy of the current object.
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.encoder.EncoderSpecs">
            <summary> This class holds references to each module specifications used in the
            encoding chain. This avoid big amount of arguments in method calls. A
            specification contains values of each tile-component for one module. All
            members must be instance of ModuleSpec class (or its children).
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.rois">
            <summary>ROI maxshift value specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.qts">
            <summary>Quantization type specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.qsss">
            <summary>Quantization normalized base step size specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.gbs">
            <summary>Number of guard bits specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.wfs">
            <summary>Analysis wavelet filters specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.cts">
            <summary>Component transformation specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.dls">
            <summary>Number of decomposition levels specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.lcs">
            <summary>The length calculation specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.tts">
            <summary>The termination type specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.sss">
            <summary>Error resilience segment symbol use specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.css">
            <summary>Causal stripes specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.rts">
            <summary>Regular termination specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.mqrs">
            <summary>MQ reset specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.bms">
            <summary>By-pass mode specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.pss">
            <summary>Precinct partition specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.sops">
            <summary>Start of packet (SOP) marker use specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.ephs">
            <summary>End of packet header (EPH) marker use specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.cblks">
            <summary>Code-blocks sizes specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.pocs">
            <summary>Progression/progression changes specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.nTiles">
            <summary>The number of tiles within the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.encoder.EncoderSpecs.nComp">
            <summary>The number of components within the image </summary>
        </member>
        <member name="M:CSJ2K.j2k.encoder.EncoderSpecs.#ctor(System.Int32,System.Int32,CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.j2k.util.ParameterList)">
            <summary> Initialize all members with the given number of tiles and components
            and the command-line arguments stored in a ParameterList instance
            
            </summary>
            <param name="nt">Number of tiles
            
            </param>
            <param name="nc">Number of components
            
            </param>
            <param name="imgsrc">The image source (used to get the image size)
            
            </param>
            <param name="pl">The ParameterList instance
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.entropy.CBlkSizeSpec" -->
        <member name="T:CSJ2K.j2k.ModuleSpec">
            <summary> This generic class is used to handle values to be used by a module for each
            tile and component.  It uses attribute to determine which value to use. It
            should be extended by each module needing this feature.
            
            This class might be used for values that are only tile specific or
            component specific but not both.
            
            <p>The attributes to use are defined by a hierarchy. The hierarchy is:
            
            <ul>
            <li> Tile and component specific attribute</li>
            <li> Tile specific default attribute</li>
            <li> Component main default attribute</li>
            <li> Main default attribute</li>
            </ul></p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.SPEC_TYPE_COMP">
            <summary>The identifier for a specification module that applies only to
            components 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.SPEC_TYPE_TILE">
            <summary>The identifier for a specification module that applies only to tiles </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.SPEC_TYPE_TILE_COMP">
            <summary>The identifier for a specification module that applies both to tiles
            and components 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.SPEC_DEF">
            <summary>The identifier for default specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.SPEC_COMP_DEF">
            <summary>The identifier for "component default" specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.SPEC_TILE_DEF">
            <summary>The identifier for "tile default" specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.SPEC_TILE_COMP">
            <summary>The identifier for a "tile-component" specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.specType">
            <summary>The type of the specification module </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.nTiles">
            <summary>The number of tiles </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.nComp">
            <summary>The number of components </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.specValType">
            <summary>The spec type for each tile-component. The first index is the tile
            index, the second is the component index.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.def">
            <summary>Default value for each tile-component </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.compDef">
            <summary>The default value for each component. Null if no component
            specific value is defined 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.tileDef">
            <summary>The default value for each tile. Null if no tile specific value is
            defined 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.ModuleSpec.tileCompVal">
            <summary>The specific value for each tile-component. Value of tile 16 component
            3 is accessible through the hash value "t16c3". Null if no
            tile-component specific value is defined 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.rotate90(CSJ2K.j2k.image.Coord)">
            <summary> Rotate the ModuleSpec instance by 90 degrees (this modifies only tile
            and tile-component specifications).
            
            </summary>
            <param name="nT">Number of tiles along horizontal and vertical axis after
            rotation. 
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Constructs a 'ModuleSpec' object, initializing all the components and
            tiles to the 'SPEC_DEF' spec val type, for the specified number of
            components and tiles.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.setDefault(System.Object)">
            <summary> Sets default value for this module 
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.getDefault">
            <summary> Gets default value for this module. 
            
            </summary>
            <returns> The default value (Must be casted before use)
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.setCompDef(System.Int32,System.Object)">
            <summary> Sets default value for specified component and specValType tag if
            allowed by its priority.
            
            </summary>
            <param name="c">Component index 
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.getCompDef(System.Int32)">
            <summary> Gets default value of the specified component. If no specification have
            been entered for this component, returns default value.
            
            </summary>
            <param name="c">Component index 
            
            </param>
            <returns> The default value for this component (Must be casted before
            use)
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.ModuleSpec.setCompDef(System.Int32,System.Object)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.setTileDef(System.Int32,System.Object)">
            <summary> Sets default value for specified tile and specValType tag if allowed by
            its priority.
            
            </summary>
            <param name="c">Tile index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.getTileDef(System.Int32)">
            <summary> Gets default value of the specified tile. If no specification has been
            entered, it returns the default value.
            
            </summary>
            <param name="t">Tile index 
            
            </param>
            <returns> The default value for this tile (Must be casted before use)
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.ModuleSpec.setTileDef(System.Int32,System.Object)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.setTileCompVal(System.Int32,System.Int32,System.Object)">
            <summary> Sets value for specified tile-component.
            
            </summary>
            <param name="t">Tie index 
            
            </param>
            <param name="c">Component index 
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.getTileCompVal(System.Int32,System.Int32)">
            <summary> Gets value of specified tile-component. This method calls getSpec but
            has a public access.
            
            </summary>
            <param name="t">Tile index 
            
            </param>
            <param name="c">Component index 
            
            </param>
            <returns> The value of this tile-component (Must be casted before use)
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.ModuleSpec.setTileCompVal(System.Int32,System.Int32,System.Object)">
            
            </seealso>
            <seealso cref="M:CSJ2K.j2k.ModuleSpec.getSpec(System.Int32,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.getSpec(System.Int32,System.Int32)">
            <summary> Gets value of specified tile-component without knowing if a specific
            tile-component value has been previously entered. It first check if a
            tile-component specific value has been entered, then if a tile specific
            value exist, then if a component specific value exist. If not the
            default value is returned.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> Value for this tile component.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.getSpecValType(System.Int32,System.Int32)">
            <summary> Return the spec type of the given tile-component.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.isCompSpecified(System.Int32)">
            <summary> Whether or not specifications have been entered for the given
            component.
            
            </summary>
            <param name="c">Index of the component
            
            </param>
            <returns> True if component specification has been defined
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.isTileSpecified(System.Int32)">
            <summary> Whether or not specifications have been entered for the given tile.
            
            </summary>
            <param name="t">Index of the tile
            
            </param>
            <returns> True if tile specification has been entered
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.ModuleSpec.isTileCompSpecified(System.Int32,System.Int32)">
            <summary> Whether or not a tile-component specification has been defined
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> True if a tile-component specification has been defined.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.ModuleSpec.parseIdx(System.String,System.Int32)" -->
        <member name="F:CSJ2K.j2k.entropy.CBlkSizeSpec.optName">
            <summary>Name of the option </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.CBlkSizeSpec.maxCBlkWidth">
            <summary>The maximum code-block width </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.CBlkSizeSpec.maxCBlkHeight">
            <summary>The maximum code-block height </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CBlkSizeSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Creates a new CBlkSizeSpec object for the specified number of tiles and
            components.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CBlkSizeSpec.#ctor(System.Int32,System.Int32,System.Byte,CSJ2K.j2k.util.ParameterList)">
            <summary> Creates a new CBlkSizeSpec object for the specified number of tiles and
            components and the ParameterList instance.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
            <param name="imgsrc">The image source (used to get the image size)
            
            </param>
            <param name="pl">The ParameterList instance
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.CBlkSizeSpec.getCBlkWidth(System.Byte,System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.entropy.CBlkSizeSpec.getCBlkHeight(System.Byte,System.Int32,System.Int32)">
            <summary> Returns the code-block height:
            
            <ul>
            <li>for the specified tile/component</li>
            <li>for the specified tile</li>
            <li>for the specified component</li>
            <li>default value</li>
            </ul>
            
            The value returned depends on the value of the variable 'type' which
            can take the following values :
            
            <ul> 
            <li>SPEC_DEF -> Default value is returned. t and c values are
            ignored</li> 
            <li>SPEC_COMP_DEF -> Component default value is returned. t value is
            ignored</li>
            <li>SPEC_TILE_DEF -> Tile default value is returned. c value is
            ignored</li>
            <li>SPEC_TILE_COMP -> Tile/Component value is returned.</li>
            </ul>
            
            </summary>
            <param name="type">The type of the value we want to be returned
            
            </param>
            <param name="t">The tile index
            
            </param>
            <param name="c">the component index
            
            </param>
            <returns> The code-block height for the specified tile and component
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CBlkSizeSpec.setDefault(System.Object)">
            <summary> Sets default value for this module 
            
            </summary>
            <param name="value">Default value
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CBlkSizeSpec.setTileDef(System.Int32,System.Object)">
            <summary> Sets default value for specified tile and specValType tag if allowed by
            its priority.
            
            </summary>
            <param name="c">Tile index.
            
            </param>
            <param name="value">Tile's default value
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CBlkSizeSpec.setCompDef(System.Int32,System.Object)">
            <summary> Sets default value for specified component and specValType tag if
            allowed by its priority.
            
            </summary>
            <param name="c">Component index 
            
            </param>
            <param name="value">Component's default value
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CBlkSizeSpec.setTileCompVal(System.Int32,System.Int32,System.Object)">
            <summary> Sets value for specified tile-component.
            
            </summary>
            <param name="t">Tie index 
            
            </param>
            <param name="c">Component index 
            
            </param>
            <param name="value">Tile-component's value
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CBlkSizeSpec.storeHighestDims(System.Int32[])">
            <summary> Stores the highest code-block width and height
            
            </summary>
            <param name="dim">The 2 elements array that contains the code-block width and
            height.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.entropy.CBlkSizeSpec.MaxCBlkWidth">
            <summary> Returns the maximum code-block's width
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.entropy.CBlkSizeSpec.MaxCBlkHeight">
            <summary> Returns the maximum code-block's height
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.entropy.CodedCBlk">
            <summary> This is the generic class to store coded (compressed) code-block. It stores
            the compressed data as well as the necessary side-information.
            
            <p>This class is normally not used. Instead the EncRDCBlk, EncLyrdCBlk and
            the DecLyrdCBlk subclasses are used.</p>
            
            </summary>
            <seealso cref="!:jj2000.j2k.entropy.encoder.CBlkRateDistStats">
            </seealso>
            <seealso cref="!:jj2000.j2k.entropy.decoder.DecLyrdCBlk">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.CodedCBlk.n">
            <summary>The horizontal index of the code-block, within the subband. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.CodedCBlk.m">
            <summary>The vertical index of the code-block, within the subband. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.CodedCBlk.skipMSBP">
            <summary>The number of skipped most significant bit-planes. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.CodedCBlk.data">
            <summary>The compressed data </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CodedCBlk.#ctor">
            <summary> Creates a new CodedCBlk object wit the default values and without
            allocating any space for its members.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CodedCBlk.#ctor(System.Int32,System.Int32,System.Int32,System.Byte[])">
            <summary> Creates a new CodedCBlk object with the specified values.
            
            </summary>
            <param name="m">The horizontal index of the code-block, within the subband.
            
            </param>
            <param name="n">The vertical index of the code-block, within the subband.
            
            </param>
            <param name="skipMSBP">The number of skipped most significant bit-planes for
            this code-block.
            
            </param>
            <param name="data">The compressed data. This array is referenced by this
            object so it should not be modified after.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.CodedCBlk.ToString">
            <summary> Returns the contents of the object in a string. The string contains the
            following data: 'm', 'n', 'skipMSBP' and 'data.length. This is used for
            debugging.
            
            </summary>
            <returns> A string with the contents of the object
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.decoder.ByteInputBuffer">
            <summary> This class provides a byte input facility from byte buffers. It is similar
            to the ByteArrayInputStream class, but adds the possibility to add data to
            the stream after the creation of the object.
            
            <p>Unlike the ByteArrayInputStream this class is not thread safe (i.e. no
            two threads can use the same object at the same time, but different objects
            may be used in different threads).</p>
            
            <p>This class can modify the contents of the buffer given to the
            constructor, when the addByteArray() method is called.</p>
            
            </summary>
            <seealso cref="!:InputStream">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.ByteInputBuffer.buf">
            <summary>The byte array containing the data </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.ByteInputBuffer.count">
            <summary>The index one greater than the last valid character in the input
            stream buffer 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.ByteInputBuffer.pos">
            <summary>The index of the next character to read from the input stream buffer
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteInputBuffer.#ctor(System.Byte[])">
            <summary> Creates a new byte array input stream that reads data from the
            specified byte array. The byte array is not copied.
            
            </summary>
            <param name="buf">the input buffer.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteInputBuffer.#ctor(System.Byte[],System.Int32,System.Int32)">
            <summary> Creates a new byte array input stream that reads data from the
            specified byte array. Up to length characters are to be read from the
            byte array, starting at the indicated offset.
            
            <p>The byte array is not copied.</p>
            
            </summary>
            <param name="buf">the input buffer.
            
            </param>
            <param name="offset">the offset in the buffer of the first byte to read.
            
            </param>
            <param name="length">the maximum number of bytes to read from the buffer.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteInputBuffer.setByteArray(System.Byte[],System.Int32,System.Int32)">
            <summary> Sets the underlying buffer byte array to the given one, with the given
            offset and length. If 'buf' is null then the current byte buffer is
            assumed. If 'offset' is negative, then it will be assumed to be
            'off+len', where 'off' and 'len' are the offset and length of the
            current byte buffer.
            
            <p>The byte array is not copied.</p>
            
            </summary>
            <param name="buf">the input buffer. If null it is the current input buffer.
            
            </param>
            <param name="offset">the offset in the buffer of the first byte to read. If
            negative it is assumed to be the byte just after the end of the current
            input buffer, only permitted if 'buf' is null.
            
            </param>
            <param name="length">the maximum number of bytes to read frmo the buffer.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteInputBuffer.addByteArray(System.Byte[],System.Int32,System.Int32)">
            <summary> Adds the specified data to the end of the byte array stream. This
            method modifies the byte array buffer. It can also discard the already
            read input.
            
            </summary>
            <param name="data">The data to add. The data is copied.
            
            </param>
            <param name="off">The index, in data, of the first element to add to the
            stream.
            
            </param>
            <param name="len">The number of elements to add to the array.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteInputBuffer.readChecked">
            <summary> Reads the next byte of data from this input stream. The value byte is
            returned as an int in the range 0 to 255. If no byte is available
            because the end of the stream has been reached, the EOFException
            exception is thrown.
            
            <p>This method is not synchronized, so it is not thread safe.</p>
            
            </summary>
            <returns> The byte read in the range 0-255.
            
            </returns>
            <exception cref="!:EOFException">If the end of the stream is reached.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteInputBuffer.read">
            <summary> Reads the next byte of data from this input stream. The value byte is
            returned as an int in the range 0 to 255. If no byte is available
            because the end of the stream has been reached, -1 is returned.
            
            <p>This method is not synchronized, so it is not thread safe.</p>
            
            </summary>
            <returns> The byte read in the range 0-255, or -1 if the end of stream
            has been reached.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.decoder.ByteToBitInput">
            <summary> This class provides an adapter to perform bit based input on byte based
            output obejcts that inherit from a 'ByteInputBuffer' class. This class also
            performs the bit unstuffing procedure specified for the 'selective
            arithmetic coding bypass' mode of the JPEG 2000 entropy coder.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.ByteToBitInput.in_Renamed">
            <summary>The byte based input </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.ByteToBitInput.bbuf">
            <summary>The bit buffer </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.ByteToBitInput.bpos">
            <summary>The position of the next bit to get from the byte buffer. When it is
            -1 the bit buffer is empty. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteToBitInput.#ctor(CSJ2K.j2k.entropy.decoder.ByteInputBuffer)">
            <summary> Instantiates a new 'ByteToBitInput' object that uses 'in' as the
            underlying byte based input.
            
            </summary>
            <param name="in">The underlying byte based input.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteToBitInput.readBit">
            <summary> Reads from the bit stream one bit. If 'bpos' is -1 then a byte is read
            and loaded into the bit buffer, from where the bit is read. If
            necessary the bit unstuffing will be applied.
            
            </summary>
            <returns> The read bit (0 or 1).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteToBitInput.checkBytePadding">
            <summary> Checks for past errors in the decoding process by verifying the byte
            padding with an alternating sequence of 0's and 1's. If an error is
            detected it means that the raw bit stream has been wrongly decoded or
            that the raw terminated segment length is too long. If no errors are
            detected it does not necessarily mean that the raw bit stream has been
            correctly decoded.
            
            </summary>
            <returns> True if errors are found, false otherwise.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteToBitInput.flush">
            <summary> Flushes (i.e. empties) the bit buffer, without loading any new
            bytes. This realigns the input at the next byte boundary, if not
            already at one.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.ByteToBitInput.setByteArray(System.Byte[],System.Int32,System.Int32)">
            <summary> Resets the underlying byte input to start a new segment. The bit buffer
            is flushed.
            
            </summary>
            <param name="buf">The byte array containing the byte data. If null the
            current byte array is assumed.
            
            </param>
            <param name="off">The index of the first element in 'buf' to be decoded. If
            negative the byte just after the previous segment is assumed, only
            valid if 'buf' is null.
            
            </param>
            <param name="len">The number of bytes in 'buf' to be decoded. Any subsequent
            bytes are taken to be 0xFF.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk">
            <summary> This class stores coded (compressed) code-blocks that are organized in
            layers. This object can contain either all code-block data (i.e. all
            layers), or a subset of all the layers that make up the whole compressed
            code-block. It is applicable to the decoder engine only. Some data of the
            coded-block is stored in the super class, see CodedCBlk.
            
            <p>A code-block may have its progressive attribute set (i.e. the 'prog'
            flag is true). If a code-block is progressive then it means that more data
            for it may be obtained for an improved quality. If the progressive flag is
            false then no more data is available from the source for this
            code-block.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.entropy.CodedCBlk">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.ulx">
            <summary>The horizontal coordinate of the upper-left corner of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.uly">
            <summary>The vertical coordinate of the upper left corner of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.w">
            <summary>The width of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.h">
            <summary>The height of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.dl">
            <summary>The coded (compressed) data length. The data is stored in the 'data'
            array (see super class).  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.prog">
            <summary>The progressive flag, false by default (see above). </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.nl">
            <summary>The number of layers in the coded data. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.ftpIdx">
            <summary>The index of the first truncation point returned </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.nTrunc">
            <summary>The total number of truncation points from layer 1 to the last one in
            this object. The number of truncation points in 'data' is
            'nTrunc-ftpIdx'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.tsLengths">
            <summary>The length of each terminated segment. If null then there is only one
            terminated segment, and its length is 'dl'. The number of terminated
            segments is to be deduced from 'ftpIdx', 'nTrunc' and the coding
            options. This array contains all terminated segments from the 'ftpIdx'
            truncation point, upto, and including, the 'nTrunc-1' truncation
            point. Any data after 'nTrunc-1' is not included in any length. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.DecLyrdCBlk.ToString">
            <summary> Object information in a string
            
            </summary>
            <returns> Information in a string
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.entropy.decoder.EntropyDecoder" -->
        <member name="T:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter">
            <summary> This class provides a default implementation for the methods of the
            'MultiResImgData' interface. The default implementation consists just in
            returning the value of the source, where the source is another
            'MultiResImgData' object.
            
            <p>This abstract class can be used to facilitate the development of other
            classes that implement 'MultiResImgData'. For example a dequantizer can
            inherit from this class and all the trivial methods do not have to be
            reimplemented.</p>
            
            <p>If the default implementation of a method provided in this class does
            not suit a particular implementation of the 'MultiResImgData' interface,
            the method can be overriden to implement the proper behaviour.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.synthesis.MultiResImgData">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.tIdx">
            <summary>Index of the current tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.mressrc">
            <summary>The MultiResImgData source </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.#ctor(CSJ2K.j2k.wavelet.synthesis.MultiResImgData)">
            <summary> Instantiates the MultiResImgDataAdapter object specifying the
            MultiResImgData source.
            
            </summary>
            <param name="src">From where to obrtain the MultiResImgData values.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getTileWidth(System.Int32)">
            <summary> Returns the overall width of the current tile in pixels, for the given
            resolution level. This is the tile's width without accounting for any
            component subsampling.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The total current tile's width in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getTileHeight(System.Int32)">
            <summary> Returns the overall height of the current tile in pixels, for the given
            resolution level. This is the tile's height without accounting for any
            component subsampling.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The total current tile's height in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getImgWidth(System.Int32)">
            <summary> Returns the overall width of the image in pixels, for the given
            resolution level. This is the image's width without accounting for any
            component subsampling or tiling.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The total image's width in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getImgHeight(System.Int32)">
            <summary> Returns the overall height of the image in pixels, for the given
            resolution level. This is the image's height without accounting for any
            component subsampling or tiling.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The total image's height in pixels.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal direction,
            for the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The horizontal subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical direction, for
            the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The vertical subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getTileCompWidth(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component for the
            given resolution level.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in tile <tt>t</tt>
            for resolution level <tt>rl</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getTileCompHeight(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component for the
            given resolution level.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="t">The tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in tile
            <tt>t</tt>. 
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getCompImgWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified component in the overall
            image, for the given resolution level.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getCompImgHeight(System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.setTile(System.Int32,System.Int32)">
            <summary> 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 just changes the tile in the source.</p>
            
            </summary>
            <param name="x">The horizontal indexes the tile.
            
            </param>
            <param name="y">The vertical indexes of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            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 changes the tile in the source.</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getTile(CSJ2K.j2k.image.Coord)">
            <summary> Returns the indexes of the current tile. These are the horizontal and
            vertical indexes of the current tile.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The current tile's indexes (vertical and horizontal indexes).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getResULX(System.Int32,System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified resolution level in the given component of the current tile. 
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The component index.
            
            </param>
            <param name="rl">The resolution level index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getResULY(System.Int32,System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified resolution in the given component of the current tile. 
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="c">The component index.
            
            </param>
            <param name="rl">The resolution level index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getImgULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid at the specified
            resolution level.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The horizontal coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getImgULY(System.Int32)">
            <summary> Returns the vertical coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid at the specified
            resolution level.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="rl">The resolution level, from 0 to L.
            
            </param>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getNumTiles(CSJ2K.j2k.image.Coord)">
            <summary> Returns the number of tiles in the horizontal and vertical directions.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The number of tiles in the horizontal (Coord.x) and vertical
            (Coord.y) directions.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.getNumTiles">
            <summary> Returns the total number of tiles in the image.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The total number of tiles in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.NomTileWidth">
            <summary>Returns the nominal tiles width </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.NomTileHeight">
            <summary>Returns the nominal tiles height </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.NumComps">
            <summary> Returns the number of components in the image.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The number of components in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.TileIdx">
            <summary> Returns the index of the current tile, relative to a standard scan-line
            order.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The current tile's index (starts at 0).
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.TilePartULX">
            <summary>Returns the horizontal tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.MultiResImgDataAdapter.TilePartULY">
            <summary>Returns the vertical tile partition offset in the reference grid </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec" -->
        <member name="M:CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec.getCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)">
            <summary> Returns the specified code-block in the current tile for the specified
            component, as a copy (see below).
            
            <p>The returned code-block may be progressive, which is indicated by
            the 'progressive' variable of the returned 'DataBlk' object. If a
            code-block is progressive it means that in a later request to this
            method for the same code-block it is possible to retrieve data which is
            a better approximation, since meanwhile more data to decode for the
            code-block could have been received. If the code-block is not
            progressive then later calls to this method for the same code-block
            will return the exact same data values.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, if any, and it can be modified "in place" without
            any problems after being returned. The 'offset' of the returned data is
            0, and the 'scanw' is the same as the code-block width. See the
            'DataBlk' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'DataBlk' object contain
            the coordinates of the top-left corner of the block, with respect to
            the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in which the code-block to return is.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec.getInternCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)">
            <summary> Returns the specified code-block in the current tile for the specified
            component (as a reference or copy).
            
            <p>The returned code-block may be progressive, which is indicated by
            the 'progressive' variable of the returned 'DataBlk' object. If a
            code-block is progressive it means that in a later request to this
            method for the same code-block it is possible to retrieve data which is
            a better approximation, since meanwhile more data to decode for the
            code-block could have been received. If the code-block is not
            progressive then later calls to this method for the same code-block
            will return the exact same data values.</p>
            
            <p>The data returned by this method can be the data in the internal
            buffer of this object, if any, and thus can not be modified by the
            caller. The 'offset' and 'scanw' of the returned data can be
            arbitrary. See the 'DataBlk' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'DataBlk' object contain
            the coordinates of the top-left corner of the block, with respect to
            the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in which the code-block to return is.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.EntropyDecoder.OPT_PREFIX">
            <summary>The prefix for entropy decoder optiojns: 'C' </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.EntropyDecoder.pinfo">
            <summary>The list of parameters that is accepted by the entropy
            decoders. They start with 'C'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.EntropyDecoder.src">
            <summary>The bit stream transport from where to get the compressed data
            (the source) 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.EntropyDecoder.#ctor(CSJ2K.j2k.entropy.decoder.CodedCBlkDataSrcDec)">
            <summary> Initializes the source of compressed data.
            
            </summary>
            <param name="src">From where to obtain the compressed data.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.decoder.EntropyDecoder.getSynSubbandTree(System.Int32,System.Int32)" -->
        <member name="P:CSJ2K.j2k.entropy.decoder.EntropyDecoder.CbULX">
            <summary> Returns the horizontal code-block partition origin. Allowable values
            are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.entropy.decoder.EntropyDecoder.CbULY">
            <summary> Returns the vertical code-block partition origin. Allowable values are
            0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.entropy.decoder.EntropyDecoder.ParameterInfo">
            <summary> 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 3
            elements. The first element is the option name, the second one
            is the synopsis and the third one is a long description of what
            the parameter is. 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, 
            or null if no options are supported.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.decoder.MQDecoder">
            <summary> This class implements the MQ arithmetic decoder. It is implemented using
            the software conventions decoder for better performance (i.e. execution
            time performance). The initial states for each context of the MQ-coder are
            specified in the constructor.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.qe">
            <summary>The data structures containing the probabilities for the LPS </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.nMPS">
            <summary>The indexes of the next MPS </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.nLPS">
            <summary>The indexes of the next LPS </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.switchLM">
            <summary>Whether LPS and MPS should be switched </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.in_Renamed">
            <summary>The ByteInputBuffer used to read the compressed bit stream. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.mPS">
            <summary>The current most probable signal for each context </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.I">
            <summary>The current index of each context </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.c">
            <summary>The current bit code </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.cT">
            <summary>The bit code counter </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.a">
            <summary>The current interval </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.b">
            <summary>The last byte read </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.markerFound">
            <summary>Flag indicating if a marker has been found </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.MQDecoder.initStates">
            <summary>The initial state of each context </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.MQDecoder.#ctor(CSJ2K.j2k.entropy.decoder.ByteInputBuffer,System.Int32,System.Int32[])">
            <summary> Instantiates a new MQ-decoder, with the specified number of contexts
            and initial states. The compressed bytestream is read from the
            'iStream' object.
            
            </summary>
            <param name="iStream">the stream that contains the coded bits 
            
            </param>
            <param name="nrOfContexts">The number of contexts used
            
            </param>
            <param name="initStates">The initial state for each context. A reference is
            kept to this array to reinitialize the contexts whenever 'reset()' or
            'resetCtxts()' is called.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.decoder.MQDecoder.fastDecodeSymbols(System.Int32[],System.Int32,System.UInt32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.decoder.MQDecoder.decodeSymbols(System.Int32[],System.Int32[],System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.decoder.MQDecoder.decodeSymbol(System.Int32)" -->
        <member name="M:CSJ2K.j2k.entropy.decoder.MQDecoder.checkPredTerm">
            <summary> Checks for past errors in the decoding process using the predictable
            error resilient termination. This works only if the encoder used the
            predictable error resilient MQ termination, otherwise it reports wrong
            results. If an error is detected it means that the MQ bit stream has
            been wrongly decoded or that the MQ terminated segment length is too
            long. If no errors are detected it does not necessarily mean that the
            MQ bit stream has been correctly decoded.
            
            </summary>
            <returns> True if errors are found, false otherwise.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.MQDecoder.byteIn">
            <summary> This function gets one byte of compressed bits from the in-stream.  the
            byte is added to c. If the byte is 0xFF and the next byte is greater
            than 0x8F, the byte after 0xFF is a marker.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.MQDecoder.resetCtxt(System.Int32)">
            <summary> Resets a context to the original probability distribution.
            
            </summary>
            <param name="c">The number of the context (it starts at 0).
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.MQDecoder.resetCtxts">
            <summary> Resets a context to the original probability distribution. The original
            probability distribution depends on the actual implementation of the
            arithmetic coder or decoder.
            
            </summary>
            <param name="c">The index of the context (it starts at 0).
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.MQDecoder.nextSegment(System.Byte[],System.Int32,System.Int32)">
            <summary> Resets the MQ decoder to start a new segment. This is like recreating a
            new MQDecoder object with new input data.
            
            </summary>
            <param name="buf">The byte array containing the MQ encoded data. If null the
            current byte array is assumed.
            
            </param>
            <param name="off">The index of the first element in 'buf' to be decoded. If
            negative the byte just after the previous segment is assumed, only
            valid if 'buf' is null.
            
            </param>
            <param name="len">The number of bytes in 'buf' to be decoded. Any subsequent
            bytes are taken to be 0xFF.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.decoder.MQDecoder.init" -->
        <member name="P:CSJ2K.j2k.entropy.decoder.MQDecoder.NumCtxts">
            <summary> Returns the number of contexts in the arithmetic coder.
            
            </summary>
            <returns> The number of contexts
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.entropy.decoder.MQDecoder.ByteInputBuffer">
            <summary> Returns the underlying 'ByteInputBuffer' from where the MQ coded input
            bytes are read.
            
            </summary>
            <returns> The underlying ByteInputBuffer.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder">
            <summary> This class implements the JPEG 2000 entropy decoder, which codes stripes in
            code-blocks. This entropy decoding engine decodes one code-block at a time.
            
            <p>The code-blocks are rectangular and their dimensions must be powers of
            2. Each dimension cannot be smaller than 4 and larger than 256. The product
            of the two dimensions (i.e. area of the code-block) cannot exceed 4096.</p>
            
            <p>Context 0 of the MQ-coder is used as the uniform one (uniform,
            non-adaptive probability distribution). Context 1 is used for RLC
            coding. Contexts 2-10 are used for zero-coding (ZC), contexts 11-15 are
            used for sign-coding (SC) and contexts 16-18 are used for
            magnitude-refinement (MR).</p>
            
            <p>This implementation also provides some timing features. They can be
            enabled by setting the 'DO_TIMING' constant of this class to true and
            recompiling. The timing uses the 'System.currentTimeMillis()' Java API
            call, which returns wall clock time, not the actual CPU time used. The
            timing results will be printed on the message output. Since the times
            reported are wall clock times and not CPU usage times they can not be added
            to find the total used time (i.e. some time might be counted in several
            places). When timing is disabled ('DO_TIMING' is false) there is no penalty
            if the compiler performs some basic optimizations. Even if not the penalty
            should be negligeable.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.DO_TIMING">
            <summary>Whether to collect timing information or not: false. Used as a compile 
            time directive. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.ZC_LUT_BITS">
            <summary>Number of bits used for the Zero Coding lookup table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.SC_LUT_BITS">
            <summary>Number of bits used for the Sign Coding lookup table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.SC_LUT_MASK">
            <summary>The mask to obtain the context index from the 'SC_LUT' </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.SC_SPRED_SHIFT">
            <summary>The shift to obtain the sign predictor from the 'SC_LUT'. It must be
            an unsigned shift. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.INT_SIGN_BIT">
            <summary>The sign bit for int data </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.MR_LUT_BITS">
            <summary>The number of bits used for the Magnitude Refinement lookup table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.NUM_CTXTS">
            <summary>The number of contexts used </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.RLC_CTXT">
            <summary>The RLC context </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.UNIF_CTXT">
            <summary>The UNIFORM context (with a uniform probability distribution which
            does not adapt) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.SEG_SYMBOL">
            <summary>The 4 bits of the error resilience segmentation symbol (decimal 10,
            which is binary sequence 1010) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_SEP">
            <summary>The separation between the upper and lower bits in the state array: 16
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_SIG_R1">
            <summary>The flag bit for the significance in the state array, for row 1. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_VISITED_R1">
            <summary>The flag bit for the "visited" bit in the state array, for row 1. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_NZ_CTXT_R1">
            <summary>The flag bit for the "not zero context" bit in the state array, for
            row 1. This bit is always the OR of bits STATE_H_L_R1, STATE_H_R_R1,
            STATE_V_U_R1, STATE_V_D_R1, STATE_D_UL_R1, STATE_D_UR_R1, STATE_D_DL_R1
            and STATE_D_DR_R1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_H_L_SIGN_R1">
            <summary>The flag bit for the horizontal-left sign in the state array, for row
            1. This bit can only be set if the STATE_H_L_R1 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_H_R_SIGN_R1">
            <summary>The flag bit for the horizontal-right sign in the state array, for
            row 1. This bit can only be set if the STATE_H_R_R1 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_V_U_SIGN_R1">
            <summary>The flag bit for the vertical-up sign in the state array, for row
            1. This bit can only be set if the STATE_V_U_R1 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_V_D_SIGN_R1">
            <summary>The flag bit for the vertical-down sign in the state array, for row
            1. This bit can only be set if the STATE_V_D_R1 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_PREV_MR_R1">
            <summary>The flag bit for the previous MR primitive applied in the state array,
            for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_H_L_R1">
            <summary>The flag bit for the horizontal-left significance in the state array,
            for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_H_R_R1">
            <summary>The flag bit for the horizontal-right significance in the state array,
            for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_V_U_R1">
            <summary>The flag bit for the vertical-up significance in the state array, for
            row 1.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_V_D_R1">
            <summary>The flag bit for the vertical-down significance in the state array,
            for row 1.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_D_UL_R1">
            <summary>The flag bit for the diagonal up-left significance in the state array,
            for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_D_UR_R1">
            <summary>The flag bit for the diagonal up-right significance in the state
            array, for row 1.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_D_DL_R1">
            <summary>The flag bit for the diagonal down-left significance in the state
            array, for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_D_DR_R1">
            <summary>The flag bit for the diagonal down-right significance in the state
            array , for row 1.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.ZC_MASK">
            <summary>The mask to obtain the ZC_LUT index from the 'state' information </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.SC_SHIFT_R1">
            <summary>The shift to obtain the SC index to 'SC_LUT' from the 'state'
            information, for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.MR_MASK">
            <summary>The mask to obtain the MR index to 'MR_LUT' from the 'state'
            information. It is to be applied after the 'MR_SHIFT' 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.bin">
            <summary>The bit based input for arithmetic coding bypass (i.e. raw) coding </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.mq">
            <summary>The MQ decoder to use. It has in as the underlying source of coded
            data. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.decSpec">
            <summary>The decoder spec </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.options">
            <summary>The options that are turned on, as flag bits. The options are
            'OPT_TERM_PASS', 'OPT_RESET_MQ', 'OPT_VERT_STR_CAUSAL', 'OPT_BYPASS'
            and 'OPT_SEG_SYMBOLS' as defined in the StdEntropyCoderOptions
            interface
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.entropy.StdEntropyCoderOptions">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.doer">
            <summary>Flag to indicate if we should try to detect errors or just ignore any
            error resilient information 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.verber">
            <summary>Flag to indicate if we should be verbose about bit stream errors
            detected with the error resilience options 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.ZC_LUT_LH">
            <summary>Zero Coding context lookup tables for the LH global orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.ZC_LUT_HL">
            <summary>Zero Coding context lookup tables for the HL global orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.ZC_LUT_HH">
            <summary>Zero Coding context lookup tables for the HH global orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.SC_LUT">
            <summary>Sign Coding context lookup table. The index into the table is a 9 bit
            index, which correspond the the value in the 'state' array shifted by
            'SC_SHIFT'. Bits 8-5 are the signs of the horizontal-left,
            horizontal-right, vertical-up and vertical-down neighbors,
            respectively. Bit 4 is not used (0 or 1 makes no difference). Bits 3-0
            are the significance of the horizontal-left, horizontal-right,
            vertical-up and vertical-down neighbors, respectively. The least 4 bits
            of the value in the lookup table define the context number and the sign
            bit defines the "sign predictor". 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.MR_LUT">
            <summary>Magnitude Refinement context lookup table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.MQ_INIT">
            <summary>The initial states for the MQ coder </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.state" -->
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_SIG_R2">
            <summary>The flag bit for the significance in the state array, for row 2. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_VISITED_R2">
            <summary>The flag bit for the "visited" bit in the state array, for row 2. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_NZ_CTXT_R2">
            <summary>The flag bit for the "not zero context" bit in the state array, for
            row 2. This bit is always the OR of bits STATE_H_L_R2, STATE_H_R_R2,
            STATE_V_U_R2, STATE_V_D_R2, STATE_D_UL_R2, STATE_D_UR_R2, STATE_D_DL_R2
            and STATE_D_DR_R2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_H_L_SIGN_R2">
            <summary>The flag bit for the horizontal-left sign in the state array, for row
            2. This bit can only be set if the STATE_H_L_R2 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_H_R_SIGN_R2">
            <summary>The flag bit for the horizontal-right sign in the state array, for row
            2. This bit can only be set if the STATE_H_R_R2 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_V_U_SIGN_R2">
            <summary>The flag bit for the vertical-up sign in the state array, for row
            2. This bit can only be set if the STATE_V_U_R2 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_V_D_SIGN_R2">
            <summary>The flag bit for the vertical-down sign in the state array, for row
            2. This bit can only be set if the STATE_V_D_R2 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_PREV_MR_R2">
            <summary>The flag bit for the previous MR primitive applied in the state array,
            for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_H_L_R2">
            <summary>The flag bit for the horizontal-left significance in the state array,
            for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_H_R_R2">
            <summary>The flag bit for the horizontal-right significance in the state array,
            for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_V_U_R2">
            <summary>The flag bit for the vertical-up significance in the state array, for
            row 2.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_V_D_R2">
            <summary>The flag bit for the vertical-down significance in the state array,
            for row 2.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_D_UL_R2">
            <summary>The flag bit for the diagonal up-left significance in the state array,
            for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_D_UR_R2">
            <summary>The flag bit for the diagonal up-right significance in the state
            array, for row 2.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_D_DL_R2">
            <summary>The flag bit for the diagonal down-left significance in the state
            array, for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.STATE_D_DR_R2">
            <summary>The flag bit for the diagonal down-right significance in the state
            array , for row 2.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.SIG_MASK_R1R2">
            <summary>The mask to isolate the significance bits for row 1 and 2 of the state 
            array. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.VSTD_MASK_R1R2">
            <summary>The mask to isolate the visited bits for row 1 and 2 of the state 
            array. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.RLC_MASK_R1R2">
            <summary>The mask to isolate the bits necessary to identify RLC coding state
            (significant, visited and non-zero context, for row 1 and 2). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.SC_SHIFT_R2">
            <summary>The shift to obtain the SC index to 'SC_LUT' from the state
            information, for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.SC_MASK">
            <summary>The bit mask to isolate the state bits relative to the sign coding
            lookup table ('SC_LUT'). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.srcblk">
            <summary>The source code-block to entropy code (avoids reallocation for each
            code-block). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.mQuit">
            <summary>The maximum number of bit planes to decode for any code-block </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.#ctor(CSJ2K.j2k.entropy.decoder.CodedCBlkDataSrcDec,CSJ2K.j2k.decoder.DecoderSpecs,System.Boolean,System.Boolean,System.Int32)">
            <summary> Instantiates a new entropy decoder engine, with the specified source of
            data, nominal block width and height.
            
            </summary>
            <param name="src">The source of data
            
            </param>
            <param name="opt">The options to use for this encoder. It is a mix of the
            'OPT_TERM_PASS', 'OPT_RESET_MQ', 'OPT_VERT_STR_CAUSAL', 'OPT_BYPASS'
            and 'OPT_SEG_SYMBOLS' option flags.
            
            </param>
            <param name="doer">If true error detection will be performed, if any error
            detection features have been enabled.
            
            </param>
            <param name="verber">This flag indicates if the entropy decoder should be
            verbose about bit stream errors that are detected and concealed.
            
            </param>
            <param name="mQuit">the maximum number of bit planes to decode according to
            the m quit condition
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.getCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)" -->
        <member name="M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.getInternCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)">
            <summary> Returns the specified code-block in the current tile for the specified
            component (as a reference or copy).
            
            <p>The returned code-block may be progressive, which is indicated by
            the 'progressive' variable of the returned 'DataBlk' object. If a
            code-block is progressive it means that in a later request to this
            method for the same code-block it is possible to retrieve data which is
            a better approximation, since meanwhile more data to decode for the
            code-block could have been received. If the code-block is not
            progressive then later calls to this method for the same code-block
            will return the exact same data values.</p>
            
            <p>The data returned by this method can be the data in the internal
            buffer of this object, if any, and thus can not be modified by the
            caller. The 'offset' and 'scanw' of the returned data can be
            arbitrary. See the 'DataBlk' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'DataBlk' object contain
            the coordinates of the top-left corner of the block, with respect to
            the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in which the code-block to return is.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.sigProgPass(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.entropy.decoder.MQDecoder,System.Int32,System.Int32[],System.Int32[],System.Boolean)">
            <summary> Performs the significance propagation pass on the specified data and
            bit-plane. It decodes all insignificant samples which have, at least,
            one of its immediate eight neighbors already significant, using the ZC
            and SC primitives as needed. It toggles the "visited" state bit to 1
            for all those samples.
            
            <p>This method also checks for segmentation markers if those are
            present and returns true if an error is detected, or false
            otherwise. If an error is detected it means that the bit stream
            contains some erroneous bit that have led to the decoding of incorrect
            data. This data affects the whole last decoded bit-plane
            (i.e. 'bp'). If 'true' is returned the 'conceal' method should be
            called and no more passes should be decoded for this code-block's bit
            stream.</p>
            
            </summary>
            <param name="cblk">The code-block data to decode
            
            </param>
            <param name="mq">The MQ-coder to use
            
            </param>
            <param name="bp">The bit-plane to decode
            
            </param>
            <param name="state">The state information for the code-block
            
            </param>
            <param name="zc_lut">The ZC lookup table to use in ZC.
            
            </param>
            <param name="isterm">If this pass has been terminated. If the pass has been
            terminated it can be used to check error resilience.
            
            </param>
            <returns> True if an error was detected in the bit stream, false
            otherwise.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.rawSigProgPass(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.entropy.decoder.ByteToBitInput,System.Int32,System.Int32[],System.Boolean)">
            <summary> Performs the significance propagation pass on the specified data and
            bit-plane. It decodes all insignificant samples which have, at least,
            one of its immediate eight neighbors already significant, using the ZC
            and SC primitives as needed. It toggles the "visited" state bit to 1
            for all those samples.
            
            <p>This method bypasses the arithmetic coder and reads "raw" symbols
            from the bit stream.</p>
            
            <p>This method also checks for segmentation markers if those are
            present and returns true if an error is detected, or false
            otherwise. If an error is detected it measn that the bit stream contains
            some erroneous bit that have led to the decoding of incorrect
            data. This data affects the whole last decoded bit-plane (i.e. 'bp'). If
            'true' is returned the 'conceal' method should be called and no more
            passes should be decoded for this code-block's bit stream.</p>
            
            </summary>
            <param name="cblk">The code-block data to decode
            
            </param>
            <param name="bin">The raw bit based input
            
            </param>
            <param name="bp">The bit-plane to decode
            
            </param>
            <param name="state">The state information for the code-block
            
            </param>
            <param name="isterm">If this pass has been terminated. If the pass has been
            terminated it can be used to check error resilience.
            
            </param>
            <returns> True if an error was detected in the bit stream, false
            otherwise.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.magRefPass(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.entropy.decoder.MQDecoder,System.Int32,System.Int32[],System.Boolean)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.rawMagRefPass(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.entropy.decoder.ByteToBitInput,System.Int32,System.Int32[],System.Boolean)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.cleanuppass(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.entropy.decoder.MQDecoder,System.Int32,System.Int32[],System.Int32[],System.Boolean)" -->
        <member name="M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.conceal(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> Conceals decoding errors detected in the last bit-plane. The
            concealement resets the state of the decoded data to what it was before
            the decoding of bit-plane 'bp' started. No more data should be decoded
            after this method is called for this code-block's data to which it is
            applied.
            
            </summary>
            <param name="cblk">The code-block's data
            
            </param>
            <param name="bp">The last decoded bit-plane (which contains errors).
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.#cctor">
            <summary>Static initializer: initializes all the lookup tables. </summary>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.BitToByteOutput">
            <summary> This class provides an adapter to perform bit based output on byte based
            output objects that inherit from a 'ByteOutputBuffer' class. This class
            implements the bit stuffing policy needed for the 'selective arithmetic
            coding bypass' mode of the entropy coder. This class also delays the output
            of a trailing 0xFF, since they are synthetized be the decoder.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.BitToByteOutput.PAD_SEQ">
            <summary>The alternating sequence of 0's and 1's used for byte padding </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.BitToByteOutput.isPredTerm">
            <summary>Whether or not predictable termination is requested. This value is
            important when the last byte before termination is an 0xFF  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.BitToByteOutput.delFF">
            <summary>Flag that indicates if an FF has been delayed </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.BitToByteOutput.out_Renamed">
            <summary>The byte based output </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.BitToByteOutput.bbuf">
            <summary>The bit buffer </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.BitToByteOutput.bpos">
            <summary>The position of the next bit to put in the bit buffer. When it is 7
            the bit buffer 'bbuf' is empty. The value should always be between 7
            and 0 (i.e. if it gets to -1, the bit buffer should be immediately
            written to the byte output). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.BitToByteOutput.nb">
            <summary>The number of written bytes (excluding the bit buffer) </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.BitToByteOutput.#ctor(CSJ2K.j2k.entropy.encoder.ByteOutputBuffer)">
            <summary> Instantiates a new 'BitToByteOutput' object that uses 'out' as the
            underlying byte based output.
            
            </summary>
            <param name="out">The underlying byte based output
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.BitToByteOutput.writeBits(System.Int32[],System.Int32)">
            <summary> Writes to the bit stream the symbols contained in the 'symbuf'
            buffer. The least significant bit of each element in 'symbuf'is
            written.
            
            </summary>
            <param name="symbuf">The symbols to write
            
            </param>
            <param name="nsym">The number of symbols in symbuf
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.BitToByteOutput.writeBit(System.Int32)">
            <summary> Write a bit to the output. The least significant bit of 'bit' is
            written to the output.
            
            </summary>
            <param name="bit">
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.BitToByteOutput.flush">
            <summary> Writes the contents of the bit buffer and byte aligns the output by
            filling bits with an alternating sequence of 0's and 1's.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.BitToByteOutput.terminate">
            <summary> Terminates the bit stream by calling 'flush()' and then
            'reset()'. Finally, it returns the number of bytes effectively written.
            
            </summary>
            <returns> The number of bytes effectively written.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.BitToByteOutput.reset">
            <summary> Resets the bit buffer to empty, without writing anything to the
            underlying byte output, and resets the byte count. The underlying byte
            output is NOT reset.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.BitToByteOutput.length">
            <summary> Returns the length, in bytes, of the output bit stream as written by
            this object. If the output bit stream does not have an integer number
            of bytes in length then it is rounded to the next integer.
            
            </summary>
            <returns> The length, in bytes, of the output bit stream.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.BitToByteOutput.PredTerm">
            <summary> Set the flag according to whether or not the predictable termination is
            requested.
            
            </summary>
            <param name="isPredTerm">Whether or not predictable termination is requested.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer">
            <summary> This class provides a buffering output stream similar to
            ByteArrayOutputStream, with some additional methods.
            
            <p>Once an array has been written to an output stream or to a byte array,
            the object can be reused as a new stream if the reset() method is
            called.</p>
            
            <p>Unlike the ByteArrayOutputStream class, this class is not thread
            safe.</p>
            
            </summary>
            <seealso cref="M:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.reset">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.BUF_INC">
            <summary>The buffer increase size </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.BUF_DEF_LEN">
            <summary>The default initial buffer size </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.buf">
            <summary>The buffer where the data is stored </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.count">
            <summary>The number of valid bytes in the buffer </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.#ctor">
            <summary> Creates a new byte array output stream. The buffer capacity is
            initially BUF_DEF_LEN bytes, though its size increases if necessary.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.#ctor(System.Int32)">
            <summary> Creates a new byte array output stream, with a buffer capacity of the
            specified size, in bytes.
            
            </summary>
            <param name="size">the initial size.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.write(System.Int32)">
            <summary> Writes the specified byte to this byte array output stream. The
            functionality provided by this implementation is the same as for the
            one in the superclass, however this method is not synchronized and
            therefore not safe thread, but faster.
            
            </summary>
            <param name="b">The byte to write
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.toByteArray(System.Int32,System.Int32,System.Byte[],System.Int32)">
            <summary> Copies the specified part of the stream to the 'outbuf' byte array.
            
            </summary>
            <param name="off">The index of the first element in the stream to copy.
            
            </param>
            <param name="len">The number of elements of the array to copy
            
            </param>
            <param name="outbuf">The destination array
            
            </param>
            <param name="outoff">The index of the first element in 'outbuf' where to write
            the data.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.size">
            <summary> Returns the number of valid bytes in the output buffer (count class
            variable).
            
            </summary>
            <returns> The number of bytes written to the buffer
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.reset">
            <summary> Discards all the buffered data, by resetting the counter of written
            bytes to 0.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.ByteOutputBuffer.getByte(System.Int32)">
            <summary> Returns the byte buffered at the given position in the buffer. The
            position in the buffer is the index of the 'write()' method call after
            the last call to 'reset()'.
            
            </summary>
            <param name="pos">The position of the byte to return
            
            </param>
            <returns> The value (betweeb 0-255) of the byte at position 'pos'.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats">
            <summary> This class stores coded (compressed) code-blocks with their associated
            rate-distortion statistics. This object should always contain all the
            compressed data of the code-block. It is applicable to the encoder engine
            only. Some data of the coded-block is stored in the super class, see
            CodedCBlk.
            
            <p>The rate-distortion statistics (i.e. R-D slope) is stored for valid
            points only. The set of valid points is determined by the entropy coder
            engine itself. Normally they are selected so as to lye in a convex hull,
            which can be achived by using the 'selectConvexHull' method of this class,
            but some other strategies might be employed.</p>
            
            <p>The rate (in bytes) for each truncation point (valid or not) is stored
            in the 'truncRates' array. The rate of a truncation point is the total
            number of bytes in 'data' (see super class) that have to be decoded to
            reach the truncation point.</p>
            
            <p>The slope (reduction of distortion divided by the increase in rate) at
            each of the valid truncation points is stored in 'truncSlopes'.</p>
            
            <p>The index of each valid truncation point is stored in 'truncIdxs'. The
            index should be interpreted in the following way: a valid truncation point
            at position 'n' has the index 'truncIdxs[n]', the rate
            'truncRates[truncIdxs[n]]' and the slope 'truncSlopes[n]'. The arrays
            'truncIdxs' and 'truncRates' have at least 'nVldTrunc' elements. The
            'truncRates' array has at least 'nTotTrunc' elements.</p>
            
            <p>In addition the 'isTermPass' array contains a flag for each truncation
            point (valid and non-valid ones) that tells if the pass is terminated or
            not. If this variable is null then it means that no pass is terminated,
            except the last one which always is.</p>
            
            <p>The compressed data is stored in the 'data' member variable of the super
            class.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.entropy.CodedCBlk">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.sb">
            <summary>The subband to which the code-block belongs </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.nTotTrunc">
            <summary>The total number of truncation points </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.nVldTrunc">
            <summary>The number of valid truncation points </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.truncRates">
            <summary>The rate (in bytes) for each truncation point (valid and non-valid
            ones) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.truncDists">
            <summary>The distortion for each truncation point (valid and non-valid ones) </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.truncSlopes">
            <summary>The negative of the rate-distortion slope for each valid truncation
            point 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.truncIdxs">
            <summary>The indices of the valid truncation points, in increasing order.</summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.isTermPass">
            <summary>Array of flags indicating terminated passes (valid or non-valid
            truncation points). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.nROIcoeff">
            <summary>The number of ROI coefficients in the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.nROIcp">
            <summary>Number of ROI coding passes </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.#ctor">
            <summary> Creates a new CBlkRateDistStats object without allocating any space for
            'truncRates', 'truncSlopes', 'truncDists' and 'truncIdxs' or 'data'.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.#ctor(System.Int32,System.Int32,System.Int32,System.Byte[],System.Int32[],System.Double[],System.Boolean[],System.Int32,System.Boolean)">
            <summary> Creates a new CBlkRateDistStats object and initializes the valid
            truncation points, their rates and their slopes, from the 'rates' and
            'dist' arrays. The 'rates', 'dist' and 'termp' arrays must contain the
            rate (in bytes), the reduction in distortion (from nothing coded) and
            the flag indicating if termination is used, respectively, for each
            truncation point.
            
            <p>The valid truncation points are selected by taking them as lying on
            a convex hull. This is done by calling the method
            selectConvexHull().</p>
            
            <p>Note that the arrays 'rates' and 'termp' are copied, not referenced,
            so they can be modified after a call to this constructor.</p>
            
            </summary>
            <param name="m">The horizontal index of the code-block, within the subband.
            
            </param>
            <param name="n">The vertical index of the code-block, within the subband.
            
            </param>
            <param name="skipMSBP">The number of skipped most significant bit-planes for
            this code-block.
            
            </param>
            <param name="data">The compressed data. This array is referenced by this
            object so it should not be modified after.
            
            </param>
            <param name="rates">The rates (in bytes) for each truncation point in the
            compressed data. This array is modified by the method but no reference
            is kept to it.
            
            </param>
            <param name="dists">The reduction in distortion (with respect to no
            information coded) for each truncation point. This array is modified by
            the method but no reference is kept to it.
            
            </param>
            <param name="termp">An array of boolean flags indicating, for each pass, if a
            pass is terminated or not (true if terminated). If null then it is
            assumed that no pass is terminated except the last one which always is.
            
            </param>
            <param name="np">The number of truncation points contained in 'rates', 'dist'
            and 'termp'.
            
            </param>
            <param name="inclast">If false the convex hull is constructed as for lossy
            coding. If true it is constructed as for lossless coding, in which case
            it is ensured that all bit-planes are sent (i.e. the last truncation
            point is always included).
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.selectConvexHull(System.Int32[],System.Double[],System.Boolean[],System.Int32,System.Boolean)">
            <summary> Compute the rate-distorsion slopes and selects those that lie in a
            convex hull. It will compute the slopes, select the ones that form the
            convex hull and initialize the 'truncIdxs' and 'truncSlopes' arrays, as
            well as 'nVldTrunc', with the selected truncation points. It will also
            initialize 'truncRates' and 'isTermPass' arrays, as well as
            'nTotTrunc', with all the truncation points (selected or not).
            
            <p> Note that the arrays 'rates' and 'termp' are copied, not
            referenced, so they can be modified after a call to this method.</p>
            
            </summary>
            <param name="rates">The rates (in bytes) for each truncation point in the
            compressed data. This array is modified by the method.
            
            </param>
            <param name="dists">The reduction in distortion (with respect to no
            information coded) for each truncation point. This array is modified by
            the method.
            
            </param>
            <param name="termp">An array of boolean flags indicating, for each pass, if a
            pass is terminated or not (true if terminated). If null then it is
            assumed that no pass is terminated except the last one which always is.
            
            </param>
            <param name="n">The number of truncation points contained in 'rates', 'dist'
            and 'termp'.
            
            </param>
            <param name="inclast">If false the convex hull is constructed as for lossy
            coding. If true it is constructed as for lossless coding, in which case
            it is ensured that all bit-planes are sent (i.e. the last truncation
            point is always included).
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats.ToString">
            <summary> Returns the contents of the object in a string. This is used for
            debugging.
            
            </summary>
            <returns> A string with the contents of the object
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc">
            <summary> This interface defines a source of entropy coded data and methods to
            transfer it in a code-block by code-block basis. In each call to
            'getNextCodeBlock()' a new coded code-block is returned. The code-block are
            retruned in no specific-order.
            
            <p>This interface is the source of data for the rate allocator. See the
            'PostCompRateAllocator' class.</p>
            
            <p>For each coded-code-block the entropy-coded data is returned along with
            the rate-distortion statistics in a 'CBlkRateDistStats' object.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.EntropyCoder">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.ForwWTDataProps">
            <summary> This interface extends the ImgData interface with methods that are
            necessary for forward wavelet data (i.e. data that is produced by a forward
            wavelet transform).  
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTDataProps.isReversible(System.Int32,System.Int32)">
            <summary> Returns the reversibility of the given tile-component. Data is
            reversible when it is suitable for lossless and lossy-to-lossless
            compression.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> true is the data is reversible, false if not.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTDataProps.getAnSubbandTree(System.Int32,System.Int32)">
            <summary> Returns a reference to the root of subband tree structure representing
            the subband decomposition for the specified tile-component.
            
            </summary>
            <param name="t">The index of the tile.
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> The root of the subband tree structure, see Subband.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.SubbandAn">
            
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.Subband">
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.ForwWTDataProps.CbULX">
            <summary> Returns the horizontal offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.ForwWTDataProps.CbULY">
            <summary> Returns the vertical offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc.getNextCodeBlock(System.Int32,CSJ2K.j2k.entropy.encoder.CBlkRateDistStats)">
            <summary> Returns the next coded code-block in the current tile for the specified
            component, as a copy (see below). The order in which code-blocks are
            returned is not specified. However each code-block is returned only
            once and all code-blocks will be returned if the method is called 'N'
            times, where 'N' is the number of code-blocks in the tile. After all
            the code-blocks have been returned for the current tile calls to this
            method will return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, if any, and it can be modified "in place" without
            any problems after being returned.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="ccb">If non-null this object might be used in returning the coded
            code-block in this or any subsequent call to this method. If null a new
            one is created and returned. If the 'data' array of 'cbb' is not null
            it may be reused to return the compressed data.
            
            </param>
            <returns> The next coded code-block in the current tile for component
            'c', or null if all code-blocks for the current tile have been
            returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc.getPPX(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the width of a packet for the specified tile-component and
            resolution level.
            
            </summary>
            <param name="t">The tile
            
            </param>
            <param name="c">The component
            
            </param>
            <param name="r">The resolution level
            
            </param>
            <returns> The width of a packet for the specified tile- component and
            resolution level.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc.getPPY(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the height of a packet for the specified tile-component and
            resolution level.
            
            </summary>
            <param name="t">The tile
            
            </param>
            <param name="c">The component
            
            </param>
            <param name="r">The resolution level
            
            </param>
            <returns> The height of a packet for the specified tile- component and
            resolution level.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc.precinctPartitionUsed(System.Int32,System.Int32)">
            <summary> Returns true if the precinct partition is used for the specified
            component and tile, returns false otherwise
            
            </summary>
            <param name="c">The component
            
            </param>
            <param name="t">The tile
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.EBCOTLayer">
            <summary> This class holds information about each layer that is to be, or has already
            been, allocated . It is used in the rate-allocation process to keep the
            necessary layer information. It is used by EBCOTRateAllocator.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTLayer.maxBytes">
            <summary> This is the maximum number of bytes that should be allocated for this
            and previous layers. This is actually the target length for the layer.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTLayer.actualBytes">
            <summary> The actual number of bytes which are consumed by the the current and
            any previous layers. This is the result from a simulation when the
            threshold for the layer has been set.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTLayer.optimize">
            <summary> If true the `maxBytes' value is the hard maximum and the threshold is
            determined iteratively. If false the `maxBytes' value is a target
            bitrate and the threshold is estimated from summary information
            accumulated during block coding.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTLayer.rdThreshold">
            <summary> The rate-distortion threshold associated with the bit-stream
            layer. When set the layer includes data up to the truncation points
            that have a slope no smaller than 'rdThreshold'.
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator">
            <summary> This implements the EBCOT post compression rate allocation algorithm. This
            algorithm finds the most suitable truncation points for the set of
            code-blocks, for each layer target bitrate. It works by first collecting
            the rate distortion info from all code-blocks, in all tiles and all
            components, and then running the rate-allocation on the whole image at
            once, for each layer.
            
            <p>This implementation also provides some timing features. They can be
            enabled by setting the 'DO_TIMING' constant of this class to true and
            recompiling. The timing uses the 'System.currentTimeMillis()' Java API
            call, which returns wall clock time, not the actual CPU time used. The
            timing results will be printed on the message output. Since the times
            reported are wall clock times and not CPU usage times they can not be added
            to find the total used time (i.e. some time might be counted in several
            places). When timing is disabled ('DO_TIMING' is false) there is no penalty
            if the compiler performs some basic optimizations. Even if not the penalty
            should be negligeable.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc">
            </seealso>
            <seealso cref="!:jj2000.j2k.codestream.writer.CodestreamWriter">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator">
            <summary> This is the abstract class from which post-compression rate allocators
            which generate layers should inherit. The source of data is a
            'CodedCBlkDataSrcEnc' which delivers entropy coded blocks with
            rate-distortion statistics.
            
            <p>The post compression rate allocator implementation should create the
            layers, according to a rate allocation policy, and send the packets to a
            CodestreamWriter. Since the rate allocator sends the packets to the bit
            stream then it should output the packets to the bit stream in the order
            imposed by the bit stream profiles.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc">
            </seealso>
            <seealso cref="!:jj2000.j2k.codestream.writer.CodestreamWriter">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.OPT_PREFIX">
            <summary>The prefix for rate allocation options: 'A' </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.pinfo">
            <summary>The list of parameters that is accepted for entropy coding. Options 
            for entropy coding start with 'R'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.src">
            <summary>The source of entropy coded data </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.encSpec">
            <summary>The source of entropy coded data </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.num_Layers">
            <summary>The number of layers. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.bsWriter">
            <summary>The bit-stream writer </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.headEnc">
            <summary>The header encoder </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.#ctor(CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc,System.Int32,CSJ2K.j2k.codestream.writer.CodestreamWriter,CSJ2K.j2k.encoder.EncoderSpecs)">
            <summary> Initializes the source of entropy coded data.
            
            </summary>
            <param name="src">The source of entropy coded data.
            
            </param>
            <param name="ln">The number of layers to create
            
            </param>
            <param name="pt">The progressive type, as defined in 'ProgressionType'.
            
            </param>
            <param name="bw">The packet bit stream writer.
            
            </param>
            <seealso cref="T:CSJ2K.j2k.codestream.ProgressionType">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.initialize">
            <summary> Initializes the rate allocation points, taking into account header
            overhead and such. This method must be called after the header has been
            simulated but before calling the runAndWrite() one. The header must be
            rewritten after a call to this method since the number of layers may
            change.
            
            </summary>
            <param name="oldSyntax">Whether or not the old syntax is used.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.runAndWrite">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.runAndWrite">
            <summary> Runs the rate allocation algorithm and writes the data to the
            bit stream. This must be called after the initialize() method.
            
            </summary>
            <seealso cref="M:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.initialize">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.createInstance(CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc,CSJ2K.j2k.util.ParameterList,System.Single,CSJ2K.j2k.codestream.writer.CodestreamWriter,CSJ2K.j2k.encoder.EncoderSpecs)">
            <summary> Creates a PostCompRateAllocator object for the appropriate rate
            allocation parameters in the parameter list 'pl', having 'src' as the
            source of entropy coded data, 'rate' as the target bitrate and 'bw' as
            the bit stream writer object.
            
            </summary>
            <param name="src">The source of entropy coded data.
            
            </param>
            <param name="pl">The parameter lis (or options).
            
            </param>
            <param name="rate">The target bitrate for the rate allocation
            
            </param>
            <param name="bw">The bit stream writer object, where the bit stream data will
            be written.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.parseAlayers(System.String,System.Single)">
            <summary> Convenience method that parses the 'Alayers' option.
            
            </summary>
            <param name="params">The parameters of the 'Alayers' option
            
            </param>
            <param name="rate">The overall target bitrate
            
            </param>
            <returns> The layer specification.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.HeaderEncoder">
            <summary> Keep a reference to the header encoder.
            
            </summary>
            <param name="headEnc">The header encoder
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.NumLayers">
            <summary> Returns the number of layers that are actually generated.
            
            </summary>
            <returns> The number of layers generated.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.PostCompRateAllocator.ParameterInfo">
            <summary> 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 3 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, 
            or null if no options are supported.
            
            </returns>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.RD_SUMMARY_OFF">
            <summary>The normalization offset for the R-D summary table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.RD_SUMMARY_SIZE">
            <summary>The size of the summary table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.FLOAT_REL_PRECISION">
            <summary>The relative precision for float data. This is the relative tolerance
            up to which the layer slope thresholds are calculated. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.FLOAT_ABS_PRECISION">
            <summary>The precision for float data type, in an absolute sense. Two float
            numbers are considered "equal" if they are within this precision. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.MIN_AVG_PACKET_SZ">
            <summary>Minimum average size of a packet. If layer has less bytes than the
            this constant multiplied by number of packets in the layer, then the
            layer is skipped. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.cblks">
            <summary> 5D Array containing all the coded code-blocks:
            
            <ul>
            <li>1st index: tile index</li>
            <li>2nd index: component index</li>
            <li>3rd index: resolution level index</li>
            <li>4th index: subband index</li>
            <li>5th index: code-block index</li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.truncIdxs">
            <summary> 6D Array containing the indices of the truncation points. It actually
            contains the index of the element in CBlkRateDistStats.truncIdxs that
            gives the real truncation point index.
            
            <ul>
            <li>1st index: tile index</li>
            <li>2nd index: layer index</li>
            <li>3rd index: component index</li>
            <li>4th index: resolution level index</li>
            <li>5th index: subband index</li>
            <li>6th index: code-block index</li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.numPrec">
            <summary> Number of precincts in each resolution level:
            
            <ul>
            <li>1st dim: tile index.</li>
            <li>2nd dim: component index.</li>
            <li>3nd dim: resolution level index.</li>
            </ul>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.layers">
            <summary>Array containing the layers information. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.LOG2">
            <summary>The log of 2, natural base </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.RDSlopesRates">
            <summary>The R-D summary information collected from the coding of all
            code-blocks. For each entry it contains the accumulated length of all
            truncation points that have a slope not less than
            '2*(k-RD_SUMMARY_OFF)', where 'k' is the entry index.
            
            <p>Therefore, the length at entry 'k' is the total number of bytes of
            code-block data that would be obtained if the truncation slope was
            chosen as '2*(k-RD_SUMMARY_OFF)', without counting the overhead
            associated with the packet heads.</p>
            
            <p>This summary is used to estimate the relation of the R-D slope to
            coded length, and to obtain absolute minimums on the slope given a
            length. </p> 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.pktEnc">
            <summary>Packet encoder. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.lyrSpec">
            <summary>The layer specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.maxSlope">
            <summary>The maximum slope accross all code-blocks and truncation points. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.minSlope">
            <summary>The minimum slope accross all code-blocks and truncation points. </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.#ctor(CSJ2K.j2k.entropy.encoder.CodedCBlkDataSrcEnc,CSJ2K.j2k.entropy.encoder.LayersInfo,CSJ2K.j2k.codestream.writer.CodestreamWriter,CSJ2K.j2k.encoder.EncoderSpecs,CSJ2K.j2k.util.ParameterList)">
            <summary> Initializes the EBCOT rate allocator of entropy coded data. The layout
            of layers, and their bitrate constraints, is specified by the 'lyrs'
            parameter.
            
            </summary>
            <param name="src">The source of entropy coded data.
            
            </param>
            <param name="lyrs">The layers layout specification.
            
            </param>
            <param name="writer">The bit stream writer.
            
            </param>
            <seealso cref="T:CSJ2K.j2k.codestream.ProgressionType">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.runAndWrite">
            <summary> Runs the rate allocation algorithm and writes the data to the bit
            stream writer object provided to the constructor.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.initialize">
            <summary> Initializes the layers array. This must be called after the main header
            has been entirely written or simulated, so as to take its overhead into
            account. This method will get all the code-blocks and then initialize
            the target bitrates for each layer, according to the specifications.
            
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.getAllCodeBlocks" -->
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.buildAndWriteLayers">
            <summary> This method builds all the bit stream layers and then writes them to
            the output bit stream. Firstly it builds all the layers by computing
            the threshold according to the layer target bit-rate, and then it
            writes the layer bit streams according to the progressive type.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.writeResLyCompPos(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[][],System.Int32)">
            <summary> Write a piece of bit stream according to the
            RES_LY_COMP_POS_PROG progression mode and between given bounds
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="rs">First resolution level index.
            
            </param>
            <param name="re">Last resolution level index.
            
            </param>
            <param name="cs">First component index.
            
            </param>
            <param name="ce">Last component index.
            
            </param>
            <param name="lys">First layer index for each component and resolution.
            
            </param>
            <param name="lye">Index of the last layer.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.writeLyResCompPos(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[][],System.Int32)">
            <summary> Write a piece of bit stream according to the
            LY_RES_COMP_POS_PROG progression mode and between given bounds
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="rs">First resolution level index.
            
            </param>
            <param name="re">Last resolution level index.
            
            </param>
            <param name="cs">First component index.
            
            </param>
            <param name="ce">Last component index.
            
            </param>
            <param name="lys">First layer index for each component and resolution.
            
            </param>
            <param name="lye">Index of the last layer.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.writePosCompResLy(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[][],System.Int32)">
            <summary> Write a piece of bit stream according to the
            COMP_POS_RES_LY_PROG progression mode and between given bounds
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="rs">First resolution level index.
            
            </param>
            <param name="re">Last resolution level index.
            
            </param>
            <param name="cs">First component index.
            
            </param>
            <param name="ce">Last component index.
            
            </param>
            <param name="lys">First layer index for each component and resolution.
            
            </param>
            <param name="lye">Index of the last layer.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.writeCompPosResLy(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[][],System.Int32)">
            <summary> Write a piece of bit stream according to the
            COMP_POS_RES_LY_PROG progression mode and between given bounds
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="rs">First resolution level index.
            
            </param>
            <param name="re">Last resolution level index.
            
            </param>
            <param name="cs">First component index.
            
            </param>
            <param name="ce">Last component index.
            
            </param>
            <param name="lys">First layer index for each component and resolution.
            
            </param>
            <param name="lye">Index of the last layer.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.writeResPosCompLy(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[][],System.Int32)">
            <summary> Write a piece of bit stream according to the
            RES_POS_COMP_LY_PROG progression mode and between given bounds
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="rs">First resolution level index.
            
            </param>
            <param name="re">Last resolution level index.
            
            </param>
            <param name="cs">First component index.
            
            </param>
            <param name="ce">Last component index.
            
            </param>
            <param name="lys">First layer index for each component and resolution.
            
            </param>
            <param name="lye">Last layer index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.optimizeBitstreamLayer(System.Int32,System.Single,System.Int32,System.Int32)">
            <summary> This function implements the rate-distortion optimization algorithm.
            It saves the state of any previously generated bit-stream layers and
            then simulate the formation of a new layer in the bit stream as often
            as necessary to find the smallest rate-distortion threshold such that
            the total number of bytes required to represent the layer does not
            exceed `maxBytes' minus `prevBytes'.  It then restores the state of any
            previously generated bit-stream layers and returns the threshold.
            
            </summary>
            <param name="layerIdx">The index of the current layer
            
            </param>
            <param name="fmaxt">The maximum admissible slope value. Normally the threshold
            slope of the previous layer.
            
            </param>
            <param name="maxBytes">The maximum number of bytes that can be written. It
            includes the length of the current layer bistream length and all the
            previous layers bit streams.
            
            </param>
            <param name="prevBytes">The number of bytes of all the previous layers.
            
            </param>
            <returns> The value of the slope threshold.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.estimateLayerThreshold(System.Int32,CSJ2K.j2k.entropy.encoder.EBCOTLayer)">
            <summary> This function attempts to estimate a rate-distortion slope threshold
            which will achieve a target number of code bytes close the
            `targetBytes' value.
            
            </summary>
            <param name="targetBytes">The target number of bytes for the current layer
            
            </param>
            <param name="lastLayer">The previous layer information.
            
            </param>
            <returns> The value of the slope threshold for the estimated layer
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.findTruncIndices(System.Int32,System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.analysis.SubbandAn,System.Single,System.Int32)">
            <summary> This function finds the new truncation points indices for a packet. It
            does so by including the data from the code-blocks in the component,
            resolution level and tile, associated with a R-D slope which is larger
            than or equal to 'fthresh'.
            
            </summary>
            <param name="layerIdx">The index of the current layer
            
            </param>
            <param name="compIdx">The index of the current component
            
            </param>
            <param name="lvlIdx">The index of the current resolution level
            
            </param>
            <param name="tileIdx">The index of the current tile
            
            </param>
            <param name="subb">The LL subband in the resolution level lvlIdx, which is
            parent of all the subbands in the packet. Except for resolution level 0
            this subband is always a node.
            
            </param>
            <param name="fthresh">The value of the rate-distortion threshold
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.getLimitedSIndexFromSlope(System.Single)">
            <summary> Returns the index of a slope for the summary table, limiting to the
            admissible values. The index is calculated as RD_SUMMARY_OFF plus the
            maximum exponent, base 2, that yields a value not larger than the slope
            itself.
            
            <p>If the value to return is lower than 0, 0 is returned. If it is
            larger than the maximum table index, then the maximum is returned.</p>
            
            </summary>
            <param name="slope">The slope value
            
            </param>
            <returns> The index for the summary table of the slope.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EBCOTRateAllocator.getSlopeFromSIndex(System.Int32)">
            <summary> Returns the minimum slope value associated with a summary table
            index. This minimum slope is just 2^(index-RD_SUMMARY_OFF).
            
            </summary>
            <param name="index">The summary index value.
            
            </param>
            <returns> The minimum slope value associated with a summary table index.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.EntropyCoder">
            <summary> This abstract class provides the general interface for block-based entropy
            encoders. The input to the entropy coder is the quantized wavelet
            coefficients, or codewords, represented in sign magnitude. The output is a
            compressed code-block with rate-distortion information.
            
            <p>The source of data for objects of this class are 'CBlkQuantDataSrcEnc'
            objects.</p>
            
            <p>For more details on the sign magnitude representation used see the
            Quantizer class.</p>
            
            <p>This class provides default implemenations for most of the methods
            (wherever it makes sense), under the assumption that the image and
            component dimensions, and the tiles, are not modifed by the entropy
            coder. If that is not the case for a particular implementation then the
            methods should be overriden.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.quantization.quantizer.Quantizer">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.quantization.quantizer.CBlkQuantDataSrcEnc">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EntropyCoder.OPT_PREFIX">
            <summary>The prefix for entropy coder options: 'C' </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EntropyCoder.pinfo">
            <summary>The list of parameters that is accepted for entropy coding. Options 
            for entropy coding start with 'C'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.EntropyCoder.src">
            <summary>The source of quantized wavelet coefficients </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EntropyCoder.#ctor(CSJ2K.j2k.quantization.quantizer.CBlkQuantDataSrcEnc)">
            <summary> Initializes the source of quantized wavelet coefficients.
            
            </summary>
            <param name="src">The source of quantized wavelet coefficients.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EntropyCoder.getCBlkWidth(System.Int32,System.Int32)">
            <summary> Returns the code-block width for the specified tile and component.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">the component index
            
            </param>
            <returns> The code-block width for the specified tile and component
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EntropyCoder.getCBlkHeight(System.Int32,System.Int32)">
            <summary> Returns the code-block height for the specified tile and component.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">the component index
            
            </param>
            <returns> The code-block height for the specified tile and component
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.encoder.EntropyCoder.isReversible(System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.entropy.encoder.EntropyCoder.getAnSubbandTree(System.Int32,System.Int32)">
            <summary> Returns a reference to the root of subband tree structure representing
            the subband decomposition for the specified tile-component.
            
            </summary>
            <param name="t">The index of the tile.
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> The root of the subband tree structure, see Subband.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.SubbandAn">
            
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.Subband">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.EntropyCoder.createInstance(CSJ2K.j2k.quantization.quantizer.CBlkQuantDataSrcEnc,CSJ2K.j2k.util.ParameterList,CSJ2K.j2k.entropy.CBlkSizeSpec,CSJ2K.j2k.entropy.PrecinctSizeSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec)">
            <summary> Creates a EntropyCoder object for the appropriate entropy coding
            parameters in the parameter list 'pl', and having 'src' as the source
            of quantized data.
            
            </summary>
            <param name="src">The source of data to be entropy coded
            
            </param>
            <param name="pl">The parameter list (or options).
            
            </param>
            <param name="cbks">Code-block size specifications
            
            </param>
            <param name="pss">Precinct partition specifications
            
            </param>
            <param name="bms">By-pass mode specifications
            
            </param>
            <param name="mqrs">MQ-reset specifications
            
            </param>
            <param name="rts">Regular termination specifications
            
            </param>
            <param name="css">Causal stripes specifications
            
            </param>
            <param name="sss">Error resolution segment symbol use specifications
            
            </param>
            <param name="lcs">Length computation specifications
            
            </param>
            <param name="tts">Termination type specifications
            
            </param>
            <exception cref="!:IllegalArgumentException">If an error occurs while parsing
            the options in 'pl'
            
            </exception>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.EntropyCoder.CbULX">
            <summary> Returns the horizontal offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.EntropyCoder.CbULY">
            <summary> Returns the vertical offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.EntropyCoder.ParameterInfo">
            <summary> 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 3 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, or null
            if no options are supported.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.LayersInfo">
            <summary> This class stores the specification of a layer distribution in the bit
            stream. The specification is made of optimization points and a number of
            extra layers to add between the optimization points. Each optimization
            point creates a layer which is optimized by the rate allocator to the
            specified target bitrate. The extra layers are added by the rate allocator
            between the optimized layers, with the difference that they are not
            optimized (i.e. they have no precise target bitrate).
            
            <p>The overall target bitrate for the bit stream is always added as the
            last optimization point without any extra layers after it. If there are
            some optimization points whose target bitrate is larger than the overall
            target bitrate, the overall target bitrate will still appear as the last
            optimization point, even though it does not follow the increasing target
            bitrate order of the other optimization points. The rate allocator is
            responsible for eliminating layers that have target bitrates larger than
            the overall target bitrate.</p>
            
            <p>Optimization points can be added with the addOptPoint() method. It takes
            the target bitrate for the optimized layer and the number of extra layers
            to add after it.</p>
            
            <p>Information about the total number of layers, total number of
            optimization points, target bitrates, etc. can be obtained with the other
            methods.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.LayersInfo.SZ_INIT">
            <summary>The initial size for the arrays: 10 </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.LayersInfo.SZ_INCR">
            <summary>The size increment for the arrays </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.LayersInfo.totlyrs">
            <summary>The total number of layers </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.LayersInfo.totbrate">
            <summary>The overall target bitrate, for the whole bit stream </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.LayersInfo.nopt">
            <summary>The number of optimized layers, or optimization points, without
            counting the extra one coming from the overall target bitrate 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.LayersInfo.optbrate">
            <summary>The target bitrate to which specified layers should be optimized. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.LayersInfo.extralyrs">
            <summary>The number of extra layers to be added after an optimized layer. After
            the layer that is optimized to optbrate[i], extralyrs[i] extra layers
            should be added. These layers are allocated between the bitrate
            optbrate[i] and the next optimized bitrate optbrate[i+1] or, if it does
            not exist, the overall target bitrate. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.LayersInfo.#ctor(System.Single)">
            <summary> Creates a new LayersInfo object. The overall target bitrate 'brate' is
            always an extra optimization point, with no extra layers are after
            it. Note that any optimization points that are added with addOptPoint()
            are always added before the overall target bitrate.
            
            </summary>
            <param name="brate">The overall target bitrate for the bit stream
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.LayersInfo.getTargetBitrate(System.Int32)">
            <summary> Returns the target bitrate of the optmimization point 'n'.
            
            </summary>
            <param name="n">The optimization point index (starts at 0).
            
            </param>
            <returns> The target bitrate (in bpp) for the optimization point 'n'.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.LayersInfo.getExtraLayers(System.Int32)">
            <summary> Returns the number of extra layers to add after the optimization point
            'n', but before optimization point 'n+1'. If there is no optimization
            point 'n+1' then they should be added before the overall target
            bitrate.
            
            </summary>
            <param name="n">The optimization point index (starts at 0).
            
            </param>
            <returns> The number of extra (unoptimized) layers to add after the
            optimization point 'n'
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.LayersInfo.addOptPoint(System.Single,System.Int32)">
            <summary> Adds a new optimization point, with target bitrate 'brate' and with
            'elyrs' (unoptimized) extra layers after it. The target bitrate 'brate'
            must be larger than the previous optimization point. The arguments are
            checked and IllegalArgumentException is thrown if they are not correct.
            
            </summary>
            <param name="brate">The target bitrate for the optimized layer.
            
            </param>
            <param name="elyrs">The number of extra (unoptimized) layers to add after the
            optimized layer.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.LayersInfo.TotBitrate">
            <summary> Returns the overall target bitrate for the entire bit stream.
            
            </summary>
            <returns> The overall target bitrate
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.LayersInfo.TotNumLayers">
            <summary> Returns the total number of layers, according to the layer
            specification of this object and the overall target bitrate.
            
            </summary>
            <returns> The total number of layers, according to the layer spec.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.LayersInfo.NOptPoints">
            <summary> Returns the number of layers to optimize, or optimization points, as
            specified by this object.
            
            </summary>
            <returns> The number of optimization points
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.entropy.encoder.MQCoder" -->
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.LENGTH_LAZY">
            <summary>Identifier for the lazy length calculation. The lazy length
            calculation is not optimal but is extremely simple. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.LENGTH_LAZY_GOOD">
            <summary>Identifier for a very simple length calculation. This provides better
            results than the 'LENGTH_LAZY' computation. This is the old length
            calculation that was implemented in this class. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.LENGTH_NEAR_OPT">
            <summary>Identifier for the near optimal length calculation. This calculation
            is more complex than the lazy one but provides an almost optimal length 
            calculation. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.TERM_FULL">
            <summary>The identifier fort the termination that uses a full flush. This is
            the less efficient termination. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.TERM_NEAR_OPT">
            <summary>The identifier for the termination that uses the near optimal length
            calculation to terminate the arithmetic codewrod 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.TERM_EASY">
            <summary>The identifier for the easy termination that is simpler than the
            'TERM_NEAR_OPT' one but slightly less efficient. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.TERM_PRED_ER">
            <summary>The identifier for the predictable termination policy for error
            resilience. This is the same as the 'TERM_EASY' one but an special
            sequence of bits is embodied in the spare bits for error resilience
            purposes. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.qe">
            <summary>The data structures containing the probabilities for the LPS </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.nMPS">
            <summary>The indexes of the next MPS </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.nLPS">
            <summary>The indexes of the next LPS </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.switchLM">
            <summary>Whether LPS and MPS should be switched </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.out_Renamed">
            <summary>The ByteOutputBuffer used to write the compressed bit stream. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.mPS">
            <summary>The current most probable signal for each context </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.I">
            <summary>The current index of each context </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.c">
            <summary>The current bit code </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.cT">
            <summary>The bit code counter </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.a">
            <summary>The current interval </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.b">
            <summary>The last encoded byte of data </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.delFF">
            <summary>If a 0xFF byte has been delayed and not yet been written to the output 
            (in the MQ we can never have more than 1 0xFF byte in a row). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.nrOfWrittenBytes">
            <summary>The number of written bytes so far, excluding any delayed 0xFF
            bytes. Upon initialization it is -1 to indicated that the byte buffer
            'b' is empty as well. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.initStates">
            <summary>The initial state of each context </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.ttype">
            <summary>The termination type to use. One of 'TERM_FULL', 'TERM_NEAR_OPT',
            'TERM_EASY' or 'TERM_PRED_ER'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.ltype">
            <summary>The length calculation type to use. One of 'LENGTH_LAZY',
            'LENGTH_LAZY_GOOD', 'LENGTH_NEAR_OPT'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.savedC">
            <summary>Saved values of the C register. Used for the LENGTH_NEAR_OPT length
            calculation. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.savedCT">
            <summary>Saved values of CT counter. Used for the LENGTH_NEAR_OPT length
            calculation. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.savedA">
            <summary>Saved values of the A register. Used for the LENGTH_NEAR_OPT length
            calculation. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.savedB">
            <summary>Saved values of the B byte buffer. Used for the LENGTH_NEAR_OPT length
            calculation. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.savedDelFF">
            <summary>Saved values of the delFF (i.e. delayed 0xFF) state. Used for the
            LENGTH_NEAR_OPT length calculation. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.nSaved">
            <summary>Number of saved states. Used for the LENGTH_NEAR_OPT length
            calculation. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.SAVED_LEN">
            <summary>The initial length of the arrays to save sates </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.MQCoder.SAVED_INC">
            <summary>The increase in length for the arrays to save states </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.#ctor(CSJ2K.j2k.entropy.encoder.ByteOutputBuffer,System.Int32,System.Int32[])">
            <summary> Instantiates a new MQ-coder, with the specified number of contexts and
            initial states. The compressed bytestream is written to the 'oStream'
            object.
            
            </summary>
            <param name="oStream">where to output the compressed data.
            
            </param>
            <param name="nrOfContexts">The number of contexts used by the MQ coder.
            
            </param>
            <param name="init">The initial state for each context. A reference is kept to
            this array to reinitialize the contexts whenever 'reset()' or
            'resetCtxts()' is called.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.entropy.encoder.MQCoder.fastCodeSymbols(System.Int32,System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.codeSymbols(System.Int32[],System.Int32[],System.Int32)">
            <summary> This function performs the arithmetic encoding of several symbols
            together. The function receives an array of symbols that are to be
            encoded and an array containing the contexts with which to encode them.
            
            <p>The advantage of using this function is that the cost of the method
            call is amortized by the number of coded symbols per method call.</p>
            
            <p>Each context has a current MPS and an index describing what the 
            current probability is for the LPS. Each bit is encoded and if the
            probability of the LPS exceeds .5, the MPS and LPS are switched.</p>
            
            </summary>
            <param name="bits">An array containing the symbols to be encoded. Valid
            symbols are 0 and 1.
            
            </param>
            <param name="cX">The context for each of the symbols to be encoded.
            
            </param>
            <param name="n">The number of symbols to encode.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.codeSymbol(System.Int32,System.Int32)">
            <summary> This function performs the arithmetic encoding of one symbol. The 
            function receives a bit that is to be encoded and a context with which
            to encode it.
            
            <p>Each context has a current MPS and an index describing what the 
            current probability is for the LPS. Each bit is encoded and if the
            probability of the LPS exceeds .5, the MPS and LPS are switched.</p>
            
            </summary>
            <param name="bit">The symbol to be encoded, must be 0 or 1.
            
            </param>
            <param name="context">the context with which to encode the symbol.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.byteOut">
            <summary> This function puts one byte of compressed bits in the output stream.
            The highest 8 bits of c are then put in b to be the next byte to
            write. This method delays the output of any 0xFF bytes until a non 0xFF
            byte has to be written to the output bit stream (the 'delFF' variable
            signals if there is a delayed 0xff byte).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.terminate">
            <summary> This function flushes the remaining encoded bits and makes sure that
            enough information is written to the bit stream to be able to finish
            decoding, and then it reinitializes the internal state of the MQ coder
            but without modifying the context states.
            
            <p>After calling this method the 'finishLengthCalculation()' method
            should be called, after compensating the returned length for the length
            of previous coded segments, so that the length calculation is
            finalized.</p>
            
            <p>The type of termination used depends on the one specified at the
            constructor.</p>
            
            </summary>
            <returns> The length of the arithmetic codeword after termination, in
            bytes.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.resetCtxt(System.Int32)">
            <summary> Resets a context to the original probability distribution, and sets its
            more probable symbol to 0.
            
            </summary>
            <param name="c">The number of the context (it starts at 0).
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.resetCtxts">
            <summary> Resets all contexts to their original probability distribution and sets
            all more probable symbols to 0.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.reset">
            <summary> Reinitializes the MQ coder and the underlying 'ByteOutputBuffer' buffer
            as if a new object was instantaited. All the data in the
            'ByteOutputBuffer' buffer is erased and the state and contexts of the
            MQ coder are reinitialized). Additionally any saved MQ states are
            discarded.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.saveState">
            <summary> Saves the current state of the MQ coder (just the registers, not the
            contexts) so that a near optimal length calculation can be performed
            later.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.MQCoder.finishLengthCalculation(System.Int32[],System.Int32)">
            <summary> Terminates the calculation of the required length for each coding
            pass. This method must be called just after the 'terminate()' one has
            been called for each terminated MQ segment.
            
            <p>The values in 'rates' must have been compensated for any offset due
            to previous terminated segments, so that the correct index to the
            stored coded data is used.</p>
            
            </summary>
            <param name="rates">The array containing the values returned by
            'getNumCodedBytes()' for each coding pass.
            
            </param>
            <param name="n">The index in the 'rates' array of the last terminated length.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.MQCoder.LenCalcType">
            <summary> Set the length calculation type to the specified type.
            
            </summary>
            <param name="ltype">The type of length calculation to use. One of
            'LENGTH_LAZY', 'LENGTH_LAZY_GOOD' or 'LENGTH_NEAR_OPT'.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.MQCoder.TermType">
            <summary> Set termination type to the specified type.
            
            </summary>
            <param name="ttype">The type of termination to use. One of 'TERM_FULL',
            'TERM_NEAR_OPT', 'TERM_EASY' or 'TERM_PRED_ER'.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.MQCoder.NumCtxts">
            <summary> Returns the number of contexts in the arithmetic coder.
            
            </summary>
            <returns> The number of contexts
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.MQCoder.NumCodedBytes">
            <summary> Returns the number of bytes that are necessary from the compressed
            output stream to decode all the symbols that have been coded this
            far. The number of returned bytes does not include anything coded
            previous to the last time the 'terminate()' or 'reset()' methods where
            called.
            
            <p>The values returned by this method are then to be used in finishing
            the length calculation with the 'finishLengthCalculation()' method,
            after compensation of the offset in the number of bytes due to previous
            terminated segments.</p>
            
            <p>This method should not be called if the current coding pass is to be
            terminated. The 'terminate()' method should be called instead.</p>
            
            <p>The calculation is done based on the type of length calculation
            specified at the constructor.</p>
            
            </summary>
            <returns> The number of bytes in the compressed output stream necessary
            to decode all the information coded this far.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.StdEntropyCoder">
            <summary> This class implements the JPEG 2000 entropy coder, which codes stripes in
            code-blocks. This entropy coding engine can function in a single-threaded
            mode where one code-block is encoded at a time, or in a multi-threaded mode
            where multiple code-blocks are entropy coded in parallel. The interface
            presented by this class is the same in both modes.
            
            <p>The number of threads used by this entropy coder is specified by the
            "jj2000.j2k.entropy.encoder.StdEntropyCoder.nthreads" Java system
            property. If set to "0" the single threaded implementation is used. If set
            to 'n' ('n' larger than 0) then 'n' extra threads are started by this class
            which are used to encode the code-blocks in parallel (i.e. ideally 'n'
            code-blocks will be encoded in parallel at a time). On multiprocessor
            machines under a "native threads" Java Virtual Machine implementation each
            one of these threads can run on a separate processor speeding up the
            encoding time. By default the single-threaded implementation is used. The
            multi-threaded implementation currently assumes that the vast majority of
            consecutive calls to 'getNextCodeBlock()' will be done on the same
            component. If this is not the case, the speed-up that can be expected on
            multiprocessor machines might be significantly decreased.</p>
            
            <p>The code-blocks are rectangular, with dimensions which must be powers of
            2. Each dimension has to be no smaller than 4 and no larger than 256. The
            product of the two dimensions (i.e. area of the code-block) may not exceed
            4096.</p>
            
            <p>Context 0 of the MQ-coder is used as the uniform one (uniform,
            non-adaptive probability distribution). Context 1 is used for RLC
            coding. Contexts 2-10 are used for zero-coding (ZC), contexts 11-15 are
            used for sign-coding (SC) and contexts 16-18 are used for
            magnitude-refinement (MR).</p>
            
            <p>This implementation buffers the symbols and calls the MQ coder only once
            per stripe and per coding pass, to reduce the method call overhead.</p>
            
            <p>This implementation also provides some timing features. They can be
            enabled by setting the 'DO_TIMING' constant of this class to true and
            recompiling. The timing uses the 'System.currentTimeMillis()' Java API
            call, which returns wall clock time, not the actual CPU time used. The
            timing results will be printed on the message output. Since the times
            reported are wall clock times and not CPU usage times they can not be added
            to find the total used time (i.e. some time might be counted in several
            places). When timing is disabled ('DO_TIMING' is false) there is no penalty
            if the compiler performs some basic optimizations. Even if not the penalty
            should be negligeable.</p>
            
            <p>The source module must implement the CBlkQuantDataSrcEnc interface and
            code-block's data is received in a CBlkWTData instance. This modules sends
            code-block's information in a CBlkRateDistStats instance.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.quantization.quantizer.CBlkQuantDataSrcEnc">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.DO_TIMING">
            <summary>Whether to collect timing information or not: false. Used as a compile 
            time directive. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.THREADS_PROP_NAME">
            <summary>The Java system property name for the number of threads to use:
            jj2000.j2k.entropy.encoder.StdEntropyCoder.nthreads 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.DEF_THREADS_NUM">
            <summary>The default value for the property in THREADS_PROP_NAME: 0 </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.THREADS_PRIORITY_INC">
            <summary>The increase in priority for the compressor threads, currently 3. The
            compressor threads will have a priority of THREADS_PRIORITY_INC more
            than the priority of the thread calling this class constructor. Used
            only in the multi-threaded implementation. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.ZC_LUT_BITS">
            <summary>Number of bits used for the Zero Coding lookup table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SC_LUT_BITS">
            <summary>Number of bits used for the Sign Coding lookup table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SC_LUT_MASK">
            <summary>The mask to obtain the context index from the 'SC_LUT' </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SC_SPRED_SHIFT">
            <summary>The shift to obtain the sign predictor from the 'SC_LUT'. It must be
            an unsigned shift. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.INT_SIGN_BIT">
            <summary>The sign bit for int data </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.MR_LUT_BITS">
            <summary>The number of bits used for the Magnitude Refinement lookup table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.NUM_CTXTS">
            <summary>The number of contexts used </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.RLC_CTXT">
            <summary>The RLC context </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.UNIF_CTXT">
            <summary>The UNIFORM context (with a uniform probability distribution which
            does not adapt) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_SIG_R1">
            <summary>The flag bit for the significance in the state array, for row 1. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_VISITED_R1">
            <summary>The flag bit for the "visited" bit in the state array, for row 1. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_NZ_CTXT_R1">
            <summary>The flag bit for the "not zero context" bit in the state array, for
            row 1. This bit is always the OR of bits STATE_H_L_R1, STATE_H_R_R1,
            STATE_V_U_R1, STATE_V_D_R1, STATE_D_UL_R1, STATE_D_UR_R1, STATE_D_DL_R1
            and STATE_D_DR_R1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_H_L_SIGN_R1">
            <summary>The flag bit for the horizontal-left sign in the state array, for row
            1. This bit can only be set if the STATE_H_L_R1 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_H_R_SIGN_R1">
            <summary>The flag bit for the horizontal-right sign in the state array, for
            row 1. This bit can only be set if the STATE_H_R_R1 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_V_U_SIGN_R1">
            <summary>The flag bit for the vertical-up sign in the state array, for row
            1. This bit can only be set if the STATE_V_U_R1 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_V_D_SIGN_R1">
            <summary>The flag bit for the vertical-down sign in the state array, for row
            1. This bit can only be set if the STATE_V_D_R1 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_PREV_MR_R1">
            <summary>The flag bit for the previous MR primitive applied in the state array,
            for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_H_L_R1">
            <summary>The flag bit for the horizontal-left significance in the state array,
            for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_H_R_R1">
            <summary>The flag bit for the horizontal-right significance in the state array,
            for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_V_U_R1">
            <summary>The flag bit for the vertical-up significance in the state array, for
            row 1.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_V_D_R1">
            <summary>The flag bit for the vertical-down significance in the state array,
            for row 1.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_D_UL_R1">
            <summary>The flag bit for the diagonal up-left significance in the state array,
            for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_D_UR_R1">
            <summary>The flag bit for the diagonal up-right significance in the state
            array, for row 1.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_D_DL_R1">
            <summary>The flag bit for the diagonal down-left significance in the state
            array, for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_D_DR_R1">
            <summary>The flag bit for the diagonal down-right significance in the state
            array , for row 1.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.ZC_MASK">
            <summary>The mask to obtain the ZC_LUT index from the state information </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SC_SHIFT_R1">
            <summary>The shift to obtain the SC index to 'SC_LUT' from the state
            information, for row 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.MSE_LKP_BITS">
            <summary>The number of bits used to index in the 'fm' lookup table, 7. The 'fs' 
            table is indexed with one less bit. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.MSE_LKP_FRAC_BITS">
            <summary>The number of fractional bits used to store data in the 'fm' and 'fs'
            lookup tables. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.tPool">
            <summary>The pool of threads, for the threaded implementation. It is null, if
            non threaded implementation is used 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.idleComps">
            <summary>The queue of idle compressors. Used in multithreaded
            implementation only 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.completedComps">
            <summary>The queue of completed compressors, for each component. Used
            in multithreaded implementation only. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.nBusyComps">
            <summary>The number of busy compressors, for each component. Used in
            multithreaded implementation only. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.finishedTileComponent">
            <summary>A flag indicating for each component if all the code-blocks of the *
            current tile have been returned. Used in multithreaded implementation
            only. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.mqT">
            <summary>The MQ coder used, for each thread </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.boutT">
            <summary>The raw bit output used, for each thread </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.outT">
            <summary>The output stream used, for each thread </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.cblks">
            <summary>The code-block size specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.pss">
            <summary>The precinct partition specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.bms">
            <summary>By-pass mode specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.mqrs">
            <summary>MQ reset specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.rts">
            <summary>Regular termination specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.css">
            <summary>Causal stripes specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.sss">
            <summary>Error resilience segment symbol use specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.lcs">
            <summary>The length calculation specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.tts">
            <summary>The termination type specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.opts">
            <summary>The options that are turned on, as flag bits. One element for each
            tile-component. The options are 'OPT_TERM_PASS', 'OPT_RESET_MQ',
            'OPT_VERT_STR_CAUSAL', 'OPT_BYPASS' and 'OPT_SEG_SYMBOLS' as defined in
            the StdEntropyCoderOptions interface
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.entropy.StdEntropyCoderOptions">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.lenCalc">
            <summary>The length calculation type for each tile-component </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.tType">
            <summary>The termination type for each tile-component </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.ZC_LUT_LH">
            <summary>Zero Coding context lookup tables for the LH global orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.ZC_LUT_HL">
            <summary>Zero Coding context lookup tables for the HL global orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.ZC_LUT_HH">
            <summary>Zero Coding context lookup tables for the HH global orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SC_LUT">
            <summary>Sign Coding context lookup table. The index into the table is a 9 bit
            index, which correspond the the value in the 'state' array shifted by
            'SC_SHIFT'. Bits 8-5 are the signs of the horizontal-left,
            horizontal-right, vertical-up and vertical-down neighbors,
            respectively. Bit 4 is not used (0 or 1 makes no difference). Bits 3-0
            are the significance of the horizontal-left, horizontal-right,
            vertical-up and vertical-down neighbors, respectively. The least 4 bits
            of the value in the lookup table define the context number and the sign
            bit defines the "sign predictor". 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.MR_LUT">
            <summary>Magnitude Refinement context lookup table </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.MQ_INIT">
            <summary>The initial states for the MQ coder </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SEG_SYMBOLS">
            <summary>The 4 bits of the error resilience segmentation symbol (1010) </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SEG_SYMB_CTXTS">
            <summary>The 4 contexts for the error resilience segmentation symbol (always
            the UNIFORM context, UNIF_CTXT) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.stateT">
            <summary> The state array for each thread. Each element of the state array stores
            the state of two coefficients. The lower 16 bits store the state of a
            coefficient in row 'i' and column 'j', while the upper 16 bits store
            the state of a coefficient in row 'i+1' and column 'j'. The 'i' row is
            either the first or the third row of a stripe. This packing of the
            states into 32 bit words allows a faster scan of all coefficients on
            each coding pass and diminished the amount of data transferred. The
            size of the state array is increased by 1 on each side (top, bottom,
            left, right) to handle boundary conditions without any special logic.
            
            <p>The state of a coefficient is stored in the following way in the
            lower 16 bits, where bit 0 is the least significant bit. Bit 15 is the
            significance of a coefficient (0 if non-significant, 1 otherwise). Bit
            14 is the visited state (i.e. if a coefficient has been coded in the
            significance propagation pass of the current bit-plane). Bit 13 is the
            "non zero-context" state (i.e. if one of the eight immediate neighbors
            is significant it is 1, otherwise is 0). Bits 12 to 9 store the sign of
            the already significant left, right, up and down neighbors (1 for
            negative, 0 for positive or not yet significant). Bit 8 indicates if
            the magnitude refinement has already been applied to the
            coefficient. Bits 7 to 4 store the significance of the left, right, up
            and down neighbors (1 for significant, 0 for non significant). Bits 3
            to 0 store the significance of the diagonal coefficients (up-left,
            up-right, down-left and down-right; 1 for significant, 0 for non
            significant).</p>
            
            <p>The upper 16 bits the state is stored as in the lower 16 bits, but
            with the bits shifted up by 16.</p>
            
            <p>The lower 16 bits are referred to as "row 1" ("R1") while the upper
            16 bits are referred to as "row 2" ("R2").</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_SIG_R2">
            <summary>The flag bit for the significance in the state array, for row 2. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_VISITED_R2">
            <summary>The flag bit for the "visited" bit in the state array, for row 2. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_NZ_CTXT_R2">
            <summary>The flag bit for the "not zero context" bit in the state array, for
            row 2. This bit is always the OR of bits STATE_H_L_R2, STATE_H_R_R2,
            STATE_V_U_R2, STATE_V_D_R2, STATE_D_UL_R2, STATE_D_UR_R2, STATE_D_DL_R2
            and STATE_D_DR_R2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_H_L_SIGN_R2">
            <summary>The flag bit for the horizontal-left sign in the state array, for row
            2. This bit can only be set if the STATE_H_L_R2 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_H_R_SIGN_R2">
            <summary>The flag bit for the horizontal-right sign in the state array, for
            row 2. This bit can only be set if the STATE_H_R_R2 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_V_U_SIGN_R2">
            <summary>The flag bit for the vertical-up sign in the state array, for row
            2. This bit can only be set if the STATE_V_U_R2 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_V_D_SIGN_R2">
            <summary>The flag bit for the vertical-down sign in the state array, for row
            2. This bit can only be set if the STATE_V_D_R2 is also set. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_PREV_MR_R2">
            <summary>The flag bit for the previous MR primitive applied in the state array,
            for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_H_L_R2">
            <summary>The flag bit for the horizontal-left significance in the state array,
            for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_H_R_R2">
            <summary>The flag bit for the horizontal-right significance in the state array,
            for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_V_U_R2">
            <summary>The flag bit for the vertical-up significance in the state array, for
            row 2.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_V_D_R2">
            <summary>The flag bit for the vertical-down significance in the state array,
            for row 2.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_D_UL_R2">
            <summary>The flag bit for the diagonal up-left significance in the state array,
            for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_D_UR_R2">
            <summary>The flag bit for the diagonal up-right significance in the state
            array, for row 2.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_D_DL_R2">
            <summary>The flag bit for the diagonal down-left significance in the state
            array, for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.STATE_D_DR_R2">
            <summary>The flag bit for the diagonal down-right significance in the state
            array , for row 2.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SIG_MASK_R1R2">
            <summary>The mask to isolate the significance bits for row 1 and 2 of the state 
            array. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.VSTD_MASK_R1R2">
            <summary>The mask to isolate the visited bits for row 1 and 2 of the state 
            array. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.RLC_MASK_R1R2">
            <summary>The mask to isolate the bits necessary to identify RLC coding state
            (significant, visited and non-zero context, for row 1 and 2). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SC_SHIFT_R2">
            <summary>The shift to obtain the SC index to 'SC_LUT' from the state
            information, for row 2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.SC_MASK">
            <summary>The bit mask to isolate the state bits relative to the sign coding
            lookup table ('SC_LUT'). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.MR_MASK">
            <summary>The mask to obtain the MR index to 'MR_LUT' from the 'state'
            information. It is to be applied after the 'MR_SHIFT'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.FS_LOSSY">
            <summary>Distortion estimation lookup table for bits coded using the sign-code
            (SC) primative, for lossy coding (i.e. normal). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.FM_LOSSY">
            <summary>Distortion estimation lookup table for bits coded using the
            magnitude-refinement (MR) primative, for lossy coding (i.e. normal) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.FS_LOSSLESS">
            <summary>Distortion estimation lookup table for bits coded using the sign-code
            (SC) primative, for lossless coding and last bit-plane. This table is
            different from 'fs_lossy' since when doing lossless coding the residual 
            distortion after the last bit-plane is coded is strictly 0. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.FM_LOSSLESS">
            <summary>Distortion estimation lookup table for bits coded using the
            magnitude-refinement (MR) primative, for lossless coding and last
            bit-plane. This table is different from 'fs_lossless' since when doing
            lossless coding the residual distortion after the last bit-plane is
            coded is strictly 0.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.distbufT">
            <summary>The buffer for distortion values (avoids reallocation for each
            code-block), for each thread. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.ratebufT">
            <summary>The buffer for rate values (avoids reallocation for each
            code-block), for each thread. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.istermbufT">
            <summary>The buffer for indicating terminated passes (avoids reallocation for
            each code-block), for each thread. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.srcblkT">
            <summary>The source code-block to entropy code (avoids reallocation for each
            code-block), for each thread. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.symbufT">
            <summary>Buffer for symbols to send to the MQ-coder, for each thread. Used to
            reduce the number of calls to the MQ coder. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.ctxtbufT">
            <summary>Buffer for the contexts to use when sending buffered symbols to the
            MQ-coder, for each thread. Used to reduce the number of calls to the MQ
            coder. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.precinctPartition">
            <summary>boolean used to signal if the precinct partition is used for
            each component and each tile.  
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.#ctor(CSJ2K.j2k.quantization.quantizer.CBlkQuantDataSrcEnc,CSJ2K.j2k.entropy.CBlkSizeSpec,CSJ2K.j2k.entropy.PrecinctSizeSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec,CSJ2K.j2k.StringSpec)">
            <summary> Instantiates a new entropy coder engine, with the specified source of
            data, nominal block width and height.
            
            <p>If the 'OPT_PRED_TERM' option is given then the MQ termination must
            be 'TERM_PRED_ER' or an exception is thrown.</p>
            
            </summary>
            <param name="src">The source of data
            
            </param>
            <param name="cbks">Code-block size specifications
            
            </param>
            <param name="pss">Precinct partition specifications
            
            </param>
            <param name="bms">By-pass mode specifications
            
            </param>
            <param name="mqrs">MQ-reset specifications
            
            </param>
            <param name="rts">Regular termination specifications
            
            </param>
            <param name="css">Causal stripes specifications
            
            </param>
            <param name="sss">Error resolution segment symbol use specifications
            
            </param>
            <param name="lcs">Length computation specifications
            
            </param>
            <param name="tts">Termination type specifications
            
            </param>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.MQCoder">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.getCBlkWidth(System.Int32,System.Int32)">
            <summary> Returns the code-block width for the specified tile and component.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">the component index
            
            </param>
            <returns> The code-block width for the specified tile and component
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.getCBlkHeight(System.Int32,System.Int32)">
            <summary> Returns the code-block height for the specified tile and component.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">The component index
            
            </param>
            <returns> The code-block height for the specified tile and component.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.getNextCodeBlock(System.Int32,CSJ2K.j2k.entropy.encoder.CBlkRateDistStats)">
            <summary> Returns the next coded code-block in the current tile for the specified
            component, as a copy (see below). The order in which code-blocks are
            returned is not specified. However each code-block is returned only
            once and all code-blocks will be returned if the method is called 'N'
            times, where 'N' is the number of code-blocks in the tile. After all
            the code-blocks have been returned for the current tile calls to this
            method will return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, if any, and it can be modified "in place" without
            any problems after being returned.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="ccb">If non-null this object might be used in returning the coded
            code-block in this or any subsequent call to this method. If null a new
            one is created and returned. If the 'data' array of 'cbb' is not null
            it may be reused to return the compressed data.
            
            </param>
            <returns> The next coded code-block in the current tile for component
            'n', or null if all code-blocks for the current tile have been
            returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.CBlkRateDistStats">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.setTile(System.Int32,System.Int32)">
            <summary> 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 just changes the tile in the source.</p>
            
            </summary>
            <param name="x">The horizontal index of the tile.
            
            </param>
            <param name="y">The vertical index of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            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.</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.compressCodeBlock(System.Int32,CSJ2K.j2k.entropy.encoder.CBlkRateDistStats,CSJ2K.j2k.wavelet.analysis.CBlkWTData,CSJ2K.j2k.entropy.encoder.MQCoder,CSJ2K.j2k.entropy.encoder.BitToByteOutput,CSJ2K.j2k.entropy.encoder.ByteOutputBuffer,System.Int32[],System.Double[],System.Int32[],System.Boolean[],System.Int32[],System.Int32[],System.Int32,System.Boolean,System.Int32,System.Int32)">
            <summary> Compresses the code-block in 'srcblk' and puts the results in 'ccb',
            using the specified options and temporary storage.
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="ccb">The object where the compressed data will be stored. If the
            'data' array of 'cbb' is not null it may be reused to return the
            compressed data.
            
            </param>
            <param name="srcblk">The code-block data to code
            
            </param>
            <param name="mq">The MQ-coder to use
            
            </param>
            <param name="bout">The bit level output to use. Used only if 'OPT_BYPASS' is
            turned on in the 'options' argument.
            
            </param>
            <param name="out">The byte buffer trough which the compressed data is stored.
            
            </param>
            <param name="state">The state information for the code-block
            
            </param>
            <param name="distbuf">The buffer where to store the distortion  at 
            the end of each coding pass.
            
            </param>
            <param name="ratebuf">The buffer where to store the rate (i.e. coded lenth) at 
            the end of each coding pass.
            
            </param>
            <param name="istermbuf">The buffer where to store the terminated flag for each 
            coding pass.
            
            </param>
            <param name="symbuf">The buffer to hold symbols to send to the MQ coder
            
            </param>
            <param name="ctxtbuf">A buffer to hold the contexts to use in sending the
            buffered symbols to the MQ coder.
            
            </param>
            <param name="options">The options to use when coding this code-block
            
            </param>
            <param name="rev">The reversible flag. Should be true if the source of this
            code-block's data is reversible.
            
            </param>
            <param name="lcType">The type of length calculation to use with the MQ coder.
            
            </param>
            <param name="tType">The type of termination to use with the MQ coder.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.getNextCodeBlock(System.Int32,CSJ2K.j2k.entropy.encoder.CBlkRateDistStats)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.calcSkipMSBP(CSJ2K.j2k.wavelet.analysis.CBlkWTData,System.Int32)">
            <summary> Calculates the number of magnitude bit-planes that are to be skipped,
            because they are non-significant. The algorithm looks for the largest
            magnitude and calculates the most significant bit-plane of it.
            
            </summary>
            <param name="cblk">The code-block of data to scan
            
            </param>
            <param name="lmb">The least significant magnitude bit in the data
            
            </param>
            <returns> The number of magnitude bit-planes to skip (i.e. all zero most
            significant bit-planes).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.sigProgPass(CSJ2K.j2k.wavelet.analysis.CBlkWTData,CSJ2K.j2k.entropy.encoder.MQCoder,System.Boolean,System.Int32,System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32,System.Int32,System.Int32)">
            <summary> Performs the significance propagation pass on the specified data and
            bit-plane. It codes all insignificant samples which have, at least, one
            of its immediate eight neighbors already significant, using the ZC and
            SC primitives as needed. It toggles the "visited" state bit to 1 for
            all those samples.
            
            </summary>
            <param name="srcblk">The code-block data to code
            
            </param>
            <param name="mq">The MQ-coder to use
            
            </param>
            <param name="doterm">If true it performs an MQ-coder termination after the end
            of the pass
            
            </param>
            <param name="bp">The bit-plane to code
            
            </param>
            <param name="state">The state information for the code-block
            
            </param>
            <param name="fs">The distortion estimation lookup table for SC
            
            </param>
            <param name="zc_lut">The ZC lookup table to use in ZC.
            
            </param>
            <param name="symbuf">The buffer to hold symbols to send to the MQ coder
            
            </param>
            <param name="ctxtbuf">A buffer to hold the contexts to use in sending the
            buffered symbols to the MQ coder.
            
            </param>
            <param name="ratebuf">The buffer where to store the rate (i.e. coded lenth) at 
            the end of this coding pass.
            
            </param>
            <param name="pidx">The coding pass index. Is the index in the 'ratebuf' array
            where to store the coded length after this coding pass.
            
            </param>
            <param name="ltpidx">The index of the last pass that was terminated, or
            negative if none.
            
            </param>
            <param name="options">The bitmask of entropy coding options to apply to the
            code-block
            
            </param>
            <returns> The decrease in distortion for this pass, in the fixed-point
            normalized representation of the 'FS_LOSSY' and 'FS_LOSSLESS' tables.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.rawSigProgPass(CSJ2K.j2k.wavelet.analysis.CBlkWTData,CSJ2K.j2k.entropy.encoder.BitToByteOutput,System.Boolean,System.Int32,System.Int32[],System.Int32[],System.Int32[],System.Int32,System.Int32,System.Int32)">
            <summary> Performs the significance propagation pass on the specified data and
            bit-plane, without using the arithmetic coder. It codes all
            insignificant samples which have, at least, one of its immediate eight
            neighbors already significant, using the ZC and SC primitives as
            needed. It toggles the "visited" state bit to 1 for all those samples.
            
            <p>In this method, the arithmetic coder is bypassed, and raw bits are
            directly written in the bit stream (useful when distribution are close
            to uniform, for intance, at high bit-rates and at lossless
            compression).</p>
            
            </summary>
            <param name="srcblk">The code-block data to code
            
            </param>
            <param name="bout">The bit based output
            
            </param>
            <param name="doterm">If true the bit based output is byte aligned after the
            end of the pass.
            
            </param>
            <param name="bp">The bit-plane to code
            
            </param>
            <param name="state">The state information for the code-block
            
            </param>
            <param name="fs">The distortion estimation lookup table for SC
            
            </param>
            <param name="ratebuf">The buffer where to store the rate (i.e. coded lenth) at 
            the end of this coding pass.
            
            </param>
            <param name="pidx">The coding pass index. Is the index in the 'ratebuf' array
            where to store the coded length after this coding pass.
            
            </param>
            <param name="ltpidx">The index of the last pass that was terminated, or
            negative if none.
            
            </param>
            <param name="options">The bitmask of entropy coding options to apply to the
            code-block
            
            </param>
            <returns> The decrease in distortion for this pass, in the fixed-point
            normalized representation of the 'FS_LOSSY' and 'FS_LOSSLESS' tables.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.magRefPass(CSJ2K.j2k.wavelet.analysis.CBlkWTData,CSJ2K.j2k.entropy.encoder.MQCoder,System.Boolean,System.Int32,System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32,System.Int32,System.Int32)">
            <summary> Performs the magnitude refinement pass on the specified data and
            bit-plane. It codes the samples which are significant and which do not
            have the "visited" state bit turned on, using the MR primitive. The
            "visited" state bit is not mofified for any samples.
            
            </summary>
            <param name="srcblk">The code-block data to code
            
            </param>
            <param name="mq">The MQ-coder to use
            
            </param>
            <param name="doterm">If true it performs an MQ-coder termination after the end
            of the pass
            
            </param>
            <param name="bp">The bit-plane to code
            
            </param>
            <param name="state">The state information for the code-block
            
            </param>
            <param name="fm">The distortion estimation lookup table for MR
            
            </param>
            <param name="symbuf">The buffer to hold symbols to send to the MQ coder
            
            </param>
            <param name="ctxtbuf">A buffer to hold the contexts to use in sending the
            buffered symbols to the MQ coder.
            
            </param>
            <param name="ratebuf">The buffer where to store the rate (i.e. coded lenth) at 
            the end of this coding pass.
            
            </param>
            <param name="pidx">The coding pass index. Is the index in the 'ratebuf' array
            where to store the coded length after this coding pass.
            
            </param>
            <param name="ltpidx">The index of the last pass that was terminated, or
            negative if none.
            
            </param>
            <param name="options">The bitmask of entropy coding options to apply to the
            code-block
            
            </param>
            <returns> The decrease in distortion for this pass, in the fixed-point
            normalized representation of the 'FS_LOSSY' and 'FS_LOSSLESS' tables.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.rawMagRefPass(CSJ2K.j2k.wavelet.analysis.CBlkWTData,CSJ2K.j2k.entropy.encoder.BitToByteOutput,System.Boolean,System.Int32,System.Int32[],System.Int32[],System.Int32[],System.Int32,System.Int32,System.Int32)">
            <summary> Performs the magnitude refinement pass on the specified data and
            bit-plane, without using the arithmetic coder. It codes the samples
            which are significant and which do not have the "visited" state bit
            turned on, using the MR primitive. The "visited" state bit is not
            mofified for any samples.
            
            <p>In this method, the arithmetic coder is bypassed, and raw bits are
            directly written in the bit stream (useful when distribution are close
            to uniform, for intance, at high bit-rates and at lossless
            compression). The 'STATE_PREV_MR_R1' and 'STATE_PREV_MR_R2' bits are
            not set because they are used only when the arithmetic coder is not
            bypassed.</p>
            
            </summary>
            <param name="srcblk">The code-block data to code
            
            </param>
            <param name="bout">The bit based output
            
            </param>
            <param name="doterm">If true the bit based output is byte aligned after the
            end of the pass.
            
            </param>
            <param name="bp">The bit-plane to code
            
            </param>
            <param name="state">The state information for the code-block
            
            </param>
            <param name="fm">The distortion estimation lookup table for MR
            
            </param>
            <param name="ratebuf">The buffer where to store the rate (i.e. coded lenth) at 
            the end of this coding pass.
            
            </param>
            <param name="pidx">The coding pass index. Is the index in the 'ratebuf' array
            where to store the coded length after this coding pass.
            
            </param>
            <param name="ltpidx">The index of the last pass that was terminated, or
            negative if none.
            
            </param>
            <param name="options">The bitmask of entropy coding options to apply to the
            code-block
            
            </param>
            <returns> The decrease in distortion for this pass, in the fixed-point
            normalized representation of the 'FS_LOSSY' and 'FS_LOSSLESS' tables.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.cleanuppass(CSJ2K.j2k.wavelet.analysis.CBlkWTData,CSJ2K.j2k.entropy.encoder.MQCoder,System.Boolean,System.Int32,System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32,System.Int32,System.Int32)">
            <summary> Performs the cleanup pass on the specified data and bit-plane. It codes
            all insignificant samples which have its "visited" state bit off, using
            the ZC, SC, and RLC primitives. It toggles the "visited" state bit to 0
            (off) for all samples in the code-block.
            
            </summary>
            <param name="srcblk">The code-block data to code
            
            </param>
            <param name="mq">The MQ-coder to use
            
            </param>
            <param name="doterm">If true it performs an MQ-coder termination after the end
            of the pass
            
            </param>
            <param name="bp">The bit-plane to code
            
            </param>
            <param name="state">The state information for the code-block
            
            </param>
            <param name="fs">The distortion estimation lookup table for SC
            
            </param>
            <param name="zc_lut">The ZC lookup table to use in ZC.
            
            </param>
            <param name="symbuf">The buffer to hold symbols to send to the MQ coder
            
            </param>
            <param name="ctxtbuf">A buffer to hold the contexts to use in sending the
            buffered symbols to the MQ coder.
            
            </param>
            <param name="ratebuf">The buffer where to store the rate (i.e. coded lenth) at 
            the end of this coding pass.
            
            </param>
            <param name="pidx">The coding pass index. Is the index in the 'ratebuf' array
            where to store the coded length after this coding pass.
            
            </param>
            <param name="ltpidx">The index of the last pass that was terminated, or
            negative if none.
            
            </param>
            <param name="options">The bitmask of entropy coding options to apply to the
            code-block
            
            </param>
            <returns> The decrease in distortion for this pass, in the fixed-point
            normalized representation of the 'FS_LOSSY' and 'FS_LOSSLESS' tables.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.checkEndOfPassFF(System.Byte[],System.Int32[],System.Boolean[],System.Int32)">
            <summary> Ensures that at the end of a non-terminated coding pass there is not a
            0xFF byte, modifying the stored rates if necessary.
            
            <p>Due to error resiliance reasons, a coding pass should never have its
            last byte be a 0xFF, since that can lead to the emulation of a resync
            marker. This method checks if that is the case, and reduces the rate
            for a given pass if necessary. The ommitted 0xFF will be synthetized by
            the decoder if necessary, as required by JPEG 2000. This method should
            only be called once that the entire code-block is coded.</p>
            
            <p>Passes that are terminated are not checked for the 0xFF byte, since
            it is assumed that the termination procedure does not output any
            trailing 0xFF. Checking the terminated segments would involve much more
            than just modifying the stored rates.</p>
            
            <p>NOTE: It is assumed by this method that the coded data does not
            contain consecutive 0xFF bytes, as is the case with the MQ and
            'arithemetic coding bypass' bit stuffing policy. However, the
            termination policies used should also respect this requirement.</p>
            
            </summary>
            <param name="data">The coded data for the code-block
            
            </param>
            <param name="rates">The rate (i.e. accumulated number of bytes) for each
            coding pass
            
            </param>
            <param name="isterm">An array of flags indicating, for each pass, if it is
            terminated or not. If null it is assumed that no pass is terminated,
            except the last one.
            
            </param>
            <param name="n">The number of coding passes
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.initTileComp(System.Int32,System.Int32)">
            <summary> Load options, length calculation type and termination type for each
            tile-component.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.getPPX(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition width for the specified component, tile
            and resolution level.
            
            </summary>
            <param name="t">the tile index
            
            </param>
            <param name="c">the component
            
            </param>
            <param name="rl">the resolution level
            
            </param>
            <returns> The precinct partition width for the specified component, tile
            and resolution level
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.getPPY(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition height for the specified component, tile
            and resolution level.
            
            </summary>
            <param name="t">the tile index
            
            </param>
            <param name="c">the component
            
            </param>
            <param name="rl">the resolution level
            
            </param>
            <returns> The precinct partition height for the specified component, tile
            and resolution level
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.precinctPartitionUsed(System.Int32,System.Int32)">
            <summary> Returns true if precinct partition is used for the specified component
            and tile, returns false otherwise.
            
            </summary>
            <param name="c">The component
            
            </param>
            <param name="t">The tile 
            
            </param>
            <returns> True if precinct partition is used for the specified component
            and tile, returns false otherwise.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.#cctor">
            <summary>Static initializer: initializes all the lookup tables. </summary>
        </member>
        <member name="T:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor">
            <summary> Class that takes care of running the 'compressCodeBlock()' method with
            thread local arguments. Used only in multithreaded implementation.
            
            </summary>
        </member>
        <member name="T:IThreadRunnable">
            <summary>
            This interface should be implemented by any class whose instances are intended 
            to be executed by a thread.
            </summary>
        </member>
        <member name="M:IThreadRunnable.Run">
            <summary>
            This method has to be implemented in order that starting of the thread causes the object's 
            run method to be called in that separately executing thread.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.idx">
            <summary>The index of this compressor. Used to access thread local
            variables 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.ccb">
            <summary>The object where to store the compressed code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.c">
            <summary>The component on which to compress </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.options">
            <summary>The options bitmask to use in compression </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.rev">
            <summary>The reversible flag to use in compression </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.lcType">
            <summary>The length calculation type to use in compression </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.tType">
            <summary>The MQ termination type to use in compression </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.#ctor(CSJ2K.j2k.entropy.encoder.StdEntropyCoder,System.Int32)">
            <summary> Creates a new compressor object with the given index.
            
            </summary>
            <param name="idx">The index of this compressor.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.Run">
            <summary> Calls the 'compressCodeBlock()' method with thread local
            arguments. Once completed it adds itself to the 'completedComps[c]' 
            stack, where 'c' is the component for which this compressor is
            running. This last step occurs even if exceptions are thrown by the 
            'compressCodeBlock()' method.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.getTiming(System.Int32)">
            <summary> Returns the wall time spent by this compressor for component 'c'
            since the last call to this method (or the creation of this
            compressor if not yet called). If DO_TIMING is false 0 is returned.
            
            </summary>
            <returns> The wall time in milliseconds spent by this compressor
            since the last call to this method.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.entropy.encoder.StdEntropyCoder.Compressor.Idx">
            <summary> Returns the index of this compressor.
            
            </summary>
            <returns> The index of this compressor.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.entropy.PrecinctSizeSpec" -->
        <member name="F:CSJ2K.j2k.entropy.PrecinctSizeSpec.optName">
            <summary>Name of the option </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.PrecinctSizeSpec.dls">
            <summary>Reference to wavelet number of decomposition levels for each
            tile-component.  
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.PrecinctSizeSpec.#ctor(System.Int32,System.Int32,System.Byte,CSJ2K.j2k.IntegerSpec)">
            <summary> Creates a new PrecinctSizeSpec object for the specified number of tiles
            and components.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
            <param name="dls">Reference to the number of decomposition levels
            specification
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.PrecinctSizeSpec.#ctor(System.Int32,System.Int32,System.Byte,CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.j2k.IntegerSpec,CSJ2K.j2k.util.ParameterList)">
            <summary> Creates a new PrecinctSizeSpec object for the specified number of tiles
            and components and the ParameterList instance.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
            <param name="imgsrc">The image source (used to get the image size)
            
            </param>
            <param name="pl">The ParameterList instance
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.PrecinctSizeSpec.getPPX(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition width in component 'n' and tile 't' at
            resolution level 'rl'. If the tile index is equal to -1 or if the
            component index is equal to -1 it means that those should not be taken
            into account.
            
            </summary>
            <param name="t">The tile index, in raster scan order. Specify -1 if it is not
            a specific tile.
            
            </param>
            <param name="c">The component index. Specify -1 if it is not a specific
            component.
            
            </param>
            <param name="rl">The resolution level
            
            </param>
            <returns> The precinct partition width in component 'c' and tile 't' at
            resolution level 'rl'.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.entropy.PrecinctSizeSpec.getPPY(System.Int32,System.Int32,System.Int32)">
            <summary> Returns the precinct partition height in component 'n' and tile 't' at
            resolution level 'rl'. If the tile index is equal to -1 or if the
            component index is equal to -1 it means that those should not be taken
            into account.
            
            </summary>
            <param name="t">The tile index, in raster scan order. Specify -1 if it is not
            a specific tile.
            
            </param>
            <param name="c">The component index. Specify -1 if it is not a specific
            component.
            
            </param>
            <param name="rl">The resolution level.
            
            </param>
            <returns> The precinct partition width in component 'n' and tile 't' at
            resolution level 'rl'.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.entropy.Progression">
            <summary> This class holds one of the different progression orders defined in
            the bit stream. The type(s) of progression order are defined in the
            ProgressionType interface. A Progression object is totally defined
            by its component start and end, resolution level start and end and
            layer start and end indexes. If no progression order change is
            defined, there is only Progression instance. 
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.codestream.ProgressionType">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.entropy.Progression.type">
            <summary>Progression type as defined in ProgressionType interface </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.Progression.cs">
            <summary>Component index for the start of a progression </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.Progression.ce">
            <summary>Component index for the end of a progression. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.Progression.rs">
            <summary>Resolution index for the start of a progression </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.Progression.re">
            <summary>Resolution index for the end of a progression. </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.Progression.lye">
            <summary>The index of the last layer. </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.Progression.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Constructor. 
            
            Builds a new Progression object with specified type and bounds
            of progression.
            
            </summary>
            <param name="type">The progression type
            
            </param>
            <param name="cs">The component index start
            
            </param>
            <param name="ce">The component index end
            
            </param>
            <param name="rs">The resolution level index start
            
            </param>
            <param name="re">The resolution level index end
            
            </param>
            <param name="lye">The layer index end
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.entropy.ProgressionSpec">
            <summary> This class extends ModuleSpec class for progression type(s) and progression
            order changes holding purposes.
            
            <p>It stores  the progression type(s) used in the  codestream. There can be
            several progression  type(s) if  progression order  changes are  used (POC
            markers).</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.entropy.ProgressionSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Creates a new ProgressionSpec object for the specified number of tiles
            and components.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both. The ProgressionSpec class should only be
            used only with the type ModuleSpec.SPEC_TYPE_TILE.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.ProgressionSpec.#ctor(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.IntegerSpec,System.Byte,CSJ2K.j2k.util.ParameterList)">
            <summary> Creates a new ProgressionSpec object for the specified number of tiles,
            components and the ParameterList instance.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="nl">The number of layer
            
            </param>
            <param name="dls">The number of decomposition levels specifications
            
            </param>
            <param name="type">the type of the specification module. The ProgressionSpec
            class should only be used only with the type ModuleSpec.SPEC_TYPE_TILE.
            
            </param>
            <param name="pl">The ParameterList instance
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.entropy.ProgressionSpec.checkProgMode(System.String)">
            <summary> Check if the progression mode exists and if so, return its integer
            value. It returns -1 otherwise.
            
            </summary>
            <param name="mode">The progression mode stored in a string
            
            </param>
            <returns> The integer value of the progression mode or -1 if the
            progression mode does not exist.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.codestream.ProgressionType">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.entropy.StdEntropyCoderOptions">
            <summary> This interface define the constants that identify the possible options for
            the entropy coder, as well some fixed parameters of the JPEG 2000 entropy
            coder.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.OPT_BYPASS">
            <summary>The flag bit to indicate that selective arithmetic coding bypass
            should be used.  In this mode, the significance propagation and
            magnitude refinement passes bypass the arithmetic encoder in the fourth
            bit-plane and latter ones (but not the cleanup pass). Note that the
            transition between raw and AC segments needs terminations (whether or
            not OPT_TERM_PASS is used). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.OPT_RESET_MQ">
            <summary>The flag bit to indicate that the MQ states for all contexts should be 
            reset at the end of each (non-bypassed) coding pass. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.OPT_TERM_PASS">
            <summary>The flag bit to indicate that a termination should be performed after
            each coding pass.  Note that terminations are applied to both * *
            arithmetically coded and bypassed (i.e. raw) passes . 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.OPT_VERT_STR_CAUSAL">
            <summary>The flag bit to indicate the vertically stripe-causal context
            formation should be used. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.OPT_PRED_TERM">
            <summary>The flag bit to indicate that error resilience info is embedded on MQ
            termination. This corresponds to the predictable termination described
            in Annex D.4.2 of the FDIS 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.OPT_SEG_SYMBOLS">
            <summary>The flag bit to indicate that an error resilience segmentation symbol
            is to be inserted at the end of each cleanup coding pass. The
            segmentation symbol is the four symbol sequence 1010 that are sent
            through the MQ coder using the UNIFORM context (as explained in annex
            D.5 of FDIS). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.MIN_CB_DIM">
            <summary>The minimum code-block dimension. The nominal width or height of a
            code-block must never be less than this. It is 4. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.MAX_CB_DIM">
            <summary>The maximum code-block dimension. No code-block should be larger,
            either in width or height, than this value. It is 1024. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.MAX_CB_AREA">
            <summary>The maximum code-block area (width x height). The surface covered by
            a nominal size block should never be larger than this. It is 4096 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.STRIPE_HEIGHT">
            <summary>The stripe height. This is the nominal value of the stripe height. It
            is 4. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.NUM_PASSES">
            <summary>The number of coding passes per bit-plane. This is the number of
            passes per bit-plane. It is 3. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.NUM_NON_BYPASS_MS_BP">
            <summary>The number of most significant bit-planes where bypass mode is not to
            be used, even if bypass mode is on: 4. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.NUM_EMPTY_PASSES_IN_MS_BP">
            <summary>The number of empty passes in the most significant bit-plane. It is
            2. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.entropy.StdEntropyCoderOptions.FIRST_BYPASS_PASS_IDX">
            <summary>The index of the first "raw" pass, if bypass mode is on. </summary>
        </member>
        <member name="T:CSJ2K.j2k.fileformat.FileFormatBoxes">
            <summary> This class contains all the markers used in the JPEG 2000 Part I file format
            
            </summary>
            <seealso cref="!:jj2000.j2k.fileformat.writer.FileFormatWriter">
            
            </seealso>
            <seealso cref="!:jj2000.j2k.fileformat.reader.FileFormatReader">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.FileFormatBoxes.READER_REQUIREMENTS_BOX">
            <summary>* Main boxes ***</summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.FileFormatBoxes.IMAGE_HEADER_BOX">
            <summary>JP2 Header boxes </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.FileFormatBoxes.UUID_LIST_BOX">
            <summary>UUID Info Boxes </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.FileFormatBoxes.IMB_VERS">
            <summary>end of UUID Info boxes </summary>
            <summary>Image Header Box Fields </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.FileFormatBoxes.CSB_METH">
            <summary>end of Image Header Box Fields</summary>
            <summary>Colour Specification Box Fields </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.FileFormatBoxes.FT_BR">
            <summary>en of Colour Specification Box Fields </summary>
            <summary>File Type Fields </summary>
        </member>
        <member name="T:CSJ2K.j2k.fileformat.reader.FileFormatReader">
            <summary> This class reads the file format wrapper that may or may not exist around a
            valid JPEG 2000 codestream. Since no information from the file format is
            used in the actual decoding, this class simply goes through the file and
            finds the first valid codestream.
            
            </summary>
            <seealso cref="!:jj2000.j2k.fileformat.writer.FileFormatWriter">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.reader.FileFormatReader.in_Renamed">
            <summary>The random access from which the file format boxes are read </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.reader.FileFormatReader.codeStreamPos">
            <summary>The positions of the codestreams in the fileformat</summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.reader.FileFormatReader.codeStreamLength">
            <summary>The lengths of the codestreams in the fileformat</summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.reader.FileFormatReader.JP2FFUsed">
            <summary>Flag indicating whether or not the JP2 file format is used </summary>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.reader.FileFormatReader.#ctor(CSJ2K.j2k.io.RandomAccessIO)">
            <summary> The constructor of the FileFormatReader
            
            </summary>
            <param name="in">The RandomAccessIO from which to read the file format
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.reader.FileFormatReader.readFileFormat">
            <summary> This method checks whether the given RandomAccessIO is a valid JP2 file
            and if so finds the first codestream in the file. Currently, the
            information in the codestream is not used
            
            </summary>
            <param name="in">The RandomAccessIO from which to read the file format
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
            <exception cref="!:java.io.EOFException">If end of file is reached
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.reader.FileFormatReader.readFileTypeBox">
            <summary> This method reads the File Type box.
            
            </summary>
            <returns> false if the File Type box was not found or invalid else true
            
            </returns>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            </exception>
            <exception cref="!:java.io.EOFException">If the end of file was reached
            
            </exception>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.fileformat.reader.FileFormatReader.readJP2HeaderBox(System.Int64,System.Int32,System.Int64)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.fileformat.reader.FileFormatReader.readContiguousCodeStreamBox(System.Int64,System.Int32,System.Int64)" -->
        <member name="M:CSJ2K.j2k.fileformat.reader.FileFormatReader.readIntPropertyBox(System.Int32)">
            <summary> This method reads the contents of the Intellectual property box
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.reader.FileFormatReader.readXMLBox(System.Int32)">
            <summary> This method reads the contents of the XML box
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.reader.FileFormatReader.readUUIDBox(System.Int32)">
            <summary> This method reads the contents of the Intellectual property box
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.reader.FileFormatReader.readUUIDInfoBox(System.Int32)">
            <summary> This method reads the contents of the Intellectual property box
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.reader.FileFormatReader.readReaderRequirementsBox(System.Int32)">
            <summary> This method reads the contents of the Reader requirements box
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.fileformat.reader.FileFormatReader.CodeStreamPos">
            <summary> This method creates and returns an array of positions to contiguous
            codestreams in the file
            
            </summary>
            <returns> The positions of the contiguous codestreams in the file
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.fileformat.reader.FileFormatReader.FirstCodeStreamPos">
            <summary> This method returns the position of the first contiguous codestreams in
            the file
            
            </summary>
            <returns> The position of the first contiguous codestream in the file
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.fileformat.reader.FileFormatReader.FirstCodeStreamLength">
            <summary> This method returns the length of the first contiguous codestreams in
            the file
            
            </summary>
            <returns> The length of the first contiguous codestream in the file
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.fileformat.writer.FileFormatWriter">
            <summary> This class writes the file format wrapper that may or may not exist around
            a valid JPEG 2000 codestream. This class writes the simple possible legal
            fileformat
            
            </summary>
            <seealso cref="!:jj2000.j2k.fileformat.reader.FileFormatReader">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.CSB_LENGTH">
            <summary>Length of Colour Specification Box </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.FTB_LENGTH">
            <summary>Length of File Type Box </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.IHB_LENGTH">
            <summary>Length of Image Header Box </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.BPC_LENGTH">
            <summary>base length of Bits Per Component box </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.fi">
            <summary>The file from which to read the codestream and write file</summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.filename">
            <summary>The name of the file from which to read the codestream and to write
            the JP2 file
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.height">
            <summary>Image height </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.width">
            <summary>Image width </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.nc">
            <summary>Number of components </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.bpc">
            <summary>Bits per component </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.bpcVaries">
            <summary>Flag indicating whether number of bits per component varies </summary>
        </member>
        <member name="F:CSJ2K.j2k.fileformat.writer.FileFormatWriter.clength">
            <summary>Length of codestream </summary>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.writer.FileFormatWriter.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32)">
            <summary> The constructor of the FileFormatWriter. It receives all the
            information necessary about a codestream to generate a legal JP2 file
            
            </summary>
            <param name="filename">The name of the file that is to be made a JP2 file
            
            </param>
            <param name="height">The height of the image
            
            </param>
            <param name="width">The width of the image
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="bpc">The number of bits per component
            
            </param>
            <param name="clength">Length of codestream 
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.writer.FileFormatWriter.writeFileFormat">
            <summary> This method reads the codestream and writes the file format wrapper and
            the codestream to the same file
            
            </summary>
            <returns> The number of bytes increases because of the file format
            
            </returns>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.writer.FileFormatWriter.writeFileTypeBox">
            <summary> This method writes the File Type box
            
            </summary>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.writer.FileFormatWriter.writeJP2HeaderBox">
            <summary> This method writes the JP2Header box
            
            </summary>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.writer.FileFormatWriter.writeBitsPerComponentBox">
            <summary> This method writes the Bits Per Component box
            
            </summary>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.writer.FileFormatWriter.writeColourSpecificationBox">
            <summary> This method writes the Colour Specification box
            
            </summary>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.writer.FileFormatWriter.writeImageHeaderBox">
            <summary> This method writes the Image Header box
            
            </summary>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.fileformat.writer.FileFormatWriter.writeContiguousCodeStreamBox(System.Byte[])">
            <summary> This method writes the Contiguous codestream box
            
            </summary>
            <param name="cs">The contiguous codestream
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="T:CSJ2K.j2k.image.CompTransfSpec">
            <summary> This class extends the ModuleSpec class in order to hold tile
            specifications for multiple component transformation
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.CompTransfSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Constructs an empty 'CompTransfSpec' with the specified number of tiles
            and components. This constructor is called by the decoder. Note: The
            number of component is here for symmetry purpose. It is useless since
            only tile specifications are meaningful.
            
            </summary>
            <param name="nt">Number of tiles
            
            </param>
            <param name="nc">Number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.image.CompTransfSpec.CompTransfUsed">
            <summary> Check if component transformation is used in any of the tiles. This
            method must not be used by the encoder.
            
            </summary>
            <returns> True if a component transformation is used in at least on
            tile.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.image.Coord">
            <summary> This class represents 2-D coordinates.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Coord.x">
            <summary>The horizontal coordinate </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Coord.y">
            <summary>The vertical coordinate </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.Coord.#ctor">
            <summary> Creates a new coordinate object given with the (0,0) coordinates
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.Coord.#ctor(System.Int32,System.Int32)">
            <summary> Creates a new coordinate object given the two coordinates.
            
            </summary>
            <param name="x">The horizontal coordinate.
            
            </param>
            <param name="y">The vertical coordinate.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.Coord.#ctor(CSJ2K.j2k.image.Coord)">
            <summary> Creates a new coordinate object given another Coord object i.e. copy 
            constructor
            
            </summary>
            <param name="c">The Coord object to be copied.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.Coord.ToString">
            <summary> Returns a string representation of the object coordinates
            
            </summary>
            <returns> The vertical and the horizontal coordinates
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.image.DataBlk">
            <summary> 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 (<tt>int</tt>, <tt>float</tt>,
            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>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.image.DataBlkInt">
            
            </seealso>
            <seealso cref="T:CSJ2K.j2k.image.DataBlkFloat">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.TYPE_BYTE">
            <summary>The identifier for the <tt>byte</tt> data type, as signed 8 bits. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.TYPE_SHORT">
            <summary>The identifier for the <tt>short</tt> data type, as signed 16 bits. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.TYPE_INT">
            <summary>The identifier for the <tt>int</tt> data type, as signed 32 bits. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.TYPE_FLOAT">
            <summary>The identifier for the <tt>float</tt> data type </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.ulx">
            <summary>The horizontal coordinate (in pixels) of the upper-left corner of the
            block of data. This is relative to the component of the image from
            where this block was filled or is to be filled.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.uly">
            <summary>The vertical coordinate of the upper-left corner of the block of
            data. This is relative to the component of the image from where this
            block was filled or is to be filled.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.w">
            <summary>The width of the block, in pixels. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.h">
            <summary>The height of the block, in pixels. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.offset">
            <summary>The offset in the array of the top-left coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.scanw">
            <summary>The width of the scanlines used to store the data in the array </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlk.progressive">
            <summary>The progressive attribute (<tt>false</tt> by default) </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlk.getSize(System.Int32)">
            <summary> Returns the size in bits, given the data type. The data type must be
            one defined in this class. An <tt>IllegalArgumentException</tt> is
            thrown if <tt>type</tt> is not defined in this class.
            
            </summary>
            <param name="type">The data type.
            
            </param>
            <returns> The size in bits of the data type.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlk.ToString">
            <summary> Returns a string of informations about the DataBlk
            
            </summary>
            <returns> Block dimensions and progressiveness in a string
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.DataBlk.DataType">
            <summary> Returns the data type of the <tt>DataBlk</tt> object, as defined in
            this class.
            
            </summary>
            <returns> The data type of the object, as defined in thsi class.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.DataBlk.Data">
            <summary> Returns the array containing the data, or null if there is no data. The
            returned array is of the type returned by <tt>getDataType()</tt> (e.g.,
            for <tt>TYPE_INT</tt>, it is a <tt>int[]</tt>).
            
            <p>Each implementing class should provide a type specific equivalent
            method (e.g., <tt>getDataInt()</tt> in <tt>DataBlkInt</tt>) which
            returns an array of the correct type explicetely and not through an
            <tt>Object</tt>.</p>
            
            </summary>
            <returns> The array containing the data, or <tt>null</tt> if there is no
            data.
            
            </returns>
            <seealso cref="!:getDataType">
            
            </seealso>
            <summary> Sets the data array to the specified one. The type of the specified
            data array must match the one returned by <tt>getDataType()</tt> (e.g.,
            for <tt>TYPE_INT</tt>, it should be a <tt>int[]</tt>). If the wrong
            type of array is given a <tt>ClassCastException</tt> will be thrown.
            
            <p>The size of the array is not necessarily checked for consistency
            with <tt>w</tt> and <tt>h</tt> or any other fields.</p>
            
            <p>Each implementing class should provide a type specific equivalent
            method (e.g., <tt>setDataInt()</tt> in <tt>DataBlkInt</tt>) which takes
            an array of the correct type explicetely and not through an
            <tt>Object</tt>.</p>
            
            </summary>
            <param name="arr">The new data array to use
            
            </param>
            <seealso cref="!:getDataType">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.image.DataBlkFloat">
            <summary> This is an implementation of the <tt>DataBlk</tt> 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>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlkFloat.data">
            <summary>The array where the data is stored </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlkFloat.#ctor">
            <summary> Creates a DataBlkFloat with 0 dimensions and no data array
            (i.e. data is null).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlkFloat.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Creates a DataBlkFloat with the specified dimensions and position. The
            data array is initialized to an array of size w*h.
            
            </summary>
            <param name="ulx">The horizontal coordinate of the upper-left corner of the
            block
            
            </param>
            <param name="uly">The vertical coordinate of the upper-left corner of the
            block
            
            </param>
            <param name="w">The width of the block (in pixels)
            
            </param>
            <param name="h">The height of the block (in pixels)
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlkFloat.#ctor(CSJ2K.j2k.image.DataBlkFloat)">
            <summary> Copy constructor. Creates a DataBlkFloat which is the copy of the
            DataBlkFloat given as paramter.
            
            </summary>
            <param name="DataBlkFloat">the object to be copied.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlkFloat.ToString">
            <summary> Returns a string of informations about the DataBlkInt.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.DataBlkFloat.DataType">
            <summary> Returns the identifier of this data type, <tt>TYPE_FLOAT</tt>, as
            defined in <tt>DataBlk</tt>.
            
            </summary>
            <returns> The type of data stored. Always <tt>DataBlk.TYPE_FLOAT</tt>
            
            </returns>
            <seealso cref="F:CSJ2K.j2k.image.DataBlk.TYPE_FLOAT">
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.image.DataBlkFloat.Data">
            <summary> Returns the array containing the data, or null if there is no data
            array. The returned array is a float array.
            
            </summary>
            <returns> The array of data (a float[]) or null if there is no data.
            
            </returns>
            <summary> Sets the data array to the specified one. The provided array must be a
            float array, otherwise a ClassCastException is thrown. The size of the
            array is not checked for consistency with the block's dimensions.
            
            </summary>
            <param name="arr">The data array to use. Must be a float array.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.image.DataBlkFloat.DataFloat">
            <summary> Returns the array containing the data, or null if there is no data
            array.
            
            </summary>
            <returns> The array of data or null if there is no data.
            
            </returns>
            <summary> Sets the data array to the specified one. The size of the array is not
            checked for consistency with the block's dimensions.
            
            </summary>
            <param name="arr">The data array to use.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.image.DataBlkInt">
            <summary> This is an implementation of the <tt>DataBlk</tt> 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>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.image.DataBlkInt.data_array">
            <summary>The array where the data is stored </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlkInt.#ctor">
            <summary> Creates a DataBlkInt with 0 dimensions and no data array (i.e. data is
            null).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlkInt.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Creates a DataBlkInt with the specified dimensions and position. The
            data array is initialized to an array of size w*h.
            
            </summary>
            <param name="ulx">The horizontal coordinate of the upper-left corner of the
            block
            
            </param>
            <param name="uly">The vertical coordinate of the upper-left corner of the
            block
            
            </param>
            <param name="w">The width of the block (in pixels)
            
            </param>
            <param name="h">The height of the block (in pixels)
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlkInt.#ctor(CSJ2K.j2k.image.DataBlkInt)">
            <summary> Copy constructor. Creates a DataBlkInt which is the copy of the
            DataBlkInt given as paramter.
            
            </summary>
            <param name="DataBlkInt">the object to be copied.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.DataBlkInt.ToString">
            <summary> Returns a string of informations about the DataBlkInt.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.DataBlkInt.DataType">
            <summary> Returns the identifier of this data type, <tt>TYPE_INT</tt>, as defined
            in <tt>DataBlk</tt>.
            
            </summary>
            <returns> The type of data stored. Always <tt>DataBlk.TYPE_INT</tt>
            
            </returns>
            <seealso cref="F:CSJ2K.j2k.image.DataBlk.TYPE_INT">
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.image.DataBlkInt.Data">
            <summary> Returns the array containing the data, or null if there is no data
            array. The returned array is a int array.
            
            </summary>
            <returns> The array of data (a int[]) or null if there is no data.
            
            </returns>
            <summary> Sets the data array to the specified one. The provided array must be a
            int array, otherwise a ClassCastException is thrown. The size of the
            array is not checked for consistency with the block's dimensions.
            
            </summary>
            <param name="arr">The data array to use. Must be a int array.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.image.DataBlkInt.DataInt">
            <summary> Returns the array containing the data, or null if there is no data
            array.
            
            </summary>
            <returns> The array of data or null if there is no data.
            
            </returns>
            <summary> Sets the data array to the specified one. The size of the array is not
            checked for consistency with the block's dimensions. This method is
            more efficient than setData
            
            </summary>
            <param name="arr">The data array to use.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf">
            <summary> 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).
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.NONE">
            <summary>Identifier for no component transformation. Value is 0. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.FORW_RCT">
            <summary>Identifier for the Forward Reversible Component Transformation
            (FORW_RCT). Value is 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.FORW_ICT">
            <summary>Identifier for the Forward Irreversible Component Transformation
            (FORW_ICT). Value is 2 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.OPT_PREFIX">
            <summary>The prefix for component transformation type: 'M' </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.src">
            <summary>The source of image data </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.cts">
            <summary>The component transformations specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.wfs">
            <summary>The wavelet filter specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.transfType">
            <summary>The type of the current component transformation. JPEG 2000 part 1
            supports only NONE, FORW_RCT and FORW_ICT types 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.tdepth">
            <summary>The bit-depths of transformed components </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.outBlk">
            <summary>Output block used instead of the one provided as an argument if the
            later is DataBlkFloat.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.block0">
            <summary>Block used to request component with index 0 </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.block1">
            <summary>Block used to request component with index 1</summary>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.block2">
            <summary>Block used to request component with index 2</summary>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.j2k.encoder.EncoderSpecs)">
            <summary> Constructs a new ForwCompTransf object that operates on the specified
            source of image data.
            
            </summary>
            <param name="imgSrc">The source from where to get the data to be transformed
            
            </param>
            <param name="encSpec">The encoder specifications
            
            </param>
            <seealso cref="T:CSJ2K.j2k.image.BlkImgDataSrc">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.pinfo">
            <summary>The list of parameters that is accepted by the forward component
            transformation module. Options start with an 'M'. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.getFixedPoint(System.Int32)">
            <summary> 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>
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The value of the fixed point position of the source since the
            color transform does not affect it.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.calcMixedBitDepths(System.Int32[],System.Int32,System.Int32[])">
            <summary> Calculates the bitdepths of the transformed components, given the
            bitdepth of the un-transformed components and the component
            transformation type.
            
            </summary>
            <param name="ntdepth">The bitdepth of each non-transformed components.
            
            </param>
            <param name="ttype">The type ID of the component transformation.
            
            </param>
            <param name="tdepth">If not null the results are stored in this array,
            otherwise a new array is allocated and returned.
            
            </param>
            <returns> The bitdepth of each transformed component.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.initForwRCT">
            <summary> Initialize some variables used with RCT. It must be called, at least,
            at the beginning of each new tile.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.initForwICT">
            <summary> Initialize some variables used with ICT. It must be called, at least,
            at the beginning of a new tile.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.ToString">
            <summary> 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.
            
            </summary>
            <returns> A descriptive string
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.getNomRangeBits(System.Int32)">
            <summary> 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 <i>b</i> 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.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The bitdepth of component 'c' after mixing.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> 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>
            
            </summary>
            <param name="blk">Determines the rectangular area to return, and the data is
            returned in this object.
            
            </param>
            <param name="c">Index of the output component.
            
            </param>
            <returns> The requested DataBlk
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.image.BlkImgDataSrc.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> 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).
            
            </summary>
            <seealso cref="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.forwRCT(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
            <seealso cref="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.forwICT(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
            <param name="blk">Determines the rectangular area to return.
            
            </param>
            <param name="c">Index of the output component.
            
            </param>
            <returns> The requested DataBlk
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.forwRCT(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> Apply forward component transformation to obtain requested component
            from specified block of data. Whatever the type of requested DataBlk,
            it always returns a DataBlkInt.
            
            </summary>
            <param name="blk">Determine the rectangular area to return 
            
            </param>
            <param name="c">The index of the requested component
            
            </param>
            <returns> Data of requested component
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.forwICT(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> Apply forward irreversible component transformation to obtain requested
            component from specified block of data. Whatever the type of requested
            DataBlk, it always returns a DataBlkFloat.
            
            </summary>
            <param name="blk">Determine the rectangular area to return 
            
            </param>
            <param name="c">The index of the requested component
            
            </param>
            <returns> Data of requested component
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.setTile(System.Int32,System.Int32)">
            <summary> 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>
            
            </summary>
            <param name="x">The horizontal index of the tile.
            
            </param>
            <param name="y">The vertical index of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.nextTile">
            <summary> 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>
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.ParameterInfo">
            <summary> 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, or null
            if no options are supported.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.forwcomptransf.ForwCompTransf.Reversible">
            <summary> 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).
            
            </summary>
            <returns> Reversibility of component transformation in current tile
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.image.forwcomptransf.ForwCompTransfSpec">
            <summary> This class extends CompTransfSpec class in order to hold encoder specific
            aspects of CompTransfSpec.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.image.CompTransfSpec">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransfSpec.#ctor(System.Int32,System.Int32,System.Byte,CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec,CSJ2K.j2k.util.ParameterList)">
            <summary> Constructs a new 'ForwCompTransfSpec' for the specified number of
            components and tiles, the wavelet filters type and the parameter of the
            option 'Mct'. This constructor is called by the encoder. It also checks
            that the arguments belong to the recognized arguments list.
            
            <p>This constructor chose the component transformation type depending
            on the wavelet filters : RCT with w5x3 filter and ICT with w9x7
            filter. Note: All filters must use the same data type.</p>
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
            <param name="wfs">The wavelet filter specifications
            
            </param>
            <param name="pl">The ParameterList
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.forwcomptransf.ForwCompTransfSpec.getFilterType(System.Int32,CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec)">
            <summary> Get the filter type common to all component of a given tile. If the
            tile index is -1, it searches common filter type of default
            specifications.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="wfs">The analysis filters specifications 
            
            </param>
            <returns> The filter type common to all the components 
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.image.ImgDataConverter">
            <summary> 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.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataConverter.srcBlk">
            <summary>The block used to request data from the source in the case that a
            conversion seems necessary. It can be either int or float at
            initialization time. It will be checked (and corrected if necessary) by
            the source whenever necessary 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataConverter.src">
            <summary>The source of image data </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataConverter.fp">
            <summary>The number of fraction bits in the casted ints </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataConverter.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,System.Int32)">
            <summary> Constructs a new ImgDataConverter object that operates on the specified
            source of image data.
            
            </summary>
            <param name="imgSrc">The source from where to get the data to be transformed
            
            </param>
            <param name="fp">The number of fraction bits in the casted ints
            
            </param>
            <seealso cref="T:CSJ2K.j2k.image.BlkImgDataSrc">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataConverter.#ctor(CSJ2K.j2k.image.BlkImgDataSrc)">
            <summary> Constructs a new ImgDataConverter object that operates on the specified
            source of image data.
            
            </summary>
            <param name="imgSrc">The source from where to get the data to be transformed
            
            </param>
            <seealso cref="T:CSJ2K.j2k.image.BlkImgDataSrc">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataConverter.getFixedPoint(System.Int32)">
            <summary> 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.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point, which is the same as the
            number of fractional bits.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.ImgDataConverter.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.ImgDataConverter.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.ImgDataConverter.getData(CSJ2K.j2k.image.DataBlk,System.Int32,System.Boolean)">
            <summary> Implements the 'getInternCompData()' and the 'getCompData()'
            methods. The 'intern' flag signals which of the two methods should run
            as.
            
            </summary>
            <param name="blk">The data block to get.
            
            </param>
            <param name="c">The index of the component from which to get the data.
            
            </param>
            <param name="intern">If true behave as 'getInternCompData(). Otherwise behave
            as 'getCompData()'
            
            </param>
            <returns> The requested data block
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.image.ImgDataConverter.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
            <seealso cref="M:CSJ2K.j2k.image.ImgDataConverter.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.image.ImgDataJoiner">
            <summary> 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>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            </seealso>
            <seealso cref="!:jj2000.j2k.image.input.ImgReader">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataJoiner.w">
            <summary>The width of the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataJoiner.h">
            <summary>The height of the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataJoiner.nc">
            <summary>The number of components in the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataJoiner.imageData">
            <summary>The list of input ImgData </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataJoiner.compIdx">
            <summary>The component index associated with each ImgData </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataJoiner.subsX">
            <summary>The subsampling factor along the horizontal direction, for every
            component 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.ImgDataJoiner.subsY">
            <summary>The subsampling factor along the vertical direction, for every
            component 
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.ImgDataJoiner.#ctor(CSJ2K.j2k.image.BlkImgDataSrc[],System.Int32[])" -->
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal direction,
            for the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The horizontal subsampling factor of component 'c'
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical direction, for
            the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1)
            
            </param>
            <returns> The vertical subsampling factor of component 'c'
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getTileCompWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in tile<tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getTileCompHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component.
            
            </summary>
            <param name="t">The tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in the current
            tile.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getCompImgWidth(System.Int32)">
            <summary> Returns the width in pixels of the specified component in the overall
            image.
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getCompImgHeight(System.Int32)">
            <summary> Returns the height in pixels of the specified component in the
            overall image.
            
            </summary>
            <param name="n">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height in pixels of component <tt>n</tt> in the overall
            image.
            
            
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.ImgDataJoiner.getNomRangeBits(System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getFixedPoint(System.Int32)">
            <summary> 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.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point, which is the same as the
            number of fractional bits. For floating-point data 0 is returned.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.ImgDataJoiner.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.ImgDataJoiner.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new coordinates. An
            IllegalArgumentException is thrown if the coordinates do not correspond
            to a valid tile.
            
            </summary>
            <param name="x">The horizontal coordinate of the tile.
            
            </param>
            <param name="y">The vertical coordinate of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). A NoNextElementException is thrown if the current tile is the
            last one (i.e. there is no next tile). This default implementation
            assumes no tiling, so NoNextElementException() is always thrown.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getTile(CSJ2K.j2k.image.Coord)">
            <summary> Returns the coordinates of the current tile. This default
            implementation assumes no-tiling, so (0,0) is returned.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The current tile's coordinates.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getCompULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getCompULY(System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getNumTiles(CSJ2K.j2k.image.Coord)">
            <summary> Returns the number of tiles in the horizontal and vertical
            directions. This default implementation assumes no tiling, so (1,1) is
            always returned.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The number of tiles in the horizontal (Coord.x) and vertical
            (Coord.y) directions.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.getNumTiles">
            <summary> Returns the total number of tiles in the image. This default
            implementation assumes no tiling, so 1 is always returned.
            
            </summary>
            <returns> The total number of tiles in the image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.ImgDataJoiner.ToString">
            <summary> Returns a string of information about the object, more than 1 line
            long. The information string includes information from the several
            input ImgData (their toString() method are called one after the other).
            
            </summary>
            <returns> A string of information about the object.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.TileWidth">
            <summary> Returns the overall width of the current tile in pixels. This is the
            tile's width without accounting for any component subsampling.
            
            </summary>
            <returns> The total current tile's width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.TileHeight">
            <summary> Returns the overall height of the current tile in pixels. This is the
            tile's height without accounting for any component subsampling.
            
            </summary>
            <returns> The total current tile's height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.NomTileWidth">
            <summary>Returns the nominal tiles width </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.NomTileHeight">
            <summary>Returns the nominal tiles height </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.ImgWidth">
            <summary> Returns the overall width of the image in pixels. This is the image's
            width without accounting for any component subsampling or tiling.
            
            </summary>
            <returns> The total image's width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.ImgHeight">
            <summary> Returns the overall height of the image in pixels. This is the image's
            height without accounting for any component subsampling or tiling.
            
            </summary>
            <returns> The total image's height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.NumComps">
            <summary> Returns the number of components in the image.
            
            </summary>
            <returns> The number of components in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.TileIdx">
            <summary> Returns the index of the current tile, relative to a standard scan-line
            order. This default implementations assumes no tiling, so 0 is always
            returned.
            
            </summary>
            <returns> The current tile's index (starts at 0).
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.TilePartULX">
            <summary>Returns the horizontal tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.TilePartULY">
            <summary>Returns the vertical tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.ImgULX">
            <summary> Returns the horizontal coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            </summary>
            <returns> The horizontal coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.ImgDataJoiner.ImgULY">
            <summary> Returns the vertical coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            </summary>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.image.input.ImgReader">
            <summary> This is the generic interface to be implemented by all image file (or other
            resource) readers for different image file formats.
            
            <p>An ImgReader behaves as an ImgData object. Whenever image data is
            requested through the getInternCompData() or getCompData() methods, the
            image data will be read (if it is not buffered) and returned. Implementing
            classes should not buffer large amounts of data, so as to reduce memory
            usage.</p>
            
            <p>This class sets the image origin to (0,0). All default implementations
            of the methods assume this.</p>
            
            <p>This class provides default implementations of many methods. These
            default implementations assume that there is no tiling (i.e., the only tile
            is the entire image), that the image origin is (0,0) in the canvas system
            and that there is no component subsampling (all components are the same
            size), but they can be overloaded by the implementating class if need
            be.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.input.ImgReader.w">
            <summary>The width of the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.input.ImgReader.h">
            <summary>The height of the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.input.ImgReader.nc">
            <summary>The number of components in the image </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.close">
            <summary> Closes the underlying file or network connection from where the
            image data is being read.
            
            </summary>
            <exception cref="!:IOException">If an I/O error occurs.
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal direction,
            for the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and C-1)
            
            </param>
            <returns> The horizontal subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical direction, for
            the specified component. This is, approximately, the ratio of
            dimensions between the reference grid and the component itself, see the
            'ImgData' interface desription for details.
            
            </summary>
            <param name="c">The index of the component (between 0 and C-1)
            
            </param>
            <returns> The vertical subsampling factor of component 'c'
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getTileCompWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component. This
            default implementation assumes no tiling and no component subsampling
            (i.e., all components, or components, have the same dimensions in
            pixels).
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">The index of the component, from 0 to C-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in tile<tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getTileCompHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component. This
            default implementation assumes no tiling and no component subsampling
            (i.e., all components, or components, have the same dimensions in
            pixels).
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">The index of the component, from 0 to C-1.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in tile
            <tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getCompImgWidth(System.Int32)">
            <summary> Returns the width in pixels of the specified component in the overall
            image. This default implementation assumes no component, or component,
            subsampling (i.e. all components have the same dimensions in pixels).
            
            </summary>
            <param name="c">The index of the component, from 0 to C-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getCompImgHeight(System.Int32)">
            <summary> Returns the height in pixels of the specified component in the overall
            image. This default implementation assumes no component, or component,
            subsampling (i.e. all components have the same dimensions in pixels).
            
            </summary>
            <param name="c">The index of the component, from 0 to C-1.
            
            </param>
            <returns> The height in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new coordinates. An
            IllegalArgumentException is thrown if the coordinates do not correspond
            to a valid tile. This default implementation assumes no tiling so the
            only valid arguments are x=0, y=0.
            
            </summary>
            <param name="x">The horizontal coordinate of the tile.
            
            </param>
            <param name="y">The vertical coordinate of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). A NoNextElementException is thrown if the current tile is the
            last one (i.e. there is no next tile). This default implementation
            assumes no tiling, so NoNextElementException() is always thrown.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getTile(CSJ2K.j2k.image.Coord)">
            <summary> Returns the coordinates of the current tile. This default
            implementation assumes no-tiling, so (0,0) is returned.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The current tile's coordinates.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getCompULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getCompULY(System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getNumTiles(CSJ2K.j2k.image.Coord)">
            <summary> Returns the number of tiles in the horizontal and vertical
            directions. This default implementation assumes no tiling, so (1,1) is
            always returned.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The number of tiles in the horizontal (Coord.x) and vertical
            (Coord.y) directions.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.getNumTiles">
            <summary> Returns the total number of tiles in the image. This default
            implementation assumes no tiling, so 1 is always returned.
            
            </summary>
            <returns> The total number of tiles in the image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReader.isOrigSigned(System.Int32)">
            <summary> Returns true if the data read was originally signed in the specified
            component, false if not.
            
            </summary>
            <param name="c">The index of the component, from 0 to C-1.
            
            </param>
            <returns> true if the data was originally signed, false if not.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.TileWidth">
            <summary> Returns the width of the current tile in pixels, assuming there is
            no-tiling. Since no-tiling is assumed this is the same as the width of
            the image. The value of <tt>w</tt> is returned.
            
            </summary>
            <returns> The total image width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.TileHeight">
            <summary> Returns the overall height of the current tile in pixels, assuming
            there is no-tiling. Since no-tiling is assumed this is the same as the
            width of the image. The value of <tt>h</tt> is returned.
            
            </summary>
            <returns> The total image height in pixels.  
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.NomTileWidth">
            <summary>Returns the nominal tiles width </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.NomTileHeight">
            <summary>Returns the nominal tiles height </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.ImgWidth">
            <summary> Returns the overall width of the image in pixels. This is the image's
            width without accounting for any component subsampling or tiling. The
            value of <tt>w</tt> is returned.
            
            </summary>
            <returns> The total image's width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.ImgHeight">
            <summary> Returns the overall height of the image in pixels. This is the image's
            height without accounting for any component subsampling or tiling. The
            value of <tt>h</tt> is returned.
            
            </summary>
            <returns> The total image's height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.NumComps">
            <summary> Returns the number of components in the image. The value of <tt>nc</tt>
            is returned.
            
            </summary>
            <returns> The number of components in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.TileIdx">
            <summary> Returns the index of the current tile, relative to a standard scan-line
            order. This default implementations assumes no tiling, so 0 is always
            returned.
            
            </summary>
            <returns> The current tile's index (starts at 0).
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.TilePartULX">
            <summary>Returns the horizontal tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.TilePartULY">
            <summary>Returns the vertical tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.ImgULX">
            <summary> Returns the horizontal coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            </summary>
            <returns> The horizontal coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.input.ImgReader.ImgULY">
            <summary> Returns the vertical coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            </summary>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.image.input.ImgReaderPGM" -->
        <member name="F:CSJ2K.j2k.image.input.ImgReaderPGM.DC_OFFSET">
            <summary>DC offset value used when reading image </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.input.ImgReaderPGM.offset">
            <summary>The offset of the raw pixel data in the PGM file </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.input.ImgReaderPGM.rb">
            <summary>The number of bits that determine the nominal dynamic range </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.input.ImgReaderPGM.buf">
            <summary>The line buffer. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.input.ImgReaderPGM.intBlk">
            <summary>Temporary DataBlkInt object (needed when encoder uses floating-point
            filters). This avoid allocating new DataBlk at each time 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReaderPGM.close">
            <summary> Closes the underlying RandomAccessFile from where the image data is
            being read. No operations are possible after a call to this method.
            
            </summary>
            <exception cref="!:IOException">If an I/O error occurs.
            
            </exception>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.input.ImgReaderPGM.getNomRangeBits(System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.input.ImgReaderPGM.getFixedPoint(System.Int32)">
            <summary> Returns the position of the fixed point in the specified component
            (i.e. the number of fractional bits), which is always 0 for this
            ImgReader.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point (i.e. the number of fractional
            bits). Always 0 for this ImgReader.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.input.ImgReaderPGM.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.input.ImgReaderPGM.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.input.ImgReaderPGM.countedByteRead">
            <summary> Returns a byte read from the RandomAccessIO. The number of read byted
            are counted to keep track of the offset of the pixel data in the PGM
            file
            
            </summary>
            <returns> One byte read from the header of the PGM file.
            
            </returns>
            <exception cref="!:IOException">If an I/O error occurs.
            
            </exception>
            <exception cref="!:EOFException">If an EOF is read 
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReaderPGM.confirmFileType">
            <summary> Checks that the RandomAccessIO begins with 'P5'
            
            </summary>
            <exception cref="!:IOException">If an I/O error occurs.
            </exception>
            <exception cref="!:EOFException">If an EOF is read
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReaderPGM.skipCommentAndWhiteSpace">
            <summary> Skips any line in the header starting with '#' and any space, tab, line
            feed or carriage return.
            
            </summary>
            <exception cref="!:IOException">If an I/O error occurs.  
            </exception>
            <exception cref="!:EOFException">if an EOF is read
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReaderPGM.readHeaderInt">
            <summary> Returns an int read from the header of the PGM file.
            
            </summary>
            <returns> One int read from the header of the PGM file.
            
            </returns>
            <exception cref="!:IOException">If an I/O error occurs.
            </exception>
            <exception cref="!:EOFException">If an EOF is read 
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.image.input.ImgReaderPGM.isOrigSigned(System.Int32)">
            <summary> Returns true if the data read was originally signed in the specified
            component, false if not. This method returns always false since PGM
            data is always unsigned.
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> always false, since PGM data is always unsigned.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.image.invcomptransf.InvCompTransf">
            <summary> This class apply inverse component transformations to the tiles depending
            on specification read from the codestream header. 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).
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.NONE">
            <summary>Identifier for no component transformation. Value is 0. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.OPT_PREFIX">
            <summary>The prefix for inverse component transformation options: 'M' </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.INV_RCT">
            <summary>Identifier for the Inverse Reversible Component Transformation
            (INV_RCT). Value is 1. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.INV_ICT">
            <summary>Identifier for the Inverse Irreversible Component
            Transformation (INV_ICT). Value is 2 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.pinfo">
            <summary>The list of parameters that is accepted by the inverse
            component transformation module. They start with 'M'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.src">
            <summary>The source of image data </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.cts">
            <summary>The component transformations specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.wfs">
            <summary>The wavelet filter specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.transfType">
            <summary>The type of the current component transformation JPEG 2000
            part I only support NONE, FORW_RCT and FORW_ICT types
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.outdata">
            <summary>Buffer for each component of output data </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.block0">
            <summary>Block used to request component 0 </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.block1">
            <summary>Block used to request component 1 </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.block2">
            <summary>Block used to request component 2 </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.dbi">
            <summary>Data block used only to store coordinates and progressiveness 
            of the buffered blocks 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.utdepth">
            <summary>The bit-depths of un-transformed components </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.invcomptransf.InvCompTransf.noCompTransf">
            <summary>Flag indicating whether the decoder should skip the component 
            transform
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.j2k.decoder.DecoderSpecs,System.Int32[],CSJ2K.j2k.util.ParameterList)">
            <summary> Constructs a new ForwCompTransf object that operates on the
            specified source of image data.
            
            </summary>
            <param name="imgSrc">The source from where to get the data to be
            transformed
            
            </param>
            <param name="decSpec">The decoder specifications
            
            </param>
            <param name="utdepth">The bit depth of the un-transformed components 
            
            </param>
            <param name="pl">The command line optinons of the decoder
            
            </param>
            <seealso cref="T:CSJ2K.j2k.image.BlkImgDataSrc">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.ToString">
            <summary> Returns a string with a descriptive text of which inverse component
            transformation is used. This can be either "Inverse RCT" or "Inverse
            ICT" or "No component transformation" depending on the current tile.
            
            </summary>
            <returns> A descriptive string
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.getFixedPoint(System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.calcMixedBitDepths(System.Int32[],System.Int32,System.Int32[])">
            <summary> Calculates the bitdepths of the transformed components, given the
            bitdepth of the un-transformed components and the component
            tranformation type.
            
            </summary>
            <param name="utdepth">The bitdepth of each un-transformed component
            
            </param>
            <param name="ttype">The type ID of the inverse component tranformation
            
            </param>
            <param name="tdepth">If not null the results are stored in this
            array, otherwise a new array is allocated and returned.
            
            </param>
            <returns> The bitdepth of each transformed component.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.getNomRangeBits(System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> Apply the inverse 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 (invRCT or
            invICT).
            
            </summary>
            <seealso cref="M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.invRCT(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
            <seealso cref="M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.invICT(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
            <param name="blk">Determines the rectangular area to return.
            
            </param>
            <param name="c">Index of the output component.
            
            </param>
            <returns> The requested DataBlk
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.invRCT(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> Apply inverse component transformation to obtain requested component
            from specified block of data. Whatever the type of requested DataBlk,
            it always returns a DataBlkInt.
            
            </summary>
            <param name="blk">Determine the rectangular area to return 
            
            </param>
            <param name="c">The index of the requested component
            
            </param>
            <returns> Data of requested component
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.invICT(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> Apply inverse irreversible component transformation to obtain requested
            component from specified block of data. Whatever the type of requested
            DataBlk, it always returns a DataBlkFloat.
            
            </summary>
            <param name="blk">Determine the rectangular area to return 
            
            </param>
            <param name="c">The index of the requested component
            
            </param>
            <returns> Data of requested component
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.setTile(System.Int32,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.invcomptransf.InvCompTransf.nextTile" -->
        <member name="P:CSJ2K.j2k.image.invcomptransf.InvCompTransf.ParameterInfo">
            <summary> 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, 
            or null if no options are supported.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.invcomptransf.InvCompTransf.Reversible">
            <summary> 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).
            
            </summary>
            <returns> Reversibility of component transformation in current
            tile
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.image.Tiler">
            <summary> 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>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.image.BlkImgDataSrc">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.src">
            <summary>The source of image data </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.x0siz">
            <summary>Horizontal coordinate of the upper left hand reference grid point.</summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.y0siz">
            <summary>Vertical coordinate of the upper left hand reference grid point.</summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.xt0siz">
            <summary>The horizontal coordinate of the tiling origin in the canvas system,
            on the reference grid. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.yt0siz">
            <summary>The vertical coordinate of the tiling origin in the canvas system, on
            the reference grid. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.xtsiz">
            <summary>The nominal width of the tiles, on the reference grid. If 0 then there 
            is no tiling in that direction. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.ytsiz">
            <summary>The nominal height of the tiles, on the reference grid. If 0 then
            there is no tiling in that direction. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.ntX">
            <summary>The number of tiles in the horizontal direction. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.ntY">
            <summary>The number of tiles in the vertical direction. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.compW">
            <summary>The component width in the current active tile, for each component </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.compH">
            <summary>The component height in the current active tile, for each component </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.tcx0">
            <summary>The horizontal coordinates of the upper-left corner of the components
            in the current tile 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.tcy0">
            <summary>The vertical coordinates of the upper-left corner of the components in
            the current tile. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.tx">
            <summary>The horizontal index of the current tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.ty">
            <summary>The vertical index of the current tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.tileW">
            <summary>The width of the current tile, on the reference grid. </summary>
        </member>
        <member name="F:CSJ2K.j2k.image.Tiler.tileH">
            <summary>The height of the current tile, on the reference grid. </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.image.Tiler.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.image.Tiler.getTileCompWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width of specified tile-component.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getTileCompHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component.
            
            </summary>
            <param name="t">The tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height of specified tile-component.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getFixedPoint(System.Int32)">
            <summary> 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.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point, which is the same as the
            number of fractional bits. For floating-point data 0 is returned.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> 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.
            
            <p>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.</p>
            
            <p>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.</p>
            
            <p>If the data array in <tt>blk</tt> is <tt>null</tt>, 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 <tt>blk</tt> 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
            <tt>blk</tt> after the method has returned.</p>
            
            <p>The returned data may have its 'progressive' attribute set. In this
            case the returned data is only an approximation of the "final"
            data.</p>
            
            </summary>
            <param name="blk">Its coordinates and dimensions specify the area to return,
            relative to the current tile. Some fields in this object are modified
            to return the data.
            
            </param>
            <param name="c">The index of the component from which to get the data.
            
            </param>
            <returns> The requested DataBlk
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.image.Tiler.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> 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".
            
            <p>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.</p>
            
            <p>This method, in general, is less efficient than the
            'getInternCompData()' method since, in general, it copies the
            data. However if the array of returned data is to be modified by the
            caller then this method is preferable.</p>
            
            <p>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.</p>
            
            <p>The returned data may have its 'progressive' attribute set. In this
            case the returned data is only an approximation of the "final"
            data.</p>
            
            </summary>
            <param name="blk">Its coordinates and dimensions specify the area to return,
            relative to the current tile. If it contains a non-null data array,
            then it must be large enough. If it contains a null data array a new
            one is created. Some fields in this object are modified to return the
            data.
            
            </param>
            <param name="c">The index of the component from which to get the data.
            
            </param>
            <returns> The requested DataBlk
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.image.Tiler.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new tile indexes. An
            IllegalArgumentException is thrown if the coordinates do not correspond
            to a valid tile.
            
            </summary>
            <param name="x">The horizontal index of the tile.
            
            </param>
            <param name="y">The vertical index of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). An NoNextElementException is thrown if the current tile is
            the last one (i.e. there is no next tile).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getTile(CSJ2K.j2k.image.Coord)">
            <summary> Returns the horizontal and vertical indexes of the current tile.
            
            </summary>
            <param name="co">If not null this object is used to return the
            information. If null a new one is created and returned.
            
            </param>
            <returns> The current tile's horizontal and vertical indexes..
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getCompULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getCompULY(System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getNumTiles(CSJ2K.j2k.image.Coord)">
            <summary> Returns the number of tiles in the horizontal and vertical directions.
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The number of tiles in the horizontal (Coord.x) and vertical
            (Coord.y) directions.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getNumTiles">
            <summary> Returns the total number of tiles in the image.
            
            </summary>
            <returns> The total number of tiles in the image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.getTilingOrigin(CSJ2K.j2k.image.Coord)">
            <summary> Returns the tiling origin, referred to as '(xt0siz,yt0siz)' in the
            codestream header (SIZ marker segment).
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The coordinate of the tiling origin, in the canvas system, on
            the reference grid.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.image.Tiler.ToString">
            <summary> Returns a String object representing Tiler's informations
            
            </summary>
            <returns> Tiler's infos in a string
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.Tiler.TileWidth">
            <summary> Returns the overall width of the current tile in pixels. This is the
            tile's width without accounting for any component subsampling.
            
            </summary>
            <returns> The total current tile width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.Tiler.TileHeight">
            <summary> Returns the overall height of the current tile in pixels. This is the
            tile's width without accounting for any component subsampling.
            
            </summary>
            <returns> The total current tile height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.Tiler.TileIdx">
            <summary> Returns the index of the current tile, relative to a standard scan-line
            order.
            
            </summary>
            <returns> The current tile's index (starts at 0).
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.Tiler.TilePartULX">
            <summary>Returns the horizontal tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.Tiler.TilePartULY">
            <summary>Returns the vertical tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.image.Tiler.ImgULX">
            <summary> Returns the horizontal coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            </summary>
            <returns> The horizontal coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.Tiler.ImgULY">
            <summary> Returns the vertical coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            </summary>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.Tiler.NomTileWidth">
            <summary> Returns the nominal width of the tiles in the reference grid.
            
            </summary>
            <returns> The nominal tile width, in the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.image.Tiler.NomTileHeight">
            <summary> Returns the nominal width of the tiles in the reference grid.
            
            </summary>
            <returns> The nominal tile width, in the reference grid.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.IntegerSpec">
            <summary> This class extends ModuleSpec and is responsible of Integer specifications
            for each tile-component.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.IntegerSpec.MAX_INT">
            <summary>The largest value of type int </summary>
        </member>
        <member name="M:CSJ2K.j2k.IntegerSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Constructs a new 'IntegerSpec' for the specified number of tiles and
            components and with allowed type of specifications. This constructor is
            normally called at decoder side.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">The type of allowed specifications
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.IntegerSpec.#ctor(System.Int32,System.Int32,System.Byte,CSJ2K.j2k.util.ParameterList,System.String)">
            <summary> Constructs a new 'IntegerSpec' for the specified number of tiles and
            components, the allowed specifications type and the ParameterList
            instance. This constructor is normally called at encoder side and parse
            arguments of specified option.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">The allowed specifications type
            
            </param>
            <param name="pl">The ParameterList instance
            
            </param>
            <param name="optName">The name of the option to process
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.IntegerSpec.getMaxInComp(System.Int32)">
            <summary> Gets the maximum value of each tile for specified component
            
            </summary>
            <param name="c">The component index
            
            </param>
            <returns> The maximum value
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.IntegerSpec.getMinInComp(System.Int32)">
            <summary> Gets the minimum value of all tiles for the specified component.
            
            </summary>
            <param name="c">The component index
            
            </param>
            <returns> The minimum value
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.IntegerSpec.getMaxInTile(System.Int32)">
            <summary> Gets the maximum value of all components in the specified tile.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <returns> The maximum value
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.IntegerSpec.getMinInTile(System.Int32)">
            <summary> Gets the minimum value of each component in specified tile
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <returns> The minimum value
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.IntegerSpec.Max">
            <summary> Gets the maximum value of all tile-components.
            
            </summary>
            <returns> The maximum value
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.IntegerSpec.Min">
            <summary> Get the minimum value of all tile-components.
            
            </summary>
            <returns> The minimum value
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.io.BEBufferedRandomAccessFile">
            <summary> This class defines a Buffered Random Access File, where all I/O is
            considered to be big-endian. It extends the
            <tt>BufferedRandomAccessFile</tt> class.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.io.RandomAccessIO">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.io.BinaryDataOutput">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.io.BinaryDataInput">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.io.BufferedRandomAccessFile">
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.io.BufferedRandomAccessFile" -->
        <member name="T:CSJ2K.j2k.io.RandomAccessIO">
            <summary> This abstract class defines the interface to perform random access I/O. It
            implements the <tt>BinaryDataInput</tt> and <tt>BinaryDataOutput</tt>
            interfaces so that binary data input/output can be performed.
            
            <p>This interface supports streams of up to 2 GB in length.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.io.BinaryDataInput">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.io.BinaryDataOutput">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.io.BinaryDataInput">
            <summary> This interface defines the input of binary data from streams and/or files.
            
            <p>Byte level input (i.e., for byte, int, long, float, etc.) should always
            be byte aligned. For example, a request to read an <tt>int</tt> should
            always realign the input at the byte level.</p>
            
            <p>The implementation of this interface should clearly define if multi-byte
            input data is read in little- or big-endian byte ordering (least
            significant byte first or most significant byte first, respectively).</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.io.EndianType">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.readByte">
            <summary> Should read a signed byte (i.e., 8 bit) from the input.  reading, the
            input should be realigned at the byte level.
            
            </summary>
            <returns> The next byte-aligned signed byte (8 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.readUnsignedByte">
            <summary> Should read an unsigned byte (i.e., 8 bit) from the input. It is
            returned as an <tt>int</tt> since Java does not have an unsigned byte
            type. Prior to reading, the input should be realigned at the byte
            level.
            
            </summary>
            <returns> The next byte-aligned unsigned byte (8 bit) from the input, as
            an <tt>int</tt>.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.readShort">
            <summary> Should read a signed short (i.e., 16 bit) from the input. Prior to
            reading, the input should be realigned at the byte level.
            
            </summary>
            <returns> The next byte-aligned signed short (16 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.readUnsignedShort">
            <summary> Should read an unsigned short (i.e., 16 bit) from the input. It is
            returned as an <tt>int</tt> since Java does not have an unsigned short
            type. Prior to reading, the input should be realigned at the byte
            level.
            
            </summary>
            <returns> The next byte-aligned unsigned short (16 bit) from the input,
            as an <tt>int</tt>.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.readInt">
            <summary> Should read a signed int (i.e., 32 bit) from the input. Prior to
            reading, the input should be realigned at the byte level.
            
            </summary>
            <returns> The next byte-aligned signed int (32 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.readUnsignedInt">
            <summary> Should read an unsigned int (i.e., 32 bit) from the input. It is
            returned as a <tt>long</tt> since Java does not have an unsigned short
            type. Prior to reading, the input should be realigned at the byte
            level.
            
            </summary>
            <returns> The next byte-aligned unsigned int (32 bit) from the input, as
            a <tt>long</tt>.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.readLong">
            <summary> Should read a signed long (i.e., 64 bit) from the input. Prior to
            reading, the input should be realigned at the byte level.
            
            </summary>
            <returns> The next byte-aligned signed long (64 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.readFloat">
            <summary> Should read an IEEE single precision (i.e., 32 bit) floating-point
            number from the input. Prior to reading, the input should be realigned
            at the byte level.
            
            </summary>
            <returns> The next byte-aligned IEEE float (32 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.readDouble">
            <summary> Should read an IEEE double precision (i.e., 64 bit) floating-point
            number from the input. Prior to reading, the input should be realigned
            at the byte level.
            
            </summary>
            <returns> The next byte-aligned IEEE double (64 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataInput.skipBytes(System.Int32)">
            <summary> Skips <tt>n</tt> bytes from the input. Prior to skipping, the input
            should be realigned at the byte level.
            
            </summary>
            <param name="n">The number of bytes to skip
            
            </param>
            <exception cref="!:EOFException">If the end-of file was reached before all the
            bytes could be skipped.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="P:CSJ2K.j2k.io.BinaryDataInput.ByteOrdering">
            <summary> Returns the endianess (i.e., byte ordering) of the implementing
            class. Note that an implementing class may implement only one type of
            endianness or both, which would be decided at creatiuon time.
            
            </summary>
            <returns> Either <tt>EndianType.BIG_ENDIAN</tt> or
            <tt>EndianType.LITTLE_ENDIAN</tt>
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.io.EndianType">
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.io.BinaryDataOutput" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.io.BinaryDataOutput.writeByte(System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.io.BinaryDataOutput.writeShort(System.Int32)" -->
        <member name="M:CSJ2K.j2k.io.BinaryDataOutput.writeInt(System.Int32)">
            <summary> Should write the int value of <tt>v</tt> (i.e., the 32 bits) to
            the output. Prior to writing, the output should be realigned at
            the byte level.
            
            </summary>
            <param name="v">The value to write to the output
            
            </param>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataOutput.writeLong(System.Int64)">
            <summary> Should write the long value of <tt>v</tt> (i.e., the 64 bits)
            to the output. Prior to writing, the output should be realigned
            at the byte level.
            
            </summary>
            <param name="v">The value to write to the output
            
            </param>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataOutput.writeFloat(System.Single)">
            <summary> Should write the IEEE float value <tt>v</tt> (i.e., 32 bits) to
            the output. Prior to writing, the output should be realigned at
            the byte level.
            
            </summary>
            <param name="v">The value to write to the output
            
            </param>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataOutput.writeDouble(System.Double)">
            <summary> Should write the IEEE double value <tt>v</tt> (i.e., 64 bits)
            to the output. Prior to writing, the output should be realigned
            at the byte level.
            
            </summary>
            <param name="v">The value to write to the output
            
            </param>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BinaryDataOutput.flush">
            <summary> Any data that has been buffered must be written, and the stream should
            be realigned at the byte level.
            
            </summary>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            
            
            </exception>
        </member>
        <member name="P:CSJ2K.j2k.io.BinaryDataOutput.ByteOrdering">
            <summary> Returns the endianness (i.e., byte ordering) of the implementing
            class. Note that an implementing class may implement only one
            type of endianness or both, which would be decided at creatiuon
            time.
            
            </summary>
            <returns> Either <tt>EndianType.BIG_ENDIAN</tt> or
            <tt>EndianType.LITTLE_ENDIAN</tt>
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.io.EndianType">
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.io.RandomAccessIO.close">
            <summary> Closes the I/O stream. Prior to closing the stream, any buffered data
            (at the bit and byte level) should be written.
            
            </summary>
            <exception cref="!:IOException">If an I/O error ocurred. 
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.RandomAccessIO.length">
            <summary> Returns the current length of the stream, in bytes, taking into account
            any buffering.
            
            </summary>
            <returns> The length of the stream, in bytes.
            
            </returns>
            <exception cref="!:IOException">If an I/O error ocurred. 
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.RandomAccessIO.seek(System.Int32)">
            <summary> Moves the current position for the next read or write operation to
            offset. The offset is measured from the beginning of the stream. The
            offset may be set beyond the end of the file, if in write mode. Setting
            the offset beyond the end of the file does not change the file
            length. The file length will change only by writing after the offset
            has been set beyond the end of the file.
            
            </summary>
            <param name="off">The offset where to move to.
            
            </param>
            <exception cref="!:EOFException">If in read-only and seeking beyond EOF.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.RandomAccessIO.read">
            <summary> Reads a byte of data from the stream. Prior to reading, the stream is
            realigned at the byte level.
            
            </summary>
            <returns> The byte read, as an int.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.RandomAccessIO.readFully(System.Byte[],System.Int32,System.Int32)">
            <summary> Reads up to len bytes of data from this file into an array of
            bytes. This method reads repeatedly from the stream until all the bytes
            are read. This method blocks until all the bytes are read, the end of
            the stream is detected, or an exception is thrown.
            
            </summary>
            <param name="b">The buffer into which the data is to be read. It must be long
            enough.
            
            </param>
            <param name="off">The index in 'b' where to place the first byte read.
            
            </param>
            <param name="len">The number of bytes to read.
            
            </param>
            <exception cref="!:EOFException">If the end-of file was reached before
            getting all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.RandomAccessIO.write(System.Byte)">
            <summary> Writes a byte to the stream. Prior to writing, the stream is realigned
            at the byte level.
            
            </summary>
            <param name="b">The byte to write. The lower 8 bits of <tt>b</tt> are
            written.
            
            </param>
            <exception cref="!:IOException">If an I/O error ocurred. 
            
            </exception>
        </member>
        <member name="P:CSJ2K.j2k.io.RandomAccessIO.Pos">
            <summary> Returns the current position in the stream, which is the position from
            where the next byte of data would be read. The first byte in the stream
            is in position <tt>0</tt>.
            
            </summary>
            <returns> The offset of the current position, in bytes.
            
            </returns>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="F:CSJ2K.j2k.io.BufferedRandomAccessFile.fileName">
            <summary>The name of the current file </summary>
        </member>
        <member name="F:CSJ2K.j2k.io.BufferedRandomAccessFile.isReadOnly">
            <summary> Whether the opened file is read only or not (defined by the constructor
            arguments)
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.io.BufferedRandomAccessFile.byteBuffer">
            <summary> Buffer of bytes containing the part of the file that is currently being
            accessed
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.io.BufferedRandomAccessFile.byteBufferChanged">
            <summary> Boolean keeping track of whether the byte buffer has been changed since
            it was read.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.io.BufferedRandomAccessFile.offset">
            <summary> The current offset of the buffer (which will differ from the offset of
            the file) 
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.io.BufferedRandomAccessFile.position">
            <summary> The current position in the byte-buffer
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.io.BufferedRandomAccessFile.maxByte">
            <summary> The maximum number of bytes that can be read from the buffer
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.io.BufferedRandomAccessFile.isEOFInBuffer">
            <summary> Whether the end of the file is in the current buffer or not
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.#ctor(System.Object,System.String,System.Int32)">
            <summary> Constructor. Always needs a size for the buffer.
            
            </summary>
            <param name="file">The file associated with the buffer
            
            </param>
            <param name="mode">"r" for read, "rw" or "rw+" for read and write mode ("rw+"
            opens the file for update whereas "rw" removes it
            before. So the 2 modes are different only if the file
            already exists).
            
            </param>
            <param name="bufferSize">The number of bytes to buffer
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.#ctor(System.Object,System.String)">
            <summary> Constructor. Uses the default value for the byte-buffer 
            size (512 bytes).
            
            </summary>
            <param name="file">The file associated with the buffer
            
            </param>
            <param name="mode">"r" for read, "rw" or "rw+" for read and write mode
            ("rw+" opens the file for update whereas "rw" removes 
            it before. So the 2 modes are different only if the 
            file already exists).
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.#ctor(System.String,System.String,System.Int32)">
            <summary> Constructor. Always needs a size for the buffer.
            
            </summary>
            <param name="name">The name of the file associated with the buffer
            
            </param>
            <param name="mode">"r" for read, "rw" or "rw+" for read and write mode
            ("rw+" opens the file for update whereas "rw" removes 
            it before. So the 2 modes are different only if the 
            file already exists).
            
            </param>
            <param name="bufferSize">The number of bytes to buffer
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.#ctor(System.String,System.String)">
            <summary> Constructor. Uses the default value for the byte-buffer 
            size (512 bytes).
            
            </summary>
            <param name="name">The name of the file associated with the buffer
            
            </param>
            <param name="mode">"r" for read, "rw" or "rw+" for read and write mode
            ("rw+" opens the file for update whereas "rw" removes 
            it before. So the 2 modes are different only if the 
            file already exists).
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.readNewBuffer(System.Int32)">
            <summary> Reads a new buffer from the file. If there has been any
            changes made since the buffer was read, the buffer is 
            first written to the file.
            
            </summary>
            <param name="off">The offset where to move to.
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.close">
            <summary> Closes the buffered random access file
            
            </summary>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.length">
            <summary> Returns the current length of the stream, in bytes, taking into
            account any buffering.
            
            </summary>
            <returns> The length of the stream, in bytes.
            
            </returns>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.seek(System.Int32)">
            <summary> Moves the current position to the given offset at which the
            next read or write occurs. The offset is measured from the 
            beginning of the stream.
            
            </summary>
            <param name="off">The offset where to move to.
            
            </param>
            <exception cref="!:EOFException">If in read-only and seeking beyond EOF.
            
            </exception>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.readByte">
            <summary> Reads an unsigned byte of data from the stream. Prior to reading, the
            stream is realigned at the byte level.
            
            </summary>
            <returns> The byte read.
            
            </returns>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
            <exception cref="!:java.io.EOFException">If the end of file was reached
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.readFully(System.Byte[],System.Int32,System.Int32)">
            <summary> Reads up to len bytes of data from this file into an array of
            bytes. This method reads repeatedly from the stream until all the bytes
            are read. This method blocks until all the bytes are read, the end of
            the stream is detected, or an exception is thrown.
            
            </summary>
            <param name="b">The buffer into which the data is to be read. It must be long
            enough.
            
            </param>
            <param name="off">The index in 'b' where to place the first byte read.
            
            </param>
            <param name="len">The number of bytes to read.
            
            </param>
            <exception cref="!:EOFException">If the end-of file was reached before
            getting all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.write(System.Int32)">
            <summary> Writes a byte to the stream. Prior to writing, the stream is
            realigned at the byte level.
            
            </summary>
            <param name="b">The byte to write. The lower 8 bits of <tt>b</tt> are
            written.
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.write(System.Byte)">
            <summary> Writes a byte to the stream. Prior to writing, the stream is
            realigned at the byte level.
            
            </summary>
            <param name="b">The byte to write.
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.write(System.Byte[],System.Int32,System.Int32)">
            <summary> Writes aan array of bytes to the stream. Prior to writing, the stream is
            realigned at the byte level.
            
            </summary>
            <param name="b">The array of bytes to write. 
            
            </param>
            <param name="offset">The first byte in b to write 
            
            </param>
            <param name="length">The number of bytes from b to write 
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.io.BufferedRandomAccessFile.writeByte(System.Int32)" -->
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.flush">
            <summary> Any data that has been buffered must be written (including
            buffering at the bit level), and the stream should be realigned
            at the byte level.
            
            </summary>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.skipBytes(System.Int32)">
            <summary> Skips <tt>n</tt> bytes from the input. Prior to skipping, the
            input should be realigned at the byte level.
            
            </summary>
            <param name="n">The number of bytes to skip
            
            </param>
            <exception cref="!:java.io.EOFException">If the end-of file was reached before
            all the bytes could be skipped.
            
            </exception>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BufferedRandomAccessFile.ToString">
            <summary> Returns a string of information about the file
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.io.BufferedRandomAccessFile.Pos">
            <summary> Returns the current offset in the file
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.io.BufferedRandomAccessFile.ByteOrdering">
            <summary> Returns the endianess (i.e., byte ordering) of the implementing
            class. Note that an implementing class may implement only one
            type of endianness or both, which would be decided at creation
            time.
            
            </summary>
            <returns> Either <tt>EndianType.BIG_ENDIAN</tt> or
            <tt>EndianType.LITTLE_ENDIAN</tt>
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.io.EndianType">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.#ctor(System.Object,System.String,System.Int32)">
            <summary> Constructor. Always needs a size for the buffer.
            
            </summary>
            <param name="file">The file associated with the buffer
            
            </param>
            <param name="mode">"r" for read, "rw" or "rw+" for read and write mode ("rw+"
            opens the file for update whereas "rw" removes it
            before. So the 2 modes are different only if the file
            already exists).
            
            </param>
            <param name="bufferSize">The number of bytes to buffer
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.#ctor(System.Object,System.String)">
            <summary> Constructor. Uses the default value for the byte-buffer size (512
            bytes).
            
            </summary>
            <param name="file">The file associated with the buffer
            
            </param>
            <param name="mode">"r" for read, "rw" or "rw+" for read and write mode ("rw+"
            opens the file for update whereas "rw" removes it
            before. So the 2 modes are different only if the file
            already exists).
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.#ctor(System.String,System.String,System.Int32)">
            <summary> Constructor. Always needs a size for the buffer.
            
            </summary>
            <param name="name">The name of the file associated with the buffer
            
            </param>
            <param name="mode">"r" for read, "rw" or "rw+" for read and write mode ("rw+"
            opens the file for update whereas "rw" removes it
            before. So the 2 modes are different only if the file
            already exists).
            
            </param>
            <param name="bufferSize">The number of bytes to buffer
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.#ctor(System.String,System.String)">
            <summary> Constructor. Uses the default value for the byte-buffer size (512
            bytes).
            
            </summary>
            <param name="name">The name of the file associated with the buffer
            
            </param>
            <param name="mode">"r" for read, "rw" or "rw+" for read and write mode ("rw+"
            opens the file for update whereas "rw" removes it
            before. So the 2 modes are different only if the file
            already exists).
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.writeShort(System.Int32)">
            <summary> Writes the short value of <tt>v</tt> (i.e., 16 least significant bits)
            to the output. Prior to writing, the output should be realigned at the
            byte level.
            
            <p>Signed or unsigned data can be written. To write a signed value just
            pass the <tt>short</tt> value as an argument. To write unsigned data
            pass the <tt>int</tt> value as an argument (it will be automatically
            casted, and only the 16 least significant bits will be written).</p>
            
            </summary>
            <param name="v">The value to write to the output
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.writeInt(System.Int32)">
            <summary> Writes the int value of <tt>v</tt> (i.e., the 32 bits) to the
            output. Prior to writing, the output should be realigned at the byte
            level.
            
            </summary>
            <param name="v">The value to write to the output
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.writeLong(System.Int64)">
            <summary> Writes the long value of <tt>v</tt> (i.e., the 64 bits) to the
            output. Prior to writing, the output should be realigned at the byte
            level.
            
            </summary>
            <param name="v">The value to write to the output
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.writeFloat(System.Single)">
            <summary> Writes the IEEE float value <tt>v</tt> (i.e., 32 bits) to the
            output. Prior to writing, the output should be realigned at the byte
            level.
            
            </summary>
            <param name="v">The value to write to the output
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.writeDouble(System.Double)">
            <summary> Writes the IEEE double value <tt>v</tt> (i.e., 64 bits) to the
            output. Prior to writing, the output should be realigned at the byte
            level.
            
            </summary>
            <param name="v">The value to write to the output
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.readShort">
            <summary> Reads a signed short (i.e. 16 bit) from the input. Prior to reading,
            the input should be realigned at the byte level.
            
            </summary>
            <returns> The next byte-aligned signed short (16 bit) from the input.
            
            </returns>
            <exception cref="!:java.io.EOFException">If the end-of file was reached before
            getting all the necessary data.
            
            </exception>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.readUnsignedShort">
            <summary> Reads an unsigned short (i.e., 16 bit) from the input. It is returned
            as an <tt>int</tt> since Java does not have an unsigned short
            type. Prior to reading, the input should be realigned at the byte
            level.
            
            </summary>
            <returns> The next byte-aligned unsigned short (16 bit) from the input,
            as an <tt>int</tt>.
            
            </returns>
            <exception cref="!:java.io.EOFException">If the end-of file was reached before
            getting all the necessary data.
            
            </exception>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.readInt">
            <summary> Reads a signed int (i.e., 32 bit) from the input. Prior to reading, the
            input should be realigned at the byte level.
            
            </summary>
            <returns> The next byte-aligned signed int (32 bit) from the input.
            
            </returns>
            <exception cref="!:java.io.EOFException">If the end-of file was reached before
            getting all the necessary data.
            
            </exception>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.readUnsignedInt">
            <summary> Reads an unsigned int (i.e., 32 bit) from the input. It is returned as
            a <tt>long</tt> since Java does not have an unsigned short type. Prior
            to reading, the input should be realigned at the byte level.
            
            </summary>
            <returns> The next byte-aligned unsigned int (32 bit) from the input, as
            a <tt>long</tt>.
            
            </returns>
            <exception cref="!:java.io.EOFException">If the end-of file was reached before
            getting all the necessary data.
            
            </exception>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.readLong">
            <summary> Reads a signed long (i.e., 64 bit) from the input. Prior to reading,
            the input should be realigned at the byte level.
            
            </summary>
            <returns> The next byte-aligned signed long (64 bit) from the input.
            
            </returns>
            <exception cref="!:java.io.EOFException">If the end-of file was reached before
            getting all the necessary data.
            
            </exception>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.readFloat">
            <summary> Reads an IEEE single precision (i.e., 32 bit) floating-point number
            from the input. Prior to reading, the input should be realigned at the
            byte level.
            
            </summary>
            <returns> The next byte-aligned IEEE float (32 bit) from the input.
            
            </returns>
            <exception cref="!:java.io.EOFException">If the end-of file was reached before
            getting all the necessary data.
            
            </exception>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.readDouble">
            <summary> Reads an IEEE double precision (i.e., 64 bit) floating-point number
            from the input. Prior to reading, the input should be realigned at the
            byte level.
            
            </summary>
            <returns> The next byte-aligned IEEE double (64 bit) from the input.
            
            </returns>
            <exception cref="!:java.io.EOFException">If the end-of file was reached before
            getting all the necessary data.
            
            </exception>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.io.BEBufferedRandomAccessFile.ToString">
            <summary> Returns a string of information about the file and the endianess 
            
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.io.EndianType_Fields" -->
        <member name="F:CSJ2K.j2k.io.EndianType_Fields.BIG_ENDIAN">
            <summary>Identifier for big-endian byte ordering (i.e. most significant 
            byte first) 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.io.EndianType_Fields.LITTLE_ENDIAN">
            <summary>Identifier for little-endian byte ordering (i.e. least
            significant byte first) 
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.JJ2KExceptionHandler" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.JJ2KExceptionHandler.handleException(System.Exception)" -->
        <member name="T:CSJ2K.j2k.JJ2KInfo">
            <summary> This class holds general JJ2000 information, such as the version number,
            copyright, contact address, etc.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.JJ2KInfo.version">
            <summary>The version number (such as 2.0, 2.1.1, etc.) </summary>
        </member>
        <member name="F:CSJ2K.j2k.JJ2KInfo.copyright">
            <summary> The copyright message string. Double newlines separate paragraphs.
            Newlines should be respected when displaying the message.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.JJ2KInfo.bugaddr">
            <summary>The bug reporting e-mail address </summary>
        </member>
        <member name="T:CSJ2K.j2k.NoNextElementException">
            <summary> This exception is thrown whenever a next???? method is called and
            there is no next element to return.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.NoNextElementException.#ctor">
            <summary> Constructs a new <tt>NoNextElementException</tt> exception with no
            detail message.
            
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.NoNextElementException.#ctor(System.String)">
            <summary> Constructs a new <tt>NoNextElementException</tt> exception with
            the specified detail message.
            
            </summary>
            <param name="s">The detail message.
            
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.NotImplementedError" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.NotImplementedError.#ctor" -->
        <member name="M:CSJ2K.j2k.NotImplementedError.#ctor(System.String)">
            <summary> Constructs a new <tt>NotImplementedError</tt> exception with
            the specified detail message <tt>m</tt>.
            
            </summary>
            <param name="m">The detail message to use
            
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.quantization.dequantizer.Dequantizer">
            <summary> This is the abstract class from which all dequantizers must inherit. This
            class has the concept of a current tile and all operations are performed on
            the current tile.
            
            <p>This class provides default implemenations for most of the methods
            (wherever it makes sense), under the assumption that the image and
            component dimensions, and the tiles, are not modifed by the dequantizer. If
            that is not the case for a particular implementation then the methods
            should be overriden.</p>
            
            <p>Sign magnitude representation is used (instead of two's complement) for
            the input data. The most significant bit is used for the sign (0 if
            positive, 1 if negative). Then the magnitude of the quantized coefficient
            is stored in the next most significat bits. The most significant magnitude
            bit corresponds to the most significant bit-plane and so on.</p>
            
            <p>The output data is either in floating-point, or in fixed-point two's
            complement. In case of floating-point data the the value returned by
            getFixedPoint() must be 0. If the case of fixed-point data the number of
            fractional bits must be defined at the constructor of the implementing
            class and all operations must be performed accordingly. Each component may
            have a different number of fractional bits.</p>
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.CBlkWTDataSrcDec">
            <summary> This abstract class defines methods to transfer wavelet data in a
            code-block by code-block basis, for the decoder side. In each call to
            'getCodeBlock()' or 'getInternCodeBlock()' a new code-block is
            returned. The code-blocks are returned in no specific order.
            
            <p>This class is the source of data, in general, for the inverse wavelet
            transforms. See the 'InverseWT' class.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.synthesis.InvWTData">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.WaveletTransform">
            </seealso>
            <seealso cref="!:jj2000.j2k.quantization.dequantizer.CBlkQuantDataSrcDec">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.synthesis.InverseWT">
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.synthesis.CBlkWTDataSrcDec.getNomRangeBits(System.Int32)" -->
        <member name="M:CSJ2K.j2k.wavelet.synthesis.CBlkWTDataSrcDec.getFixedPoint(System.Int32)">
            <summary> Returns the position of the fixed point in the specified component, or
            equivalently the number of fractional bits. 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.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point, which is the same as the
            number of fractional bits. For floating-point data 0 is returned.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.CBlkWTDataSrcDec.getCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)">
            <summary> Returns the specified code-block in the current tile for the specified
            component, as a copy (see below).
            
            <p>The returned code-block may be progressive, which is indicated by
            the 'progressive' variable of the returned 'DataBlk' object. If a
            code-block is progressive it means that in a later request to this
            method for the same code-block it is possible to retrieve data which is
            a better approximation, since meanwhile more data to decode for the
            code-block could have been received. If the code-block is not
            progressive then later calls to this method for the same code-block
            will return the exact same data values.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, if any, and it can be modified "in place" without
            any problems after being returned. The 'offset' of the returned data is 
            0, and the 'scanw' is the same as the code-block width. See the
            'DataBlk' class.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="m">The vertical index of the code-block to return,
            in the specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return,
            in the specified subband.
            
            </param>
            <param name="sb">The subband in which the code-block to return is.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.CBlkWTDataSrcDec.getInternCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)">
            <summary> Returns the specified code-block in the current tile for the specified
            component (as a reference or copy).
            
            <p>The returned code-block may be progressive, which is indicated by
            the 'progressive' variable of the returned 'DataBlk' object. If a
            code-block is progressive it means that in a later request to this
            method for the same code-block it is possible to retrieve data which is
            a better approximation, since meanwhile more data to decode for the
            code-block could have been received. If the code-block is not
            progressive then later calls to this method for the same code-block
            will return the exact same data values.</p>
            
            <p>The data returned by this method can be the data in the internal
            buffer of this object, if any, and thus can not be modified by the
            caller. The 'offset' and 'scanw' of the returned data can be
            arbitrary. See the 'DataBlk' class.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in which the code-block to return is.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.Dequantizer.OPT_PREFIX">
            <summary>The prefix for dequantizer options: 'Q' </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.Dequantizer.pinfo">
            <summary>The list of parameters that is accepted by the bit stream
            readers. They start with 'Q' 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.Dequantizer.src">
            <summary>The entropy decoder from where to get the quantized data (the
            source). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.Dequantizer.rb">
            <summary>The "range bits" for each transformed component </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.Dequantizer.utrb">
            <summary>The "range bits" for each un-transformed component </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.Dequantizer.cts">
            <summary>The inverse component transformation specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.Dequantizer.wfs">
            <summary>Reference to the wavelet filter specifications </summary>
        </member>
        <member name="M:CSJ2K.j2k.quantization.dequantizer.Dequantizer.#ctor(CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec,System.Int32[],CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Initializes the source of compressed data.
            
            </summary>
            <param name="src">From where to obtain the quantized data.
            
            </param>
            <param name="rb">The number of "range bits" for each component (must be the
            "range bits" of the un-transformed components. For a definition of
            "range bits" see the getNomRangeBits() method.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.quantization.dequantizer.Dequantizer.getNomRangeBits(System.Int32)">
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.quantization.dequantizer.Dequantizer.getNomRangeBits(System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.quantization.dequantizer.Dequantizer.getSynSubbandTree(System.Int32,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.quantization.dequantizer.Dequantizer.setTile(System.Int32,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.quantization.dequantizer.Dequantizer.nextTile" -->
        <member name="P:CSJ2K.j2k.quantization.dequantizer.Dequantizer.CbULX">
            <summary> Returns the horizontal code-block partition origin. Allowable values
            are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.quantization.dequantizer.Dequantizer.CbULY">
            <summary> Returns the vertical code-block partition origin. Allowable values are
            0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.quantization.dequantizer.Dequantizer.ParameterInfo">
            <summary> 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 3
            elements. The first element is the option name, the second one
            is the synopsis and the third one is a long description of what
            the parameter is. 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, 
            or null if no options are supported.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.quantization.dequantizer.DequantizerParams">
            <summary> This is the generic ineterface for dequantization parameters. Generally,
            for each type of dequantizer, there should be a corresponding class to
            store its parameters. The parameters are those that come from the bit
            stream header, that concern dequantization.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.quantization.dequantizer.DequantizerParams.DequantizerType">
            <summary> Returns the type of the dequantizer for which the parameters are. The
            types are defined in the Dequantizer class.
            
            </summary>
            <returns> The type of the dequantizer for which the parameters
            are.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.quantization.dequantizer.Dequantizer">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.quantization.dequantizer.StdDequantizer">
            <summary> This class implements a scalar dequantizer with deadzone. The output can be
            either integer ('int') or floating-point ('float') data. The dequantization
            step sizes and other parameters are taken from a StdDequantizerParams
            class, which inherits from DequantizerParams.
            
            <p>Sign magnitude representation is used (instead of two's complement) for
            the input data. The most significant bit is used for the sign (0 if
            positive, 1 if negative). Then the magnitude of the quantized coefficient
            is stored in the next most significat bits. The most significant magnitude
            bit corresponds to the most significant bit-plane and so on.</p>
            
            <p>When reversible quantization is used, this class only converts between
            the sign-magnitude representation and the integer (or eventually
            fixed-point) output, since there is no true quantization.</p>
            
            <p>The output data is fixed-point two's complement for 'int' output and
            floating-point for 'float' output. The type of output and the number number
            of fractional bits for 'int' output are defined at the constructor. Each
            component may have a different number of fractional bits.</p>
            
            <p>The reconstruction levels used by the dequantizer are exactly what is
            received from the entropy decoder. It is assumed that the entropy decoder
            always returns codewords that are midways in the decoded intervals. In this
            way the dequantized values will always lie midways in the quantization
            intervals.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.StdDequantizer.qts">
            <summary>The quantizer type spec </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.StdDequantizer.qsss">
            <summary>The quantizer step sizes  spec </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.StdDequantizer.gbs">
            <summary>The number of guard bits spec </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.StdDequantizer.inblk">
            <summary>The 'DataBlkInt' object used to request data, used when output data is
            not int 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.dequantizer.StdDequantizer.outdtype">
            <summary>Type of the current output data </summary>
        </member>
        <member name="M:CSJ2K.j2k.quantization.dequantizer.StdDequantizer.#ctor(CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec,System.Int32[],CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Initializes the source of compressed data. And sets the number of range
            bits and fraction bits and receives the parameters for the dequantizer.
            
            </summary>
            <param name="src">From where to obtain the quantized data.
            
            </param>
            <param name="rb">The number of "range bits" (bitdepth) for each component
            (must be the "range bits" of the un-transformed components). For a
            definition of "range bits" see the getNomRangeBits() method.
            
            </param>
            <param name="qts">The quantizer type spec
            
            </param>
            <param name="qsss">The dequantizer step sizes spec
            
            </param>
            <seealso cref="M:CSJ2K.j2k.quantization.dequantizer.Dequantizer.getNomRangeBits(System.Int32)">
            
            </seealso>
            <exception cref="!:IllegalArgumentException">Thrown if 'outdt' is neither
            TYPE_FLOAT nor TYPE_INT, or if 'param' specify reversible quantization
            and 'outdt' is not TYPE_INT or 'fp' has non-zero values, or if 'outdt'
            is TYPE_FLOAT and 'fp' has non-zero values.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.quantization.dequantizer.StdDequantizer.getFixedPoint(System.Int32)">
            <summary> Returns the position of the fixed point in the output data for 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. If the output data is 'float' then 0
            is always returned.
            
            <p><u>Note:</u> Fractional bits are no more supported by JJ2000.</p>
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point, which is the same as the
            number of fractional bits. For floating-point data 0 is returned.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.dequantizer.StdDequantizer.getCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)">
            <summary> Returns the specified code-block in the current tile for the specified
            component, as a copy (see below).
            
            <p>The returned code-block may be progressive, which is indicated by
            the 'progressive' variable of the returned 'DataBlk' object. If a
            code-block is progressive it means that in a later request to this
            method for the same code-block it is possible to retrieve data which is
            a better approximation, since meanwhile more data to decode for the
            code-block could have been received. If the code-block is not
            progressive then later calls to this method for the same code-block
            will return the exact same data values.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, if any, and it can be modified "in place" without
            any problems after being returned. The 'offset' of the returned data is 
            0, and the 'scanw' is the same as the code-block width. See the
            'DataBlk' class.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in which the code-block to return is.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.quantization.dequantizer.StdDequantizer.getInternCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)">
            <summary> Returns the specified code-block in the current tile for the specified
            component (as a reference or copy).
            
            <p>The returned code-block may be progressive, which is indicated by
            the 'progressive' variable of the returned 'DataBlk'
            object. If a code-block is progressive it means that in a later request
            to this method for the same code-block it is possible to retrieve data
            which is a better approximation, since meanwhile more data to decode
            for the code-block could have been received. If the code-block is not
            progressive then later calls to this method for the same code-block
            will return the exact same data values.</p>
            
            <p>The data returned by this method can be the data in the internal
            buffer of this object, if any, and thus can not be modified by the
            caller. The 'offset' and 'scanw' of the returned data can be
            arbitrary. See the 'DataBlk' class.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in which the code-block to return is.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.quantization.dequantizer.StdDequantizerParams">
            <summary> This class holds the parameters for the scalar deadzone dequantizer
            (StdDequantizer class) for the current tile. Its constructor decodes the
            parameters from the main header and tile headers.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.quantization.dequantizer.StdDequantizer">
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "F:CSJ2K.j2k.quantization.dequantizer.StdDequantizerParams.exp" -->
        <!-- Badly formed XML comment ignored for member "F:CSJ2K.j2k.quantization.dequantizer.StdDequantizerParams.nStep" -->
        <member name="P:CSJ2K.j2k.quantization.dequantizer.StdDequantizerParams.DequantizerType">
            <summary> Returns the type of the dequantizer for which the parameters are. The
            types are defined in the Dequantizer class.
            
            </summary>
            <returns> The type of the dequantizer for which the parameters
            are. Always Q_TYPE_SCALAR_DZ.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.quantization.dequantizer.Dequantizer">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.quantization.GuardBitsSpec">
            <summary> This class extends ModuleSpec class in order to hold specifications about
            number of guard bits in each tile-component.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.quantization.GuardBitsSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Constructs an empty 'GuardBitsSpec' with specified number of tile and
            components. This constructor is called by the decoder.
            
            </summary>
            <param name="nt">Number of tiles
            
            </param>
            <param name="nc">Number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.quantization.GuardBitsSpec.#ctor(System.Int32,System.Int32,System.Byte,CSJ2K.j2k.util.ParameterList)">
            <summary> Constructs a new 'GuardBitsSpec' for the specified number of components
            and tiles and the arguments of "-Qguard_bits" option.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
            <param name="pl">The ParameterList
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.quantization.QuantizationType_Fields" -->
        <member name="F:CSJ2K.j2k.quantization.QuantizationType_Fields.Q_TYPE_SCALAR_DZ">
            <summary>The ID of the scalar deadzone dequantizer </summary>
        </member>
        <member name="T:CSJ2K.j2k.quantization.quantizer.CBlkQuantDataSrcEnc">
            <summary> This interface defines a source of quantized wavelet coefficients and
            methods to transfer them in a code-block by code-block basis. In each call
            to 'getNextCodeBlock()' or 'getNextInternCodeBlock()' a new code-block is
            returned. The code-blocks are returned in no specific order.
            
            <p>This class is the source of data for the entropy coder. See the
            'EntropyCoder' class.</p>
            
            <p>Code-block data is returned in sign-magnitude representation, instead of
            the normal two's complement one. Only integral types are used. The sign
            magnitude representation is more adequate for entropy coding. In sign
            magnitude representation, the most significant bit is used for the sign (0
            if positive, 1 if negative) and the magnitude of the coefficient is stored
            in the next M most significant bits. The rest of the bits (least
            significant bits) can contain a fractional value of the quantized
            coefficient. The number 'M' of magnitude bits is communicated in the
            'magbits' member variable of the 'CBlkWTData'.</p>
            
            <p>Note that no more of one object may request data, otherwise one object
            would get some of the data and another one another part, in no defined
            manner.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.ForwWTDataProps">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.quantization.quantizer.Quantizer">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.entropy.encoder.EntropyCoder">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.CBlkQuantDataSrcEnc.getNextCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> Returns the next code-block in the current tile for the specified
            component, as a copy (see below). The order in which code-blocks are
            returned is not specified. However each code-block is returned only
            once and all code-blocks will be returned if the method is called 'N'
            times, where 'N' is the number of code-blocks in the tile. After all
            the code-blocks have been returned for the current tile calls to this
            method will return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, if any, and it can be modified "in place" without
            any problems after being returned. The 'offset' of the returned data is
            0, and the 'scanw' is the same as the code-block width. See the
            'CBlkWTData' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'CBlkWTData' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'c', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.CBlkQuantDataSrcEnc.getNextInternCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> Returns the next code-block in the current tile for the specified
            component. The order in which code-blocks are returned is not
            specified. However each code-block is returned only once and all
            code-blocks will be returned if the method is called 'N' times, where
            'N' is the number of code-blocks in the tile. After all the code-blocks
            have been returned for the current tile calls to this method will
            return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method can be the data in the internal
            buffer of this object, if any, and thus can not be modified by the
            caller. The 'offset' and 'scanw' of the returned data can be
            arbitrary. See the 'CBlkWTData' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'CBlkWTData' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.quantization.quantizer.Quantizer">
            <summary> This abstract class provides the general interface for quantizers. The
            input of a quantizer is the output of a wavelet transform. The output of
            the quantizer is the set of quantized wavelet coefficients represented in
            sign-magnitude notation (see below).
            
            <p>This class provides default implementation for most of the methods
            (wherever it makes sense), under the assumption that the image, component
            dimensions, and the tiles, are not modifed by the quantizer. If it is not
            the case for a particular implementation, then the methods should be
            overriden.</p>
            
            <p>Sign magnitude representation is used (instead of two's complement) for
            the output data. The most significant bit is used for the sign (0 if
            positive, 1 if negative). Then the magnitude of the quantized coefficient
            is stored in the next M most significat bits. The rest of the bits (least
            significant bits) can contain a fractional value of the quantized
            coefficient. This fractional value is not to be coded by the entropy
            coder. However, it can be used to compute rate-distortion measures with
            greater precision.</p>
            
            <p>The value of M is determined for each subband as the sum of the number
            of guard bits G and the nominal range of quantized wavelet coefficients in
            the corresponding subband (Rq), minus 1:</p>
            
            <p>M = G + Rq -1</p>
            
            <p>The value of G should be the same for all subbands. The value of Rq
            depends on the quantization step size, the nominal range of the component
            before the wavelet transform and the analysis gain of the subband (see
            Subband).</p>
            
            <p>The blocks of data that are requested should not cross subband
            boundaries.</p>
            
            <p>NOTE: At the moment only quantizers that implement the
            'CBlkQuantDataSrcEnc' interface are supported.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.Subband">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.Quantizer.OPT_PREFIX">
            <summary>The prefix for quantizer options: 'Q' </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.Quantizer.pinfo">
            <summary>The list of parameters that is accepted for quantization. Options 
            for quantization start with 'Q'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.Quantizer.src">
            <summary>The source of wavelet transform coefficients </summary>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.Quantizer.#ctor(CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc)">
            <summary> Initializes the source of wavelet transform coefficients.
            
            </summary>
            <param name="src">The source of wavelet transform coefficients.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.Quantizer.getNumGuardBits(System.Int32,System.Int32)">
            <summary> Returns the number of guard bits used by this quantizer in the
            given tile-component.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> The number of guard bits
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.Quantizer.isDerived(System.Int32,System.Int32)">
            <summary> Returns true if the quantizer of given tile-component uses derived
            quantization step sizes.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> True if derived quantization is used.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.Quantizer.calcSbParams(CSJ2K.j2k.wavelet.analysis.SubbandAn,System.Int32)">
            <summary> Calculates the parameters of the SubbandAn objects that depend on the
            Quantizer. The 'stepWMSE' field is calculated for each subband which is
            a leaf in the tree rooted at 'sb', for the specified component. The
            subband tree 'sb' must be the one for the component 'n'.
            
            </summary>
            <param name="sb">The root of the subband tree.
            
            </param>
            <param name="n">The component index.
            
            </param>
            <seealso cref="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.stepWMSE">
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.quantization.quantizer.Quantizer.getAnSubbandTree(System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.quantization.quantizer.Quantizer.createInstance(CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc,CSJ2K.j2k.encoder.EncoderSpecs)">
            <summary> Creates a Quantizer object for the appropriate type of quantization
            specified in the options in the parameter list 'pl', and having 'src'
            as the source of data to be quantized. The 'rev' flag indicates if the
            quantization should be reversible.
            
            NOTE: At the moment only sources of wavelet data that implement the
            'CBlkWTDataSrc' interface are supported.
            
            </summary>
            <param name="src">The source of data to be quantized
            
            </param>
            <param name="encSpec">Encoder specifications
            
            </param>
            <exception cref="!:IllegalArgumentException">If an error occurs while parsing
            the options in 'pl'
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.Quantizer.getMaxMagBits(System.Int32)">
            <summary> Returns the maximum number of magnitude bits in any subband in the
            current tile.
            
            </summary>
            <param name="c">the component number
            
            </param>
            <returns> The maximum number of magnitude bits in all subbands of the
            current tile.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.quantization.quantizer.Quantizer.CbULX">
            <summary> Returns the horizontal offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.quantization.quantizer.Quantizer.CbULY">
            <summary> Returns the vertical offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.quantization.quantizer.Quantizer.ParameterInfo">
            <summary> 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 3 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, 
            or null if no options are supported.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.quantization.quantizer.StdQuantizer">
            <summary> This class implements scalar quantization of integer or floating-point
            valued source data. The source data is the wavelet transformed image data
            and the output is the quantized wavelet coefficients represented in
            sign-magnitude (see below).
            
            <p>Sign magnitude representation is used (instead of two's complement) for
            the output data. The most significant bit is used for the sign (0 if
            positive, 1 if negative). Then the magnitude of the quantized coefficient
            is stored in the next M most significat bits. The rest of the bits (least
            significant bits) can contain a fractional value of the quantized
            coefficient. This fractional value is not to be coded by the entropy
            coder. However, it can be used to compute rate-distortion measures with
            greater precision.</p>
            
            <p>The value of M is determined for each subband as the sum of the number
            of guard bits G and the nominal range of quantized wavelet coefficients in
            the corresponding subband (Rq), minus 1:</p>
            
            <p>M = G + Rq -1</p>
            
            <p>The value of G should be the same for all subbands. The value of Rq
            depends on the quantization step size, the nominal range of the component
            before the wavelet transform and the analysis gain of the subband (see
            Subband).</p>
            
            <p>The blocks of data that are requested should not cross subband
            boundaries.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.Subband">
            
            </seealso>
            <seealso cref="T:CSJ2K.j2k.quantization.quantizer.Quantizer">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.StdQuantizer.QSTEP_MANTISSA_BITS">
            <summary>The number of mantissa bits for the quantization steps </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.StdQuantizer.QSTEP_EXPONENT_BITS">
            <summary>The number of exponent bits for the quantization steps </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.StdQuantizer.QSTEP_MAX_MANTISSA">
            <summary>The maximum value of the mantissa for the quantization steps </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.StdQuantizer.QSTEP_MAX_EXPONENT">
            <summary>The maximum value of the exponent for the quantization steps </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.StdQuantizer.log2">
            <summary>Natural log of 2, used as a convenience variable </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.StdQuantizer.qts">
            <summary>The quantization type specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.StdQuantizer.qsss">
            <summary>The quantization step size specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.StdQuantizer.gbs">
            <summary>The guard bits specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.quantization.quantizer.StdQuantizer.infblk">
            <summary>The 'CBlkWTDataFloat' object used to request data, used when
            quantizing floating-point data. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.#ctor(CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc,CSJ2K.j2k.encoder.EncoderSpecs)">
            <summary> Initializes the source of wavelet transform coefficients. The
            constructor takes information on whether the quantizer is in
            reversible, derived or expounded mode. If the quantizer is reversible
            the value of 'derived' is ignored. If the source data is not integer
            (int) then the quantizer can not be reversible.
            
            <p>After initializing member attributes, getAnSubbandTree is called for
            all components setting the 'stepWMSE' for all subbands in the current
            tile.</p>
            
            </summary>
            <param name="src">The source of wavelet transform coefficients.
            
            </param>
            <param name="encSpec">The encoder specifications
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.getNumGuardBits(System.Int32,System.Int32)">
            <summary> Returns the number of guard bits used by this quantizer in the given
            tile-component.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> The number of guard bits
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.isReversible(System.Int32,System.Int32)">
            <summary> Returns true if the quantized data is reversible, for the specified
            tile-component. For the quantized data to be reversible it is necessary
            and sufficient that the quantization is reversible.
            
            </summary>
            <param name="t">The tile to test for reversibility
            
            </param>
            <param name="c">The component to test for reversibility
            
            </param>
            <returns> True if the quantized data is reversible, false if not.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.isDerived(System.Int32,System.Int32)">
            <summary> Returns true if given tile-component uses derived quantization step
            sizes.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> True if derived
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.getNextCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> Returns the next code-block in the current tile for the specified
            component, as a copy (see below). The order in which code-blocks are
            returned is not specified. However each code-block is returned only
            once and all code-blocks will be returned if the method is called 'N'
            times, where 'N' is the number of code-blocks in the tile. After all
            the code-blocks have been returned for the current tile calls to this
            method will return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method is always a copy of the
            data. Therfore it can be modified "in place" without any problems after
            being returned. The 'offset' of the returned data is 0, and the 'scanw'
            is the same as the code-block width. See the 'CBlkWTData' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'CBlkWTData' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.getNextInternCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> Returns the next code-block in the current tile for the specified
            component. The order in which code-blocks are returned is not
            specified. However each code-block is returned only once and all
            code-blocks will be returned if the method is called 'N' times, where
            'N' is the number of code-blocks in the tile. After all the code-blocks
            have been returned for the current tile calls to this method will
            return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method can be the data in the internal
            buffer of this object, if any, and thus can not be modified by the
            caller. The 'offset' and 'scanw' of the returned data can be
            arbitrary. See the 'CBlkWTData' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'CBlkWTData' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.calcSbParams(CSJ2K.j2k.wavelet.analysis.SubbandAn,System.Int32)">
            <summary> Calculates the parameters of the SubbandAn objects that depend on the
            Quantizer. The 'stepWMSE' field is calculated for each subband which is
            a leaf in the tree rooted at 'sb', for the specified component. The
            subband tree 'sb' must be the one for the component 'n'.
            
            </summary>
            <param name="sb">The root of the subband tree.
            
            </param>
            <param name="c">The component index
            
            </param>
            <seealso cref="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.stepWMSE">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.convertToExpMantissa(System.Single)">
            <summary> Converts the floating point value to its exponent-mantissa
            representation. The mantissa occupies the 11 least significant bits
            (bits 10-0), and the exponent the previous 5 bits (bits 15-11).
            
            </summary>
            <param name="step">The quantization step, normalized to a dynamic range of 1.
            
            </param>
            <returns> The exponent mantissa representation of the step.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.convertFromExpMantissa(System.Int32)">
            <summary> Converts the exponent-mantissa representation to its floating-point
            value. The mantissa occupies the 11 least significant bits (bits 10-0),
            and the exponent the previous 5 bits (bits 15-11).
            
            </summary>
            <param name="ems">The exponent-mantissa representation of the step.
            
            </param>
            <returns> The floating point representation of the step, normalized to a
            dynamic range of 1.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.getMaxMagBits(System.Int32)">
            <summary> Returns the maximum number of magnitude bits in any subband of the
            current tile.
            
            </summary>
            <param name="c">the component number
            
            </param>
            <returns> The maximum number of magnitude bits in all subbands of the
            current tile.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.getMaxMagBitsRev(CSJ2K.j2k.wavelet.Subband,System.Int32)">
            <summary> Returns the maximum number of magnitude bits in any subband of the
            current tile if reversible quantization is used
            
            </summary>
            <param name="sb">The root of the subband tree of the current tile
            
            </param>
            <param name="c">the component number
            
            </param>
            <returns> The highest number of magnitude bit-planes
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.getMaxMagBitsDerived(CSJ2K.j2k.wavelet.Subband,System.Int32,System.Int32)">
            <summary> Returns the maximum number of magnitude bits in any subband in the
            given tile-component if derived quantization is used
            
            </summary>
            <param name="sb">The root of the subband tree of the tile-component
            
            </param>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> The highest number of magnitude bit-planes
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.quantizer.StdQuantizer.getMaxMagBitsExpounded(CSJ2K.j2k.wavelet.Subband,System.Int32,System.Int32)">
            <summary> Returns the maximum number of magnitude bits in any subband in the
            given tile-component if expounded quantization is used
            
            </summary>
            <param name="sb">The root of the subband tree of the tile-component
            
            </param>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> The highest number of magnitude bit-planes
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.quantization.quantizer.StdQuantizer.QuantTypeSpec">
            <summary> Returns the quantization type spec object associated to the quantizer.
            
            </summary>
            <returns> The quantization type spec
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.quantization.QuantStepSizeSpec">
            <summary> This class extends ModuleSpec class in order to hold specifications about
            the quantization base normalized step size to use in each tile-component.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.quantization.QuantStepSizeSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Constructs an empty 'QuantStepSizeSpec' with specified number of
            tile and components. This constructor is called by the decoder.
            
            </summary>
            <param name="nt">Number of tiles
            
            </param>
            <param name="nc">Number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.quantization.QuantStepSizeSpec.#ctor(System.Int32,System.Int32,System.Byte,CSJ2K.j2k.util.ParameterList)">
            <summary> Constructs a new 'QuantStepSizeSpec' for the specified number of
            components and tiles and the arguments of "-Qstep" option.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
            <param name="pl">The ParameterList
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.quantization.QuantTypeSpec" -->
        <member name="M:CSJ2K.j2k.quantization.QuantTypeSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Constructs an empty 'QuantTypeSpec' with the specified number of tiles
            and components. This constructor is called by the decoder.
            
            </summary>
            <param name="nt">Number of tiles
            
            </param>
            <param name="nc">Number of components
            
            </param>
            <param name="type">the type of the allowed specifications for this module
            i.e. tile specific, component specific or both.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.quantization.QuantTypeSpec.#ctor(System.Int32,System.Int32,System.Byte,CSJ2K.j2k.util.ParameterList)">
            <summary> Constructs a new 'QuantTypeSpec' for the specified number of components
            and tiles and the arguments of "-Qtype" option. This constructor is
            called by the encoder.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
            <param name="pl">The ParameterList
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.quantization.QuantTypeSpec.isDerived(System.Int32,System.Int32)">
            <summary> Returns true if given tile-component uses derived quantization step
            size.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> True if derived quantization step size
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.quantization.QuantTypeSpec.isReversible(System.Int32,System.Int32)">
            <summary> Check the reversibility of the given tile-component.
            
            </summary>
            <param name="t">The index of the tile
            
            </param>
            <param name="c">The index of the component
            
            </param>
            <returns> Whether or not the tile-component is reversible
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.quantization.QuantTypeSpec.FullyReversible">
            <summary> Check the reversibility of the whole image.
            
            </summary>
            <returns> Whether or not the whole image is reversible
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.quantization.QuantTypeSpec.FullyNonReversible">
            <summary> Check the irreversibility of the whole image.
            
            </summary>
            <returns> Whether or not the whole image is reversible
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator" -->
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.roi.encoder.ROIMaskGenerator" -->
        <member name="F:CSJ2K.j2k.roi.encoder.ROIMaskGenerator.roi_array">
            <summary>Array containing the ROIs </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIMaskGenerator.nrc">
            <summary>Number of components </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIMaskGenerator.tileMaskMade">
            <summary>Flag indicating whether a mask has been made for the current tile </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIMaskGenerator.#ctor(CSJ2K.j2k.roi.encoder.ROI[],System.Int32)">
            <summary> The constructor of the mask generator
            
            </summary>
            <param name="rois">The ROIs in the image
            
            </param>
            <param name="nrc">The number of components
            </param>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIMaskGenerator.getROIMask(CSJ2K.j2k.image.DataBlkInt,CSJ2K.j2k.wavelet.Subband,System.Int32,System.Int32)">
            <summary> This functions gets a DataBlk with the size of the current code-block
            and fills it with the ROI mask. The lowest scaling value in the mask
            for this code-block is returned by the function to be used for
            modifying the rate distortion estimations.
            
            </summary>
            <param name="db">The data block that is to be filled with the mask
            
            </param>
            <param name="sb">The root of the current subband tree
            
            </param>
            <param name="magbits">The number of magnitude bits in this code-block
            
            </param>
            <param name="c">Component number
            
            </param>
            <returns> Whether or not a mask was needed for this tile 
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIMaskGenerator.makeMask(CSJ2K.j2k.wavelet.Subband,System.Int32,System.Int32)">
            <summary> This function generates the ROI mask for the entire tile. The mask is
            generated for one component. This method is called once for each tile
            and component.
            
            </summary>
            <param name="sb">The root of the subband tree used in the decomposition
            
            </param>
            <param name="magbits">The max number of magnitude bits in any code-block
            
            </param>
            <param name="n">component number
            </param>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIMaskGenerator.tileChanged">
            <summary> This function is called every time the tile is changed to indicate
            that there is need to make a new mask
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.roi.encoder.ROIMaskGenerator.ROIs">
            <summary> This function returns the ROIs in the image
            
            </summary>
            <returns> The ROIs in the image
            </returns>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.src">
            <summary>The source of quantized wavelet transform coefficients </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.roiMask">
            <summary>The ROI mask for the current tile for all components</summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.maskLineLow">
            <summary>The low frequency part of a mask line </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.maskLineHigh">
            <summary>The High frequency part of a mask line </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.paddedMaskLine">
            <summary>A line or column of the mask with padding  </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.roiInTile">
            <summary>Flag indicating if any ROI was found to be in this tile </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.#ctor(CSJ2K.j2k.roi.encoder.ROI[],System.Int32,CSJ2K.j2k.quantization.quantizer.Quantizer)">
            <summary> The constructor of the arbitrary mask generator
            
            </summary>
            <param name="rois">The ROI info.
            
            </param>
            <param name="nrc">The number of components
            
            </param>
            <param name="src">The quantizer module
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.getROIMask(CSJ2K.j2k.image.DataBlkInt,CSJ2K.j2k.wavelet.Subband,System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.ToString">
            <summary> This function returns the relevant data of the mask generator 
            
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.makeMask(CSJ2K.j2k.wavelet.Subband,System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator.decomp(CSJ2K.j2k.wavelet.Subband,System.Int32,System.Int32,System.Int32)">
            <summary> This function decomposes the mask for a node in the subband tree.
            after the mask is decomposed for a node, this function is called for 
            the children of the subband. The decomposition is done line by line
            and column by column
            
            </summary>
            <param name="sb">The subband that is to be used for the decomposition
            
            </param>
            <param name="tilew">The width of the current tile
            
            </param>
            <param name="tileh">The height of the current tile
            
            </param>
            <param name="c">component number
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator" -->
        <member name="F:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.ulxs">
            <summary>The upper left xs of the ROIs</summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.ulys">
            <summary>The upper left ys of the ROIs</summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.lrxs">
            <summary>The lower right xs of the ROIs</summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.lrys">
            <summary>The lower right ys of the ROIs</summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.nrROIs">
            <summary>Number of ROIs </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.sMasks">
            <summary>The tree of subbandmask. One for each component </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.#ctor(CSJ2K.j2k.roi.encoder.ROI[],System.Int32)">
            <summary> The constructor of the mask generator. The constructor is called with
            the ROI data. This data is stored in arrays that are used to generate
            the SubbandRectROIMask trees for each component.
            
            </summary>
            <param name="ROIs">The ROI info.
            
            </param>
            <param name="maxShift">The flag indicating use of Maxshift method.
            
            </param>
            <param name="nrc">number of components.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.getROIMask(CSJ2K.j2k.image.DataBlkInt,CSJ2K.j2k.wavelet.Subband,System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.ToString">
            <summary> This function returns the relevant data of the mask generator
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator.makeMask(CSJ2K.j2k.wavelet.Subband,System.Int32,System.Int32)">
            <summary> This function generates the ROI mask for the entire tile. The mask is
            generated for one component. This method is called once for each tile
            and component.
            
            </summary>
            <param name="sb">The root of the subband tree used in the decomposition
            
            </param>
            <param name="n">component number
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.roi.encoder.ROI">
            <summary> This class contains the shape of a single ROI. In the current 
            implementation only rectangles and circles are supported.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.roi.encoder.ROIMaskGenerator">
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.maskPGM">
            <summary>ImgReaderPGM object with the arbrtrary ROI </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.arbShape">
            <summary>Where or not the ROI shape is arbitrary </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.rect">
            <summary>Flag indicating whether the ROI is rectangular or not </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.comp">
            <summary>The components for which the ROI is relevant </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.ulx">
            <summary>x coordinate of upper left corner of rectangular ROI </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.uly">
            <summary>y coordinate of upper left corner of rectangular ROI </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.w">
            <summary>width of rectangular ROI  </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.h">
            <summary>height of rectangular ROI </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.x">
            <summary>x coordinate of center of circular ROI </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.y">
            <summary>y coordinate of center of circular ROI </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROI.r">
            <summary>radius of circular ROI  </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROI.#ctor(System.Int32,CSJ2K.j2k.image.input.ImgReaderPGM)">
            <summary> Constructor for ROI with arbitrary shape
            
            </summary>
            <param name="comp">The component the ROI belongs to
            
            </param>
            <param name="maskPGM">ImgReaderPGM containing the ROI
            </param>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROI.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Constructor for rectangular ROIs
            
            </summary>
            <param name="comp">The component the ROI belongs to
            
            </param>
            <param name="x">x-coordinate of upper left corner of ROI
            
            </param>
            <param name="y">y-coordinate of upper left corner of ROI
            
            </param>
            <param name="w">width of ROI
            
            </param>
            <param name="h">height of ROI
            </param>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROI.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> Constructor for circular ROIs
            
            </summary>
            <param name="comp">The component the ROI belongs to
            
            </param>
            <param name="x">x-coordinate of center of ROI
            
            </param>
            <param name="y">y-coordinate of center of ROI
            
            </param>
            <param name="w">radius of ROI
            </param>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROI.ToString">
            <summary> This function prints all relevant data for the ROI</summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.roi.encoder.ROIScaler" -->
        <member name="F:CSJ2K.j2k.roi.encoder.ROIScaler.OPT_PREFIX">
            <summary>The prefix for ROI Scaler options: 'R' </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIScaler.pinfo">
            <summary>The list of parameters that are accepted for ROI coding. Options 
            for ROI Scaler start with 'R'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIScaler.maxMagBits">
            <summary>The maximum number of magnitude bit-planes in any subband. One value
            for each tile-component 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIScaler.roi">
            <summary>Flag indicating the presence of ROIs </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIScaler.blockAligned">
            <summary>Flag indicating if block aligned ROIs are used </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIScaler.useStartLevel">
            <summary>Number of resolution levels to include in ROI mask </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIScaler.mg">
            <summary>The class generating the ROI mask </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIScaler.roiMask">
            <summary>The ROI mask </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.ROIScaler.src">
            <summary>The source of quantized wavelet transform coefficients </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.#ctor(CSJ2K.j2k.quantization.quantizer.Quantizer,CSJ2K.j2k.roi.encoder.ROIMaskGenerator,System.Boolean,System.Int32,System.Boolean,CSJ2K.j2k.encoder.EncoderSpecs)">
            <summary> Constructor of the ROI scaler, takes a Quantizer as source of data to
            scale.
            
            </summary>
            <param name="src">The quantizer that is the source of data.
            
            </param>
            <param name="mg">The mask generator that will be used for all components
            
            </param>
            <param name="roi">Flag indicating whether there are rois specified.
            
            </param>
            <param name="sLev">The resolution levels that belong entirely to ROI
            
            </param>
            <param name="uba">Flag indicating whether block aligning is used.
            
            </param>
            <param name="encSpec">The encoder specifications for addition of roi specs
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.isReversible(System.Int32,System.Int32)">
            <summary> Since ROI scaling is always a reversible operation, it calls
            isReversible() method of it source (the quantizer module).
            
            </summary>
            <param name="t">The tile to test for reversibility
            
            </param>
            <param name="c">The component to test for reversibility
            
            </param>
            <returns> True if the quantized data is reversible, false if not.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.getAnSubbandTree(System.Int32,System.Int32)">
            <summary> Returns a reference to the subband tree structure representing the
            subband decomposition for the specified tile-component.
            
            </summary>
            <param name="t">The index of the tile.
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> The subband tree structure, see SubbandAn.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.SubbandAn">
            
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.Subband">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.createInstance(CSJ2K.j2k.quantization.quantizer.Quantizer,CSJ2K.j2k.util.ParameterList,CSJ2K.j2k.encoder.EncoderSpecs)">
            <summary> Creates a ROIScaler object. The Quantizer is the source of data to
            scale.
            
            <p>The ROI Scaler creates a ROIMaskGenerator depending on what ROI
            information is in the ParameterList. If only rectangular ROI are used,
            the fast mask generator for rectangular ROI can be used.</p>
            
            </summary>
            <param name="src">The source of data to scale
            
            </param>
            <param name="pl">The parameter list (or options).
            
            </param>
            <param name="encSpec">The encoder specifications for addition of roi specs
            
            </param>
            <exception cref="!:IllegalArgumentException">If an error occurs while parsing
            the options in 'pl'
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.parseROIs(System.String,System.Int32,System.Collections.Generic.List{System.Object})">
            <summary> This function parses the values given for the ROIs with the argument
            -Rroi. Currently only circular and rectangular ROIs are supported.
            
            <p>A rectangular ROI is indicated by a 'R' followed the coordinates for
            the upper left corner of the ROI and then its width and height.</p>
            
            <p>A circular ROI is indicated by a 'C' followed by the coordinates of
            the circle center and then the radius.</p>
            
            <p>Before the R and C values, the component that are affected by the
            ROI are indicated.</p>
            
            </summary>
            <param name="roiopt">The info on the ROIs
            
            </param>
            <param name="nc">number of components
            
            </param>
            <param name="roiVector">The vcector containing the ROI parsed from the cmd line
            
            </param>
            <returns> The ROIs specified in roiopt
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.getNextCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> This function gets a datablk from the entropy coder. The sample sin the
            block, which consists of  the quantized coefficients from the quantizer,
            are scaled by the values given for any ROIs specified.
            
            <p>The function calls on a ROIMaskGenerator to get the mask for scaling
            the coefficients in the current block.</p>
            
            <p>The data returned by this method is a copy of the orignal
            data. Therfore it can be modified "in place" without any problems after
            being returned. The 'offset' of the returned data is 0, and the 'scanw'
            is the same as the code-block width. See the 'CBlkWTData' class.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.getNextInternCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> This function gets a datablk from the entropy coder. The sample sin the
            block, which consists of  the quantized coefficients from the quantizer,
            are scaled by the values given for any ROIs specified.
            
            <p>The function calls on a ROIMaskGenerator to get the mask for scaling
            the coefficients in the current block.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.useRoi">
            <summary> This function returns the flag indicating if any ROI functionality used
            
            </summary>
            <returns> Flag indicating whether there are ROIs in the image
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new indexes. An
            IllegalArgumentException is thrown if the indexes do not
            correspond to a valid tile.
            
            </summary>
            <param name="x">The horizontal index of the tile.
            
            </param>
            <param name="y">The vertical index of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). An NoNextElementException is thrown if the current tile is
            the last one (i.e. there is no next tile).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.ROIScaler.calcMaxMagBits(CSJ2K.j2k.encoder.EncoderSpecs)">
            <summary> Calculates the maximum amount of magnitude bits for each
            tile-component, and stores it in the 'maxMagBits' array. This is called
            by the constructor
            
            </summary>
            <param name="encSpec">The encoder specifications for addition of roi specs
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.roi.encoder.ROIScaler.CbULX">
            <summary> Returns the horizontal offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.roi.encoder.ROIScaler.CbULY">
            <summary> Returns the vertical offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.roi.encoder.ROIScaler.ROIMaskGenerator">
            <summary> This function returns the ROI mask generator.
            
            </summary>
            <returns> The roi mask generator
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.roi.encoder.ROIScaler.BlockAligned">
            <summary> This function returns the blockAligned flag
            
            </summary>
            <returns> Flag indicating whether the ROIs were block aligned
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.roi.encoder.ROIScaler.ParameterInfo">
            <summary> 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 3
            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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, 
            or null if no options are supported.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.roi.encoder.SubbandRectROIMask">
            <summary> This class describes the ROI mask for a single subband. Each object of the
            class contains the mask for a particular subband and also has references to
            the masks of the children subbands of the subband corresponding to this
            mask. This class describes subband masks for images containing only
            rectangular ROIS
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.roi.encoder.SubbandROIMask">
            <summary> This abstract class describes the ROI mask for a single subband. Each
            object of the class contains the mask for a particular subband and also has
            references to the masks of the children subbands of the subband
            corresponding to this mask.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandROIMask.ll">
            <summary>The subband masks of the child LL </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandROIMask.lh">
            <summary>The subband masks of the child LH </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandROIMask.hl">
            <summary>The subband masks of the child HL </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandROIMask.hh">
            <summary>The subband masks of the child HH </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandROIMask.isNode">
            <summary>Flag indicating whether this subband mask is a node or not </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandROIMask.ulx">
            <summary>Horizontal uper-left coordinate of the subband mask </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandROIMask.uly">
            <summary>Vertical uper-left coordinate of the subband mask </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandROIMask.w">
            <summary>Width of the subband mask </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandROIMask.h">
            <summary>Height of the subband mask </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.SubbandROIMask.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary> The constructor of the SubbandROIMask takes the dimensions of the
            subband as parameters
            
            </summary>
            <param name="ulx">The upper left x coordinate of corresponding subband
            
            </param>
            <param name="uly">The upper left y coordinate of corresponding subband
            
            </param>
            <param name="w">The width of corresponding subband
            
            </param>
            <param name="h">The height of corresponding subband
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.SubbandROIMask.getSubbandRectROIMask(System.Int32,System.Int32)">
            <summary> Returns a reference to the Subband mask element to which the specified
            point belongs. The specified point must be inside this (i.e. the one
            defined by this object) subband mask. This method searches through the
            tree.
            
            </summary>
            <param name="x">horizontal coordinate of the specified point.
            
            </param>
            <param name="y">horizontal coordinate of the specified point.
            
            </param>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandRectROIMask.ulxs">
            <summary>The upper left x coordinates of the applicable ROIs </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandRectROIMask.ulys">
            <summary>The upper left y coordinates of the applicable ROIs </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandRectROIMask.lrxs">
            <summary>The lower right x coordinates of the applicable ROIs </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.encoder.SubbandRectROIMask.lrys">
            <summary>The lower right y coordinates of the applicable ROIs </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.encoder.SubbandRectROIMask.#ctor(CSJ2K.j2k.wavelet.Subband,System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32)">
            <summary> The constructor of the SubbandROIMask takes the dimensions of the
            subband as parameters. A tree of masks is generated from the subband
            sb. Each Subband contains the boundaries of each ROI.
            
            </summary>
            <param name="sb">The subband corresponding to this Subband Mask
            
            </param>
            <param name="ulxs">The upper left x coordinates of the ROIs
            
            </param>
            <param name="ulys">The upper left y coordinates of the ROIs
            
            </param>
            <param name="lrxs">The lower right x coordinates of the ROIs
            
            </param>
            <param name="lrys">The lower right y coordinates of the ROIs
            
            </param>
            <param name="lrys">The lower right y coordinates of the ROIs
            
            </param>
            <param name="nr">Number of ROIs that affect this tile
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.roi.MaxShiftSpec">
            <summary> This class contains the maxshift scaling value for each tile-component.
            The scaling values used are calculated in the ROIScaler class
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.MaxShiftSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Constructs a 'ModuleSpec' object, initializing all the components and 
            tiles to the 'SPEC_DEF' spec type, for the specified number of 
            components and tiles.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.roi.ROIDeScaler">
            <summary> This class takes care of the de-scaling of ROI coefficients. The de-scaler
            works on a tile basis and any mask that is generated is for the current
            mask only
            
            <p>Default implementations of the methods in 'MultiResImgData' are provided
            through the 'MultiResImgDataAdapter' abstract class.</p>
            
            <p>Sign-magnitude representation is used (instead of two's complement) for
            the output data. The most significant bit is used for the sign (0 if
            positive, 1 if negative). Then the magnitude of the quantized coefficient
            is stored in the next most significat bits. The most significant magnitude
            bit corresponds to the most significant bit-plane and so on.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.ROIDeScaler.OPT_PREFIX">
            <summary>The prefix for ROI decoder options: 'R' </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.ROIDeScaler.mss">
            <summary>The MaxShiftSpec containing the scaling values for all tile-components
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.ROIDeScaler.pinfo">
            <summary>The list of parameters that is accepted by the entropy decoders. They
            start with 'R'. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.roi.ROIDeScaler.src">
            <summary>The entropy decoder from where to get the compressed data (the source)
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.roi.ROIDeScaler.#ctor(CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec,CSJ2K.j2k.roi.MaxShiftSpec)">
            <summary> Constructor of the ROI descaler, takes EntropyDEcoder as source of data
            to de-scale.
            
            </summary>
            <param name="src">The EntropyDecoder that is the source of data.
            
            </param>
            <param name="mss">The MaxShiftSpec containing the scaling values for all
            tile-components
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.roi.ROIDeScaler.getSynSubbandTree(System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.roi.ROIDeScaler.getCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)">
            <summary> Returns the specified code-block in the current tile for the specified
            component, as a copy (see below).
            
            <p>The returned code-block may be progressive, which is indicated by
            the 'progressive' variable of the returned 'DataBlk' object. If a
            code-block is progressive it means that in a later request to this
            method for the same code-block it is possible to retrieve data which is
            a better approximation, since meanwhile more data to decode for the
            code-block could have been received. If the code-block is not
            progressive then later calls to this method for the same code-block
            will return the exact same data values.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, if any, and it can be modified "in place" without
            any problems after being returned. The 'offset' of the returned data is
            0, and the 'scanw' is the same as the code-block width. See the
            'DataBlk' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'DataBlk' object contain
            the coordinates of the top-left corner of the block, with respect to
            the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in which the code-block to return is.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'c', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.roi.ROIDeScaler.getInternCodeBlock(System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,CSJ2K.j2k.image.DataBlk)">
            <summary> Returns the specified code-block in the current tile for the specified
            component (as a reference or copy).
            
            <p>The returned code-block may be progressive, which is indicated by
            the 'progressive' variable of the returned 'DataBlk' object. If a
            code-block is progressive it means that in a later request to this
            method for the same code-block it is possible to retrieve data which is
            a better approximation, since meanwhile more data to decode for the
            code-block could have been received. If the code-block is not
            progressive then later calls to this method for the same code-block
            will return the exact same data values.</p>
            
            <p>The data returned by this method can be the data in the internal
            buffer of this object, if any, and thus can not be modified by the
            caller. The 'offset' and 'scanw' of the returned data can be
            arbitrary. See the 'DataBlk' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'DataBlk' object contain
            the coordinates of the top-left corner of the block, with respect to
            the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="m">The vertical index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="n">The horizontal index of the code-block to return, in the
            specified subband.
            
            </param>
            <param name="sb">The subband in which the code-block to return is.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The requested code-block in the current tile for component 'c'.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.roi.ROIDeScaler.createInstance(CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec,CSJ2K.j2k.util.ParameterList,CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Creates a ROIDeScaler object. The information needed to create the
            object is the Entropy decoder used and the parameters.
            
            </summary>
            <param name="src">The source of data that is to be descaled
            
            </param>
            <param name="pl">The parameter list (or options).
            
            </param>
            <param name="decSpec">The decoding specifications
            
            </param>
            <exception cref="!:IllegalArgumentException">If an error occurs while parsing
            the options in 'pl'
            
            </exception>
        </member>
        <member name="P:CSJ2K.j2k.roi.ROIDeScaler.CbULX">
            <summary> Returns the horizontal code-block partition origin. Allowable values
            are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.roi.ROIDeScaler.CbULY">
            <summary> Returns the vertical code-block partition origin. Allowable values are
            0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.roi.ROIDeScaler.ParameterInfo">
            <summary> 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 3 elements. The first element is the
            option name, the second one is the synopsis and the third one is a long
            description of what the parameter is. 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, or null
            if no options are supported.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.StringSpec">
            <summary> This class extends ModuleSpec class in order to hold tile-component
            specifications using Strings.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.StringSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Constructs an empty 'StringSpec' with specified number of
            tile and components. This constructor is called by the decoder.
            
            </summary>
            <param name="nt">Number of tiles
            
            </param>
            <param name="nc">Number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.StringSpec.#ctor(System.Int32,System.Int32,System.Byte,System.String,System.String[],CSJ2K.j2k.util.ParameterList)" -->
        <member name="T:CSJ2K.j2k.util.ArrayUtil">
            <summary> This class contains a colleaction of utility static methods for arrays.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.ArrayUtil.MAX_EL_COPYING">
            <summary>The maximum array size to do element by element copying, larger
            arrays are copyied in a n optimized way. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.ArrayUtil.INIT_EL_COPYING">
            <summary>The number of elements to copy initially in an optimized array copy </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ArrayUtil.intArraySet(System.Int32[],System.Int32)">
            <summary> Reinitializes an int array to the given value in an optimized way. If
            the length of the array is less than MAX_EL_COPYING, then the array
            is set element by element in the normal way, otherwise the first
            INIT_EL_COPYING elements are set element by element and then
            System.arraycopy is used to set the other parts of the array.
            
            </summary>
            <param name="arr">The array to set.
            
            </param>
            <param name="val">The value to set the array to.
            
            
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.ArrayUtil.byteArraySet(System.Byte[],System.Byte)">
            <summary> Reinitializes a byte array to the given value in an optimized way. If
            the length of the array is less than MAX_EL_COPYING, then the array
            is set element by element in the normal way, otherwise the first
            INIT_EL_COPYING elements are set element by element and then
            System.arraycopy is used to set the other parts of the array.
            
            </summary>
            <param name="arr">The array to set.
            
            </param>
            <param name="val">The value to set the array to.
            
            
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.util.CodestreamManipulator">
            <summary> This class takes a legal JPEG 2000 codestream and performs some
            manipulation on it. Currently the manipulations supported are: Tile-parts
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.ppmUsed">
            <summary>Flag indicating whether packed packet headers in main header is used
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.pptUsed">
            <summary>Flag indicating whether packed packet headers in tile headers is used
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.tempSop">
            <summary>Flag indicating whether SOP marker was only intended for parsing in
            This class and should be removed 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.tempEph">
            <summary>Flag indicating whether EPH marker was only intended for parsing in
            This class and should be removed 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.nt">
            <summary>The number of tiles in the image </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.pptp">
            <summary>The number of packets per tile-part </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.outname">
            <summary>The name of the outfile </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.TP_HEAD_LEN">
            <summary>The length of a SOT plus a SOD marker </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.maxtp">
            <summary>The maximum number of tile parts in any tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.ppt">
            <summary>The number of packets per tile </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.positions">
            <summary>The positions of the SOT, SOP and EPH markers </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.mainHeader">
            <summary>The main header </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.tileParts">
            <summary>Buffers containing the tile parts </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.tileHeaders">
            <summary>Buffers containing the original tile headers </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.packetHeaders">
            <summary>Buffers contaning the packet headers </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.packetData">
            <summary>Buffers containing the packet data </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.CodestreamManipulator.sopMarkSeg">
            <summary>Buffers containing the SOP marker segments </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.CodestreamManipulator.#ctor(System.String,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary> Instantiates a codestream manipulator..
            
            </summary>
            <param name="outname">The name of the original outfile
            
            </param>
            <param name="nt">The number of tiles in the image
            
            </param>
            <param name="pptp">Packets per tile-part. If zero, no division into tileparts
            is performed
            
            </param>
            <param name="ppm">Flag indicating that PPM marker is used
            
            </param>
            <param name="ppt">Flag indicating that PPT marker is used
            
            </param>
            <param name="tempSop">Flag indicating whether SOP merker should be removed
            
            </param>
            <param name="tempEph">Flag indicating whether EPH merker should be removed
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.CodestreamManipulator.doCodestreamManipulation">
            <summary> This method performs the actual manipulation of the codestream which is
            the reparsing for tile parts and packed packet headers
            
            </summary>
            <returns> The number of bytes that the file has increased by
            
            </returns>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.CodestreamManipulator.parseAndFind(CSJ2K.j2k.io.BufferedRandomAccessFile)">
            <summary> This method parses the codestream for SOT, SOP and EPH markers and
            removes header header bits signalling SOP and EPH markers if packed
            packet headers are used
            
            </summary>
            <param name="fi">The file to parse the markers from
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.CodestreamManipulator.readAndBuffer(CSJ2K.j2k.io.BufferedRandomAccessFile)">
            <summary> This method reads and buffers the tile headers, packet headers and
            packet data.
            
            </summary>
            <param name="fi">The file to read the headers and data from
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.CodestreamManipulator.createTileParts">
            <summary> This method creates the tileparts from the buffered tile headers,
            packet headers and packet data
            
            </summary>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.CodestreamManipulator.writeNewCodestream(CSJ2K.j2k.io.BufferedRandomAccessFile)">
            <summary> This method writes the new codestream to the file. 
            
            </summary>
            <param name="fi">The file to write the new codestream to
            
            </param>
            <exception cref="!:java.io.IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.util.FacilityManager" -->
        <member name="F:CSJ2K.j2k.util.FacilityManager.loggerList">
            <summary>The loggers associated to different threads </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.FacilityManager.watchProgList">
            <summary>The ProgressWatch instance associated to different threads </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.FacilityManager.defWatchProg">
            <summary>The default ProgressWatch for threads that have none
            associated with them. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.FacilityManager.registerMsgLogger(SupportClass.ThreadClass,CSJ2K.j2k.util.MsgLogger)">
            <summary> Registers the MsgLogger 'ml' as the logging facility of the
            thread 't'. If any other logging facility was registered with
            the thread 't' it is overriden by 'ml'. If 't' is null then
            'ml' is taken as the default message logger that is used for
            threads that have no MsgLogger registered.
            
            </summary>
            <param name="t">The thread to associate with 'ml'
            
            </param>
            <param name="ml">The MsgLogger to associate with therad ml
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.util.FacilityManager.ProgressWatch">
            <summary> Returns the ProgressWatch instance registered with the current
            thread (the thread that calls this method). If the current
            thread has no registered ProgressWatch, then the default one is used. 
            
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.util.ISRandomAccessIO" -->
        <member name="F:CSJ2K.j2k.util.ISRandomAccessIO.is_Renamed">
            <summary>The InputStream that is wrapped </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.#ctor(System.IO.Stream,System.Int32,System.Int32,System.Int32)">
            <summary> Creates a new RandomAccessIO wrapper for the given InputStream
            'is'. The internal cache buffer will have size 'size' and will
            increment by 'inc' each time it is needed. The maximum buffer size is
            limited to 'maxsize'.
            
            </summary>
            <param name="is">The input from where to get the data.
            
            </param>
            <param name="size">The initial size for the cache buffer, in bytes.
            
            </param>
            <param name="inc">The size increment for the cache buffer, in bytes.
            
            </param>
            <param name="maxsize">The maximum size for the cache buffer, in bytes.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.#ctor(System.IO.Stream)">
            <summary> Creates a new RandomAccessIO wrapper for the given InputStream
            'is'. The internal cache buffer size and increment is to to 256 kB. The
            maximum buffer size is set to Integer.MAX_VALUE (2 GB).
            
            </summary>
            <param name="is">The input from where to get the data.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.growBuffer">
            <summary> Grows the cache buffer by 'inc', upto a maximum of 'maxsize'. The
            buffer size will be increased by at least one byte, if no exception is
            thrown.
            
            </summary>
            <exception cref="!:IOException">If the maximum cache size is reached or if not
            enough memory is available to grow the buffer.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readInput">
            <summary> Reads data from the wrapped InputStream and places it in the cache
            buffer. Reads all input data that will not cause it to block, but at
            least on byte is read (even if it blocks), unless EOF is reached. This
            method can not be called if EOF has been already reached
            (i.e. 'complete' is true). The wrapped InputStream is closed if the EOF
            is reached.
            
            </summary>
            <exception cref="!:IOException">An I/O error occurred, out of meory to grow
            cache or maximum cache size reached.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.close">
            <summary> Closes this object for reading as well as the wrapped InputStream, if
            not already closed. The memory used by the cache is released.
            
            </summary>
            <exception cref="!:IOException">If an I/O error occurs while closing the
            underlying InputStream.  
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.seek(System.Int32)">
            <summary> Moves the current position for the next read operation to offset. The
            offset is measured from the beginning of the stream. If the offset is
            set beyond the currently cached data, the missing data will be read
            only when a read operation is performed. Setting the offset beyond the
            end of the data will cause an EOFException only if the data length is
            currently known, otherwise an IOException will occur when a read
            operation is attempted at that position.
            
            </summary>
            <param name="off">The offset where to move to.
            
            </param>
            <exception cref="!:EOFException">If seeking beyond EOF and the data length is
            known.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.length">
            <summary> Returns the length of the stream. This will cause all the data to be
            read. This method will block until all the data is read, which can be
            lengthy across the network.
            
            </summary>
            <returns> The length of the stream, in bytes.
            
            </returns>
            <exception cref="!:IOException">If an I/O error ocurred.  
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readByte">
            <summary> Reads a byte of data from the stream.
            
            </summary>
            <returns> The byte read, as an int in the range [0-255].
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readFully(System.Byte[],System.Int32,System.Int32)">
            <summary> Reads 'len' bytes of data from this file into an array of bytes. This
            method reads repeatedly from the stream until all the bytes are
            read. This method blocks until all the bytes are read, the end of the
            stream is detected, or an exception is thrown.
            
            </summary>
            <param name="b">The buffer into which the data is to be read. It must be long
            enough.
            
            </param>
            <param name="off">The index in 'b' where to place the first byte read.
            
            </param>
            <param name="len">The number of bytes to read.
            
            </param>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readUnsignedByte">
            <summary> Reads an unsigned byte (8 bit) from the input.
            
            </summary>
            <returns> The next byte-aligned unsigned byte (8 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readShort">
            <summary> Reads a signed short (16 bit) from the input.
            
            </summary>
            <returns> The next byte-aligned signed short (16 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readUnsignedShort">
            <summary> Reads an unsigned short (16 bit) from the input.
            
            </summary>
            <returns> The next byte-aligned unsigned short (16 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readInt">
            <summary> Reads a signed int (32 bit) from the input.
            
            </summary>
            <returns> The next byte-aligned signed int (32 bit) from the
            input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readUnsignedInt">
            <summary> Reads a unsigned int (32 bit) from the input.
            
            </summary>
            <returns> The next byte-aligned unsigned int (32 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readLong">
            <summary> Reads a signed long (64 bit) from the input.
            
            </summary>
            <returns> The next byte-aligned signed long (64 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readFloat">
            <summary> Reads an IEEE single precision (i.e., 32 bit) floating-point number
            from the input.
            
            </summary>
            <returns> The next byte-aligned IEEE float (32 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.readDouble">
            <summary> Reads an IEEE double precision (i.e., 64 bit) floating-point number
            from the input.
            
            </summary>
            <returns> The next byte-aligned IEEE double (64 bit) from the input.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before getting
            all the necessary data.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.skipBytes(System.Int32)">
            <summary> Skips 'n' bytes from the input.
            
            </summary>
            <param name="n">The number of bytes to skip
            
            </param>
            <returns> Always n.
            
            </returns>
            <exception cref="!:EOFException">If the end-of file was reached before all the
            bytes could be skipped.
            
            </exception>
            <exception cref="!:IOException">If an I/O error ocurred.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.flush">
            <summary> Does nothing since this class does not implement data output.  
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.write(System.Byte)">
            <summary> Throws an IOException since this class does not implement data output.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.writeByte(System.Int32)">
            <summary> Throws an IOException since this class does not implement data output.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.writeShort(System.Int32)">
            <summary> Throws an IOException since this class does not implement data output.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.writeInt(System.Int32)">
            <summary> Throws an IOException since this class does not implement data output.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.writeLong(System.Int64)">
            <summary> Throws an IOException since this class does not implement data output.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.writeFloat(System.Single)">
            <summary> Throws an IOException since this class does not implement data output.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ISRandomAccessIO.writeDouble(System.Double)">
            <summary> Throws an IOException since this class does not implement data output.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.util.ISRandomAccessIO.Pos">
            <summary> Returns the current position in the stream, which is the position from
            where the next byte of data would be read. The first byte in the stream
            is in position 0.
            
            </summary>
            <exception cref="!:IOException">If an I/O error occurred.
            
            </exception>
        </member>
        <member name="P:CSJ2K.j2k.util.ISRandomAccessIO.ByteOrdering">
            <summary> Returns the endianess (i.e., byte ordering) of multi-byte I/O
            operations. Always EndianType.BIG_ENDIAN since this class implements
            only big-endian.
            
            </summary>
            <returns> Always EndianType.BIG_ENDIAN.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.io.EndianType">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.util.MathUtil">
            <summary> This class contains a collection of utility methods fro mathematical
            operations. All methods are static.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.MathUtil.log2(System.Int32)">
            <summary> Method that calculates the floor of the log, base 2, of 'x'. The
            calculation is performed in integer arithmetic, therefore, it is exact.
            
            </summary>
            <param name="x">The value to calculate log2 on.
            
            </param>
            <returns> floor(log(x)/log(2)), calculated in an exact way.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.util.MathUtil.lcm(System.Int32,System.Int32)">
            <summary> Method that calculates the Least Common Multiple (LCM) of two strictly
            positive integer numbers.
            
            </summary>
            <param name="x1">First number
            
            </param>
            <param name="x2">Second number
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.MathUtil.lcm(System.Int32[])">
            <summary> Method that calculates the Least Common Multiple (LCM) of several
            positive integer numbers.
            
            </summary>
            <param name="x">Array containing the numbers.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.MathUtil.gcd(System.Int32,System.Int32)">
            <summary> Method that calculates the Greatest Common Divisor (GCD) of two
            positive integer numbers.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.MathUtil.gcd(System.Int32[])">
            <summary> Method that calculates the Greatest Common Divisor (GCD) of several
            positive integer numbers.
            
            </summary>
            <param name="x">Array containing the numbers.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.util.MsgLogger_Fields" -->
        <member name="F:CSJ2K.j2k.util.MsgLogger_Fields.LOG">
            <summary>Severity of message. LOG messages are just for bookkeeping and do not
            need to be displayed in the majority of cases 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.MsgLogger_Fields.INFO">
            <summary>Severity of message. INFO messages should be displayed just for user
            feedback. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.MsgLogger_Fields.WARNING">
            <summary>Severity of message. WARNING messages denote that an unexpected state
            has been reached and should be given as feedback to the user. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.MsgLogger_Fields.ERROR">
            <summary>Severity of message. ERROR messages denote that something has gone
            wrong and probably that execution has ended. They should be definetely
            displayed to the user. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.MsgLogger.printmsg(System.Int32,System.String)">
            <summary> Prints the message 'msg' to the output device, appending a newline,
            with severity 'sev'. Some implementations where the appended newline is
            irrelevant may not append the newline. Depending on the implementation
            the severity of the message may be added to it. The message is
            reformatted as appropriate for the output devic, but any newline
            characters are respected.
            
            </summary>
            <param name="sev">The message severity (LOG, INFO, etc.)
            
            </param>
            <param name="msg">The message to display
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.MsgLogger.println(System.String,System.Int32,System.Int32)">
            <summary> Prints the string 'str' to the output device, appending a line
            return. The message is reformatted as appropriate to the particular
            diplaying device, where 'flind' and 'ind' are used as hints for
            performing that operation. However, any newlines appearing in 'str' are
            respected. The output device may not display the string until flush()
            is called. Some implementations may automatically flush when this
            method is called. This method just prints the string, the string does
            not make part of a "message" in the sense that no severity is
            associated to it.
            
            </summary>
            <param name="str">The string to print
            
            </param>
            <param name="flind">Indentation of the first line
            
            </param>
            <param name="ind">Indentation of any other lines.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.MsgLogger.flush">
            <summary> Writes any buffered data from the println() method to the device.
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.util.MsgPrinter">
            <summary> This utility class formats messages to the specified line width, by
            inserting line-breaks between words, and printing the resulting
            lines.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.MsgPrinter.IS_NEWLINE">
            <summary>Signals that a newline was found </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.MsgPrinter.IS_EOS">
            <summary>Signals that the end-of-string was reached </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.MsgPrinter.lw">
            <summary>The line width to use </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.MsgPrinter.#ctor(System.Int32)">
            <summary> Creates a new message printer with the specified line width and
            with the default locale.
            
            </summary>
            <param name="linewidth">The line width for which to format (in
            characters)
            
            
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.MsgPrinter.print(System.IO.StreamWriter,System.Int32,System.Int32,System.String)">
            <summary> Formats the message to print in the current line width, by
            breaking the message into lines between words. The number of
            spaces to indent the first line is specified by 'flind' and the
            number of spaces to indent each of the following lines is
            specified by 'ind'. Newlines in 'msg' are respected. A newline is
            always printed at the end.
            
            </summary>
            <param name="out">Where to print the message.
            
            </param>
            <param name="flind">The indentation for the first line.
            
            </param>
            <param name="ind">The indentation for the other lines.
            
            </param>
            <param name="msg">The message to format and print.
            
            
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.MsgPrinter.nextLineEnd(System.String,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.MsgPrinter.nextWord(System.String,System.Int32)" -->
        <member name="P:CSJ2K.j2k.util.MsgPrinter.LineWidth">
            <summary> Returns the line width that is used for formatting.
            
            </summary>
            <returns> The line width used for formatting
            
            
            
            </returns>
            <summary> Sets the line width to the specified value. This new value will 
            be used in subsequent calls to the print() message.
            
            </summary>
            <param name="linewidth">The new line width to use (in cahracters)
            
            
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.util.ParameterList">
            <summary> This class holds modules options and parameters as they are provided to the
            encoder or the decoder. Each option and its associated parameters are
            stored as strings.
            
            <p>This class is built on the standard Java Properties class. Consequently,
            it offers facilities to load and write parameters from/to a file. In the
            meantime, a ParameterList object can also handle default parameters for
            each option.</p>
            
            <p>Each parameter can be retrieved as a string or as an specific primitive
            type (int, float, etc).</p>
            
            <p>For more details see the Properties class.</p>
            
            <p>Note that this class does not support multiple occurrences of parameters
            (for a parameter name, only one value is possible). Also there is no
            particular order of the parameters.</p>
            
            </summary>
            <seealso cref="!:Properties">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.util.ParameterList.#ctor">
            <summary> Constructs an empty ParameterList object. It can be later completed by
            adding elements one by one, by loading them from a file, or by
            initializing them from an argument string.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ParameterList.#ctor(CSJ2K.j2k.util.ParameterList)">
            <summary> Constructs an empty ParameterList object with the provided default
            parameters. The list can be later updated by adding elements one by
            one, by loading them from a file, or by initializing them from an
            argument string.
            
            </summary>
            <param name="def">The defaults parameters
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.ParameterList.parseArgs(System.String[])" -->
        <member name="M:CSJ2K.j2k.util.ParameterList.getParameter(System.String)">
            <summary> Returns the value of the named parameter, as a string. The value can
            come from teh defaults, if there are.
            
            </summary>
            <param name="pname">The parameter name.
            
            </param>
            <returns> the value of the parameter as a string, or null if there is no
            parameter with the name 'pname'.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.util.ParameterList.getBooleanParameter(System.String)">
            <summary> Returns the value of the named parameter as a boolean. The value "on"
            is interpreted as 'true', while the value "off" is interpreted as
            'false'. If the parameter has another value then an
            StringFormatException is thrown. If the parameter 'pname' is not in the
            parameter list, an IllegalArgumentException is thrown.
            
            </summary>
            <param name="pname">The parameter name.
            
            </param>
            <returns> the value of the parameter as a boolean.
            
            </returns>
            <exception cref="T:CSJ2K.j2k.util.StringFormatException">If the parameter has a value which is
            neither "on" nor "off".
            
            </exception>
            <exception cref="!:IllegalArgumentException">If there is no parameter with the
            name 'pname' in the parameter list.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ParameterList.getIntParameter(System.String)">
            <summary> Returns the value of the named parameter as an int. If the parameter
            has a non-numeric value a NumberFormatException is thrown. If the
            parameter has a multiple word value than the first word is returned as
            an int, others are ignored. If the parameter 'pname' is not in the
            parameter list, an IllegalArgumentException is thrown.
            
            </summary>
            <param name="pname">The parameter name.
            
            </param>
            <returns> the value of the parameter as an int.
            
            </returns>
            <exception cref="!:NumberFormatException">If the parameter has a non-numeric
            value.
            
            </exception>
            <exception cref="!:IllegalArgumentException">If there is no parameter with the
            name 'pname' in the parameter list.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ParameterList.getFloatParameter(System.String)">
            <summary> Returns the value of the named parameter as a float. If the parameter
            has a non-numeric value a NumberFormatException is thrown. If the
            parameter has a multiple word value than the first word is returned as
            an int, others are ignored. If the parameter 'pname' is not in the
            parameter list, an IllegalArgumentException is thrown.
            
            </summary>
            <param name="pname">The parameter name.
            
            </param>
            <exception cref="!:NumberFormatException">If the parameter has a non-numeric
            value.
            
            </exception>
            <exception cref="!:IllegalArgumentException">If there is no parameter with the
            name 'pname' in the parameter list.
            
            </exception>
            <returns> the value of the parameter as a float.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.util.ParameterList.checkList(System.Char,System.String[])">
            <summary> Checks if the parameters which name starts with the prefix 'prfx' in
            the parameter list are all in the list of valid parameter names
            'plist'. If there is a parameter that is not in 'plist' an
            IllegalArgumentException is thrown with an explanation message. The
            default parameters are also included in the check.
            
            </summary>
            <param name="prfx">The prefix of parameters to check.
            
            </param>
            <param name="plist">The list of valid parameter names for the 'prfx'
            prefix. If null it is considered that no names are valid.
            
            </param>
            <exception cref="!:IllegalArgumentException">If there's a parameter name
            starting with 'prfx' which is not in the valid list of parameter names.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ParameterList.checkList(System.Char[],System.String[])">
            <summary> Checks if the parameters which names do not start with any of the
            prefixes in 'prfxs' in this ParameterList are all in the list of valid
            parameter names 'plist'. If there is a parameter that is not in 'plist'
            an IllegalArgumentException is thrown with an explanation message. The
            default parameters are also included in the check.
            
            </summary>
            <param name="prfxs">The prefixes of parameters to ignore.
            
            </param>
            <param name="plist">The list of valid parameter names. If null it is
            considered that no names are valid.
            
            </param>
            <exception cref="!:IllegalArgumentException">If there's a parameter name not
            starting with 'prfx' which is not in the valid list of parameter names.
            
            </exception>
        </member>
        <member name="M:CSJ2K.j2k.util.ParameterList.toNameArray(System.String[][])">
            <summary> Converts the usage information to a list of parameter names in a single
            array. The usage information appears in a 2D array of String. The first
            dimensions contains the different options, the second dimension
            contains the name of the option (first element), the synopsis and the
            explanation. This method takes the names of the different options in
            'pinfo' and returns them in a single array of String.
            
            </summary>
            <param name="pinfo">The list of options and their usage info (see above).
            
            </param>
            <returns> An array with the names of the options in pinfo. If pinfo is
            null, null is returned.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.util.ParameterList.DefaultParameterList">
            <summary> Returns the default ParameterList.
            
            </summary>
            <returns> Default ParameterList
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.util.ProgressWatch.initProgressWatch(System.Int32,System.Int32,System.String)">
            <summary> Initialize the progress watching process 
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ProgressWatch.updateProgressWatch(System.Int32,System.String)">
            <summary> Update the progress watching process to the specified value
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.ProgressWatch.terminateProgressWatch">
            <summary> Terminate the progress watch process
            
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.util.StreamMsgLogger" -->
        <member name="F:CSJ2K.j2k.util.StreamMsgLogger.out_Renamed">
            <summary>The 'out' stream </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.StreamMsgLogger.err">
            <summary>The 'err' stream </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.StreamMsgLogger.mp">
            <summary>The printer that formats the text </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.StreamMsgLogger.#ctor(System.IO.Stream,System.IO.Stream,System.Int32)">
            <summary> Constructs a StreamMsgLogger that uses 'outstr' as the 'out' stream,
            and 'errstr' as the 'err' stream. Note that 'outstr' and 'errstr' can
            be System.out and System.err.
            
            </summary>
            <param name="outstr">Where to print simple strings and LOG and INFO messages.
            
            </param>
            <param name="errstr">Where to print WARNING and ERROR messages
            
            </param>
            <param name="lw">The line width to use in formatting
            
            
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.StreamMsgLogger.#ctor(System.IO.StreamWriter,System.IO.StreamWriter,System.Int32)">
            <summary> Constructs a StreamMsgLogger that uses 'outstr' as the 'out' stream,
            and 'errstr' as the 'err' stream. Note that 'outstr' and 'errstr' can
            be System.out and System.err.
            
            </summary>
            <param name="outstr">Where to print simple strings and LOG and INFO messages.
            
            </param>
            <param name="errstr">Where to print WARNING and ERROR messages
            
            </param>
            <param name="lw">The line width to use in formatting
            
            
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.StreamMsgLogger.printmsg(System.Int32,System.String)">
            <summary> Prints the message 'msg' to the output device, appending a newline,
            with severity 'sev'. The severity of the message is prepended to the
            message.
            
            </summary>
            <param name="sev">The message severity (LOG, INFO, etc.)
            
            </param>
            <param name="msg">The message to display
            
            
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.StreamMsgLogger.println(System.String,System.Int32,System.Int32)">
            <summary> Prints the string 'str' to the 'out' stream, appending a newline. The
            message is reformatted to the line width given to the constructors and
            using 'flind' characters to indent the first line and 'ind' characters
            to indent the second line. However, any newlines appearing in 'str' are
            respected. The output device may or may not display the string until
            flush() is called, depending on the autoflush state of the PrintWriter,
            to be sure flush() should be called to write the string to the
            device. This method just prints the string, the string does not make
            part of a "message" in the sense that noe severity is associated to it.
            
            </summary>
            <param name="str">The string to print
            
            </param>
            <param name="flind">Indentation of the first line
            
            </param>
            <param name="ind">Indentation of any other lines.
            
            
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.util.StreamMsgLogger.flush">
            <summary> Writes any buffered data from the print() and println() methods to the
            device.
            
            
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.util.StringFormatException">
            <summary> Thrown to indicate that the application has attempted to parse a
            badly formatted string.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.StringFormatException.#ctor">
            <summary> Creates the exception with an empty messgage.
            
            
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.util.StringFormatException.#ctor(System.String)">
            <summary> Creates the exception with the specified detail message.
            
            </summary>
            <param name="s">The detail message
            
            
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.util.ThreadPool" -->
        <member name="F:CSJ2K.j2k.util.ThreadPool.CONCURRENCY_PROP_NAME">
            <summary>The name of the property that sets the concurrency level:
            jj2000.j2k.util.ThreadPool.concurrency 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.ThreadPool.idle">
            <summary>The array of idle threads and the lock for the manipulation of the
            idle thread list. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.ThreadPool.nidle">
            <summary>The number of idle threads </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.ThreadPool.poolName">
            <summary>The name of the pool </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.ThreadPool.poolPriority">
            <summary>The priority for the pool </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.ThreadPool.targetE">
            <summary>The last error thrown by a target. Null if none </summary>
        </member>
        <member name="F:CSJ2K.j2k.util.ThreadPool.targetRE">
            <summary>The last runtime exception thrown by a target. Null if none </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.ThreadPool.#ctor(System.Int32,System.Int32,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.ThreadPool.runTarget(IThreadRunnable,System.Object)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.ThreadPool.runTarget(IThreadRunnable,System.Object,System.Boolean)" -->
        <member name="M:CSJ2K.j2k.util.ThreadPool.runTarget(IThreadRunnable,System.Object,System.Boolean,System.Boolean)">
            <summary> Runs the run method of the specified target in an idle thread of this
            pool. When the target's run method completes, the thread waiting on the
            lock object is notified, if any. If there is currently no idle thread
            and the asynchronous mode is not used the method will block until a
            thread of the pool becomes idle or the calling thread is
            interrupted. If the asynchronous mode is used then the method will not
            block and will return false.
            
            </summary>
            <param name="t">The target. The 'run()' method of this object will be run in
            an idle thread of the pool.
            
            </param>
            <param name="l">The lock object. A thread waiting on the lock of the 'l'
            object will be notified, through the 'notify()' call, when the target's 
            run method completes. If null no thread is notified.
            
            </param>
            <param name="async">If true the asynchronous mode will be used.
            
            </param>
            <param name="notifyAll">If true, threads waiting on the lock of the 'l' object
            will be notified trough the 'notifyAll()' instead of the normal
            'notify()' call. This is not normally needed.
            
            </param>
            <returns> True if the target was submitted to some thread. False if no
            idle thread could be found and the target was not submitted for
            execution.
            
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.util.ThreadPool.checkTargetErrors">
            <summary> Checks that no error or runtime exception in any target have occurred
            so far. If an error or runtime exception has occurred in a target's run 
            method they are thrown by this method.
            
            </summary>
            <exception cref="!:Error">If an error condition has been thrown by a target
            'run()' method.
            
            </exception>
            <exception cref="!:RuntimeException">If a runtime exception has been thrown by a 
            target 'run()' method.
            
            </exception>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.ThreadPool.clearTargetErrors" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.ThreadPool.putInIdleList(CSJ2K.j2k.util.ThreadPool.ThreadPoolThread)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.ThreadPool.getIdle(System.Boolean)" -->
        <member name="P:CSJ2K.j2k.util.ThreadPool.Size">
            <summary> Returns the size of the pool. That is the number of threads in this
            pool (idle + busy).
            
            </summary>
            <returns> The pool's size.
            
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.util.ThreadPool.ThreadPoolThread">
            <summary> The threads that are managed by the pool.
            
            </summary>
        </member>
        <member name="T:SupportClass.ThreadClass">
            <summary>
            Support class used to handle threads
            </summary>
        </member>
        <member name="T:SupportClass">
            <summary>
            Contains conversion support elements such as classes, interfaces and static methods.
            </summary>
        </member>
        <member name="M:SupportClass.ToByteArray(System.SByte[])">
            <summary>
            Converts an array of sbytes to an array of bytes
            </summary>
            <param name="sbyteArray">The array of sbytes to be converted</param>
            <returns>The new array of bytes</returns>
        </member>
        <member name="M:SupportClass.ToByteArray(System.String)">
            <summary>
            Converts a string to an array of bytes
            </summary>
            <param name="sourceString">The string to be converted</param>
            <returns>The new array of bytes</returns>
        </member>
        <member name="M:SupportClass.ToByteArray(System.Object[])">
            <summary>
            Converts a array of object-type instances to a byte-type array.
            </summary>
            <param name="tempObjectArray">Array to convert.</param>
            <returns>An array of byte type elements.</returns>
        </member>
        <member name="M:SupportClass.WriteStackTrace(System.Exception,System.IO.TextWriter)">
            <summary>
            Writes the exception stack trace to the received stream
            </summary>
            <param name="throwable">Exception to obtain information from</param>
            <param name="stream">Output sream used to write to</param>
        </member>
        <member name="M:SupportClass.ToSByteArray(System.Byte[])">
            <summary>
            Receives a byte array and returns it transformed in an sbyte array
            </summary>
            <param name="byteArray">Byte array to process</param>
            <returns>The transformed array</returns>
        </member>
        <member name="M:SupportClass.ToCharArray(System.SByte[])">
            <summary>
            Converts an array of sbytes to an array of chars
            </summary>
            <param name="sByteArray">The array of sbytes to convert</param>
            <returns>The new array of chars</returns>
        </member>
        <member name="M:SupportClass.ToCharArray(System.Byte[])">
            <summary>
            Converts an array of bytes to an array of chars
            </summary>
            <param name="byteArray">The array of bytes to convert</param>
            <returns>The new array of chars</returns>
        </member>
        <member name="M:SupportClass.Identity(System.Int64)">
            <summary>
            This method returns the literal value received
            </summary>
            <param name="literal">The literal to return</param>
            <returns>The received value</returns>
        </member>
        <member name="M:SupportClass.Identity(System.UInt64)">
            <summary>
            This method returns the literal value received
            </summary>
            <param name="literal">The literal to return</param>
            <returns>The received value</returns>
        </member>
        <member name="M:SupportClass.Identity(System.Single)">
            <summary>
            This method returns the literal value received
            </summary>
            <param name="literal">The literal to return</param>
            <returns>The received value</returns>
        </member>
        <member name="M:SupportClass.Identity(System.Double)">
            <summary>
            This method returns the literal value received
            </summary>
            <param name="literal">The literal to return</param>
            <returns>The received value</returns>
        </member>
        <member name="M:SupportClass.URShift(System.Int32,System.Int32)">
            <summary>
            Performs an unsigned bitwise right shift with the specified number
            </summary>
            <param name="number">Number to operate on</param>
            <param name="bits">Ammount of bits to shift</param>
            <returns>The resulting number from the shift operation</returns>
        </member>
        <member name="M:SupportClass.URShift(System.Int32,System.Int64)">
            <summary>
            Performs an unsigned bitwise right shift with the specified number
            </summary>
            <param name="number">Number to operate on</param>
            <param name="bits">Ammount of bits to shift</param>
            <returns>The resulting number from the shift operation</returns>
        </member>
        <member name="M:SupportClass.URShift(System.Int64,System.Int32)">
            <summary>
            Performs an unsigned bitwise right shift with the specified number
            </summary>
            <param name="number">Number to operate on</param>
            <param name="bits">Ammount of bits to shift</param>
            <returns>The resulting number from the shift operation</returns>
        </member>
        <member name="M:SupportClass.URShift(System.Int64,System.Int64)">
            <summary>
            Performs an unsigned bitwise right shift with the specified number
            </summary>
            <param name="number">Number to operate on</param>
            <param name="bits">Ammount of bits to shift</param>
            <returns>The resulting number from the shift operation</returns>
        </member>
        <member name="M:SupportClass.ReadInput(System.IO.Stream,System.SByte[],System.Int32,System.Int32)">
            <summary>Reads a number of characters from the current source Stream and writes the data to the target array at the specified index.</summary>
            <param name="sourceStream">The source Stream to read from.</param>
            <param name="target">Contains the array of characteres read from the source Stream.</param>
            <param name="start">The starting index of the target array.</param>
            <param name="count">The maximum number of characters to read from the source Stream.</param>
            <returns>The number of characters read. The number will be less than or equal to count depending on the data available in the source Stream. Returns -1 if the end of the stream is reached.</returns>
        </member>
        <member name="M:SupportClass.ReadInput(System.IO.TextReader,System.SByte[],System.Int32,System.Int32)">
            <summary>Reads a number of characters from the current source TextReader and writes the data to the target array at the specified index.</summary>
            <param name="sourceTextReader">The source TextReader to read from</param>
            <param name="target">Contains the array of characteres read from the source TextReader.</param>
            <param name="start">The starting index of the target array.</param>
            <param name="count">The maximum number of characters to read from the source TextReader.</param>
            <returns>The number of characters read. The number will be less than or equal to count depending on the data available in the source TextReader. Returns -1 if the end of the stream is reached.</returns>
        </member>
        <member name="T:SupportClass.RandomAccessFileSupport">
            <summary>
            Provides support functions to create read-write random acces files and write functions
            </summary>
        </member>
        <member name="M:SupportClass.RandomAccessFileSupport.CreateRandomAccessFile(System.String,System.String)">
            <summary>
            Creates a new random acces stream with read-write or read rights
            </summary>
            <param name="fileName">A relative or absolute path for the file to open</param>
            <param name="mode">Mode to open the file in</param>
            <returns>The new System.IO.FileStream</returns>
        </member>
        <member name="M:SupportClass.RandomAccessFileSupport.CreateRandomAccessFile(System.Object,System.String)">
            <summary>
            Creates a new random acces stream with read-write or read rights
            </summary>
            <param name="fileName">File infomation for the file to open</param>
            <param name="mode">Mode to open the file in</param>
            <returns>The new System.IO.FileStream</returns>
        </member>
        <member name="M:SupportClass.RandomAccessFileSupport.WriteBytes(System.String,System.Object)">
            <summary>
            Writes the data to the specified file stream
            </summary>
            <param name="data">Data to write</param>
            <param name="fileStream">File to write to</param>
        </member>
        <member name="M:SupportClass.RandomAccessFileSupport.WriteChars(System.String,System.Object)">
            <summary>
            Writes the received string to the file stream
            </summary>
            <param name="data">String of information to write</param>
            <param name="fileStream">File to write to</param>
        </member>
        <member name="M:SupportClass.RandomAccessFileSupport.WriteRandomFile(System.SByte[],System.Object)">
            <summary>
            Writes the received data to the file stream
            </summary>
            <param name="sByteArray">Data to write</param>
            <param name="fileStream">File to write to</param>
        </member>
        <member name="T:SupportClass.Tokenizer">
            <summary>
            The class performs token processing in strings
            </summary>
        </member>
        <member name="F:SupportClass.Tokenizer.currentPos">
            Position over the string
        </member>
        <member name="F:SupportClass.Tokenizer.includeDelims">
            Include demiliters in the results.
        </member>
        <member name="F:SupportClass.Tokenizer.chars">
            Char representation of the String to tokenize.
        </member>
        <member name="M:SupportClass.Tokenizer.#ctor(System.String)">
            <summary>
            Initializes a new class instance with a specified string to process
            </summary>
            <param name="source">String to tokenize</param>
        </member>
        <member name="M:SupportClass.Tokenizer.#ctor(System.String,System.String)">
            <summary>
            Initializes a new class instance with a specified string to process
            and the specified token delimiters to use
            </summary>
            <param name="source">String to tokenize</param>
            <param name="delimiters">String containing the delimiters</param>
        </member>
        <member name="M:SupportClass.Tokenizer.#ctor(System.String,System.String,System.Boolean)">
            <summary>
            Initializes a new class instance with a specified string to process, the specified token 
            delimiters to use, and whether the delimiters must be included in the results.
            </summary>
            <param name="source">String to tokenize</param>
            <param name="delimiters">String containing the delimiters</param>
            <param name="includeDelims">Determines if delimiters are included in the results.</param>
        </member>
        <member name="M:SupportClass.Tokenizer.NextToken">
            <summary>
            Returns the next token from the token list
            </summary>
            <returns>The string value of the token</returns>
        </member>
        <member name="M:SupportClass.Tokenizer.NextToken(System.String)">
            <summary>
            Returns the next token from the source string, using the provided
            token delimiters
            </summary>
            <param name="delimiters">String containing the delimiters to use</param>
            <returns>The string value of the token</returns>
        </member>
        <member name="M:SupportClass.Tokenizer.HasMoreTokens">
            <summary>
            Determines if there are more tokens to return from the source string
            </summary>
            <returns>True or false, depending if there are more tokens</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:SupportClass.Tokenizer.MoveNext" -->
        <member name="M:SupportClass.Tokenizer.Reset">
            <summary>
            Does nothing.
            </summary>
        </member>
        <member name="P:SupportClass.Tokenizer.Count">
            <summary>
            Remaining tokens count
            </summary>
        </member>
        <member name="P:SupportClass.Tokenizer.Current">
            <summary>
             Performs the same action as NextToken.
            </summary>
        </member>
        <member name="T:SupportClass.BackStringReader">
            <summary>
            This class provides auxiliar functionality to read and unread characters from a string into a buffer.
            </summary>
        </member>
        <member name="M:SupportClass.BackStringReader.#ctor(System.String)">
            <summary>
            Constructor. Calls the base constructor.
            </summary>
            <param name="stringReader">The buffer from which chars will be read.</param>
            <param name="size">The size of the Back buffer.</param>
        </member>
        <member name="M:SupportClass.BackStringReader.Read">
            <summary>
            Reads a character.
            </summary>
            <returns>The character read.</returns>
        </member>
        <member name="M:SupportClass.BackStringReader.Read(System.Char[],System.Int32,System.Int32)">
            <summary>
            Reads an amount of characters from the buffer and copies the values to the array passed.
            </summary>
            <param name="array">Array where the characters will be stored.</param>
            <param name="index">The beginning index to read.</param>
            <param name="count">The number of characters to read.</param>
            <returns>The number of characters read.</returns>
        </member>
        <member name="M:SupportClass.BackStringReader.UnRead(System.Int32)">
            <summary>
            Unreads a character.
            </summary>
            <param name="unReadChar">The character to be unread.</param>
        </member>
        <member name="M:SupportClass.BackStringReader.UnRead(System.Char[],System.Int32,System.Int32)">
            <summary>
            Unreads an amount of characters by moving these to the buffer.
            </summary>
            <param name="array">The character array to be unread.</param>
            <param name="index">The beginning index to unread.</param>
            <param name="count">The number of characters to unread.</param>
        </member>
        <member name="M:SupportClass.BackStringReader.UnRead(System.Char[])">
            <summary>
            Unreads an amount of characters by moving these to the buffer.
            </summary>
            <param name="array">The character array to be unread.</param>
        </member>
        <member name="M:SupportClass.BackStringReader.Move(System.Char[],System.Int32,System.Int32)">
            <summary>
            Moves the array of characters to the buffer.
            </summary>
            <param name="array">Array of characters to move.</param>
            <param name="index">Offset of the beginning.</param>
            <param name="count">Amount of characters to move.</param>
        </member>
        <member name="T:SupportClass.StreamTokenizerSupport">
            <summary>
            The StreamTokenizerSupport class takes an input stream and parses it into "tokens".
            The stream tokenizer can recognize identifiers, numbers, quoted strings, and various comment styles. 
            </summary>
        </member>
        <member name="F:SupportClass.StreamTokenizerSupport.TOKEN">
            <summary>
            Internal constants and fields
            </summary>
        </member>
        <member name="F:SupportClass.StreamTokenizerSupport.TT_EOF">
            <summary>
            Indicates that the end of the stream has been read.
            </summary>
        </member>
        <member name="F:SupportClass.StreamTokenizerSupport.TT_EOL">
            <summary>
            Indicates that the end of the line has been read.
            </summary>
        </member>
        <member name="F:SupportClass.StreamTokenizerSupport.TT_NUMBER">
            <summary>
            Indicates that a number token has been read.
            </summary>
        </member>
        <member name="F:SupportClass.StreamTokenizerSupport.TT_WORD">
            <summary>
            Indicates that a word token has been read.
            </summary>
        </member>
        <member name="F:SupportClass.StreamTokenizerSupport.nval">
            <summary>
            If the current token is a number, this field contains the value of that number.
            </summary>
        </member>
        <member name="F:SupportClass.StreamTokenizerSupport.sval">
            <summary>
            If the current token is a word token, this field contains a string giving the characters of the word 
            token.
            </summary>
        </member>
        <member name="F:SupportClass.StreamTokenizerSupport.ttype">
            <summary>
            After a call to the nextToken method, this field contains the type of the token just read.
            </summary>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.read">
            <summary>
            Internal methods
            </summary>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.#ctor(System.IO.StringReader)">
            <summary>
            Creates a StreamToknizerSupport that parses the given string.
            </summary>
            <param name="reader">The System.IO.StringReader that contains the String to be parsed.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.#ctor(System.IO.StreamReader)">
            <summary>
            Creates a StreamTokenizerSupport that parses the given stream.
            </summary>
            <param name="reader">Reader to be parsed.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.#ctor(System.IO.Stream)">
            <summary>
            Creates a StreamTokenizerSupport that parses the given stream.
            </summary>
            <param name="stream">Stream to be parsed.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.CommentChar(System.Int32)">
            <summary>
            Specified that the character argument starts a single-line comment.
            </summary>
            <param name="ch">The character.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.EOLIsSignificant(System.Boolean)">
            <summary>
            Determines whether or not ends of line are treated as tokens.
            </summary>
            <param name="flag">True indicates that end-of-line characters are separate tokens; False indicates 
            that end-of-line characters are white space.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.Lineno">
            <summary>
            Return the current line number.
            </summary>
            <returns>Current line number</returns>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.LowerCaseMode(System.Boolean)">
            <summary>
            Determines whether or not word token are automatically lowercased.
            </summary>
            <param name="flag">True indicates that all word tokens should be lowercased.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.NextToken">
            <summary>
            Parses the next token from the input stream of this tokenizer.
            </summary>
            <returns>The value of the ttype field.</returns>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.OrdinaryChar(System.Int32)">
            <summary>
            Specifies that the character argument is "ordinary" in this tokenizer.
            </summary>
            <param name="ch">The character.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.OrdinaryChars(System.Int32,System.Int32)">
            <summary>
            Specifies that all characters c in the range low less-equal c less-equal high are "ordinary" in this 
            tokenizer.
            </summary>
            <param name="low">Low end of the range.</param>
            <param name="hi">High end of the range.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.ParseNumbers">
            <summary>
            Specifies that numbers should be parsed by this tokenizer.
            </summary>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.PushBack">
            <summary>
            Causes the next call to the nextToken method of this tokenizer to return the current value in the 
            ttype field, and not to modify the value in the nval or sval field.
            </summary>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.QuoteChar(System.Int32)">
            <summary>
            Specifies that matching pairs of this character delimit string constants in this tokenizer.
            </summary>
            <param name="ch">The character.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.ResetSyntax">
            <summary>
            Resets this tokenizer's syntax table so that all characters are "ordinary." See the ordinaryChar 
            method for more information on a character being ordinary.
            </summary>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.SlashSlashComments(System.Boolean)">
            <summary>
            Determines whether or not the tokenizer recognizes C++-style comments.
            </summary>
            <param name="flag">True indicates to recognize and ignore C++-style comments.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.SlashStarComments(System.Boolean)">
            <summary>
            Determines whether or not the tokenizer recognizes C-style comments.
            </summary>
            <param name="flag">True indicates to recognize and ignore C-style comments.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.ToString">
            <summary>
            Returns the string representation of the current stream token.
            </summary>
            <returns>A String representation of the current stream token.</returns>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.WhitespaceChars(System.Int32,System.Int32)">
            <summary>
            Specifies that all characters c in the range low less-equal c less-equal high are white space 
            characters.
            </summary>
            <param name="low">The low end of the range.</param>
            <param name="hi">The high end of the range.</param>
        </member>
        <member name="M:SupportClass.StreamTokenizerSupport.WordChars(System.Int32,System.Int32)">
            <summary>
            Specifies that all characters c in the range low less-equal c less-equal high are word constituents.
            </summary>
            <param name="low">The low end of the range.</param>
            <param name="hi">The high end of the range.</param>
        </member>
        <member name="T:SupportClass.BackReader">
            <summary>
            This class provides functionality to reads and unread characters into a buffer.
            </summary>
        </member>
        <member name="M:SupportClass.BackReader.#ctor(System.IO.Stream,System.Int32,System.Text.Encoding)">
            <summary>
            Constructor. Calls the base constructor.
            </summary>
            <param name="streamReader">The buffer from which chars will be read.</param>
            <param name="size">The size of the Back buffer.</param>
        </member>
        <member name="M:SupportClass.BackReader.#ctor(System.IO.Stream,System.Text.Encoding)">
            <summary>
            Constructor. Calls the base constructor.
            </summary>
            <param name="streamReader">The buffer from which chars will be read.</param>
        </member>
        <member name="M:SupportClass.BackReader.MarkSupported">
            <summary>
            Checks if this stream support mark and reset methods.
            </summary>
            <remarks>
            This method isn't supported.
            </remarks>
            <returns>Always false.</returns>
        </member>
        <member name="M:SupportClass.BackReader.Mark(System.Int32)">
            <summary>
            Marks the element at the corresponding position.
            </summary>
            <remarks>
            This method isn't supported.
            </remarks>
        </member>
        <member name="M:SupportClass.BackReader.Reset">
            <summary>
            Resets the current stream.
            </summary>
            <remarks>
            This method isn't supported.
            </remarks>
        </member>
        <member name="M:SupportClass.BackReader.Read">
            <summary>
            Reads a character.
            </summary>
            <returns>The character read.</returns>
        </member>
        <member name="M:SupportClass.BackReader.Read(System.Char[],System.Int32,System.Int32)">
            <summary>
            Reads an amount of characters from the buffer and copies the values to the array passed.
            </summary>
            <param name="array">Array where the characters will be stored.</param>
            <param name="index">The beginning index to read.</param>
            <param name="count">The number of characters to read.</param>
            <returns>The number of characters read.</returns>
        </member>
        <member name="M:SupportClass.BackReader.IsReady">
            <summary>
            Checks if this buffer is ready to be read.
            </summary>
            <returns>True if the position is less than the length, otherwise false.</returns>
        </member>
        <member name="M:SupportClass.BackReader.UnRead(System.Int32)">
            <summary>
            Unreads a character.
            </summary>
            <param name="unReadChar">The character to be unread.</param>
        </member>
        <member name="M:SupportClass.BackReader.UnRead(System.Char[],System.Int32,System.Int32)">
            <summary>
            Unreads an amount of characters by moving these to the buffer.
            </summary>
            <param name="array">The character array to be unread.</param>
            <param name="index">The beginning index to unread.</param>
            <param name="count">The number of characters to unread.</param>
        </member>
        <member name="M:SupportClass.BackReader.UnRead(System.Char[])">
            <summary>
            Unreads an amount of characters by moving these to the buffer.
            </summary>
            <param name="array">The character array to be unread.</param>
        </member>
        <member name="M:SupportClass.BackReader.Move(System.Char[],System.Int32,System.Int32)">
            <summary>
            Moves the array of characters to the buffer.
            </summary>
            <param name="array">Array of characters to move.</param>
            <param name="index">Offset of the beginning.</param>
            <param name="count">Amount of characters to move.</param>
        </member>
        <member name="T:SupportClass.BackInputStream">
            <summary>
            Provides functionality to read and unread from a Stream.
            </summary>
        </member>
        <member name="M:SupportClass.BackInputStream.#ctor(System.IO.Stream,System.Int32)">
            <summary>
            Creates a BackInputStream with the specified stream and size for the buffer.
            </summary>
            <param name="streamReader">The stream to use.</param>
            <param name="size">The specific size of the buffer.</param>
        </member>
        <member name="M:SupportClass.BackInputStream.#ctor(System.IO.Stream)">
            <summary>
            Creates a BackInputStream with the specified stream.
            </summary>
            <param name="streamReader">The stream to use.</param>
        </member>
        <member name="M:SupportClass.BackInputStream.MarkSupported">
            <summary>
            Checks if this stream support mark and reset methods.
            </summary>
            <returns>Always false, these methods aren't supported.</returns>
        </member>
        <member name="M:SupportClass.BackInputStream.Read">
            <summary>
            Reads the next bytes in the stream.
            </summary>
            <returns>The next byte readed</returns>
        </member>
        <member name="M:SupportClass.BackInputStream.Read(System.SByte[],System.Int32,System.Int32)">
            <summary>
            Reads the amount of bytes specified from the stream.
            </summary>
            <param name="array">The buffer to read data into.</param>
            <param name="index">The beginning point to read.</param>
            <param name="count">The number of characters to read.</param>
            <returns>The number of characters read into buffer.</returns>
        </member>
        <member name="M:SupportClass.BackInputStream.UnRead(System.Int32)">
            <summary>
            Unreads a byte from the stream.
            </summary>
            <param name="element">The value to be unread.</param>
        </member>
        <member name="M:SupportClass.BackInputStream.UnRead(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Unreads an amount of bytes from the stream.
            </summary>
            <param name="array">The byte array to be unread.</param>
            <param name="index">The beginning index to unread.</param>
            <param name="count">The number of bytes to be unread.</param>
        </member>
        <member name="M:SupportClass.BackInputStream.UnRead(System.Byte[])">
            <summary>
            Unreads an array of bytes from the stream.
            </summary>
            <param name="array">The byte array to be unread.</param>
        </member>
        <member name="M:SupportClass.BackInputStream.Skip(System.Int64)">
            <summary>
            Skips the specified number of bytes from the underlying stream.
            </summary>
            <param name="numberOfBytes">The number of bytes to be skipped.</param>
            <returns>The number of bytes actually skipped</returns>
        </member>
        <member name="M:SupportClass.BackInputStream.Move(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Moves data from the array to the buffer field.
            </summary>
            <param name="array">The array of bytes to be unread.</param>
            <param name="index">The beginning index to unread.</param>
            <param name="count">The amount of bytes to be unread.</param>
        </member>
        <member name="T:SupportClass.ThreadClass">
            <summary>
            Support class used to handle threads
            </summary>
        </member>
        <member name="F:SupportClass.ThreadClass.threadField">
            <summary>
            The instance of System.Threading.Thread
            </summary>
        </member>
        <member name="M:SupportClass.ThreadClass.#ctor">
            <summary>
            Initializes a new instance of the ThreadClass class
            </summary>
        </member>
        <member name="M:SupportClass.ThreadClass.#ctor(System.String)">
            <summary>
            Initializes a new instance of the Thread class.
            </summary>
            <param name="Name">The name of the thread</param>
        </member>
        <member name="M:SupportClass.ThreadClass.#ctor(System.Action)">
            <summary>
            Initializes a new instance of the Thread class.
            </summary>
            <param name="Start">A ThreadStart delegate that references the methods to be invoked when this thread begins executing</param>
        </member>
        <member name="M:SupportClass.ThreadClass.#ctor(System.Action,System.String)">
            <summary>
            Initializes a new instance of the Thread class.
            </summary>
            <param name="Start">A ThreadStart delegate that references the methods to be invoked when this thread begins executing</param>
            <param name="Name">The name of the thread</param>
        </member>
        <member name="M:SupportClass.ThreadClass.Run">
            <summary>
            This method has no functionality unless the method is overridden
            </summary>
        </member>
        <member name="M:SupportClass.ThreadClass.Start">
            <summary>
            Causes the operating system to change the state of the current thread instance to ThreadState.Running
            </summary>
        </member>
        <member name="M:SupportClass.ThreadClass.Interrupt">
            <summary>
            Interrupts a thread that is in the WaitSleepJoin thread state
            </summary>
        </member>
        <member name="M:SupportClass.ThreadClass.Join">
            <summary>
            Blocks the calling thread until a thread terminates
            </summary>
        </member>
        <member name="M:SupportClass.ThreadClass.Join(System.Int64)">
            <summary>
            Blocks the calling thread until a thread terminates or the specified time elapses
            </summary>
            <param name="MiliSeconds">Time of wait in milliseconds</param>
        </member>
        <member name="M:SupportClass.ThreadClass.Join(System.Int64,System.Int32)">
            <summary>
            Blocks the calling thread until a thread terminates or the specified time elapses
            </summary>
            <param name="MiliSeconds">Time of wait in milliseconds</param>
            <param name="NanoSeconds">Time of wait in nanoseconds</param>
        </member>
        <member name="M:SupportClass.ThreadClass.ToString">
            <summary>
            Obtain a String that represents the current Object
            </summary>
            <returns>A String that represents the current Object</returns>
        </member>
        <member name="M:SupportClass.ThreadClass.Current">
            <summary>
            Gets the currently running thread
            </summary>
            <returns>The currently running thread</returns>
        </member>
        <member name="P:SupportClass.ThreadClass.Instance">
            <summary>
            Gets the current thread instance
            </summary>
        </member>
        <member name="P:SupportClass.ThreadClass.Name">
            <summary>
            Gets or sets the name of the thread
            </summary>
        </member>
        <member name="P:SupportClass.ThreadClass.IsAlive">
            <summary>
            Gets a value indicating the execution status of the current thread
            </summary>
        </member>
        <member name="P:SupportClass.ThreadClass.IsBackground">
            <summary>
            Gets or sets a value indicating whether or not a thread is a background thread.
            </summary>
        </member>
        <member name="T:SupportClass.StackSupport">
            <summary>
            SupportClass for the Stack class.
            </summary>
        </member>
        <member name="M:SupportClass.StackSupport.Pop(System.Collections.Generic.List{System.Object})">
            <summary>
            Removes the element at the top of the stack and returns it.
            </summary>
            <param name="stack">The stack where the element at the top will be returned and removed.</param>
            <returns>The element at the top of the stack.</returns>
        </member>
        <member name="M:CSJ2K.j2k.util.ThreadPool.ThreadPoolThread.#ctor(CSJ2K.j2k.util.ThreadPool,System.Int32,System.String)">
            <summary> Creates a ThreadPoolThread object, setting its name according to
            the given 'idx', daemon type and the priority to the one of the
            pool.
            
            </summary>
            <param name="idx">The index of this thread in the pool
            
            </param>
            <param name="name">The name of the thread
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.ThreadPool.ThreadPoolThread.Run" -->
        <member name="M:CSJ2K.j2k.util.ThreadPool.ThreadPoolThread.setTarget(IThreadRunnable,System.Object,System.Boolean)">
            <summary> Assigns a target to this thread, with an optional notify lock and a
            notify mode. The another target is currently running the method
            will block until it terminates. After setting the new target the
            runner thread will be wakenup and execytion will start.
            
            </summary>
            <param name="target">The runnable object containing the 'run()' method to
            run.
            
            </param>
            <param name="lock">An object on which notify will be called once the
            target's run method has finished. A thread to be notified should be 
            waiting on that object. If null no thread is notified.
            
            </param>
            <param name="notifyAll">If true 'notifyAll()', instead of 'notify()', will
            be called on tghe lock.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.AnWTFilter">
            <summary> <p>This abstract class defines the methods of all analysis wavelet
            filters. Specialized abstract classes that work on particular data types
            (int, float) provide more specific method calls while retaining the
            generality of this one. See the AnWTFilterInt and AnWTFilterFloat
            classes. Implementations of analysis filters should inherit from one of
            those classes.</p>
            
            All analysis wavelet filters should follow the following conventions:
            
            <ul>
            <li>The first sample to filter is the low-pass one. As a consequence, if
            the input signal is of odd-length then the low-pass output signal is one
            sample longer than the high-pass output one. Therefore, if the length of
            input signal is N, the low-pass output signal is of length N/2 if N is even
            and N/2+1/2 if N is odd, while the high-pass output signal is of length N/2
            if N is even and N/2-1/2 if N is odd.</li>
            
            <li>The normalization is 1 for the DC gain and 2 for the Nyquist gain (Type
            I normalization), for both reversible and non-reversible filters.</li>
            
            <li>If the length of input signal is N, the low-pass output signal is of
            length N/2 if N is even and N/2+1/2 if N is odd, while the high-pass output
            sample is of length N/2 if N is even and N/2-1/2 if N is odd.</li>
            
            <li>The analyze method may seem very complicated, but is designed to
            minimize the amount of data copying and redundant calculations when used
            for block-based or line-based wavelet transform implementations, while
            being applicable to full-frame transforms as well.</li>
            
            <li>All filters should implement the equals() method of the Object
            class. The call x.equals(y) should test if the 'x' and 'y' filters are the
            same or not, in what concerns the bit stream header syntax (two filters are
            the same if the same filter code should be output to the bit stream).</li>
            </ul>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.AnWTFilterInt">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloat">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.WaveletFilter.isSameAsFullWT(System.Int32,System.Int32,System.Int32)">
            <summary> Returns true if the wavelet filter computes or uses the same "inner"
            subband coefficient as the full frame wavelet transform, and false
            otherwise. In particular, for block based transforms with reduced
            overlap, this method should return false. The term "inner" indicates
            that this applies only with respect to the coefficient that are not
            affected by image boundaries processings such as symmetric extension,
            since there is not reference method for this.
            
            <p>The result depends on the length of the allowed overlap when
            compared to the overlap required by the wavelet filter. It also depends
            on how overlap processing is implemented in the wavelet filter.</p>
            
            </summary>
            <param name="tailOvrlp">This is the number of samples in the input signal
            before the first sample to filter that can be used for overlap.
            
            </param>
            <param name="headOvrlp">This is the number of samples in the input signal
            after the last sample to filter that can be used for overlap.
            
            </param>
            <param name="inLen">This is the lenght of the input signal to filter.The
            required number of samples in the input signal after the last sample
            depends on the length of the input signal.
            
            </param>
            <returns> true if the overlaps are large enough and correct processing is
            performed, false otherwise.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.AnLowNegSupport">
            <summary> Returns the negative support of the low-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass analysis filter in the
            negative direction 
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.AnLowPosSupport">
            <summary> Returns the positive support of the low-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass analysis filter in the
            positive direction 
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.AnHighNegSupport">
            <summary> Returns the negative support of the high-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in the
            negative direction 
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.AnHighPosSupport">
            <summary> Returns the positive support of the high-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in
            the positive direction 
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.SynLowNegSupport">
            <summary> Returns the negative support of the low-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass synthesis filter in the
            negative direction 
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.SynLowPosSupport">
            <summary> Returns the positive support of the low-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass synthesis filter in the
            positive direction 
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.SynHighNegSupport">
            <summary> Returns the negative support of the high-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass synthesis filter in the
            negative direction 
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.SynHighPosSupport">
            <summary> Returns the positive support of the high-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass synthesis filter in the
            positive direction 
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.ImplType">
            <summary> Returns the implementation type of this filter, as defined in this
            class, such as WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT,
            WT_FILTER_FLOAT_CONVOL.
            
            </summary>
            <returns> The implementation type of this filter: WT_FILTER_INT_LIFT,
            WT_FILTER_FLOAT_LIFT, WT_FILTER_FLOAT_CONVOL.  
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.DataType">
            <summary> Returns the type of data on which this filter works, as defined in the
            DataBlk interface.
            
            </summary>
            <returns> The type of data as defined in the DataBlk interface.
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.DataBlk">
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WaveletFilter.Reversible">
            <summary> Returns the reversibility of the filter. A filter is considered
            reversible if it is suitable for lossless coding.
            
            </summary>
            <returns> true if the filter is reversible, false otherwise.
            
            </returns>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilter.OPT_PREFIX">
            <summary>The prefix for wavelet filter options: 'F' </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilter.pinfo">
            <summary>The list of parameters that is accepted for wavelet filters. Options
            for wavelet filters start with a 'F'. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> Filters the input signal by this analysis filter, decomposing it in a
            low-pass and a high-pass signal. This method performs the filtering and
            the subsampling with the low pass first filtering convention.
            
            <p>The input signal resides in the inSig array. The index of the first
            sample to filter (i.e. that will generate the first low-pass output
            sample) is given by inOff. The number of samples to filter is given by
            inLen. This array must be of the same type as the one for which the
            particular implementation works with (which is returned by the
            getDataType() method).</p>
            
            <p>The input signal can be interleaved with other signals in the same
            inSig array, and this is determined by the inStep argument. This means
            that the first sample of the input signal is inSig[inOff], the second
            is inSig[inOff+inStep], the third is inSig[inOff+2*inStep], and so
            on. Therefore if inStep is 1 there is no interleaving. This feature
            allows to filter columns of a 2-D signal, when it is stored in a line
            by line order in inSig, without having to copy the data, in this case
            the inStep argument should be the line width.</p>
            
            <p>This method also allows to apply the analysis wavelet filter by
            parts in the input signal using an overlap and thus producing the same
            coefficients at the output. The tailOvrlp argument specifies how many
            samples in the input signal, before the first one to be filtered, can
            be used for overlap. Then, the filter instead of extending the input
            signal will use those samples to calculate the first output
            samples. The argument tailOvrlp can be 0 for no overlap, or some value
            that provides partial or full overlap. There should be enough samples
            in the input signal, before the first sample to be filtered, to support
            the overlap. The headOvrlp provides the same functionality but at the
            end of the input signal. The inStep argument also applies to samples
            used for overlap. This overlap feature can be used for line-based
            wavelet transforms (in which case it will only be used when filtering
            the columns) or for overlapping block-based wavelet transforms (in
            which case it will be used when filtering lines and columns).</p>
            
            <p>The low-pass output signal is placed in the lowSig array. The lowOff
            and lowStep arguments are analogous to the inOff and inStep ones, but
            they apply to the lowSig array. The lowSig array must be long enough to
            hold the low-pass output signal.</p>
            
            <p>The high-pass output signal is placed in the highSig array. The
            highOff and highStep arguments are analogous to the inOff and inStep
            ones, but they apply to the highSig array. The highSig array must be
            long enough to hold the high-pass output signal.</p>
            
            </summary>
            <param name="inSig">This is the array that contains the input signal. It must
            be of the correct type (e.g., it must be int[] if getDataType() returns
            TYPE_INT).
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal to
            filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the input
            signal samples in the inSig array. See above.
            
            </param>
            <param name="tailOvrlp">This is the number of samples in the input signal
            before the first sample to filter that can be used for overlap. See
            above.
            
            </param>
            <param name="headOvrlp">This is the number of samples in the input signal
            after the last sample to filter that can be used for overlap. See
            above.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output signal is
            placed. It must be of the same type as inSig and it should be long
            enough to contain the output signal.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where to put
            the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the low-pass
            output samples in the lowSig array. See above.
            
            </param>
            <param name="highSig">This is the array where the high-pass output signal is
            placed. It must be of the same type as inSig and it should be long
            enough to contain the output signal.
            
            </param>
            <param name="highOff">This is the index in highSig of the element where to put
            the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array. See above.
            
            </param>
            <seealso cref="!:WaveletFilter.getDataType">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> Filters the input signal by this analysis filter, decomposing it in a
            low-pass and a high-pass signal. This method performs the filtering and
            the subsampling with the high pass first filtering convention.
            
            <p>The input signal resides in the inSig array. The index of the first
            sample to filter (i.e. that will generate the first high-pass output
            sample) is given by inOff. The number of samples to filter is given by
            inLen. This array must be of the same type as the one for which the
            particular implementation works with (which is returned by the
            getDataType() method).</p>
            
            <p>The input signal can be interleaved with other signals in the same
            inSig array, and this is determined by the inStep argument. This means
            that the first sample of the input signal is inSig[inOff], the second
            is inSig[inOff+inStep], the third is inSig[inOff+2*inStep], and so
            on. Therefore if inStep is 1 there is no interleaving. This feature
            allows to filter columns of a 2-D signal, when it is stored in a line
            by line order in inSig, without having to copy the data, in this case
            the inStep argument should be the line width.</p>
            
            <p>The low-pass output signal is placed in the lowSig array. The lowOff
            and lowStep arguments are analogous to the inOff and inStep ones, but
            they apply to the lowSig array. The lowSig array must be long enough to
            hold the low-pass output signal.</p>
            
            <p>The high-pass output signal is placed in the highSig array. The
            highOff and highStep arguments are analogous to the inOff and inStep
            ones, but they apply to the highSig array. The highSig array must be
            long enough to hold the high-pass output signal.</p>
            
            </summary>
            <param name="inSig">This is the array that contains the input signal. It must
            be of the correct type (e.g., it must be int[] if getDataType() returns
            TYPE_INT).
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal to
            filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the input
            signal samples in the inSig array. See above.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output signal is
            placed. It must be of the same type as inSig and it should be long
            enough to contain the output signal.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where to put
            the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the low-pass
            output samples in the lowSig array. See above.
            
            </param>
            <param name="highSig">This is the array where the high-pass output signal is
            placed. It must be of the same type as inSig and it should be long
            enough to contain the output signal.
            
            </param>
            <param name="highOff">This is the index in highSig of the element where to put
            the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array. See above.
            
            </param>
            <seealso cref="!:WaveletFilter.getDataType">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.getLPSynthesisFilter">
            <summary> Returns the time-reversed low-pass synthesis waveform of the filter,
            which is the low-pass filter. This is the time-reversed impulse
            response of the low-pass synthesis filter. It is used to calculate the
            L2-norm of the synthesis basis functions for a particular subband (also
            called energy weight).
            
            <p>The returned array may not be modified (i.e. a reference to the
            internal array may be returned by the implementation of this
            method).</p>
            
            </summary>
            <returns> The time-reversed low-pass synthesis waveform of the filter.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.getHPSynthesisFilter">
            <summary> Returns the time-reversed high-pass synthesis waveform of the filter,
            which is the high-pass filter. This is the time-reversed impulse
            response of the high-pass synthesis filter. It is used to calculate the
            L2-norm of the synthesis basis functions for a particular subband (also
            called energy weight).
            
            <p>The returned array may not be modified (i.e. a reference to the
            internal array may be returned by the implementation of this
            method).</p>
            
            </summary>
            <returns> The time-reversed high-pass synthesis waveform of the filter.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.getLPSynWaveForm(System.Single[],System.Single[])">
            <summary> Returns the equivalent low-pass synthesis waveform of a cascade of
            filters, given the syhthesis waveform of the previous stage. This is
            the result of upsampling 'in' by 2, and concolving it with the low-pass
            synthesis waveform of the filter. The length of the returned signal is
            2*in_l+lp_l-2, where in_l is the length of 'in' and 'lp_l' is the
            lengthg of the low-pass synthesis filter.
            
            <p>The length of the low-pass synthesis filter is
            getSynLowNegSupport()+getSynLowPosSupport().</p>
            
            </summary>
            <param name="in">The synthesis waveform of the previous stage.
            
            </param>
            <param name="out">If non-null this array is used to store the resulting
            signal. It must be long enough, or an IndexOutOfBoundsException is
            thrown.
            
            </param>
            <seealso cref="!:getSynLowNegSupport">
            </seealso>
            <seealso cref="!:getSynLowPosSupport">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.getHPSynWaveForm(System.Single[],System.Single[])">
            <summary> Returns the equivalent high-pass synthesis waveform of a cascade of
            filters, given the syhthesis waveform of the previous stage. This is
            the result of upsampling 'in' by 2, and concolving it with the
            high-pass synthesis waveform of the filter. The length of the returned
            signal is 2*in_l+hp_l-2, where in_l is the length of 'in' and 'hp_l' is
            the lengthg of the high-pass synthesis filter.
            
            <p>The length of the high-pass synthesis filter is
            getSynHighNegSupport()+getSynHighPosSupport().</p>
            
            </summary>
            <param name="in">The synthesis waveform of the previous stage.
            
            </param>
            <param name="out">If non-null this array is used to store the resulting
            signal. It must be long enough, or an IndexOutOfBoundsException is
            thrown.
            
            </param>
            <seealso cref="!:getSynHighNegSupport">
            </seealso>
            <seealso cref="!:getSynHighPosSupport">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.upsampleAndConvolve(System.Single[],System.Single[],System.Single[])">
            <summary> Returns the signal resulting of upsampling (by 2) the input signal 'in'
            and then convolving it with the time-reversed signal 'wf'. The returned
            signal is of length l_in*2+l_wf-2, where l_in is the length of 'in',
            and l_wf is the length of 'wf'.
            
            <p>The 'wf' signal has to be already time-reversed, therefore only a
            dot-product is performed (instead of a convolution). This is equivalent
            to convolving with the non-time-reversed 'wf' signal.</p>
            
            </summary>
            <param name="in">The signal to upsample and filter. If null it is considered
            to be a dirac.
            
            </param>
            <param name="wf">The time-reversed impulse response used for filtering.
            
            </param>
            <param name="out">If non-null this array is used to store the resulting
            signal, it must be of length in.length*2+wf.length-2 at least. An
            IndexOutOfBoundsException is thrown if this is not the case.
            
            </param>
            <returns> The resulting signal, of length in.length*2+wf.length-2
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilter.FilterType">
            <summary> Returns the type of filter used according to the FilterTypes interface.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.FilterTypes">
            
            </seealso>
            <returns> The filter type.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilter.ParameterInfo">
            <summary> 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 3 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, or null
            if no options are supported.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloat" -->
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloat.analyze_lpf(System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Single[],System.Int32,System.Int32)">
            <summary> A specific version of the analyze_lpf() method that works on int
            data. See the general description of the analyze_lpf() method in
            the AnWTFilter class for more details.
            
            </summary>
            <param name="inSig">This is the array that contains the input
            signal.
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to
            filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal
            to filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the
            input signal samples in the inSig array.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output
            signal is placed.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where
            to put the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass output samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array where the high-pass output
            signal is placed.
            
            </param>
            <param name="highOff">This is the index in highSig of the element where
            to put the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloat.analyze_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> The general version of the analyze_lpf() method, it just calls the
            specialized version. See the description of the analyze_lpf()
            method of the AnWTFilter class for more details.
            
            </summary>
            <param name="inSig">This is the array that contains the input
            signal. It must be an float[].
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to
            filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal
            to filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the
            input signal samples in the inSig array.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output
            signal is placed. It must be an float[].
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where
            to put the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass output samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array where the high-pass output
            signal is placed. It must be an float[].
            
            </param>
            <param name="highOff">This is the index in highSig of the element where
            to put the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloat.analyze_hpf(System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Single[],System.Int32,System.Int32)">
            <summary> A specific version of the analyze_hpf() method that works on int
            data. See the general description of the analyze_hpf() method in the 
            AnWTFilter class for more details.
            
            </summary>
            <param name="inSig">This is the array that contains the input
            signal.
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to
            filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal
            to filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the
            input signal samples in the inSig array.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output
            signal is placed.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where
            to put the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass output samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array where the high-pass output
            signal is placed.
            
            </param>
            <param name="highOff">This is the index in highSig of the element where
            to put the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloat.analyze_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> The general version of the analyze_hpf() method, it just calls the
            specialized version. See the description of the analyze_hpf()
            method of the AnWTFilter class for more details.
            
            </summary>
            <param name="inSig">This is the array that contains the input
            signal. It must be an float[].
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to
            filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal
            to filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the
            input signal samples in the inSig array.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output
            signal is placed. It must be an float[].
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where
            to put the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass output samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array where the high-pass output
            signal is placed. It must be an float[].
            
            </param>
            <param name="highOff">This is the index in highSig of the element where
            to put the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloat.DataType">
            <summary> Returns the type of data on which this filter works, as defined
            in the DataBlk interface, which is always TYPE_FLOAT for this
            class.
            
            </summary>
            <returns> The type of data as defined in the DataBlk interface.
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.DataBlk">
            
            
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7" -->
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.ALPHA">
            <summary>The value of the first lifting step coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.BETA">
            <summary>The value of the second lifting step coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.GAMMA">
            <summary>The value of the third lifting step coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.DELTA">
            <summary>The value of the fourth lifting step coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.KL">
            <summary>The value of the low-pass subband normalization factor </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.KH">
            <summary>The value of the high-pass subband normalization factor </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.LPSynthesisFilter">
            <summary>The low-pass synthesis filter of the 9x7 wavelet transform </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.HPSynthesisFilter">
            <summary>The high-pass synthesis filter of the 9x7 wavelet transform </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.analyze_lpf(System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Single[],System.Int32,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.analyze_hpf(System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Single[],System.Int32,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.getLPSynthesisFilter" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.getHPSynthesisFilter" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.isSameAsFullWT(System.Int32,System.Int32,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.Equals(System.Object)" -->
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.ToString">
            <summary>Debugging method </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.AnLowNegSupport">
            <summary> Returns the negative support of the low-pass analysis
            filter. That is the number of taps of the filter in the
            negative direction.
            
            </summary>
            <returns> 2
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.AnLowPosSupport">
            <summary> Returns the positive support of the low-pass analysis
            filter. That is the number of taps of the filter in the
            negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass analysis filter in
            the positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.AnHighNegSupport">
            <summary> Returns the negative support of the high-pass analysis
            filter. That is the number of taps of the filter in the
            negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in
            the negative direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.AnHighPosSupport">
            <summary> Returns the positive support of the high-pass analysis
            filter. That is the number of taps of the filter in the
            negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in
            the positive direction
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.SynLowNegSupport" -->
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.SynLowPosSupport" -->
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.SynHighNegSupport" -->
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.SynHighPosSupport" -->
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.ImplType">
            <summary> Returns the implementation type of this filter, as defined in
            this class, such as WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT,
            WT_FILTER_FLOAT_CONVOL.
            
            </summary>
            <returns> WT_FILTER_INT_LIFT.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.Reversible">
            <summary> Returns the reversibility of the filter. A filter is considered
            reversible if it is suitable for lossless coding.
            
            </summary>
            <returns> true since the 9x7 is reversible, provided the appropriate
            rounding is performed.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7.FilterType">
            <summary> Returns the type of filter used according to the FilterTypes
            interface(W9x7).
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.FilterTypes">
            
            </seealso>
            <returns> The filter type.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.analysis.AnWTFilterInt" -->
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterInt.analyze_lpf(System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32)">
            <summary> A specific version of the analyze_lpf() method that works on int
            data. See the general description of the analyze_lpf() method in
            the AnWTFilter class for more details.
            
            </summary>
            <param name="inSig">This is the array that contains the input
            signal.
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to
            filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal
            to filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the
            input signal samples in the inSig array.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output
            signal is placed.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where
            to put the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass output samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array where the high-pass output
            signal is placed.
            
            </param>
            <param name="highOff">This is the index in highSig of the element where
            to put the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterInt.analyze_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> The general version of the analyze_lpf() method, it just calls the
            specialized version. See the description of the analyze_lpf()
            method of the AnWTFilter class for more details.
            
            </summary>
            <param name="inSig">This is the array that contains the input
            signal. It must be an int[].
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to
            filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal
            to filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the
            input signal samples in the inSig array.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output
            signal is placed. It must be an int[].
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where
            to put the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass output samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array where the high-pass output
            signal is placed. It must be an int[].
            
            </param>
            <param name="highOff">This is the index in highSig of the element where
            to put the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterInt.analyze_hpf(System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32)">
            <summary> A specific version of the analyze_hpf() method that works on int
            data. See the general description of the analyze_hpf() method in
            the AnWTFilter class for more details.
            
            </summary>
            <param name="inSig">This is the array that contains the input
            signal.
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to
            filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal
            to filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the
            input signal samples in the inSig array.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output
            signal is placed.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where
            to put the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass output samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array where the high-pass output
            signal is placed.
            
            </param>
            <param name="highOff">This is the index in highSig of the element where
            to put the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterInt.analyze_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> The general version of the analyze_hpf() method, it just calls the
            specialized version. See the description of the analyze_hpf()
            method of the AnWTFilter class for more details.
            
            </summary>
            <param name="inSig">This is the array that contains the input
            signal. It must be an int[].
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to
            filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal
            to filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the
            input signal samples in the inSig array.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output
            signal is placed. It must be an int[].
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where
            to put the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass output samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array where the high-pass output
            signal is placed. It must be an int[].
            
            </param>
            <param name="highOff">This is the index in highSig of the element where
            to put the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.analysis.AnWTFilter.analyze_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterInt.DataType">
            <summary> Returns the type of data on which this filter works, as defined
            in the DataBlk interface, which is always TYPE_INT for this
            class.
            
            </summary>
            <returns> The type of data as defined in the DataBlk interface.
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.DataBlk">
            
            
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3">
            <summary> This class inherits from the analysis wavelet filter definition for int
            data. It implements the forward wavelet transform specifically for the 5x3
            filter. The implementation is based on the lifting scheme.
            
            <p>See the AnWTFilter class for details such as normalization, how to split
            odd-length signals, etc. In particular, this method assumes that the
            low-pass coefficient is computed first.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.AnWTFilter">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.AnWTFilterInt">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.LPSynthesisFilter">
            <summary>The low-pass synthesis filter of the 5x3 wavelet transform </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.HPSynthesisFilter">
            <summary>The high-pass synthesis filter of the 5x3 wavelet transform </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.analyze_lpf(System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32)">
            <summary> An implementation of the analyze_lpf() method that works on int data,
            for the forward 5x3 wavelet transform using the lifting scheme. See the
            general description of the analyze_lpf() method in the AnWTFilter class
            for more details.
            
            <p>The coefficients of the first lifting step are [-1/2 1 -1/2].</p>
            
            <p>The coefficients of the second lifting step are [1/4 1 1/4].</p>
            
            </summary>
            <param name="inSig">This is the array that contains the input signal.
            
            </param>
            <param name="inOff">This is the index in inSig of the first sample to filter.
            
            </param>
            <param name="inLen">This is the number of samples in the input signal to
            filter.
            
            </param>
            <param name="inStep">This is the step, or interleave factor, of the input
            signal samples in the inSig array.
            
            </param>
            <param name="lowSig">This is the array where the low-pass output signal is
            placed.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the element where to put
            the first low-pass output sample.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the low-pass
            output samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array where the high-pass output signal is
            placed.
            
            </param>
            <param name="highOff">This is the index in highSig of the element where to put
            the first high-pass output sample.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass output samples in the highSig array.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.analyze_hpf(System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.getLPSynthesisFilter">
            <summary> Returns the time-reversed low-pass synthesis waveform of the filter,
            which is the low-pass filter. This is the time-reversed impulse
            response of the low-pass synthesis filter. It is used to calculate the
            L2-norm of the synthesis basis functions for a particular subband (also
            called energy weight).
            
            <p>The returned array may not be modified (i.e. a reference to the
            internal array may be returned by the implementation of this
            method).</p>
            
            </summary>
            <returns> The time-reversed low-pass synthesis waveform of the filter.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.getHPSynthesisFilter">
            <summary> Returns the time-reversed high-pass synthesis waveform of the filter,
            which is the high-pass filter. This is the time-reversed impulse
            response of the high-pass synthesis filter. It is used to calculate the
            L2-norm of the synthesis basis functions for a particular subband (also
            called energy weight).
            
            <p>The returned array may not be modified (i.e. a reference to the
            internal array may be returned by the implementation of this
            method).</p>
            
            </summary>
            <returns> The time-reversed high-pass synthesis waveform of the filter.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.isSameAsFullWT(System.Int32,System.Int32,System.Int32)">
            <summary> Returns true if the wavelet filter computes or uses the same "inner"
            subband coefficient as the full frame wavelet transform, and false
            otherwise. In particular, for block based transforms with reduced
            overlap, this method should return false. The term "inner" indicates
            that this applies only with respect to the coefficient that are not
            affected by image boundaries processings such as symmetric extension,
            since there is not reference method for this.
            
            <p>The result depends on the length of the allowed overlap when
            compared to the overlap required by the wavelet filter. It also depends
            on how overlap processing is implemented in the wavelet filter.</p>
            
            </summary>
            <param name="tailOvrlp">This is the number of samples in the input signal
            before the first sample to filter that can be used for overlap.
            
            </param>
            <param name="headOvrlp">This is the number of samples in the input signal
            after the last sample to filter that can be used for overlap.
            
            </param>
            <param name="inLen">This is the lenght of the input signal to filter.The
            required number of samples in the input signal after the last sample
            depends on the length of the input signal.
            
            </param>
            <returns> true if both overlaps are greater than 2, and correct
            processing is applied in the analyze() method.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.Equals(System.Object)">
            <summary> Tests if the 'obj' object is the same filter as this one. Two filters
            are the same if the same filter code should be output for both filters
            by the encodeFilterCode() method.
            
            <p>Currently the implementation of this method only tests if 'obj' is
            also of the class AnWTFilterIntLift5x3.</p>
            
            </summary>
            <param name="The">object against which to test inequality.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.ToString">
            <summary>Debugging method </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.AnLowNegSupport">
            <summary> Returns the negative support of the low-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> 2
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.AnLowPosSupport">
            <summary> Returns the positive support of the low-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass analysis filter in the
            positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.AnHighNegSupport">
            <summary> Returns the negative support of the high-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in
            the negative direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.AnHighPosSupport">
            <summary> Returns the positive support of the high-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in the
            positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.SynLowNegSupport">
            <summary> Returns the negative support of the low-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass synthesis filter in the
            negative direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.SynLowPosSupport">
            <summary> Returns the positive support of the low-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass synthesis filter in
            the positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.SynHighNegSupport">
            <summary> Returns the negative support of the high-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass synthesis filter in the
            negative direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.SynHighPosSupport">
            <summary> Returns the positive support of the high-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass synthesis filter in the
            positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.ImplType">
            <summary> Returns the implementation type of this filter, as defined in this
            class, such as WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT,
            WT_FILTER_FLOAT_CONVOL.
            
            </summary>
            <returns> WT_FILTER_INT_LIFT.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.Reversible">
            <summary> Returns the reversibility of the filter. A filter is considered
            reversible if it is suitable for lossless coding.
            
            </summary>
            <returns> true since the 5x3 is reversible, provided the appropriate
            rounding is performed.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.AnWTFilterIntLift5x3.FilterType">
            <summary> Returns the type of filter used according to the FilterTypes interface
            (W5x3).
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.FilterTypes">
            
            </seealso>
            <returns> The filter type.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec">
            <summary> This class extends ModuleSpec class for analysis filters specification
            holding purpose.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.REV_FILTER_STR">
            <summary>The reversible default filter </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.NON_REV_FILTER_STR">
            <summary>The non-reversible default filter </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.#ctor(System.Int32,System.Int32,System.Byte,CSJ2K.j2k.quantization.QuantTypeSpec,CSJ2K.j2k.util.ParameterList)">
            <summary> Constructs a new 'AnWTFilterSpec' for the specified number of
            components and tiles.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
            <param name="qts">Quantization specifications
            
            </param>
            <param name="pl">The ParameterList
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.parseFilters(System.String)">
            <summary> Parse filters from the given word
            
            </summary>
            <param name="word">String to parse
            
            </param>
            <returns> Analysis wavelet filter (first dimension: by direction,
            second dimension: by decomposition levels)
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.getWTDataType(System.Int32,System.Int32)">
            <summary> Returns the data type used by the filters in this object, as defined in 
            the 'DataBlk' interface for specified tile-component.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> The data type of the filters in this object
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.getHFilters(System.Int32,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.getVFilters(System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.ToString">
            <summary>Debugging method </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.isReversible(System.Int32,System.Int32)">
            <summary> Check the reversibility of filters contained is the given
            tile-component.
            
            </summary>
            <param name="t">The index of the tile
            
            </param>
            <param name="c">The index of the component
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            <summary> This is a generic abstract class to store a code-block of wavelet data,
            quantized or not. 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
            (<tt>int</tt>, <tt>float</tt>, 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). 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. '(0,0)' is the top-left coefficient), will appear at position
            'offset+y*scanw+x' in the array of data.</p>
            
            <p>The classes <tt>CBlkWTDataInt</tt> and <tt>CBlkWTDataFloat</tt> provide
            implementations for <tt>int</tt> and <tt>float</tt> types respectively.</p>
            
            <p>The types of data are the same as those defined by the 'DataBlk'
            class.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc">
            </seealso>
            <seealso cref="!:jj2000.j2k.quantization.quantizer.CBlkQuantDataSrcEnc">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTDataInt">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTDataFloat">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.ulx">
            <summary>The horizontal coordinate of the upper-left corner of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.uly">
            <summary>The vertical coordinate of the upper left corner of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.n">
            <summary>The horizontal index of the code-block, within the subband </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.m">
            <summary>The vertical index of the code-block, within the subband </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.sb">
            <summary>The subband in which this code-block is found </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.w">
            <summary>The width of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.h">
            <summary>The height of the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.offset">
            <summary>The offset in the array of the top-left coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.scanw">
            <summary>The width of the scanlines used to store the data in the array </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.magbits">
            <summary>The number of magnitude bits in the integer representation. This is
            only used for quantized wavelet data. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.wmseScaling">
            <summary>The WMSE scaling factor (multiplicative) to apply to the distortion
            measures of the data of this code-block. By default it is 1.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.convertFactor">
            <summary>The value by which the absolute value of the data has to be divided in
            order to get the real absolute value. This value is useful to obtain
            the complement of 2 representation of a coefficient that is currently
            using the sign-magnitude representation. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.stepSize">
            <summary>The quantization step size of the code-block. The value is updated by
            the quantizer module 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.nROIcoeff">
            <summary>Number of ROI coefficients in the code-block </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTData.nROIbp">
            <summary>Number of ROI magnitude bit-planes </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.CBlkWTData.ToString">
            <summary> Returns a string of informations about the DataBlk
            
            </summary>
            <returns> Block dimensions and progressiveness in a string
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.CBlkWTData.DataType">
            <summary> Returns the data type of the <tt>CBlkWTData</tt> object, as defined in
            the DataBlk class.
            
            </summary>
            <returns> The data type of the object, as defined in the DataBlk class.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.CBlkWTData.Data">
            <summary> Returns the array containing the data, or null if there is no data. The
            returned array is of the type returned by <tt>getDataType()</tt> (e.g.,
            for <tt>TYPE_INT</tt>, it is a <tt>int[]</tt>).
            
            <p>Each implementing class should provide a type specific equivalent
            method (e.g., <tt>getDataInt()</tt> in <tt>DataBlkInt</tt>) which
            returns an array of the correct type explicitely and not through an
            <tt>Object</tt>.</p>
            
            </summary>
            <returns> The array containing the data, or <tt>null</tt> if there is no
            data.
            
            </returns>
            <seealso cref="!:getDataType">
            
            </seealso>
            <summary> Sets the data array to the specified one. The type of the specified
            data array must match the one returned by <tt>getDataType()</tt> (e.g.,
            for <tt>TYPE_INT</tt>, it should be a <tt>int[]</tt>). If the wrong
            type of array is given a <tt>ClassCastException</tt> will be thrown.
            
            <p>The size of the array is not necessarily checked for consistency
            with <tt>w</tt> and <tt>h</tt> or any other fields.</p>
            
            <p>Each implementing class should provide a type specific equivalent
            method (e.g., <tt>setDataInt()</tt> in <tt>DataBlkInt</tt>) which takes
            an array of the correct type explicetely and not through an
            <tt>Object</tt>.</p>
            
            </summary>
            <param name="arr">The new data array to use
            
            </param>
            <seealso cref="!:getDataType">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.CBlkWTDataFloat">
            <summary> This is an implementation of the 'CBlkWTData' abstract class 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>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTDataFloat.data">
            <summary>The array where the data is stored </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.CBlkWTDataFloat.DataType">
            <summary> Returns the identifier of this data type, <tt>TYPE_FLOAT</tt>, as
            defined in <tt>DataBlk</tt>.
            
            </summary>
            <returns> The type of data stored. Always <tt>DataBlk.TYPE_FLOAT</tt>
            
            </returns>
            <seealso cref="F:CSJ2K.j2k.image.DataBlk.TYPE_FLOAT">
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.CBlkWTDataFloat.Data">
            <summary> Returns the array containing the data, or null if there is no data
            array. The returned array is a float array.
            
            </summary>
            <returns> The array of data (a float[]) or null if there is no data.
            
            </returns>
            <summary> Sets the data array to the specified one. The provided array must be a
            float array, otherwise a ClassCastException is thrown. The size of the
            array is not checked for consistency with the code-block dimensions.
            
            </summary>
            <param name="arr">The data array to use. Must be a float array.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.CBlkWTDataFloat.DataFloat">
            <summary> Returns the array containing the data, or null if there is no data
            array.
            
            </summary>
            <returns> The array of data or null if there is no data.
            
            </returns>
            <summary> Sets the data array to the specified one. The size of the array is not
            checked for consistency with the code-block dimensions. This method is
            more efficient than 'setData()'.
            
            </summary>
            <param name="arr">The data array to use.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.CBlkWTDataInt">
            <summary> This is an implementation of the 'CBlkWTData' abstract class for signed 32
            bit integer data.
            
            <p>The methods in this class are declared final, so that they can be
            inlined by inlining compilers.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.CBlkWTDataInt.data_array">
            <summary>The array where the data is stored </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.CBlkWTDataInt.DataType">
            <summary> Returns the data type of this object, always DataBlk.TYPE_INT.
            
            </summary>
            <returns> The data type of the object, always DataBlk.TYPE_INT
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.CBlkWTDataInt.Data">
            <summary> Returns the array containing the data, or null if there is no data
            array. The returned array is an int array.
            
            </summary>
            <returns> The array of data (a int[]) or null if there is no data.
            
            </returns>
            <summary> Sets the data array to the specified one. The provided array must be a
            int array, otherwise a ClassCastException is thrown. The size of the
            array is not checked for consistency with the code-block dimensions.
            
            </summary>
            <param name="arr">The data array to use. Must be an int array.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.CBlkWTDataInt.DataInt">
            <summary> Returns the array containing the data, or null if there is no data
            array.
            
            </summary>
            <returns> The array of data or null if there is no data.
            
            </returns>
            <summary> Sets the data array to the specified one. The size of the array is not
            checked for consistency with the code-block dimensions. This method is
            more efficient than 'setData()'.
            
            </summary>
            <param name="arr">The data array to use.
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc">
            <summary> This abstract class defines methods to transfer wavelet data in a
            code-block by code-block basis. In each call to 'getNextCodeBlock()' or
            'getNextInternCodeBlock()' a new code-block is returned. The code-blocks
            are returned in no specific order.
            
            <p>This class is the source of data for the quantizer. See the 'Quantizer'
            class.</p>
            
            <p>Note that no more of one object may request data, otherwise one object
            would get some of the data and another one another part, in no defined
            manner.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.ForwWTDataProps">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.WaveletTransform">
            </seealso>
            <seealso cref="!:jj2000.j2k.quantization.quantizer.CBlkQuantDataSrcEnc">
            </seealso>
            <seealso cref="!:jj2000.j2k.quantization.quantizer.Quantizer">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc.getFixedPoint(System.Int32)">
            <summary> Returns the position of the fixed point in the specified component, or
            equivalently the number of fractional bits. 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.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point, which is the same as the
            number of fractional bits. For floating-point data 0 is returned.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc.getDataType(System.Int32,System.Int32)">
            <summary> Return the data type of this CBlkWTDataSrc for the given component in
            the current tile. Its value should be either DataBlk.TYPE_INT or
            DataBlk.TYPE_FLOAT but can change according to the current
            tile-component.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> Current data type
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc.getNextCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> Returns the next code-block in the current tile for the specified
            component, as a copy (see below). The order in which code-blocks are
            returned is not specified. However each code-block is returned only
            once and all code-blocks will be returned if the method is called 'N'
            times, where 'N' is the number of code-blocks in the tile. After all
            the code-blocks have been returned for the current tile calls to this
            method will return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, if any, and it can be modified "in place" without
            any problems after being returned. The 'offset' of the returned data is
            0, and the 'scanw' is the same as the code-block width.  The 'magbits'
            of the returned data is not set by this method and should be
            ignored. See the 'CBlkWTData' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'CBlkWTData' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'c', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.CBlkWTDataSrc.getNextInternCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> Returns the next code-block in the current tile for the specified
            component. The order in which code-blocks are returned is not
            specified. However each code-block is returned only once and all
            code-blocks will be returned if the method is called 'N' times, where
            'N' is the number of code-blocks in the tile. After all the code-blocks
            have been returned for the current tile calls to this method will
            return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method can be the data in the internal
            buffer of this object, if any, and thus can not be modified by the
            caller. The 'offset' and 'scanw' of the returned data can be
            arbitrary. The 'magbits' of the returned data is not set by this method
            and should be ignored. See the 'CBlkWTData' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'CBlkWTData' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.ForwardWT">
            <summary> This abstract class represents the forward wavelet transform functional
            block. The functional block may actually be comprised of several classes
            linked together, but a subclass of this abstract class is the one that is
            returned as the functional block that performs the forward wavelet
            transform.
            
            <p>This class assumes that data is transferred in code-blocks, as defined
            by the 'CBlkWTDataSrc' interface. The internal calculation of the wavelet
            transform may be done differently but a buffering class should convert to
            that type of transfer.</p>
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.ForwWT">
            <summary> This interface extends the WaveletTransform with the specifics of forward
            wavelet transforms. Classes that implement forward wavelet transfoms should
            implement this interface.
            
            <p>This class does not define the methods to transfer data, just the
            specifics to forward wavelet transform. Different data transfer methods are 
            evisageable for different transforms.</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.WaveletTransform.isReversible(System.Int32,System.Int32)">
            <summary> Returns the reversibility of the wavelet transform for the specified
            component and tile. A wavelet transform is reversible when it is
            suitable for lossless and lossy-to-lossless compression.
            
            </summary>
            <param name="t">The index of the tile.
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> true is the wavelet transform is reversible, false if not.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.WaveletTransform.getImplementationType(System.Int32)">
            <summary> Returns the implementation type of this wavelet transform (WT_IMPL_LINE
            or WT_IMPL_FRAME) for the specified component, in the current tile.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> WT_IMPL_LINE or WT_IMPL_FULL for line, block or full-page based
            transforms.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWT.getHorAnWaveletFilters(System.Int32,System.Int32)">
            <summary> Returns the horizontal analysis wavelet filters used in each level, for
            the specified tile-component. The first element in the array is the
            filter used to obtain the lowest resolution (resolution level 0)
            subbands (i.e. lowest frequency LL subband), the second element is the
            one used to generate the resolution level 1 subbands, and so on. If
            there are less elements in the array than the number of resolution
            levels, then the last one is assumed to repeat itself.
            
            <p>The returned filters are applicable only to the specified component
            and in the current tile.</p>
            
            <p>The resolution level of a subband is the resolution level to which a
            subband contributes, which is different from its decomposition
            level.</p>
            
            </summary>
            <param name="t">The index of the tile for which to return the filters.
            
            </param>
            <param name="c">The index of the component for which to return the filters.
            
            </param>
            <returns> The horizontal analysis wavelet filters used in each level.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWT.getVertAnWaveletFilters(System.Int32,System.Int32)">
            <summary> Returns the vertical analysis wavelet filters used in each level, for
            the specified tile-component. The first element in the array is the
            filter used to obtain the lowest resolution (resolution level 0)
            subbands (i.e. lowest frequency LL subband), the second element is the
            one used to generate the resolution level 1 subbands, and so on. If
            there are less elements in the array than the number of resolution
            levels, then the last one is assumed to repeat itself.
            
            <p>The returned filters are applicable only to the specified component
            and in the current tile.</p>
            
            <p>The resolution level of a subband is the resolution level to which a
            subband contributes, which is different from its decomposition
            level.</p>
            
            </summary>
            <param name="t">The index of the tile for which to return the filters.
            
            </param>
            <param name="c">The index of the component for which to return the filters.
            
            </param>
            <returns> The vertical analysis wavelet filters used in each level.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWT.getDecompLevels(System.Int32,System.Int32)">
            <summary> Returns the number of decomposition levels that are applied to obtain
            the LL band, in the specified tile-component. A value of 0 means that
            no wavelet transform is applied.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> The number of decompositions applied to obtain the LL subband
            (0 for no wavelet transform).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWT.getDecomp(System.Int32,System.Int32)">
            <summary> Returns the wavelet tree decomposition. Only WT_DECOMP_DYADIC is
            supported by JPEG 2000 part I.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> The wavelet decomposition.
            
            </returns>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwardWT.WT_DECOMP_DYADIC">
            <summary> ID for the dyadic wavelet tree decomposition (also called "Mallat" in
            JPEG 2000): 0x00.  
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwardWT.OPT_PREFIX">
            <summary>The prefix for wavelet transform options: 'W' </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwardWT.pinfo">
            <summary>The list of parameters that is accepted for wavelet transform. Options
            for the wavelet transform start with 'W'. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwardWT.#ctor(CSJ2K.j2k.image.ImgData)">
            <summary> Initializes this object for the specified number of tiles 'nt' and
            components 'nc'.
            
            </summary>
            <param name="src">The source of ImgData
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwardWT.createInstance(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.j2k.util.ParameterList,CSJ2K.j2k.encoder.EncoderSpecs)">
            <summary> Creates a ForwardWT object with the specified filters, and with other
            options specified in the parameter list 'pl'.
            
            </summary>
            <param name="src">The source of data to be transformed
            
            </param>
            <param name="pl">The parameter list (or options).
            
            </param>
            <param name="kers">The encoder specifications.
            
            </param>
            <returns> A new ForwardWT object with the specified filters and options
            from 'pl'.
            
            </returns>
            <exception cref="!:IllegalArgumentException">If mandatory parameters are missing 
            or if invalid values are given.
            
            </exception>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.ForwardWT.ParameterInfo">
            <summary> 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 3 elements. The first element is the
            option name, the second one is the synopsis and the third one is a long
            description of what the parameter is. 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.
            
            </summary>
            <returns> the options name, their synopsis and their explanation, or null
            if no options are supported.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.ForwWTFull">
            <summary> This class implements the ForwardWT abstract class with the full-page
            approach to be used either with integer or floating-point filters
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.ForwardWT">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.intData">
            <summary>Boolean to know if one are currently dealing with int or float data.</summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.subbTrees">
            <summary> The subband trees of each tile-component. The array is allocated by the
            constructor of this class and updated by the getAnSubbandTree() method
            when needed. The first index is the tile index (in lexicographical
            order) and the second index is the component index.
            
            <p>The subband tree for a component in the current tile is created on
            the first call to getAnSubbandTree() for that component, in the current
            tile. Before that, the element in 'subbTrees' is null.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.src">
            <summary>The source of image data </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.cb0x">
            <summary>The horizontal coordinate of the code-block partition origin on the
            reference grid 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.cb0y">
            <summary>The vertical coordinate of the code-block partition on the reference
            grid 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.dls">
            <summary>The number of decomposition levels specification </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.filters">
            <summary>Wavelet filters for all components and tiles </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.cblks">
            <summary>The code-block size specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.pss">
            <summary>The precinct partition specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.decomposedComps">
            <summary>Block storing the full band decomposition for each component. </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.lastn">
            <summary>The horizontal index of the last "sent" code-block in the current
            subband in each component. It should be -1 if none have been sent yet.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.lastm">
            <summary>The vertical index of the last "sent" code-block in the current
            subband in each component. It should be 0 if none have been sent yet.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.currentSubband">
            <summary>The subband being dealt with in each component </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.ForwWTFull.ncblks">
            <summary>Cache  object   to  avoid  excessive  allocation/desallocation.  This
            variable makes the class inheritently thread unsafe. 
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.j2k.encoder.EncoderSpecs,System.Int32,System.Int32)">
            <summary> Initializes this object with the given source of image data and with
            all the decompositon parameters
            
            </summary>
            <param name="src">From where the image data should be obtained.
            
            </param>
            <param name="encSpec">The encoder specifications
            
            </param>
            <param name="cb0x">The horizontal coordinate of the code-block partition
            origin on the reference grid.
            
            </param>
            <param name="cb0y">The vertical coordinate of the code-block partition origin
            on the reference grid.
            
            </param>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.ForwardWT">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getImplementationType(System.Int32)">
            <summary> Returns the implementation type of this wavelet transform, WT_IMPL_FULL 
            (full-page based transform). All components return the same.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> WT_IMPL_FULL
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getDecompLevels(System.Int32,System.Int32)">
            <summary> Returns the number of decomposition levels that are applied to the LL
            band, in the specified tile-component. A value of 0 means that no
            wavelet transform is applied.
            
            </summary>
            <param name="t">The tile index
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> The number of decompositions applied to the LL band (0 for no
            wavelet transform).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getDecomp(System.Int32,System.Int32)">
            <summary> Returns the wavelet tree decomposition. Actually JPEG 2000 part 1 only
            supports WT_DECOMP_DYADIC decomposition.
            
            </summary>
            <param name="t">The tile-index
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> The wavelet decomposition.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getHorAnWaveletFilters(System.Int32,System.Int32)">
            <summary> Returns the horizontal analysis wavelet filters used in each level, for
            the specified component and tile. The first element in the array is the
            filter used to obtain the lowest resolution (resolution level 0)
            subbands (i.e. lowest frequency LL subband), the second element is the
            one used to generate the resolution level 1 subbands, and so on. If
            there are less elements in the array than the number of resolution
            levels, then the last one is assumed to repeat itself.
            
            <p>The returned filters are applicable only to the specified component
            and in the current tile.</p>
            
            <p>The resolution level of a subband is the resolution level to which a
            subband contributes, which is different from its decomposition
            level.</p>
            
            </summary>
            <param name="t">The index of the tile for which to return the filters.
            
            </param>
            <param name="c">The index of the component for which to return the filters.
            
            </param>
            <returns> The horizontal analysis wavelet filters used in each level.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getVertAnWaveletFilters(System.Int32,System.Int32)">
            <summary> Returns the vertical analysis wavelet filters used in each level, for
            the specified component and tile. The first element in the array is the
            filter used to obtain the lowest resolution (resolution level 0)
            subbands (i.e. lowest frequency LL subband), the second element is the
            one used to generate the resolution level 1 subbands, and so on. If
            there are less elements in the array than the number of resolution
            levels, then the last one is assumed to repeat itself.
            
            <p>The returned filters are applicable only to the specified component
            and in the current tile.</p>
            
            <p>The resolution level of a subband is the resolution level to which a
            subband contributes, which is different from its decomposition
            level.</p>
            
            </summary>
            <param name="t">The index of the tile for which to return the filters.
            
            </param>
            <param name="c">The index of the component for which to return the filters.
            
            </param>
            <returns> The vertical analysis wavelet filters used in each level.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.isReversible(System.Int32,System.Int32)">
            <summary> Returns the reversibility of the wavelet transform for the specified
            component and tile. A wavelet transform is reversible when it is
            suitable for lossless and lossy-to-lossless compression.
            
            </summary>
            <param name="t">The index of the tile.
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> true is the wavelet transform is reversible, false if not.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getFixedPoint(System.Int32)">
            <summary> 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.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point, which is the same as the
            number of fractional bits. For floating-point data 0 is returned.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getNextInternCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> Returns the next code-block in the current tile for the specified
            component. The order in which code-blocks are returned is not
            specified. However each code-block is returned only once and all
            code-blocks will be returned if the method is called 'N' times, where
            'N' is the number of code-blocks in the tile. After all the code-blocks
            have been returned for the current tile calls to this method will
            return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method is the data in the internal buffer
            of this object, and thus can not be modified by the caller. The
            'offset' and 'scanw' of the returned data have, in general, some
            non-zero value. The 'magbits' of the returned data is not set by this
            method and should be ignored. See the 'CBlkWTData' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'CBlkWTData' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned.
            
            </param>
            <returns> The next code-block in the current tile for component 'n', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getNextCodeBlock(System.Int32,CSJ2K.j2k.wavelet.analysis.CBlkWTData)">
            <summary> Returns the next code-block in the current tile for the specified
            component, as a copy (see below). The order in which code-blocks are
            returned is not specified. However each code-block is returned only
            once and all code-blocks will be returned if the method is called 'N'
            times, where 'N' is the number of code-blocks in the tile. After all
            the code-blocks have been returned for the current tile calls to this
            method will return 'null'.
            
            <p>When changing the current tile (through 'setTile()' or 'nextTile()')
            this method will always return the first code-block, as if this method
            was never called before for the new current tile.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, and it can be modified "in place" without
            any problems after being returned. The 'offset' of the returned data is
            0, and the 'scanw' is the same as the code-block width.  The 'magbits'
            of the returned data is not set by this method and should be
            ignored. See the 'CBlkWTData' class.</p>
            
            <p>The 'ulx' and 'uly' members of the returned 'CBlkWTData' object
            contain the coordinates of the top-left corner of the block, with
            respect to the tile, not the subband.</p>
            
            </summary>
            <param name="c">The component for which to return the next code-block.
            
            </param>
            <param name="cblk">If non-null this object will be used to return the new
            code-block. If null a new one will be allocated and returned. If the
            "data" array of the object is non-null it will be reused, if possible,
            to return the data.
            
            </param>
            <returns> The next code-block in the current tile for component 'c', or
            null if all code-blocks for the current tile have been returned.
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.CBlkWTData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getDataType(System.Int32,System.Int32)">
            <summary> Return the data type of this CBlkWTDataSrc. Its value should be either
            DataBlk.TYPE_INT or DataBlk.TYPE_FLOAT but can change according to the
            current tile-component.
            
            </summary>
            <param name="t">The index of the tile for which to return the data type.
            
            </param>
            <param name="c">The index of the component for which to return the data type.
            
            </param>
            <returns> Current data type
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getNextSubband(System.Int32)">
            <summary> Returns the next subband that will be used to get the next code-block
            to return by the getNext[Intern]CodeBlock method.
            
            </summary>
            <param name="c">The component
            
            </param>
            <returns> Its returns the next subband that will be used to get the next
            code-block to return by the getNext[Intern]CodeBlock method.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.waveletTreeDecomposition(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.wavelet.analysis.SubbandAn,System.Int32)">
            <summary> Performs the forward wavelet transform on the whole band. It
            iteratively decomposes the subbands from the top node to the leaves.
            
            </summary>
            <param name="band">The band containing the float data to decompose
            
            </param>
            <param name="subband">The structure containing the coordinates of the current
            subband in the whole band to decompose.
            
            </param>
            <param name="c">The index of the current component to decompose
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.wavelet2DDecomposition(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.wavelet.analysis.SubbandAn,System.Int32)">
            <summary> Performs the 2D forward wavelet transform on a subband of the initial
            band. This method will successively perform 1D filtering steps on all
            lines and then all columns of the subband. In this class only filters
            with floating point implementations can be used.
            
            </summary>
            <param name="band">The band containing the float data to decompose
            
            </param>
            <param name="subband">The structure containing the coordinates of the subband
            in the whole band to decompose.
            
            </param>
            <param name="c">The index of the current component to decompose
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new coordinates. 
            
            <p>This method resets the 'subbTrees' array, and recalculates the
            values of the 'reversible' array. It also resets the decomposed
            component buffers.</p>
            
            </summary>
            <param name="x">The horizontal coordinate of the tile.
            
            </param>
            <param name="y">The vertical coordinate of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). An NoNextElementException is thrown if the current tile is
            the last one (i.e. there is no next tile).
            
            <p>This method resets the 'subbTrees' array, and recalculates the
            values of the 'reversible' array. It also resets the decomposed
            component buffers.</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.getAnSubbandTree(System.Int32,System.Int32)">
            <summary> Returns a reference to the subband tree structure representing the
            subband decomposition for the specified tile-component of the source.
            
            </summary>
            <param name="t">The index of the tile. 
            
            </param>
            <param name="c">The index of the component. 
            
            </param>
            <returns> The subband tree structure, see Subband. 
            
            </returns>
            <seealso cref="T:CSJ2K.j2k.wavelet.analysis.SubbandAn">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.Subband">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.ForwWTFull.initSubbandsFields(System.Int32,System.Int32,CSJ2K.j2k.wavelet.Subband)">
            <summary> Initialises subbands fields, such as number of code-blocks and
            code-blocks dimension, in the subband tree. The nominal code-block
            width/height depends on the precincts dimensions if used.
            
            </summary>
            <param name="t">The tile index of the subband
            
            </param>
            <param name="c">The component index
            
            </param>
            <param name="sb">The subband tree to be initialised.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.ForwWTFull.CbULX">
            <summary> Returns the horizontal offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.ForwWTFull.CbULY">
            <summary> Returns the vertical offset of the code-block partition. Allowable
            values are 0 and 1, nothing else.
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.analysis.SubbandAn">
            <summary> This class represents a subband in a bidirectional tree structure that
            describes the subband decomposition for a wavelet transform, specifically
            for the analysis side.
            
            <p>The element can be either a node or a leaf of the tree. If it is a node
            then ther are 4 descendants (LL, HL, LH and HH). If it is a leaf there are
            no descendants.</p>
            
            <p>The tree is bidirectional. Each element in the tree structure has a
            "parent", which is the subband from which the element was obtained by
            decomposition. The only exception is the root element which has no parent
            (i.e.it's null), for obvious reasons.</p>
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.Subband">
            <summary> This abstract class represents a subband in a bidirectional tree structure
            that describes the subband decomposition for a wavelet transform. This
            class is implemented by the SubbandAn and SubbandSyn classes, which are for
            the analysis and synthesis sides respectively.
            
            <p>The element can be either a node or a leaf of the tree. If it is a node,
            it has 4 descendants (LL, HL, LH and HH). If it is a leaf, it has no
            descendant.</p>
            
            <p>The tree is bidirectional. Each element in the tree structure has a
            "parent", which is the subband from which the element was obtained by
            decomposition. The only exception is the root element which, for obvious
            reasons, has no parent (i.e. it is null).</p>
            
            </summary>
            <seealso cref="!:jj2000.j2k.wavelet.analysis.SubbandAn">
            </seealso>
            <seealso cref="!:jj2000.j2k.wavelet.synthesis.SubbandSyn">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.WT_ORIENT_LL">
            <summary>The ID for the LL orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.WT_ORIENT_HL">
            <summary>The ID for the HL (horizontal high-pass) orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.WT_ORIENT_LH">
            <summary>The ID for the LH (vertical high-pass) orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.WT_ORIENT_HH">
            <summary>The ID for the HH orientation </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.isNode">
            <summary>True if it is a node in the tree, false if it is a leaf. </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.orientation">
            <summary>The orientation of this subband (WT_ORIENT_LL, WT_ORIENT_HL,
            WT_ORIENT_LH, WT_ORIENT_HH). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.level">
            <summary>The level in the tree to which this subband belongs, which is the
            number of performed wavelet decompositions to get this subband. It is 0
            for the top-level (i.e. root) node. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.resLvl">
            <summary>The resolution level to which this subband contributes. 0 is the
            smallest resolution level (the one with the lowest frequency LL
            subband). 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.numCb">
            <summary>The number of code-blocks (in both directions) contained in this
            subband.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.anGainExp">
            <summary> The base 2 exponent of the analysis gain of the subband. The analysis
            gain of a subband is defined as the gain of the previous subband
            (i.e. the one from which this one was obtained) multiplied by the line
            gain and by the column gain. The line (column) gain is the gain of the
            line (column) filter that was used to obtain it, which is the DC gain
            for a low-pass filter and the Nyquist gain for a high-pass filter. It
            is 0 by default.
            
            <p>Using the base 2 exponent of the value contrains the possible gains
            to powers of 2. However this is perfectly compatible to the filter
            normalization policy assumed here. See the split() method for more
            details.</p>
            
            </summary>
            <seealso cref="M:CSJ2K.j2k.wavelet.Subband.split(CSJ2K.j2k.wavelet.WaveletFilter,CSJ2K.j2k.wavelet.WaveletFilter)">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.sbandIdx">
            <summary> The subband index within its resolution level. This value uniquely
            identifies a subband within a resolution level and a decomposition
            level within it. Note that only leaf elements represent "real"
            subbands, while node elements represent only intermediate stages.
            
            <p>It is defined recursively. The root node gets a value of 0. For a
            given node, with a subband index 'b', its LL descendant gets 4*b, its
            HL descendant 4*b+1, its LH descendant 4*b+2, and its HH descendant
            4*b+3, for their subband indexes.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.ulcx">
            <summary> The horizontal coordinate of the upper-left corner of the subband, with
            respect to the canvas origin, in the component's grid and subband's
            decomposition level. This is the real horizontal index of the first
            column of this subband. If even the horizontal decomposition of this
            subband should be done with the low-pass-first convention. If odd it
            should be done with the high-pass-first convention.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.ulcy">
            <summary> The vertical coordinate of the upper-left corner of the subband, with
            respect to the canvas origin, in the component's grid and subband's
            decomposition level. This is the real vertical index of the first
            column of this subband. If even the vertical decomposition of this
            subband should be done with the low-pass-first convention. If odd it
            should be done with the high-pass-first convention.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.ulx">
            <summary>The horizontal coordinate of the upper-left corner of the subband </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.uly">
            <summary>The vertical coordinate of the upper-left corner of the subband </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.w">
            <summary>The width of the subband </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.h">
            <summary>The height of the subband </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.nomCBlkW">
            <summary>The nominal code-block width </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.Subband.nomCBlkH">
            <summary>The nominal code-block height </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.Subband.split(CSJ2K.j2k.wavelet.WaveletFilter,CSJ2K.j2k.wavelet.WaveletFilter)">
            <summary> Splits the current subband in its four subbands. This creates the four
            childs (LL, HL, LH and HH) and converts the leaf in a node.
            
            </summary>
            <param name="hfilter">The horizontal wavelet filter used to decompose this
            subband.
            
            </param>
            <param name="vfilter">The vertical wavelet filter used to decompose this
            subband.
            
            </param>
            <returns>  A reference to the LL leaf (getLL()).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.Subband.initChilds">
            <summary> Initializes the childs of this node with the correct values. The sizes
            of the child subbands are calculated by taking into account the
            position of the subband in the canvas.
            
            <p>For the analysis subband gain calculation it is assumed that
            analysis filters are normalized with a DC gain of 1 and a Nyquist gain
            of 2.</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.Subband.#ctor">
            <summary> Creates a Subband element with all the default values. The dimensions
            are (0,0), the upper left corner is (0,0) and the upper-left corner
            with respect to the canvas is (0,0) too.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.Subband.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.WaveletFilter[],CSJ2K.j2k.wavelet.WaveletFilter[])">
            <summary> Creates the top-level node and the entire subband tree, with the
            top-level dimensions, the number of decompositions, and the
            decomposition tree as specified.
            
            <p>For the analysis subband gain calculation it is assumed that
            analysis filters are normalized with a DC gain of 1 and a Nyquist gain
            of 2.</p>
            
            <p>This constructor does not initialize the value of the magBits member
            variable. This variable is normally initialized by the quantizer, on
            the encoder side, or the bit stream reader, on the decoder side.</p>
            
            </summary>
            <param name="w">The top-level width
            
            </param>
            <param name="h">The top-level height
            
            </param>
            <param name="ulcx">The horizontal coordinate of the upper-left corner with
            respect to the canvas origin, in the component grid.
            
            </param>
            <param name="ulcy">The vertical coordinate of the upper-left corner with
            respect to the canvas origin, in the component grid.
            
            </param>
            <param name="lvls">The number of levels (or LL decompositions) in the tree.
            
            </param>
            <param name="hfilters">The horizontal wavelet filters (analysis or synthesis)
            for each resolution level, starting at resolution level 0. If there are
            less elements in the array than there are resolution levels, the last
            element is used for the remaining resolution levels.
            
            </param>
            <param name="vfilters">The vertical wavelet filters (analysis or synthesis)
            for each resolution level, starting at resolution level 0. If there are
            less elements in the array than there are resolution levels, the last
            element is used for the remaining resolution levels.
            
            </param>
            <seealso cref="T:CSJ2K.j2k.wavelet.WaveletTransform">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.Subband.nextSubband">
            <summary> Returns the next subband in the same resolution level, following the
            subband index order. If already at the last subband then null is
            returned. If this subband is not a leaf an IllegalArgumentException is
            thrown.
            
            </summary>
            <returns> The next subband in the same resolution level, following the
            subband index order, or null if already at last subband.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.Subband.getSubbandByIdx(System.Int32,System.Int32)">
            <summary> Returns a subband element in the tree, given its resolution level and
            subband index. This method searches through the tree.
            
            </summary>
            <param name="rl">The resolution level.
            
            </param>
            <param name="sbi">The subband index, within the resolution level.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.Subband.getSubband(System.Int32,System.Int32)">
            <summary> Returns a reference to the Subband element to which the specified point
            belongs. The specified point must be inside this (i.e. the one defined
            by this object) subband. This method searches through the tree.
            
            </summary>
            <param name="x">horizontal coordinate of the specified point.
            
            </param>
            <param name="y">horizontal coordinate of the specified point.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.Subband.ToString">
            <summary> Returns subband informations in a string.
            
            </summary>
            <returns> Subband informations
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.Subband.Parent">
            <summary> Returns the parent of this subband. The parent of a subband is the
            subband from which this one was obtained by decomposition. The root
            element has no parent subband (null).
            
            </summary>
            <returns> The parent subband, or null for the root one.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.Subband.LL">
            <summary> Returns the LL child subband of this subband.
            
            </summary>
            <returns> The LL child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.Subband.HL">
            <summary> Returns the HL (horizontal high-pass) child subband of this subband.
            
            </summary>
            <returns> The HL child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.Subband.LH">
            <summary> Returns the LH (vertical high-pass) child subband of this subband.
            
            </summary>
            <returns> The LH child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.Subband.HH">
            <summary> Returns the HH child subband of this subband.
            
            </summary>
            <returns> The HH child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.Subband.NextResLevel">
            <summary> Returns the first leaf subband element in the next higher resolution
            level.
            
            </summary>
            <returns> The first leaf element in the next higher resolution level, or
            null if there is no higher resolution level.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.Subband.HorWFilter">
            <summary> This function returns the horizontal wavelet filter relevant to this
            subband
            
            </summary>
            <returns> The horizontal wavelet filter
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.Subband.VerWFilter">
            <summary> This function returns the vertical wavelet filter relevant to this
            subband
            
            </summary>
            <returns> The vertical wavelet filter
            
            </returns>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.parentband">
            <summary>The reference to the parent of this subband. It is null for the root
            element. It is null by default.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_LL">
            <summary>The reference to the LL subband resulting from the decomposition of
            this subband. It is null by default.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_HL">
            <summary>The reference to the HL subband (horizontal high-pass) resulting from
            the decomposition of this subband. It is null by default.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_LH">
            <summary>The reference to the LH subband (vertical high-pass) resulting from
            the decomposition of this subband. It is null by default.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_HH">
            <summary>The reference to the HH subband resulting from the decomposition of
            this subband. It is null by default.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.hFilter">
            <summary>The horizontal analysis filter used to decompose this subband. This is
            applicable to "node" elements only. The default value is null. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.vFilter">
            <summary>The vertical analysis filter used to decompose this subband. This is
            applicable to "node" elements only. The default value is null. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.l2Norm">
            <summary>The L2-norm of the synthesis basis waveform of this subband,
            applicable to "leafs" only. By default it is -1 (i.e. not calculated
            yet).
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.analysis.SubbandAn.stepWMSE">
            <summary> The contribution to the MSE or WMSE error that would result in the
            image if there was an error of exactly one quantization step size in
            the sample of the subband. This value is expressed relative to a
            nominal dynamic range in the image domain of exactly 1.0. This field
            contains valid data only after quantization 9See Quantizer).
            
            </summary>
            <seealso cref="!:jj2000.j2k.quantization.quantizer.Quantizer">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.SubbandAn.#ctor">
            <summary> Creates a SubbandAn element with all the default values. The dimensions
            are (0,0) and the upper left corner is (0,0).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.SubbandAn.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.WaveletFilter[],CSJ2K.j2k.wavelet.WaveletFilter[])">
            <summary> Creates the top-level node and the entire subband tree, with the
            top-level dimensions, the number of decompositions, and the
            decomposition tree as specified.
            
            <p>This constructor just calls the same constructor of the super class,
            and then calculates the L2-norm (or energy weight) of each leaf.</p>
            
            <p>This constructor does not initialize the value of the magBits or
            stepWMSE member variables. This variables are normally initialized by
            the quantizer (see Quantizer).</p>
            
            </summary>
            <param name="w">The top-level width
            
            </param>
            <param name="h">The top-level height
            
            </param>
            <param name="ulcx">The horizontal coordinate of the upper-left corner with
            respect to the canvas origin, in the component grid.
            
            </param>
            <param name="ulcy">The vertical coordinate of the upper-left corner with
            respect to the canvas origin, in the component grid.
            
            </param>
            <param name="lvls">The number of levels (or LL decompositions) in the tree.
            
            </param>
            <param name="hfilters">The horizontal wavelet analysis filters for each
            resolution level, starting at resolution level 0.
            
            </param>
            <param name="vfilters">The vertical wavelet analysis filters for each
            resolution level, starting at resolution level 0.
            
            </param>
            <seealso cref="!:Subband.Subband(int,int,int,int,int,">
            WaveletFilter[],WaveletFilter[])
            
            </seealso>
            <seealso cref="!:jj2000.j2k.quantization.quantizer.Quantizer">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.SubbandAn.split(CSJ2K.j2k.wavelet.WaveletFilter,CSJ2K.j2k.wavelet.WaveletFilter)">
            <summary> Splits the current subband in its four subbands. It changes the status
            of this element (from a leaf to a node, and sets the filters), creates
            the childs and initializes them. An IllegalArgumentException is thrown
            if this subband is not a leaf.
            
            <p>It uses the initChilds() method to initialize the childs.</p>
            
            </summary>
            <param name="hfilter">The horizontal wavelet filter used to decompose this
            subband. It has to be a AnWTFilter object.
            
            </param>
            <param name="vfilter">The vertical wavelet filter used to decompose this
            subband. It has to be a AnWTFilter object.
            
            </param>
            <returns> A reference to the LL leaf (subb_LL).
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.wavelet.Subband.initChilds">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.SubbandAn.calcBasisWaveForms(System.Single[][])">
            <summary> Calculates the basis waveform of the first leaf for which the L2-norm
            has not been calculated yet. This method searches recursively for the
            first leaf for which the value has not been calculated yet, and then
            calculates the L2-norm on the return path.
            
            <p>The wfs argument should be a size 2 array of float arrays (i.e. 2D
            array) and it must be of length 2 (or more). When returning, wfs[0]
            will contain the line waveform, and wfs[1] will contain the column
            waveform.</p>
            
            <p>This method can not be called on an element that ahs a non-negative
            value in l2Norm, since that means that we are done.</p>
            
            </summary>
            <param name="wfs">An size 2 array where the line and column waveforms will be
            returned.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.SubbandAn.assignL2Norm(System.Single)">
            <summary> Assigns the given L2-norm to the first leaf that does not have an
            L2-norm value yet (i.e. l2norm is negative). The search is done
            recursively and in the same order as that of the calcBasisWaveForms()
            method, so that this method is used to assigne the l2norm of the
            previously computed waveforms.
            
            <p>This method can not be called on an element that ahs a non-negative
            value in l2Norm, since that means that we are done.</p>
            
            </summary>
            <param name="l2n">The L2-norm to assign.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.analysis.SubbandAn.calcL2Norms">
            <summary> Calculates the L2-norm of the sythesis waveforms of every leaf in the
            tree. This method should only be called on the root element.
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.SubbandAn.Parent">
            <summary> Returns the parent of this subband. The parent of a subband is the
            subband from which this one was obtained by decomposition. The root
            element has no parent subband (null).
            
            </summary>
            <returns> The parent subband, or null for the root one.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.SubbandAn.LL">
            <summary> Returns the LL child subband of this subband.
            
            </summary>
            <returns> The LL child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.SubbandAn.HL">
            <summary> Returns the HL (horizontal high-pass) child subband of this subband.
            
            </summary>
            <returns> The HL child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.SubbandAn.LH">
            <summary> Returns the LH (vertical high-pass) child subband of this subband.
            
            </summary>
            <returns> The LH child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.SubbandAn.HH">
            <summary> Returns the HH child subband of this subband.
            
            </summary>
            <returns> The HH child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.SubbandAn.HorWFilter">
            <summary> This function returns the horizontal wavelet filter relevant to this
            subband
            
            </summary>
            <returns> The horizontal wavelet filter
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.analysis.SubbandAn.VerWFilter">
            <summary> This function returns the vertical wavelet filter relevant to this
            subband
            
            </summary>
            <returns> The vertical wavelet filter
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.FilterTypes_Fields">
            <summary> This interface defines the identifiers for the different types of filters
            that are supported.
            
            <p>The identifier values are the same as those used in the codestream
            syntax, for the filters that are defined in the standard.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.FilterTypes_Fields.W9X7">
            <summary>W7x9 filter: 0x00 </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.FilterTypes_Fields.W5X3">
            <summary>W5x3 filter: 0x01 </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.FilterTypes_Fields.CUSTOM">
            <summary>User-defined filter: -1 </summary>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.InverseWT">
            <summary> This abstract class extends the WaveletTransform one with the specifics of
            inverse wavelet transforms.
            
            <p>The image can be reconstructed at different resolution levels. This is
            controlled by the setResLevel() method. All the image, tile and component
            dimensions are relative the the resolution level being used. The number of
            resolution levels indicates the number of wavelet recompositions that will
            be used, if it is equal as the number of decomposition levels then the full
            resolution image is reconstructed.</p>
            
            <p>It is assumed in this class that all tiles and components the same
            reconstruction resolution level. If that where not the case the
            implementing class should have additional data structures to store those
            values for each tile. However, the 'recResLvl' member variable always
            contain the values applicable to the current tile, since many methods
            implemented here rely on them.</p>
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter">
            <summary> This class provides default implementation of the methods in the 'InvWT'
            interface. The source is always a 'MultiResImgData', which is a
            multi-resolution image. The default implementation is just to return the
            value of the source at the current image resolution level, which is set by
            the 'setImgResLevel()' method.
            
            <p>This abstract class can be used to facilitate the development of other
            classes that implement the 'InvWT' interface, because most of the trivial
            methods are already implemented.</p>
            
            <p>If the default implementation of a method provided in this class does
            not suit a particular implementation of the 'InvWT' interface, the method
            can be overriden to implement the proper behaviour.</p>
            
            <p>If the 'setImgResLevel()' method is overriden then it is very important
            that the one of this class is called from the overriding method, so that
            the other methods in this class return the correct values.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.synthesis.InvWT">
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.InvWT">
            <summary> This interface extends the WaveletTransform with the specifics of inverse
            wavelet transforms. Classes that implement inverse wavelet transfoms should
            implement this interface.
            
            <p>This class does not define the methods to transfer data, just the
            specifics to inverse wavelet transform. Different data transfer methods are
            envisageable for different transforms.</p>
            
            </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWT.ImgResLevel">
            <summary> Sets the image reconstruction resolution level. A value of 0 means
            reconstruction of an image with the lowest resolution (dimension)
            available.
            
            <p>Note: Image resolution level indexes may differ from tile-component
            resolution index. They are indeed indexed starting from the lowest
            number of decomposition levels of each component of each tile.</p>
            
            <p>Example: For an image (1 tile) with 2 components (component 0 having
            2 decomposition levels and component 1 having 3 decomposition levels),
            the first (tile-) component has 3 resolution levels and the second one
            has 4 resolution levels, whereas the image has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="rl">The image resolution level.
            
            </param>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.decSpec">
            <summary>The decoder specifications </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.mressrc">
            <summary>The 'MultiResImgData' source </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.reslvl">
            <summary>The resquested image resolution level for reconstruction. </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.maxImgRes">
            <summary>The maximum available image resolution level </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.#ctor(CSJ2K.j2k.wavelet.synthesis.MultiResImgData,CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Instantiates the 'InvWTAdapter' object using the specified
            'MultiResImgData' source. The reconstruction resolution level is set to
            full resolution (i.e. the maximum resolution level).
            
            </summary>
            <param name="src">From where to obtain the values to return
            
            </param>
            <param name="decSpec">The decoder specifications
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getCompSubsX(System.Int32)">
            <summary> Returns the component subsampling factor in the horizontal
            direction, for the specified component. This is, approximately,
            the ratio of dimensions between the reference grid and the
            component itself, see the 'ImgData' interface desription for
            details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1).
            
            </param>
            <returns> The horizontal subsampling factor of component 'c'.
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getCompSubsY(System.Int32)">
            <summary> Returns the component subsampling factor in the vertical
            direction, for the specified component. This is, approximately,
            the ratio of dimensions between the reference grid and the
            component itself, see the 'ImgData' interface desription for
            details.
            
            </summary>
            <param name="c">The index of the component (between 0 and N-1).
            
            </param>
            <returns> The vertical subsampling factor of component 'c'.
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.ImgData">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getTileCompWidth(System.Int32,System.Int32)">
            <summary> Returns the width in pixels of the specified tile-component
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>n</tt> in tile <tt>t</tt>.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getTileCompHeight(System.Int32,System.Int32)">
            <summary> Returns the height in pixels of the specified tile-component.
            
            <p>This default implementation returns the value of the source at the
            current reconstruction resolution level.</p>
            
            </summary>
            <param name="t">The tile index.
            
            </param>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height in pixels of component <tt>n</tt> in tile
            <tt>t</tt>. 
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getCompImgWidth(System.Int32)">
            <summary> Returns the width in pixels of the specified component in the overall
            image.
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The width in pixels of component <tt>c</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getCompImgHeight(System.Int32)">
            <summary> Returns the height in pixels of the specified component in the overall
            image.
            
            <p>This default implementation returns the value of the source at the
            current reconstruction resolution level.</p>
            
            </summary>
            <param name="c">The index of the component, from 0 to N-1.
            
            </param>
            <returns> The height in pixels of component <tt>n</tt> in the overall
            image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new indices. An
            IllegalArgumentException is thrown if the coordinates do not correspond
            to a valid tile.
            
            <p>This default implementation calls the same method on the source.</p>
            
            </summary>
            <param name="x">The horizontal index of the tile.
            
            </param>
            <param name="y">The vertical index of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). An NoNextElementException is thrown if the current tile is
            the last one (i.e. there is no next tile).
            
            <p>This default implementation calls the same method on the source.</p>
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getTile(CSJ2K.j2k.image.Coord)">
            <summary> Returns the indixes of the current tile. These are the horizontal and
            vertical indexes of the current tile.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The current tile's indices (vertical and horizontal indexes).
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getCompULX(System.Int32)">
            <summary> Returns the horizontal coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getCompULY(System.Int32)">
            <summary> Returns the vertical coordinate of the upper-left corner of the
            specified component in the current tile.
            
            </summary>
            <param name="c">The component index.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getNumTiles(CSJ2K.j2k.image.Coord)">
            <summary> Returns the number of tiles in the horizontal and vertical directions.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <param name="co">If not null this object is used to return the information. If
            null a new one is created and returned.
            
            </param>
            <returns> The number of tiles in the horizontal (Coord.x) and vertical
            (Coord.y) directions.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getNumTiles">
            <summary> Returns the total number of tiles in the image.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The total number of tiles in the image.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.getSynSubbandTree(System.Int32,System.Int32)">
            <summary> Returns the specified synthesis subband tree 
            
            </summary>
            <param name="t">Tile index.
            
            </param>
            <param name="c">Component index.
            
            </param>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.ImgResLevel">
            <summary> Sets the image reconstruction resolution level. A value of 0 means
            reconstruction of an image with the lowest resolution (dimension)
            available.
            
            <p>Note: Image resolution level indexes may differ from tile-component
            resolution index. They are indeed indexed starting from the lowest
            number of decomposition levels of each component of each tile.</p>
            
            <p>Example: For an image (1 tile) with 2 components (component 0 having
            2 decomposition levels and component 1 having 3 decomposition levels),
            the first (tile-) component has 3 resolution levels and the second one
            has 4 resolution levels, whereas the image has only 3 resolution levels
            available.</p>
            
            </summary>
            <param name="rl">The image resolution level.
            
            </param>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.TileWidth">
            <summary> Returns the overall width of the current tile in pixels. This is the
            tile's width without accounting for any component subsampling. This is
            also referred as the reference grid width in the current tile.
            
            <p>This default implementation returns the value of the source at the
            current reconstruction resolution level.</p>
            
            </summary>
            <returns> The total current tile's width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.TileHeight">
            <summary> Returns the overall height of the current tile in pixels. This
            is the tile's height without accounting for any component
            subsampling. This is also referred as the reference grid height
            in the current tile.
            
            <p>This default implementation returns the value of the source at the
            current reconstruction resolution level.</p>
            
            </summary>
            <returns> The total current tile's height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.NomTileWidth">
            <summary>Returns the nominal width of tiles </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.NomTileHeight">
            <summary>Returns the nominal height of tiles </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.ImgWidth">
            <summary> Returns the overall width of the image in pixels. This is the
            image's width without accounting for any component subsampling
            or tiling.
            
            </summary>
            <returns> The total image's width in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.ImgHeight">
            <summary> Returns the overall height of the image in pixels. This is the
            image's height without accounting for any component subsampling
            or tiling.
            
            </summary>
            <returns> The total image's height in pixels.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.NumComps">
            <summary> Returns the number of components in the image.
            
            </summary>
            <returns> The number of components in the image.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.TileIdx">
            <summary> Returns the index of the current tile, relative to a standard scan-line
            order.
            
            <p>This default implementation returns the value of the source.</p>
            
            </summary>
            <returns> The current tile's index (starts at 0).
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.ImgULX">
            <summary> Returns the horizontal coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            <p>This default implementation returns the value of the source at the
            current reconstruction resolution level.</p>
            
            </summary>
            <returns> The horizontal coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.ImgULY">
            <summary> Returns the vertical coordinate of the image origin, the top-left
            corner, in the canvas system, on the reference grid.
            
            <p>This default implementation returns the value of the source at the
            current reconstruction resolution level.</p>
            
            </summary>
            <returns> The vertical coordinate of the image origin in the canvas
            system, on the reference grid.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.TilePartULX">
            <summary>Returns the horizontal tile partition offset in the reference grid </summary>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.InvWTAdapter.TilePartULY">
            <summary>Returns the vertical tile partition offset in the reference grid </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InverseWT.#ctor(CSJ2K.j2k.wavelet.synthesis.MultiResImgData,CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Initializes this object with the given source of wavelet
            coefficients. It initializes the resolution level for full resolutioin
            reconstruction (i.e. the maximum resolution available from the 'src'
            source).
            
            <p>It is assumed here that all tiles and components have the same
            reconstruction resolution level. If that was not the case it should be
            the value for the current tile of the source.</p>
            
            </summary>
            <param name="src">from where the wavelet coefficinets should be obtained.
            
            </param>
            <param name="decSpec">The decoder specifications
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InverseWT.createInstance(CSJ2K.j2k.wavelet.synthesis.CBlkWTDataSrcDec,CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Creates an InverseWT object that works on the data type of the source,
            with the special additional parameters from the parameter
            list. Currently the parameter list is ignored since no special
            parameters can be specified for the inverse wavelet transform yet.
            
            </summary>
            <param name="src">The source of data for the inverse wavelet
            transform.
            
            </param>
            <param name="pl">The parameter list containing parameters applicable to the
            inverse wavelet transform (other parameters can also be present).
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.InvWTFull">
            <summary> This class implements the InverseWT with the full-page approach for int and
            float data.
            
            <p>The image can be reconstructed at different (image) resolution levels
            indexed from the lowest resolution available for each tile-component. This
            is controlled by the setImgResLevel() method.</p>
            
            <p>Note: Image resolution level indexes may differ from tile-component
            resolution index. They are indeed indexed starting from the lowest number
            of decomposition levels of each component of each tile.</p>
            
            <p>Example: For an image (1 tile) with 2 components (component 0 having 2
            decomposition levels and component 1 having 3 decomposition levels), the
            first (tile-) component has 3 resolution levels and the second one has 4
            resolution levels, whereas the image has only 3 resolution levels
            available.</p>
            
            <p>This implementation does not support progressive data: Data is
            considered to be non-progressive (i.e. "final" data) and the 'progressive'
            attribute of the 'DataBlk' class is always set to false, see the 'DataBlk'
            class.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTFull.pw">
            <summary>Reference to the ProgressWatch instance if any </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTFull.cblkToDecode">
            <summary>The total number of code-blocks to decode </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTFull.nDecCblk">
            <summary>The number of already decoded code-blocks </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTFull.src">
            <summary>the code-block buffer's source i.e. the quantizer </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTFull.dtype">
            <summary>Current data type </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTFull.reconstructedComps">
            <summary>Block storing the reconstructed image for each component </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTFull.ndl">
            <summary>Number of decomposition levels in each component </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.InvWTFull.reversible">
            <summary> The reversible flag for each component in each tile. The first index is
            the tile index, the second one is the component index. The
            reversibility of the components for each tile are calculated on a as
            needed basis.
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.#ctor(CSJ2K.j2k.wavelet.synthesis.CBlkWTDataSrcDec,CSJ2K.j2k.decoder.DecoderSpecs)">
            <summary> Initializes this object with the given source of wavelet
            coefficients. It initializes the resolution level for full resolutioin
            reconstruction.
            
            </summary>
            <param name="src">from where the wavelet coefficinets should be obtained.
            
            </param>
            <param name="decSpec">The decoder specifications
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.isSubbandReversible(CSJ2K.j2k.wavelet.Subband)">
            <summary> Returns the reversibility of the current subband. It computes
            iteratively the reversibility of the child subbands. For each subband
            it tests the reversibility of the horizontal and vertical synthesis
            filters used to reconstruct this subband.
            
            </summary>
            <param name="subband">The current subband.
            
            </param>
            <returns> true if all the  filters used to reconstruct the current 
            subband are reversible
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.isReversible(System.Int32,System.Int32)">
            <summary> Returns the reversibility of the wavelet transform for the specified
            component, in the current tile. A wavelet transform is reversible when
            it is suitable for lossless and lossy-to-lossless compression.
            
            </summary>
            <param name="t">The index of the tile.
            
            </param>
            <param name="c">The index of the component.
            
            </param>
            <returns> true is the wavelet transform is reversible, false if not.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.getNomRangeBits(System.Int32)" -->
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.getFixedPoint(System.Int32)">
            <summary> 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 wavelet transform does
            not modify the fixed point. If that were the case this method should be
            overriden.</p>
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> The position of the fixed-point, which is the same as the
            number of fractional bits. For floating-point data 0 is returned.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> Returns a block of image data containing the specifed rectangular area,
            in the specified component, as a reference to the internal buffer (see
            below). The rectangular area is specified by the coordinates and
            dimensions of the 'blk' object.
            
            <p>The area to return is specified by the 'ulx', 'uly', 'w' and 'h'
            members of the 'blk' argument. These members are not modified by this
            method.</p>
            
            <p>The data returned by this method can be the data in the internal
            buffer of this object, if any, and thus can not be modified by the
            caller. The 'offset' and 'scanw' of the returned data can be
            arbitrary. See the 'DataBlk' class.</p>
            
            <p>The returned data has its 'progressive' attribute unset
            (i.e. false).</p>
            
            </summary>
            <param name="blk">Its coordinates and dimensions specify the area to return.
            
            </param>
            <param name="c">The index of the component from which to get the data.
            
            </param>
            <returns> The requested DataBlk
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            <summary> Returns a block of image data containing the specifed rectangular area,
            in the specified component, as a copy (see below). The rectangular area
            is specified by the coordinates and dimensions of the 'blk' object.
            
            <p>The area to return is specified by the 'ulx', 'uly', 'w' and 'h'
            members of the 'blk' argument. These members are not modified by this
            method.</p>
            
            <p>The data returned by this method is always a copy of the internal
            data of this object, if any, and it can be modified "in place" without
            any problems after being returned. The 'offset' of the returned data is
            0, and the 'scanw' is the same as the block's width. See the 'DataBlk'
            class.</p>
            
            <p>If the data array in 'blk' is <tt>null</tt>, then a new one is
            created. If the data array is not <tt>null</tt> then it must be big
            enough to contain the requested area.</p>
            
            <p>The returned data always has its 'progressive' attribute unset (i.e
            false)</p>
            
            </summary>
            <param name="blk">Its coordinates and dimensions specify the area to
            return. If it contains a non-null data array, then it must be large
            enough. If it contains a null data array a new one is created. The
            fields in this object are modified to return the data.
            
            </param>
            <param name="c">The index of the component from which to get the data.
            
            </param>
            <returns> The requested DataBlk
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.wavelet2DReconstruction(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,System.Int32)">
            <summary> Performs the 2D inverse wavelet transform on a subband of the image, on
            the specified component. This method will successively perform 1D
            filtering steps on all columns and then all lines of the subband.
            
            </summary>
            <param name="db">the buffer for the image/wavelet data.
            
            </param>
            <param name="sb">The subband to reconstruct.
            
            </param>
            <param name="c">The index of the component to reconstruct 
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.waveletTreeReconstruction(CSJ2K.j2k.image.DataBlk,CSJ2K.j2k.wavelet.synthesis.SubbandSyn,System.Int32)">
            <summary> Performs the inverse wavelet transform on the whole component. It
            iteratively reconstructs the subbands from leaves up to the root
            node. This method is recursive, the first call to it the 'sb' must be
            the root of the subband tree. The method will then process the entire
            subband tree by calling itslef recursively.
            
            </summary>
            <param name="img">The buffer for the image/wavelet data.
            
            </param>
            <param name="sb">The subband to reconstruct.
            
            </param>
            <param name="c">The index of the component to reconstruct 
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.getImplementationType(System.Int32)">
            <summary> Returns the implementation type of this wavelet transform, WT_IMPL_FULL
            (full-page based transform). All components return the same.
            
            </summary>
            <param name="c">The index of the component.
            
            </param>
            <returns> WT_IMPL_FULL
            
            </returns>
            <seealso cref="!:WaveletTransform.WT_IMPL_FULL">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.setTile(System.Int32,System.Int32)">
            <summary> Changes the current tile, given the new indexes. An
            IllegalArgumentException is thrown if the indexes do not correspond to
            a valid tile.
            
            </summary>
            <param name="x">The horizontal index of the tile.
            
            </param>
            <param name="y">The vertical index of the new tile.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.InvWTFull.nextTile">
            <summary> Advances to the next tile, in standard scan-line order (by rows then
            columns). An 'NoNextElementException' is thrown if the current tile is
            the last one (i.e. there is no next tile).
            
            </summary>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.SubbandSyn">
            <summary> This class represents a subband in a tree structure that describes the
            subband decomposition for a wavelet transform, specifically for the
            syhthesis side.
            
            <p>The element can be either a node or a leaf of the tree. If it is a node
            then ther are 4 descendants (LL, HL, LH and HH). If it is a leaf there are
            no descendants.</p>
            
            <p>The tree is bidirectional. Each element in the tree structure has a
            "parent", which is the subband from which the element was obtained by
            decomposition. The only exception is the root element which has no parent
            (i.e.it's null), for obvious reasons.</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.parent">
            <summary>The reference to the parent of this subband. It is null for the root
            element. It is null by default.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.subb_LL">
            <summary>The reference to the LL subband resulting from the decomposition of
            this subband. It is null by default.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.subb_HL">
            <summary>The reference to the HL subband (horizontal high-pass) resulting from
            the decomposition of this subband. It is null by default.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.subb_LH">
            <summary>The reference to the LH subband (vertical high-pass) resulting from
            the decomposition of this subband. It is null by default.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.subb_HH">
            <summary>The reference to the HH subband resulting from the decomposition of
            this subband. It is null by default.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.hFilter">
            <summary>The horizontal analysis filter used to recompose this subband, from
            its childs. This is applicable to "node" elements only. The default
            value is null. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.vFilter">
            <summary>The vertical analysis filter used to decompose this subband, from its
            childs. This is applicable to "node" elements only. The default value
            is null. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.magbits">
            <summary>The number of magnitude bits </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.#ctor">
            <summary> Creates a SubbandSyn element with all the default values. The
            dimensions are (0,0) and the upper left corner is (0,0).
            
            </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.WaveletFilter[],CSJ2K.j2k.wavelet.WaveletFilter[])">
            <summary> Creates the top-level node and the entire subband tree, with the
            top-level dimensions, the number of decompositions, and the
            decomposition tree as specified.
            
            <p>This constructor just calls the same constructor of the super
            class.</p>
            
            </summary>
            <param name="w">The top-level width
            
            </param>
            <param name="h">The top-level height
            
            </param>
            <param name="ulcx">The horizontal coordinate of the upper-left corner with
            respect to the canvas origin, in the component grid.
            
            </param>
            <param name="ulcy">The vertical coordinate of the upper-left corner with
            respect to the canvas origin, in the component grid.
            
            </param>
            <param name="lvls">The number of levels (or LL decompositions) in the tree.
            
            </param>
            <param name="hfilters">The horizontal wavelet synthesis filters for each
            resolution level, starting at resolution level 0.
            
            </param>
            <param name="vfilters">The vertical wavelet synthesis filters for each
            resolution level, starting at resolution level 0.
            
            </param>
            <seealso cref="!:Subband.Subband(int,int,int,int,int,">
            WaveletFilter[],WaveletFilter[])
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.split(CSJ2K.j2k.wavelet.WaveletFilter,CSJ2K.j2k.wavelet.WaveletFilter)">
            <summary> Splits the current subband in its four subbands. It changes the status
            of this element (from a leaf to a node, and sets the filters), creates
            the childs and initializes them. An IllegalArgumentException is thrown
            if this subband is not a leaf.
            
            <p>It uses the initChilds() method to initialize the childs.</p>
            
            </summary>
            <param name="hfilter">The horizontal wavelet filter used to decompose this
            subband. It has to be a SynWTFilter object.
            
            </param>
            <param name="vfilter">The vertical wavelet filter used to decompose this
            subband. It has to be a SynWTFilter object.
            
            </param>
            <returns> A reference to the LL leaf (subb_LL).
            
            </returns>
            <seealso cref="M:CSJ2K.j2k.wavelet.Subband.initChilds">
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.Parent">
            <summary> Returns the parent of this subband. The parent of a subband is the
            subband from which this one was obtained by decomposition. The root
            element has no parent subband (null).
            
            </summary>
            <returns> The parent subband, or null for the root one.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.LL">
            <summary> Returns the LL child subband of this subband.
            
            </summary>
            <returns> The LL child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.HL">
            <summary> Returns the HL (horizontal high-pass) child subband of this subband.
            
            </summary>
            <returns> The HL child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.LH">
            <summary> Returns the LH (vertical high-pass) child subband of this subband.
            
            </summary>
            <returns> The LH child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.HH">
            <summary> Returns the HH child subband of this subband.
            
            </summary>
            <returns> The HH child subband, or null if there are no childs.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.HorWFilter">
            <summary> This function returns the horizontal wavelet filter relevant to this
            subband
            
            </summary>
            <returns> The horizontal wavelet filter
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SubbandSyn.VerWFilter">
            <summary> This function returns the vertical wavelet filter relevant to this
            subband
            
            </summary>
            <returns> The vertical wavelet filter
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.synthesis.SynWTFilter" -->
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> Reconstructs the output signal by the synthesis filter, recomposing the
            low-pass and high-pass input signals in one output signal. This method
            performs the upsampling and fitering with the low pass first filtering
            convention.
            
            <p>The input low-pass (high-pass) signal resides in the lowSig
            array. The index of the first sample to filter (i.e. that will generate
            the first (second) output sample). is given by lowOff (highOff). This
            array must be of the same type as the one for which the particular
            implementation works with (which is returned by the getDataType()
            method).</p>
            
            <p>The low-pass (high-pass) input signal can be interleaved with other
            signals in the same lowSig (highSig) array, and this is determined by
            the lowStep (highStep) argument. This means that the first sample of
            the low-pass (high-pass) input signal is lowSig[lowOff]
            (highSig[highOff]), the second is lowSig[lowOff+lowStep]
            (highSig[highOff+highStep]), the third is lowSig[lowOff+2*lowStep]
            (highSig[highOff+2*highStep]), and so on. Therefore if lowStep
            (highStep) is 1 there is no interleaving. This feature allows to filter
            columns of a 2-D signal, when it is stored in a line by line order in
            lowSig (highSig), without having to copy the data, in this case the
            lowStep (highStep) argument should be the line width of the low-pass
            (high-pass) signal.</p>
            
            <p>The output signal is placed in the outSig array. The outOff and
            outStep arguments are analogous to the lowOff and lowStep ones, but
            they apply to the outSig array. The outSig array must be long enough to
            hold the low-pass output signal.</p>
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass input
            signal. It must be of the correct type (e.g., it must be int[] if
            getDataType() returns TYPE_INT).
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass input
            signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the low-pass
            input signal samples in the lowSig array. See above.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass input
            signal. It must be of the correct type (e.g., it must be int[] if
            getDataType() returns TYPE_INT).
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass input
            signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array. See above.
            
            </param>
            <param name="outSig">This is the array where the output signal is placed. It
            must be of the same type as lowSig and it should be long enough to
            contain the output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where to put
            the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the output
            samples in the outSig array. See above.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> Reconstructs the output signal by the synthesis filter, recomposing the
            low-pass and high-pass input signals in one output signal. This method
            performs the upsampling and fitering with the high pass first filtering
            convention.
            
            <p>The input low-pass (high-pass) signal resides in the lowSig
            array. The index of the first sample to filter (i.e. that will generate
            the first (second) output sample). is given by lowOff (highOff). This
            array must be of the same type as the one for which the particular
            implementation works with (which is returned by the getDataType()
            method).</p>
            
            <p>The low-pass (high-pass) input signal can be interleaved with other
            signals in the same lowSig (highSig) array, and this is determined by
            the lowStep (highStep) argument. This means that the first sample of
            the low-pass (high-pass) input signal is lowSig[lowOff]
            (highSig[highOff]), the second is lowSig[lowOff+lowStep]
            (highSig[highOff+highStep]), the third is lowSig[lowOff+2*lowStep]
            (highSig[highOff+2*highStep]), and so on. Therefore if lowStep
            (highStep) is 1 there is no interleaving. This feature allows to filter
            columns of a 2-D signal, when it is stored in a line by line order in
            lowSig (highSig), without having to copy the data, in this case the
            lowStep (highStep) argument should be the line width of the low-pass
            (high-pass) signal.</p>
            
            <p>The output signal is placed in the outSig array. The outOff and
            outStep arguments are analogous to the lowOff and lowStep ones, but
            they apply to the outSig array. The outSig array must be long enough to
            hold the low-pass output signal.</p>
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass input
            signal. It must be of the correct type (e.g., it must be int[] if
            getDataType() returns TYPE_INT).
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass input
            signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the low-pass
            input signal samples in the lowSig array. See above.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass input
            signal. It must be of the correct type (e.g., it must be int[] if
            getDataType() returns TYPE_INT).
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass input
            signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array. See above.
            
            </param>
            <param name="outSig">This is the array where the output signal is placed. It
            must be of the same type as lowSig and it should be long enough to
            contain the output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where to put
            the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the output
            samples in the outSig array. See above.
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloat" -->
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloat.synthetize_lpf(System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32)">
            <summary> A specific version of the synthetize_lpf() method that works on float
            data. See the general description of the synthetize_lpf() method in the 
            SynWTFilter class for more details.
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass
            input signal.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass
            input signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass
            input signal.
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass
            input signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is
            placed. It should be long enough to contain the output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where
            to put the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the
            output samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloat.synthetize_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> The general version of the synthetize_lpf() method, it just calls
            the specialized version. See the description of the synthetize_lpf()
            method of the SynWTFilter class for more details.
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass
            input signal. It must be an float[].
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass
            input signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass
            input signal. It must be an float[].
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass
            input signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is
            placed. It should be and float[] and long enough to contain the
            output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where
            to put the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the
            output samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloat.synthetize_hpf(System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32)">
            <summary> A specific version of the synthetize_hpf() method that works on float
            data. See the general description of the synthetize_hpf() method in the 
            SynWTFilter class for more details.
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass
            input signal.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass
            input signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass
            input signal.
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass
            input signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is
            placed. It should be long enough to contain the output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where
            to put the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the
            output samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloat.synthetize_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> The general version of the synthetize_hpf() method, it just calls
            the specialized version. See the description of the synthetize_hpf()
            method of the SynWTFilter class for more details.
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass
            input signal. It must be an float[].
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass
            input signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass
            input signal. It must be an float[].
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass
            input signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is
            placed. It should be and float[] and long enough to contain the
            output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where
            to put the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the
            output samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloat.DataType">
            <summary> Returns the type of data on which this filter works, as defined
            in the DataBlk interface, which is always TYPE_FLOAT for this
            class.
            
            </summary>
            <returns> The type of data as defined in the DataBlk interface.
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.DataBlk">
            
            
            
            </seealso>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7" -->
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.ALPHA">
            <summary>The value of the first lifting step coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.BETA">
            <summary>The value of the second lifting step coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.GAMMA">
            <summary>The value of the third lifting step coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.DELTA">
            <summary>The value of the fourth lifting step coefficient </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.KL">
            <summary>The value of the low-pass subband normalization factor </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.KH">
            <summary>The value of the high-pass subband normalization factor </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.synthetize_lpf(System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.synthetize_hpf(System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Int32,System.Single[],System.Int32,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.isSameAsFullWT(System.Int32,System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.ToString">
            <summary> Returns a string of information about the synthesis wavelet filter
            
            </summary>
            <returns> wavelet filter type.
            
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.AnLowNegSupport">
            <summary> Returns the negative support of the low-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> 2
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.AnLowPosSupport">
            <summary> Returns the positive support of the low-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass analysis filter in the
            positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.AnHighNegSupport">
            <summary> Returns the negative support of the high-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in
            the negative direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.AnHighPosSupport">
            <summary> Returns the positive support of the high-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in the
            positive direction
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.SynLowNegSupport" -->
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.SynLowPosSupport" -->
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.SynHighNegSupport" -->
        <!-- Badly formed XML comment ignored for member "P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.SynHighPosSupport" -->
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.ImplType">
            <summary> Returns the implementation type of this filter, as defined in this
            class, such as WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT,
            WT_FILTER_FLOAT_CONVOL.
            
            </summary>
            <returns> WT_FILTER_INT_LIFT.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7.Reversible">
            <summary> Returns the reversibility of the filter. A filter is considered
            reversible if it is suitable for lossless coding.
            
            </summary>
            <returns> true since the 9x7 is reversible, provided the appropriate
            rounding is performed.
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.synthesis.SynWTFilterInt" -->
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterInt.synthetize_lpf(System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32)">
            <summary> A specific version of the synthetize_lpf() method that works on int
            data. See the general description of the synthetize_lpf() method in the 
            SynWTFilter class for more details.
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass
            input signal.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass
            input signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass
            input signal.
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass
            input signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is
            placed. It should be long enough to contain the output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where
            to put the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the
            output samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterInt.synthetize_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> The general version of the synthetize_lpf() method, it just calls
            the specialized version. See the description of the synthetize_lpf()
            method of the SynWTFilter class for more details.
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass
            input signal. It must be an int[].
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass
            input signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass
            input signal. Itmust be an int[].
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass
            input signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is
            placed. It should be and int[] and long enough to contain the
            output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where
            to put the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the
            output samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterInt.synthetize_hpf(System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32)">
            <summary> A specific version of the synthetize_hpf() method that works on int
            data. See the general description of the synthetize_hpf() method in the 
            SynWTFilter class for more details.
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass
            input signal.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass
            input signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass
            input signal.
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass
            input signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is
            placed. It should be long enough to contain the output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where
            to put the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the
            output samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterInt.synthetize_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            <summary> The general version of the synthetize_hpf() method, it just calls
            the specialized version. See the description of the synthetize_hpf()
            method of the SynWTFilter class for more details.
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass
            input signal. It must be an int[].
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass
            input signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the
            low-pass input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass
            input signal. Itmust be an int[].
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass
            input signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is
            placed. It should be and int[] and long enough to contain the
            output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where
            to put the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the
            output samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            
            
            
            
            </seealso>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterInt.DataType">
            <summary> Returns the type of data on which this filter works, as defined
            in the DataBlk interface, which is always TYPE_INT for this
            class.
            
            </summary>
            <returns> The type of data as defined in the DataBlk interface.
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.DataBlk">
            
            
            
            </seealso>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3">
            <summary> This class inherits from the synthesis wavelet filter definition for int
            data. It implements the inverse wavelet transform specifically for the 5x3
            filter. The implementation is based on the lifting scheme.
            
            <p>See the SynWTFilter class for details such as normalization, how to
            split odd-length signals, etc. In particular, this method assumes that the
            low-pass coefficient is computed first.</p>
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.wavelet.synthesis.SynWTFilter">
            </seealso>
            <seealso cref="T:CSJ2K.j2k.wavelet.synthesis.SynWTFilterInt">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.synthetize_lpf(System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32)">
            <summary> An implementation of the synthetize_lpf() method that works on int
            data, for the inverse 5x3 wavelet transform using the lifting
            scheme. See the general description of the synthetize_lpf() method in
            the SynWTFilter class for more details.
            
            <p>The coefficients of the first lifting step are [-1/4 1 -1/4].</p>
            
            <p>The coefficients of the second lifting step are [1/2 1 1/2].</p>
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass input
            signal.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass input
            signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the low-pass
            input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass input
            signal.
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass input
            signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is placed. It
            should be long enough to contain the output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where to put
            the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the output
            samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_lpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.synthetize_hpf(System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32)">
            <summary> An implementation of the synthetize_hpf() method that works on int
            data, for the inverse 5x3 wavelet transform using thelifting
            scheme. See the general description of the synthetize_hpf() method in
            the SynWTFilter class for more details.
            
            <p>The coefficients of the first lifting step are [-1/4 1 -1/4].</p>
            
            <p>The coefficients of the second lifting step are [1/2 1 1/2].</p>
            
            </summary>
            <param name="lowSig">This is the array that contains the low-pass input
            signal.
            
            </param>
            <param name="lowOff">This is the index in lowSig of the first sample to
            filter.
            
            </param>
            <param name="lowLen">This is the number of samples in the low-pass input
            signal to filter.
            
            </param>
            <param name="lowStep">This is the step, or interleave factor, of the low-pass
            input signal samples in the lowSig array.
            
            </param>
            <param name="highSig">This is the array that contains the high-pass input
            signal.
            
            </param>
            <param name="highOff">This is the index in highSig of the first sample to
            filter.
            
            </param>
            <param name="highLen">This is the number of samples in the high-pass input
            signal to filter.
            
            </param>
            <param name="highStep">This is the step, or interleave factor, of the
            high-pass input signal samples in the highSig array.
            
            </param>
            <param name="outSig">This is the array where the output signal is placed. It
            should be long enough to contain the output signal.
            
            </param>
            <param name="outOff">This is the index in outSig of the element where to put
            the first output sample.
            
            </param>
            <param name="outStep">This is the step, or interleave factor, of the output
            samples in the outSig array.
            
            </param>
            <seealso cref="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_hpf(System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32,System.Int32,System.Object,System.Int32,System.Int32)">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.isSameAsFullWT(System.Int32,System.Int32,System.Int32)">
            <summary> Returns true if the wavelet filter computes or uses the same "inner"
            subband coefficient as the full frame wavelet transform, and false
            otherwise. In particular, for block based transforms with reduced
            overlap, this method should return false. The term "inner" indicates
            that this applies only with respect to the coefficient that are not
            affected by image boundaries processings such as symmetric extension,
            since there is not reference method for this.
            
            <p>The result depends on the length of the allowed overlap when
            compared to the overlap required by the wavelet filter. It also depends
            on how overlap processing is implemented in the wavelet filter.</p>
            
            </summary>
            <param name="tailOvrlp">This is the number of samples in the input signal
            before the first sample to filter that can be used for overlap.
            
            </param>
            <param name="headOvrlp">This is the number of samples in the input signal
            after the last sample to filter that can be used for overlap.
            
            </param>
            <param name="inLen">This is the lenght of the input signal to filter.The
            required number of samples in the input signal after the last sample
            depends on the length of the input signal.
            
            </param>
            <returns> true if both overlaps are greater than 2, and correct
            processing is applied in the analyze() method.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.ToString">
            <summary> Returns a string of information about the synthesis wavelet filter
            
            </summary>
            <returns> wavelet filter type.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.AnLowNegSupport">
            <summary> Returns the negative support of the low-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> 2
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.AnLowPosSupport">
            <summary> Returns the positive support of the low-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass analysis filter in the
            positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.AnHighNegSupport">
            <summary> Returns the negative support of the high-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in the
            negative direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.AnHighPosSupport">
            <summary> Returns the positive support of the high-pass analysis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass analysis filter in the
            positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.SynLowNegSupport">
            <summary> Returns the negative support of the low-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass synthesis filter in the
            negative direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.SynLowPosSupport">
            <summary> Returns the positive support of the low-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the low-pass synthesis filter in the
            positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.SynHighNegSupport">
            <summary> Returns the negative support of the high-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass synthesis filter in the
            negative direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.SynHighPosSupport">
            <summary> Returns the positive support of the high-pass synthesis filter. That is
            the number of taps of the filter in the negative direction.
            
            </summary>
            <returns> The number of taps of the high-pass synthesis filter in the
            positive direction
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.ImplType">
            <summary> Returns the implementation type of this filter, as defined in this
            class, such as WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT,
            WT_FILTER_FLOAT_CONVOL.
            
            </summary>
            <returns> WT_FILTER_INT_LIFT.
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.synthesis.SynWTFilterIntLift5x3.Reversible">
            <summary> Returns the reversibility of the filter. A filter is considered
            reversible if it is suitable for lossless coding.
            
            </summary>
            <returns> true since the 5x3 is reversible, provided the appropriate
            rounding is performed.
            
            </returns>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.synthesis.SynWTFilterSpec">
            <summary> This class extends ModuleSpec class for synthesis filters specification
            holding purpose.
            
            </summary>
            <seealso cref="T:CSJ2K.j2k.ModuleSpec">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterSpec.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary> Constructs a new 'SynWTFilterSpec' for the specified number of
            components and tiles.
            
            </summary>
            <param name="nt">The number of tiles
            
            </param>
            <param name="nc">The number of components
            
            </param>
            <param name="type">the type of the specification module i.e. tile specific,
            component specific or both.
            
            </param>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterSpec.getWTDataType(System.Int32,System.Int32)">
            <summary> Returns the data type used by the filters in this object, as defined in
            the 'DataBlk' interface for specified tile-component.
            
            </summary>
            <param name="t">Tile index
            
            </param>
            <param name="c">Component index
            
            </param>
            <returns> The data type of the filters in this object
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.DataBlk">
            
            </seealso>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterSpec.getHFilters(System.Int32,System.Int32)">
            <summary> Returns the horizontal analysis filters to be used in component 'n' and
            tile 't'.
            
            <p>The horizontal analysis filters are returned in an array of
            SynWTFilter. Each element contains the horizontal filter for each
            resolution level starting with resolution level 1 (i.e. the analysis
            filter to go from resolution level 1 to resolution level 0). If there
            are less elements than the maximum resolution level, then the last
            element is assumed to be repeated.</p>
            
            </summary>
            <param name="t">The tile index, in raster scan order
            
            </param>
            <param name="c">The component index.
            
            </param>
            <returns> The array of horizontal analysis filters for component 'n' and
            tile 't'.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterSpec.getVFilters(System.Int32,System.Int32)">
            <summary> Returns the vertical analysis filters to be used in component 'n' and
            tile 't'.
            
            <p>The vertical analysis filters are returned in an array of
            SynWTFilter. Each element contains the vertical filter for each
            resolution level starting with resolution level 1 (i.e. the analysis
            filter to go from resolution level 1 to resolution level 0). If there
            are less elements than the maximum resolution level, then the last
            element is assumed to be repeated.</p>
            
            </summary>
            <param name="t">The tile index, in raster scan order
            
            </param>
            <param name="c">The component index.
            
            </param>
            <returns> The array of horizontal analysis filters for component 'n' and
            tile 't'.
            
            </returns>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterSpec.ToString">
            <summary>Debugging method </summary>
        </member>
        <member name="M:CSJ2K.j2k.wavelet.synthesis.SynWTFilterSpec.isReversible(System.Int32,System.Int32)">
            <summary> Check the reversibility of filters contained is the given
            tile-component.
            
            </summary>
            <param name="t">The index of the tile
            
            </param>
            <param name="c">The index of the component
            
            </param>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.WaveletFilter_Fields">
            <summary> This interface defines how a wavelet filter implementation should present
            itself. This interface defines only the commonalities between the analysis
            and synthesis filters. The AnWTFilter and SynWTFilter classes provide the
            specifics of analysis and synthesis filters.
            
            <p>Both analysis and filters must be able to return the extent of the
            negative and positive support for both synthesis and analysis sides. This
            simplifies the sue of some functionalities that need extra information
            about the filters.</p>
            
            </summary>
            <seealso cref="!:jj2000.j2k.wavelet.analysis.AnWTFilter">
            
            </seealso>
            <seealso cref="!:jj2000.j2k.wavelet.synthesis.SynWTFilter">
            
            </seealso>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WaveletFilter_Fields.WT_FILTER_INT_LIFT">
            <summary>The ID for integer lifting spteps implementations </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WaveletFilter_Fields.WT_FILTER_FLOAT_LIFT">
            <summary>The ID for floating-point lifting spteps implementations </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WaveletFilter_Fields.WT_FILTER_FLOAT_CONVOL">
            <summary>The ID for floatring-poitn convolution implementations </summary>
        </member>
        <member name="T:CSJ2K.j2k.wavelet.WaveletTransform_Fields">
            <summary> This interface defines how a forward or inverse wavelet transform should
            present itself. As specified in the ImgData interface, from which this
            class inherits, all operations are confined to the current tile, and all
            coordinates are relative to it.
            
            <p>The definition of the methods in this interface allows for different
            types of implementation, reversibility and levels of decompositions for
            each component and each tile. An implementation of this interface does not
            need to support all this flexibility (e.g., it may provide the same
            implementation type and decomposition levels for all tiles and
            components).</p>
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WaveletTransform_Fields.WT_IMPL_LINE">
            <summary> ID for line based implementations of wavelet transforms.
            
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WaveletTransform_Fields.WT_IMPL_FULL">
            <summary> ID for full-page based implementations of wavelet transforms. Full-page
            based implementations should be avoided since they require large
            amounts of memory.
            
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.WTDecompSpec" -->
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.WT_DECOMP_DYADIC">
            <summary> ID for the dyadic wavelet tree decomposition (also called
            "Mallat" in JPEG 2000): 0x00.
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.WT_DECOMP_SPACL">
            <summary> ID for the SPACL (as defined in JPEG 2000) wavelet tree
            decomposition (1 level of decomposition in the high bands and
            some specified number for the lowest LL band): 0x02.  
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.WT_DECOMP_PACKET">
            <summary> ID for the PACKET (as defined in JPEG 2000) wavelet tree
            decomposition (2 levels of decomposition in the high bands and
            some specified number for the lowest LL band): 0x01. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.DEC_SPEC_MAIN_DEF">
            <summary>The identifier for "main default" specified decomposition </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.DEC_SPEC_COMP_DEF">
            <summary>The identifier for "component default" specified decomposition </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.DEC_SPEC_TILE_DEF">
            <summary>The identifier for "tile specific default" specified decomposition </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.DEC_SPEC_TILE_COMP">
            <summary>The identifier for "tile and component specific" specified
            decomposition 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.specValType">
            <summary>The spec type for each tile and component. The first index is the
            component index, the second is the tile index. NOTE: The tile specific
            things are not supported yet. 
            </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.mainDefDecompType">
            <summary>The main default decomposition </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.mainDefLevels">
            <summary>The main default number of decomposition levels </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.compMainDefDecompType">
            <summary>The component main default decomposition, for each component. </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTDecompSpec.compMainDefLevels">
            <summary>The component main default decomposition levels, for each component </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.WTDecompSpec.#ctor(System.Int32,System.Int32,System.Int32)" -->
        <member name="M:CSJ2K.j2k.wavelet.WTDecompSpec.setMainCompDefDecompType(System.Int32,System.Int32,System.Int32)">
            <summary> Sets the "component main default" decomposition type and number of
            levels for the specified component. Both 'dec' and 'lev' can not be
            negative at the same time.
            
            </summary>
            <param name="n">The component index
            
            </param>
            <param name="dec">The decomposition type. If negative then the main default is
            used.
            
            </param>
            <param name="lev">The number of levels. If negative then the main defaul is
            used.
            
            
            
            </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.WTDecompSpec.getDecSpecType(System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.WTDecompSpec.getDecompType(System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.WTDecompSpec.getLevels(System.Int32)" -->
        <member name="P:CSJ2K.j2k.wavelet.WTDecompSpec.MainDefDecompType">
            <summary> Returns the main default decomposition type.
            
            </summary>
            <returns> The main default decomposition type.
            
            
            
            </returns>
        </member>
        <member name="P:CSJ2K.j2k.wavelet.WTDecompSpec.MainDefLevels">
            <summary> Returns the main default decomposition number of levels.
            
            </summary>
            <returns> The main default decomposition number of levels.
            
            
            
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.WTFilterSpec" -->
        <member name="F:CSJ2K.j2k.wavelet.WTFilterSpec.FILTER_SPEC_MAIN_DEF">
            <summary>The identifier for "main default" specified filters </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTFilterSpec.FILTER_SPEC_COMP_DEF">
            <summary>The identifier for "component default" specified filters </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTFilterSpec.FILTER_SPEC_TILE_DEF">
            <summary>The identifier for "tile specific default" specified filters </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTFilterSpec.FILTER_SPEC_TILE_COMP">
            <summary>The identifier for "tile and component specific" specified filters </summary>
        </member>
        <member name="F:CSJ2K.j2k.wavelet.WTFilterSpec.specValType">
            <summary>The spec type for each tile and component. The first index is the
            component index, the second is the tile index. NOTE: The tile specific
            things are not supported yet. 
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.WTFilterSpec.#ctor(System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.wavelet.WTFilterSpec.getKerSpecType(System.Int32)" -->
        <member name="P:CSJ2K.j2k.wavelet.WTFilterSpec.WTDataType">
            <summary> Returns the data type used by the filters in this object, as defined in 
            the 'DataBlk' interface.
            
            </summary>
            <returns> The data type of the filters in this object
            
            </returns>
            <seealso cref="!:jj2000.j2k.image.DataBlk">
            
            
            
            </seealso>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfEncoding">
            <summary>
            Converts bytes into strings using Adobe's WinAnsiEncoding or special encodings
            specified by the fonts.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfEncoding.#ctor(C1.Xaml.PdfViewer.PdfObject)">
            <summary>
            Creates a new instance of a <see cref="T:C1.Xaml.PdfViewer.PdfEncoding"/> based on a font object.
            </summary>
            <param name="fontObject">Font object as encoded in the pdf stream.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfEncoding.ToString(System.Byte[],System.Boolean)">
            <summary>
            Convert to text string array of bytes in pdf encoding.
            </summary>
            <param name="bytes">The array of bytes.</param>
            <returns>The text string.</returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfEncoding.ParseUnicodefromCID(System.Byte[],System.Boolean)">
            <summary>
             item 1 CID, item 2 Unicode
            </summary>
            <param name="bytes"></param>
            <returns></returns>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfEncoding.IsSymbol">
            <summary>
            Gets true if base font is symbol, otherwise false.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfEncoding.IsWingdings">
            <summary>
            Gets true if base font is Wingdings, otherwise false.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:C1.Xaml.PdfViewer.PdfFunction" -->
        <member name="F:C1.Xaml.PdfViewer.PdfFunction.TYPE_0">
            <summary>
            Sampled function </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.PdfFunction.TYPE_2">
            <summary>
            Exponential interpolation function </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.PdfFunction.TYPE_3">
            <summary>
            Stitching function. </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.PdfFunction.TYPE_4">
            <summary>
            PostScript calculator function. </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.PdfFunction.type">
            <summary>
            the type of this function from the list of known types </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.PdfFunction.domain">
            <summary>
            the input domain of this function, an array of 2 * <i>m</i> floats </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.PdfFunction.range">
            <summary>
            the output range of this functions, and array of 2 * <i>n</i> floats.
             required for type 0 and 4 functions
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfFunction.#ctor(System.Int32)">
            <summary>
            Creates a new instance of PDFFunction </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfFunction.getFunction(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Get a PDFFunction from a PDFObject
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfFunction.getDomain(System.Int32)">
            <summary>
            Get a component of the domain of this function
            </summary>
            <param name="i"> the index into the domain array, which has size 2 * <i>m</i>.
                     the <i>i</i>th entry in the array has index 2<i>i</i>, 
                      2<i>i</i> + 1 </param>
            <returns> the <i>i</i>th entry in the domain array  </returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfFunction.getRange(System.Int32)">
            <summary>
            Get a component of the range of this function
            </summary>
            <param name="i"> the index into the range array, which has size 2 * <i>n</i>.
                     the <i>i</i>th entry in the array has index 2<i>i</i>, 
                      2<i>i</i> + 1 </param>
            <returns> the <i>i</i>th entry in the range array  </returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfFunction.calculate(System.Double[])">
            <summary>
            Map from <i>m</i> input values to <i>n</i> output values.
            The number of inputs <i>m</i> must be exactly one half the size of the
            domain.  The number of outputs should match one half the size of the
            range.
            </summary>
            <param name="inputs"> an array of >= <i>m</i> input values </param>
            <returns> the array of <i>n</i> output values </returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfFunction.calculate(System.Double[],System.Int32,System.Double[],System.Int32)">
            <summary>
            Map from <i>m</i> input values to <i>n</i> output values.
            The number of inputs <i>m</i> must be exactly one half the size of the
            domain.  The number of outputs should match one half the size of the
            range.
            </summary>
            <param name="inputs"> an array of >= <i>m</i> input values </param>
            <param name="inputOffset"> the offset into the input array to read from </param>
            <param name="outputs"> an array of size >= <i>n</i> which will be filled
                           with the output values </param>
            <param name="outputOffset"> the offset into the output array to write to </param>
            <returns> the array of <i>n</i> output values </returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfFunction.doFunction(System.Double[],System.Int32,System.Double[],System.Int32)">
            <summary>
            Subclasses must implement this method to perform the actual function
            on the given set of data.  Note that the inputs are guaranteed to be
            clipped to the domain, while the outputs will be automatically clipped
            to the range after being returned from this function.
            </summary>
            <param name="inputs"> guaranteed to be at least as big as 
                   <code>getNumInputs()</code> and all values within range </param>
            <param name="inputOffset"> the offset into the inputs array to read from </param>
            <param name="outputs"> guaranteed to be at least as big as
                   <code>getNumOutputs()</code>, but not yet clipped to domain </param>
            <param name="outputOffset"> the offset into the output array to write to </param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfFunction.parse(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Read the function information from a PDF Object </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfFunction.Type">
            <summary>
            Get the type of this function
            </summary>
            <returns> one of the types of function (0-4) </returns>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfFunction.NumInputs">
            <summary>
            Get the number of inputs, <i>m</i>, required by this function
            </summary>
            <returns> the number of input values expected by this function </returns>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfFunction.NumOutputs">
            <summary>
            Get the number of outputs, <i>n</i>, returned by this function
            </summary>
            <returns> the number of output values this function will return </returns>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfFunction.Domain">
            <summary>
             Set the domain of this function
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfFunction.Range">
            <summary>
            Set the range of this function
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.FunctionType0">
            <summary>
            A sampled function maps input values to output values by interpolating
            along a line or cubic between two known values.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType0.LINEAR_INTERPOLATION">
            <summary>
            the valid interpolation methods </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType0.size">
            <summary>
            the size of each input dimension, as an array of <i>m</i> integers </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType0.bitsPerSample">
            <summary>
            the number of bits in each sample </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType0.order">
            <summary>
            the interpolation type, from the list above </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType0.encode">
            <summary>
            the optional encoding array, tells how to map input parameters to values </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType0.decode">
            <summary>
            the optional decoding array, tells how to map output parameters to values </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType0.samples">
            <summary>
            the actual samples, converted to integers.  The first index is
            input values (from 0 to size[m - 1] * size[m - 2] * ... * size[0]), 
            and the second is the output dimension within the sample (from 0 to n)
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.#ctor">
            <summary>
            Creates a new instance of FunctionType0 </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.parse(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Read the function information from a PDF Object </summary> 
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.doFunction(System.Double[],System.Int32,System.Double[],System.Int32)">
            <summary>
            Map from <i>m</i> input values to <i>n</i> output values.
            The number of inputs <i>m</i> must be exactly one half the size of the
            domain.  The number of outputs should match one half the size of the
            range.
            </summary>
            <param name="inputs"> an array of <i>m</i> input values </param>
            <param name="outputs"> an array of size <i>n</i> which will be filled
                           with the output values, or null to return a new array </param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.getSize(System.Int32)">
            <summary>
            Get the size of a given input dimension
            </summary>
            <param name="dimension"> the input dimension to get the size of </param>
            <returns> the number of samples in the given dimension </returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.getEncode(System.Int32)">
            <summary>
            Get the encoding for a particular input parameter
            </summary>
            <param name="i"> the index into the encoding array, which has size 2 * <i>m</i>.
                     the <i>i</i>th entry in the array has index 2<i>i</i>, 
                      2<i>i</i> + 1 </param>
            <returns> the encoding value if the encoding array is set, or the default  </returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.getDecode(System.Int32)">
            <summary>
            Get the decoding for a particular input parameter
            </summary>
            <param name="i"> the index into the decoding array, which has size 2 * <i>n</i>.
                     the <i>i</i>th entry in the array has index 2<i>i</i>, 
                      2<i>i</i> + 1 </param>
            <returns> the decoding value if the decoding array is set, or the default  </returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.getSample(System.Int32[],System.Int32)">
            <summary>
            Get a component for a sample given <i>m</i> indices and output
            dimension. 
            </summary>
            <param name="values"> an array of <i>m</i> values determining which sample
                          to select </param>
            <param name="od"> the output dimension (0 - <i>n</i>) to get the sample in </param>
            <returns> the sample for the given values and index </returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.readSamples(System.Byte[])">
            <summary>
            Read the samples from the input stream.  Each sample is made up
            of <i>n</i> components, each of which has length <i>bitsPerSample</i>
            bits.  The samples are arranged by dimension, then range
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.multilinearInterpolate(System.Double[],System.Int32)">
            <summary>
            Perform a piecewise multilinear interpolation.  The provides a
            close approximation to the standard linear interpolation, at
            a far lower cost, since every element is not evaluated at every
            iteration.  Instead, a walk of the most significant axes is performed,
            following the algorithm desribed at:
                http://osl.iu.edu/~tveldhui/papers/MAScThesis/node33.html
            </summary>
            <param name="encoded"> the encoded input values </param>
            <param name="od"> the output dimension </param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.multicubicInterpolate(System.Double[],System.Int32)">
            <summary>
            Perform a multicubic interpolation
            </summary>
            <param name="encoded"> the encoded input values </param>
            <param name="od"> the output dimension </param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:C1.Xaml.PdfViewer.FunctionType0.interpolate(System.Double,System.Double,System.Double,System.Double,System.Double)" -->
        <member name="M:C1.Xaml.PdfViewer.FunctionType0.getSample(System.Double[],System.Int32,System.Int32)">
            <summary>
            Get a sample based on an array of encoded values and a control
            map.  For each bit in the map, if that bit is 0 the integer below 
            the encoded value is selected, or if the bit is 1, the interger
            above is selected.
            </summary>
            <param name="encoded"> the encoded values </param>
            <param name="map"> the bit map of control values </param>
            <param name="od"> the output dimension to read the sample for </param>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FunctionType0.Size">
            <summary>
            Set the size of all input dimensions
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FunctionType0.BitsPerSample">
            <summary>
            Get the number of bits per sample
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FunctionType0.Order">
            <summary>
            Get the interpolation type
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FunctionType0.Encode">
            <summary>
            Set the encode array
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FunctionType0.Decode">
            <summary>
            Set the decode array
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FunctionType0.Samples">
            <summary>
            Set the table of samples
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.FunctionType2">
            <summary>
            A type 2 function is an exponential interpolation function, which maps
            from one input value to n output values using a simple exponential
            formula.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType2.c0">
            <summary>
            the function's value at zero for the n outputs </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType2.c1">
            <summary>
            the function's value at one for the n outputs </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.FunctionType2.n">
            <summary>
            the exponent </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType2.#ctor">
            <summary>
            Creates a new instance of FunctionType2 </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType2.parse(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Read the zeros, ones and exponent
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType2.doFunction(System.Double[],System.Int32,System.Double[],System.Int32)">
            <summary>
            Calculate the function value for the input.  For each output (j),
            the function value is:
            C0(j) + x^N * (C1(j) - C0(j))
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType2.getC0(System.Int32)">
            <summary>
            Get the values at zero
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.FunctionType2.getC1(System.Int32)">
            <summary>
            Get the values at one
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FunctionType2.N">
            <summary>
            Get the exponent
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FunctionType2.C0">
            <summary>
            Set the values at zero
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FunctionType2.C1">
            <summary>
            Set the values at one
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:C1.Xaml.PdfViewer.FunctionType3" -->
        <member name="M:C1.Xaml.PdfViewer.FunctionType3.#ctor">
            <summary>
            Creates a new instance of FunctionType3 </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:C1.Xaml.PdfViewer.FunctionType3.parse(System.Collections.Generic.Dictionary{System.String,System.Object})" -->
        <member name="M:C1.Xaml.PdfViewer.FunctionType3.doFunction(System.Double[],System.Int32,System.Double[],System.Int32)">
            <summary>
            Map from <i>m</i> input values to <i>n</i> output values.
            The number of inputs <i>m</i> must be exactly one half the size of the
            domain.  The number of outputs should match one half the size of the
            range.
            </summary>
            <param name="inputs"> an array of <i>m</i> input values </param>
            <param name="outputs"> an array of size <i>n</i> which will be filled
                           with the output values, or null to return a new array </param>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfImageDecoder">
            <summary>
            Converts PDF image streams into .NET image streams.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfImageDecoder.GetImageMask(C1.Xaml.PdfViewer.PdfObject)">
            <summary>
            Gets an image that can be used as a 'soft mask'.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfImageDecoder.ImageNotAvailable">
            <summary>
            Gets a stock ImageSource to indicate we failed to load an image.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfObject">
            <summary>
            Smallest unit of information in a PDF document 
            (dictionary, stream, image, etc)
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:C1.Xaml.PdfViewer.PdfObject.Predictor.doSubLine(System.Byte[],System.Int32,System.Int32)" -->
        <member name="M:C1.Xaml.PdfViewer.PdfObject.Predictor.doUpLine(System.Byte[],System.Byte[])">
            <summary>
            Return the value of the up algorithm on the line (compare bytes to
            the same byte in the previous line)
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfObject.Predictor.doAverageLine(System.Byte[],System.Byte[],System.Int32,System.Int32)">
            <summary>
            Return the value of the average algorithm on the line (compare
            bytes to the average of the previous byte of the same color and 
            the same byte on the previous line)
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfObject.Predictor.doPaethLine(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Return the value of the average algorithm on the line (compare
            bytes to the average of the previous byte of the same color and 
            the same byte on the previous line)
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfObject.Predictor.paeth(System.Int32,System.Int32,System.Int32)">
            <summary>
            The paeth algorithm
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfObjectWrapper">
            <summary>
            Base class for specialized objects such as <see cref="T:C1.Xaml.PdfViewer.PdfPage"/>
            and <see cref="T:C1.Xaml.PdfViewer.PdfOutlineNode"/> that wrap low-level pdf objects.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfOutlineNode">
            <summary>
            Represents a node in a PDF document's outline tree.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfPage">
            <summary>
            Represents a page in a PDF document. Page objects contain the 
            data needed to create visual representations of the page,
            which is done by the <see cref="T:C1.Xaml.PdfViewer.PdfPageElement"/> class.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.PdfPage._pageText">
            <summary>
            Gets a string that contains the text on the page.
            </summary>
            <remarks>
            This string is plain text. It is useful for searching and indexing.
            </remarks>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfPage.IsEqualBytes(System.Byte[],System.Byte[])">
            <summary>
            Check whether the two byte[] equal or not.
            </summary>
            <param name="bytes1"></param>
            <param name="bytes2"></param>
            <returns></returns>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfPage.PageIndex">
            <summary>
            Gets the index of the page.
            </summary>
            <value>The index of the page.</value>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfPage.PageContentRectangle">
            <summary>
            Gets the crop rectangle that defines the page size in Points.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfPage.PageRectangle">
            <summary>
            Gets the rectangle that defines the page size in Points.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfPage.Rotate">
            <summary>
            Gets the angle to be applied to the page when rendering it.
            </summary>
            <remarks>
            The angle is expressed in degrees and should be a multiple of 90.
            </remarks>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfPage.XOffset">
            <summary>Gets the horizontal offset.</summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfPage.YOffset">
            <summary>Gets the vertical offset.</summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.SystemPdfPage">
            <summary>
            Represents a page in a PDF document.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.SystemPdfPage.ConvertPageToImage(Windows.UI.Xaml.Controls.Image)">
            <summary>
            Convert a pdf page to an image in synchronous way.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfPageElement">
            <summary>
            Converts the data in a <see cref="T:C1.Xaml.PdfViewer.PdfPage"/> object into a 
            visual element that can be displayed on the screen.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfPageElement.LoadPage(System.Int32,System.Int32,System.Double,System.Double,System.Double,C1.Xaml.PdfViewer.Range)">
            <summary>
            According to the valus of row and column to load pdf page.
            </summary>
            <returns></returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfPageElement.LoadHeader">
            <summary>
            Begins the load of the page.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfPageElement.FillPattern(System.String,System.Action{Windows.UI.Xaml.Media.Brush})">
            <summary>Fill pattern to graphics state.</summary>
            <param name="key">The pattern name for inset.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfPageElement.AddInset(C1.Xaml.PdfViewer.PdfObject,System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>Add inset state as Forms, Widgets or Patterns.</summary>
            <param name="xObject">The PDf object for inset.</param>
            <param name="annot"></param>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfParser">
            <summary>
            Read a PDF file or stream and parse the contents into a list of
            <see cref="T:Windows.Data.Pdf.PdfPage"/> and <see cref="T:C1.Xaml.PdfViewer.PdfOutlineNode"/>objects.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfParser.Parse(System.IO.Stream)">
            <summary>
            Parse the PDF document in a stream and populate the <see cref="P:C1.Xaml.PdfViewer.PdfParser.Pages"/>
            and <see cref="P:C1.Xaml.PdfViewer.PdfParser.Outline"/> collections.
            </summary>
            <param name="stream">Stream that contains the PDF document.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfParser.ParseBySystemAPI(System.IO.Stream,Windows.Foundation.Size)">
            <summary>
            Parse the PDF document in a stream and populate the <see cref="P:C1.Xaml.PdfViewer.PdfParser.SystemPages"/>
            </summary>
            <param name="stream"></param>
            <param name="viewer"></param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfParser.Decrypt(System.Byte[],System.Int32,System.Int32,System.Boolean)">
            <summary>
            Encrypt data of the pdf object.
            </summary>
            <param name="data">The data of pdf object.</param>
            <param name="id">The identifier of pdf object.</param>
            <param name="generation">The generation of pdf object.</param>
            <returns>Encrypted data.</returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfParser.GetPswd(System.String)">
            <summary>
            Gets password (owner or user) hash buffer.
            </summary>
            <param name="password">The password string.</param>
            <returns>The password hash buffer.</returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfParser.IsUserPassword(System.String)">
            <summary>
            Test user password.
            </summary>
            <param name="userPassword">The user password.</param>
            <returns><b>true</b> if correct user password, otherwise <b>false</b>.</returns>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfParser.Pages">
            <summary>
            Gets the collection of pages in the PDF document that was parsed
            with a call to the <see cref="!:Parse(string)"/> method.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfParser.SystemPages">
            <summary>
            Gets the collection of pages in the PDF document that was parsed by Microsoft API.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfParser.Outline">
            <summary>
            Gets the collection of outline nodes in the PDF document that was parsed
            with a call to the <see cref="!:Parse(string)"/> method.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfParser.FastMode">
            <summary>
            Gets or sets a value that determines that the PDF file should
            be rendered faster but with less accurate positioning.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfParser.Password">
            <summary>
            Gets or sets a value that determines user password of the PDF file.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfParserException">
            <summary>
            Exception thrown when problems are detected while parsing PDF 
            documents.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfParserException.#ctor(System.String)">
            <summary>
            The exception thrown when problems are detected while parsing PDF documents.
            </summary>
            <param name="message">The exception message.</param>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfPasswordException">
            <summary>
            Exception thrown when incorrected of a user password for parsing PDF documents.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfPasswordException.#ctor(System.String)">
            <summary>
            The exception thrown when incorrected of a user password for parsing PDF documents.
            </summary>
            <param name="message">The exception message.</param>
        </member>
        <!-- Badly formed XML comment ignored for member "T:C1.Xaml.PdfViewer.PdfShader" -->
        <member name="F:C1.Xaml.PdfViewer.PdfShader.type">
            <summary>
            the type of the shading (1 through 7) </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.PdfShader.colorSpace">
            <summary>
            the colorspace </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfShader.#ctor(System.Int32)">
            <summary>
            Creates a new instance of PDFShader </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfShader.GetShader(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Parse a pdf shader into a shader object
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfShader.parse(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Parse the shader-specific data
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfShader.Type">
            <summary>
            Get the type
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfShader.ColorSpace">
            <summary>
            Get the color space
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType2.axisStart">
            <summary>
            the start of the axis </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType2.axisEnd">
            <summary>
            the end of the axis </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType2.minT">
            <summary>
            the domain minimum </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType2.maxT">
            <summary>
            the domain maximum </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType2.extendStart">
            <summary>
            whether to extend the start of the axis </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType2.extendEnd">
            <summary>
            whether to extend the end of the axis </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType2.functions">
            <summary>
            functions, as an array of either 1 or n functions </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.ShaderType2.#ctor">
            <summary>
            Creates a new instance of ShaderType2 </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.ShaderType2.parse(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Parse the shader-specific data
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType2.AxisStart">
            <summary>
            Get the start of the axis
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType2.AxisEnd">
            <summary>
            Get the end of the axis
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType2.MinT">
            <summary>
            Get the domain minimum
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType2.MaxT">
            <summary>
            Get the domain maximum
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType2.ExtendStart">
            <summary>
            Get whether to extend the start of the axis
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType2.ExtendEnd">
            <summary>
            Get whether to extend the end of the axis
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType2.Functions">
            <summary>
            Get the functions associated with this shader
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType3.startCircle">
            <summary>
            the start of the Circle </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType3.endCircle">
            <summary>
            the end of the Circle </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType3.minT">
            <summary>
            the domain minimum </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType3.maxT">
            <summary>
            the domain maximum </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType3.extendStart">
            <summary>
            whether to extend the start of the axis </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType3.extendEnd">
            <summary>
            whether to extend the end of the axis </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ShaderType3.functions">
            <summary>
            functions, as an array of either 1 or n functions </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.ShaderType3.#ctor">
            <summary>
            Creates a new instance of ShaderType2 </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.ShaderType3.parse(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Parse the shader-specific data
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.ShaderType3.calculateInputValues(System.Double,System.Double)">
            <summary>
            From Adobe Technical Note #5600:
            
            Given a geometric coordinate position (x, y) in or along the gradient gradient fill,
            the corresponding value of s can be determined by solving the quadratic
            constraint equation:
            
            [x - xc(s)]2 + [y - yc(s)]2 = [r(s)]2
            
            The following code calculates the 2 possible values of s
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType3.StartCircle">
            <summary>
            Get the start of the Circle
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType3.EndCircle">
            <summary>
            Get the end of the Circle
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType3.MinT">
            <summary>
            Get the domain minimum
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType3.MaxT">
            <summary>
            Get the domain maximum
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType3.ExtendStart">
            <summary>
            Get whether to extend the start of the axis
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType3.ExtendEnd">
            <summary>
            Get whether to extend the end of the axis
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ShaderType3.Functions">
            <summary>
            Get the functions associated with this shader
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.StandardEncryption.calculateGeneralEncryptionKey(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Boolean)">
            * Determine what the general encryption key is, given a configuration. This     
            * corresponds to Algorithm 3.2 of PDF Reference version 1.7.     
            *     
            * @param userPassword the desired user password; may be null or empty     
            * @param firstDocIdValue the byte stream from the first element of the     
            * value of the ID entry in the trailer dictionary     
            * @param keyBitLength the length of the key in bits     
            * @param revision the security handler revision     
            * @param oValue the O value from the Encrypt dictionary     
            * @param pValue the P value from the Encrypt dictionary     
            * @param encryptMetadata the EncryptMetadata entry from the Encrypt     
            * dictionary (or false if not present or revision &lt;= 3)     
            * @return the general encryption key     
            * @throws GeneralSecurityException if an error occurs when obtaining     
            *  and operating ciphers/digests     
        </member>
        <member name="M:C1.Xaml.PdfViewer.StandardEncryption.getInitialOwnerPasswordKeyBytes(System.Byte[],System.Int32,System.Int32)">
            * Establish the key to be used for the generation and validation 
            * of the user password via the O entry. Corresponds to steps 1-4 in
            * Algorithm 3.3 of the PDF Reference version 1.7.     
            * @param ownerPassword the owner password   
            * @param keyBitLength the length of the key in bits 
            * @param revision the security handler revision    
            * @return the key bytes to use for generation/validation of the O entry   
            
        </member>
        <member name="M:C1.Xaml.PdfViewer.StandardEncryption.calculuateOValue(System.Byte[],System.Byte[],System.Int32,System.Int32)">
            * Calculate what the O value of the Encrypt dict should look like given a   
            * particular configuration. Not used, but useful for reference; this  
            * process is reversed to determine whether a given password is the    
            * owner password. Corresponds to Algorithm 3.3 of the PDF Reference     
            * version 1.7.     
            *    
            * @see #checkOwnerPassword  
            * @param ownerPassword the owner password   
            * @param userPassword the user password   
            * @param keyBitLength the key length in bits (40-128)  
            * @param revision the security handler revision    
            * @return the O value entry      
        </member>
        <member name="M:C1.Xaml.PdfViewer.StandardEncryption.CheckOwnerPassword(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Byte[],System.Byte[],System.Int32,System.Boolean)">
            * Check to see whether a given password is the owner password. Corresponds 
            * to algorithm 3.6 of PDF Reference version 1.7.     *  
            * @param ownerPassword the suggested owner password (may be null or   
            * empty)     
            * @param firstDocIdValue the byte stream from the first element of the  
            *  value of the ID entry in the trailer dictionary    
            * @param keyBitLength the key length in bits   
            * @param revision the security handler revision   
            * @param oValue the O value from the Encrypt dictionary    
            * @param uValue the U value from the Encrypt dictionary   
            * @param pValue the P value from the Encrypt dictionary   
            * @param encryptMetadata the EncryptMetadata entry from the Encrypt dictionary    
            *  (or false if not present or revision &lt;= 3)   
            * @return the general/user key bytes if the owner password is currect,   
            
        </member>
        <member name="M:C1.Xaml.PdfViewer.StandardEncryption.calculateUValue(System.Byte[],System.Byte[],System.Int32)">
            * Calculate what the U value should consist of given a particular key and  
            * document configuration. Correponds to Algorithms 3.4 and 3.5 of the    
            * PDF Reference version 1.7        
            * @param generalKey the general encryption key    
            * @param firstDocIdValue the value of the first element in the document's  
            * ID entry in the trailer dictionary   
            * @param revision the revision of the security handler 
            * @return the U value for the given configuration     
            
        </member>
        <member name="M:C1.Xaml.PdfViewer.StandardEncryption.CheckUserPassword(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Byte[],System.Byte[],System.Int32,System.Boolean)">
            * Check to see whether a provided user password is correct with respect   
            * to an Encrypt dict configuration. Corresponds to algorithm 3.6 of     
            * the PDF Reference version 1.7    
            * @param userPassword the user password to test; may be null or empty   
            * @param firstDocIdValue the byte stream from the first element of the   
            *  value of the ID entry in the trailer dictionary   
            * @param keyBitLength the length of the key in bits  
            * @param revision the security handler revision    
            * @param oValue the O value from the Encrypt dictionary   
            * @param uValue the U value from the Encrypt dictionary   
            * @param pValue the P value from the Encrypt dictionary   
            * @param encryptMetadata the EncryptMetadata entry from the Encrypt dictionary 
            *  (or false if not present or revision &lt;= 3)     
            * @return the general/user encryption key if the user password is correct
            
        </member>
        <member name="T:C1.Xaml.PdfViewer.TextState">
            <summary>
            Keeps the current text state while generating PDF pages
            (e.g. font, cursor position, transformations)
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.TextState.EmbeddedFont">
            <summary>
            Class that contains font source information and encapsulates differences
            between Silverlight and WPF.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.RequestNavigateEventArgs">
            <summary>
            Provides data for the <see cref="E:C1.Xaml.PdfViewer.C1PdfViewer.RequestNavigate"/> event. 
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.RequestNavigateEventArgs.#ctor(System.String,System.Uri)">
            <summary>
            Initializes a new RequestNavigateEventArgs.
            </summary>
            <param name="target"></param>
            <param name="uri"></param>
        </member>
        <member name="P:C1.Xaml.PdfViewer.RequestNavigateEventArgs.Target">
            <summary>
            Gets the target of the navigation request.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.RequestNavigateEventArgs.Uri">
            <summary>
            Gets the URI of the navigation request.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.ViewMode">
            <summary>
            This Enumeration describes zoom options that determine how pages are displayed in the viewport.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ViewMode.Normal">
            <summary>
            Display pages using the current zoom value.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ViewMode.OnePage">
            <summary>
            Automatically update the zoom value to fit one complete page inside the viewport.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ViewMode.FitWidth">
            <summary>
            Automatically update the zoom value to fit the width of one page inside the viewport.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.ViewMode.Fitted">
            <summary>
            Automatically update the zoom value to fit the width or height of one page inside the viewport.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfZoomConverter">
            <summary>
            Converter used to show the Zoom value as text.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfZoomConverter.Convert(System.Object,System.Type,System.Object,System.String)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The double or ViewMode value being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The string value to be passed to the target dependency property. 
            </returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.PdfZoomConverter.ConvertBack(System.Object,System.Type,System.Object,System.String)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="T:C1.C1Zip.C1CryptStream">
            <summary>
            C1CryptStream
            reads and decrypts data from an encrypted zip base stream, or
            encrypts and writes data to an encrypted zip base stream
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntry.CheckCRC32">
            <summary>
            Calculates a checksum value for the entry and compares it to the checksum that
            was stored when the entry was created.
            </summary>
            <returns>True if the checksum values match, false otherwise.</returns>
            <remarks>
            This method is used to check the integrity of the entries in the zip file. If the
            calculated checksum does not match the stored checksum, then either the zip file is
            corrupted or the program used to create the zip file is incompatible with 
            <b>C1Zip</b>.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntry.CheckPassword">
            <summary>
            Checks whether this <see cref="T:C1.C1Zip.C1ZipEntry"/> can be read with the currently set password.
            </summary>
            <returns>True if the entry can be read with the current password, or if the entry is not
            encrypted.</returns>
            <remarks>
            This method is more efficient than using a try/catch block and trying to open the entry
            to determine whether the current password is valid for the entry.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntry.OpenReader">
            <summary>
            Returns a <see cref="T:System.IO.Stream"/> that can be used to read the content of the entry without
            extracting it to a disk file.
            </summary>
            <returns>A <see cref="T:System.IO.Stream"/> that can be used to read the data in the entry.</returns>
            <remarks>
            The <see cref="T:System.IO.Stream"/> returned is a <see cref="T:C1.C1Zip.C1ZStreamReader"/>, which 
            decompresses the data as it is read from the entry.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntry.Extract(Windows.Storage.StorageFolder,System.String)">
            <summary>
            Extracts this entry to a file.
            </summary>
            <param name="storageFolder">A <seealso cref="T:Windows.Storage.StorageFolder"/> represents the folder of the extracted file.</param>
            <param name="fileName">Name and location of the extracted file.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntry.Remove">
            <summary>
            Removes this entry from the zip file.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.FileName">
            <summary>
            Gets the entry name. This is usually a file name, optionally including a path.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.SizeUncompressed">
            <summary>
            Gets the original (uncompressed) size of the entry, in bytes.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.SizeCompressed">
            <summary>
            Gets the compressed size of the entry, in bytes.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.SizeUncompressedLong">
            <summary>
            Gets the original (uncompressed) size of the entry, in bytes, as a long integer.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.SizeCompressedLong">
            <summary>
            Gets the compressed size of the entry, in bytes, as a long integer.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.CRC32">
            <summary>
            Gets the checksum calculated when the entry was compressed.
            </summary>
            <remarks>
            This value can be used to check the integrity of the entry when it is decompressed.
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.Date">
            <summary>
            Gets the date and time when the file used to create the entry was last modified.
            </summary>
            <remarks>
            This value can be used to check whether an entry needs to be updated because the
            source file was modified since it was last compressed.
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.Comment">
            <summary>
            Gets or sets a comment associated with the entry.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.Attributes">
            <summary>
            Gets the file attributes associated with the entry.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.IsEncrypted">
            <summary>
            Gets a value that determines whether the entry is encrypted.
            </summary>
            <remarks>
            Encrypted entries can only be extracted if the <see cref="P:C1.C1Zip.C1ZipFile.Password"/> property
            on the containing <see cref="T:C1.C1Zip.C1ZipFile"/> object is set to the password that was used
            when the file was added to the zip file.
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntry.CompressionRatio">
            <summary>
            Gets the compression ratio applied to this entry.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.Contains(System.String)">
            <summary>
            Determines whether the collection contains an entry with a given name.
            </summary>
            <param name="name">Name of the entry to look for.</param>
            <returns>True if the collection contains an entry with the given name, false otherwise.</returns>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.IndexOf(System.String)">
            <summary>
            Gets the index of the entry with the specified name.
            </summary>
            <param name="name">Name of the entry to look for.</param>
            <returns>The index of the entry in the collection, or -1 if the entry was not found.</returns>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.Add(System.IO.Stream,System.String,System.DateTime)">
            <summary>
            Adds a stream to the current zip file.
            </summary>
            <param name="stream">Stream that contains data for the new entry.</param>
            <param name="entryName">Name to be used for the new entry.</param>
            <param name="dateTime">The date and time when the file was last modified.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.Add(System.IO.Stream,System.String)">
            <summary>
            Adds a stream to the current zip file.
            </summary>
            <param name="stream">Stream that contains data for the new entry.</param>
            <param name="entryName">Name to be used for the new entry.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.AddAsync(Windows.Storage.StorageFile)">
            <summary>
            Adds a file to the current zip file.
            </summary>
            <param name="file">File to add to the zip file.</param>
            <remarks>
            <para>This method is available only in the WinRT version.</para>
            <para>This method is asynchronous, and should normally be used
            within 'await' statements as shown in the example below.</para>
            </remarks>
            <example>
            The code below prompts the user for some file names, then adds
            the files to the current zip archive.
            <code>
            using Windows.Storage.Pickers;
            var picker = new FileOpenPicker();
            picker.ViewMode = PickerViewMode.List;
            picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
            picker.FileTypeFilter.Add("*");
            var files = await picker.PickMultipleFilesAsync();
            if (files != null)
            {
              foreach (var f in files)
              {
                await _zip.Entries.AddAsync(f);
              }
            }
            </code>
            </example>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.AddAsync(Windows.Storage.StorageFile,System.String)">
            <summary>
            Adds a file to the current zip file.
            </summary>
            <param name="file">File to add to the zip file.</param>
            <remarks>
            This method is available only in the WinRT version.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.AddAsync(System.IO.Stream,System.String,System.DateTime)">
            <summary>
            Adds a stream to the current zip file.
            </summary>
            <param name="stream">Stream that contains data for the new entry.</param>
            <param name="entryName">Name to be used for the new entry.</param>
            <param name="dateTime">The date and time when the file was last modified.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.AddAsync(System.IO.Stream,System.String)">
            <summary>
            Adds a stream to the current zip file.
            </summary>
            <param name="stream">Stream that contains data for the new entry.</param>
            <param name="entryName">Name to be used for the new entry.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.AddFolderAsync(Windows.Storage.StorageFolder)">
            <summary>
            Adds the content of a folder to the current zip file.
            </summary>
            <param name="path">The StorageFolder folder to be added to the zip file.</param>
            <remarks>
            This method adds all files and sub folders to the zip file.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.Remove(System.Int32)">
            <summary>
            Removes an entry from the current zip file.
            </summary>
            <param name="index">Index of the entry to remove.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.Remove(System.String)">
            <summary>
            Removes an entry from the current zip file.
            </summary>
            <param name="fileName">Name of the entry to remove (case-insensitive).</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.Remove(System.Int32[])">
            <summary>
            Removes several entries from the current zip file.
            </summary>
            <param name="indices">Array containing the indices of the entries to remove.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.Remove(System.String[])">
            <summary>
            Removes several entries from the current zip file.
            </summary>
            <param name="entryNames">Array containing the names of the entries to remove.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.OpenWriter(System.String,System.Boolean)">
            <summary>
            Opens a stream for writing an entry into the zip file.
            </summary>
            <param name="entryName">The name of the new entry.</param>
            <param name="useMemory">Whether to use a memory stream or temporary file.</param>
            <returns>
            A stream that can be used to write data into the zip file. The entry
            is not added until the stream is closed.
            </returns>
        </member>
        <member name="M:C1.C1Zip.C1ZipEntryCollection.OpenWriter(System.String,System.DateTime,System.Boolean)">
            <summary>
            Opens a stream for writing an entry into the zip file.
            </summary>
            <param name="entryName">The name of the new entry.</param>
            <param name="dateTime">The date and time when the file was last modified.</param>
            <param name="useMemory">Whether to use a memory stream or temporary file.</param>
            <returns>
            A stream that can be used to write data into the zip file. The entry
            is not added until the stream is closed.
            </returns>
        </member>
        <member name="P:C1.C1Zip.C1ZipEntryCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:C1.C1Zip.C1ZipEntry"/> with the given name (returns null if the entry cannot be found).
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZipFile"/> class.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.#ctor(System.IO.Stream,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZipFile"/> class and opens a zip stream associated 
            with this new instance.
            </summary>
            <param name="stream"><see cref="T:System.IO.Stream"/> that contains the zip data.</param>
            <param name="create">Whether to initialize the stream with an empty zip header or open an existing
            zip file in the stream.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZipFile"/> class and opens a zip stream associated 
            with this new instance.
            </summary>
            <param name="stream"><see cref="T:System.IO.Stream"/> that contains the zip data.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.Open(System.IO.Stream)">
            <summary>
            Opens an existing zip file stored in a <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="stream"><see cref="T:System.IO.Stream"/> that contains a zip file.</param>
            <remarks>
            <para>This method allows you to open and work with a zip file stored in a stream
            instead of in an actual file.</para>
            <para>Typical usage scenarios for this are zip files stored as application resources 
            or in binary database fields.</para>
            </remarks>
            <example>
            <para>The example below loads information from a zip file stored in an embedded resource. 
            To embed a zip file in an application, follow these steps:</para>
            <para>1) Right-click the project node in Visual Studio, select the <b>Add | Add Existing Item...</b> menu option.</para>
            <para>2) Select a zip file to add to the project as an embedded resource.</para>
            <para>3) Select the newly added file and make sure the <b>Build Action</b> property is set to "Embedded Resource".</para>
            <code>
            // get Stream from application resources
            System.Reflection.Assembly a = this.GetType().Assembly;
            using (Stream stream = a.GetManifestResourceStream("MyApp.test.zip"))
            {
              // open C1ZipFile on the stream
              zip.Open(stream);
            
              // enumerate the entries in the zip file,
              foreach (C1ZipEntry ze in zip.Entries)
              {
                // show entries that have a 'txt' extension.
                if (ze.FileName.ToLower().EndsWith(".txt"))
                {
                  using (var sr = new StreamReader(ze.OpenReader()))
                  {
                    MessageBox.Show(sr.ReadToEnd(), ze.FileName);
                  }
                }
              }
            }
            </code>
            </example>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.OpenAsync(Windows.Storage.StorageFile)">
            <summary>
            Opens an existing zip file stored in a <see cref="T:Windows.Storage.StorageFile"/>.
            </summary>
            <remarks>This method is available only in the WinRT version.</remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.Create(System.IO.Stream)">
            <summary>
            Creates a new zip file in a stream.
            </summary>
            <param name="stream"><see cref="T:System.IO.Stream"/> that will contain the new zip file.</param>
            <example>
            The code below creates a new <see cref="T:C1.C1Zip.C1ZipFile"/> on a memory stream, then adds
            several files to it. Finally, the code gets the zipped data out as an array of bytes,
            which could be stored in a database for example.
            <code>
            // create zip on a stream
            MemoryStream msZip = new MemoryStream();
            C1ZipFile zip = new C1ZipFile(msZip, true);
            
            // add some entries to it
            foreach (string f in Directory.GetFiles(@"c:\WINDOWS\Web\Wallpaper"))
            {
              zip.Entries.Add(f);
            }
            
            // get zipped data out as a byte array
            byte[] zipData = msZip.ToArray();
            </code>
            </example>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.Close">
            <summary>
            Resets all data members of the <see cref="T:C1.C1Zip.C1ZipFile"/> object.
            </summary>
            <remarks>
            Disk files are automatically closed by <b>C1Zip</b>. You only need to use this
            method if you want to break the connection between a <see cref="T:C1.C1Zip.C1ZipFile"/> class 
            and a physical zip file.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.Refresh">
            <summary>
            Refreshes all data members by re-opening the current zip file.
            </summary>
            <remarks>
            This method is useful in instances where other applications may have changed
            the zip file and you want to make sure the information in the <see cref="P:C1.C1Zip.C1ZipFile.Entries"/>
            collection is up to date.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.IsZipFile(System.IO.Stream)">
            <summary>
            Tests whether a stream contains a valid zip file.
            </summary>
            <param name="stream"><see cref="T:System.IO.Stream"/> to test.</param>
            <returns>True if <paramref name="stream"/> contains a valid zip file, false otherwise.</returns>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.OpenBatch">
            <summary>
            Opens the zip file for multiple operations.
            </summary>
            <remarks>
            <para>By default, <see cref="T:C1.C1Zip.C1ZipFile"/> opens and closes the zip file 
            automatically whenever entries are added or removed.</para>
            <para>This can cause delays in systems that have certain types of anti-virus
            software installed, or in situations where you want to add a large number of 
            relatively small entries. In these cases, use the <see cref="M:C1.C1Zip.C1ZipFile.OpenBatch"/> and 
            <see cref="M:C1.C1Zip.C1ZipFile.CloseBatch"/> methods to keep the zip file open until the entire 
            operation is concluded.</para>
            <para>Use a finally clause to ensure that the <see cref="M:C1.C1Zip.C1ZipFile.CloseBatch"/> 
            method is called even if an exception occurs.</para>
            </remarks>
            <example>
            The code below opens a zip file, adds several entries to it, then closes 
            the file:
            <code>
            C1ZipFile zip = new C1ZipFile();
            zip.Open(myzipfile);
            try
            {
            	zip.OpenBatch();
            	foreach (string fileName in Directory.GetFiles(path, "*.*"))
            		zip.Entries.Add(fileName);
            }
            finally
            {
            	zip.CloseBatch();
            }
            </code>
            </example>
        </member>
        <member name="M:C1.C1Zip.C1ZipFile.CloseBatch">
            <summary>
            Closes a zip file after it was opened with a call to the 
            <see cref="M:C1.C1Zip.C1ZipFile.OpenBatch"/> method.
            </summary>
            <remarks>
            See the <see cref="M:C1.C1Zip.C1ZipFile.OpenBatch"/> method for a complete description 
            and a sample.
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.FileName">
            <summary>
            Gets the name of the current zip file.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.Password">
            <summary>
            Gets or sets the password to use when adding or retrieving entries from the 
            zip file.
            </summary>
            <remarks>
            <para>If the <see cref="P:C1.C1Zip.C1ZipFile.Password"/> property is set to a non-empty string, any entries 
            added to the zip file will be encrypted and protected by the password. To extract these 
            entries later, the same password must be used.</para>
            <para>The password applies to all entries from the moment it is set. If you set the 
            password to a non-empty string and then add several entries to the zip file, all
            entries will use the same password.</para>
            <para>Although <b>C1Zip</b> supports Unicode characters in passwords, several popular zip 
            utilities do not. To ensure your encrypted zip files can be opened with third-party
            utilities, use passwords that consist of ASCII characters only.</para>
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.Comment">
            <summary>
            Gets or sets a comment associated with the current zip file.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.CompressionLevel">
            <summary>
            Gets or sets the compression level to use when adding entries to the zip file.
            </summary>
            <remarks>
            Higher compression settings create smaller files, but take longer to process. The
            default setting (<see cref="F:C1.C1Zip.CompressionLevelEnum.DefaultCompression"/>) provides 
            a good trade-off between compression and speed.
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.Entries">
            <summary>
            Gets a <see cref="T:C1.C1Zip.C1ZipEntryCollection"/> that contains the entries in the zip file.
            </summary>
            <remarks>
            The <see cref="P:C1.C1Zip.C1ZipFile.Entries"/> collection is used to enumerate the entries in the zip file,
            and also to add, remove, and expand entries.
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.OverwriteReadOnly">
            <summary>
            Determines whether the component should overwrite read-only files when extracting 
            entries from the zip file.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.OverwriteHidden">
            <summary>
            Determines whether the component should overwrite hidden files when extracting 
            entries from the zip file.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.OverwriteSystem">
            <summary>
            Determines whether the component should overwrite system files when extracting 
            entries from the zip file.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.MemoryThreshold">
            <summary>
            Gets or sets the size of the largest stream to be compressed in memory.
            </summary>
            <remarks>
            <para><see cref="T:C1.C1Zip.C1ZipFile"/> compresses entries into temporary streams before
            adding them to the zip file.</para>
            <para>Entries with fewer than <see cref="P:C1.C1Zip.C1ZipFile.MemoryThreshold"/> bytes are compressed
            using a temporary memory stream.</para>
            <para>Entries with more than <see cref="P:C1.C1Zip.C1ZipFile.MemoryThreshold"/> bytes are compressed
            using a temporary file. You can control the location of the temporary file using
            the <see cref="P:C1.C1Zip.C1ZipFile.TempFileName"/> property.</para>
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZipFile.TempFileName">
            <summary>
            Gets or sets the name of the temporary file to use when adding entries to the zip file.
            </summary>
            <remarks>
            <para><see cref="T:C1.C1Zip.C1ZipFile"/> creates temporary streams while adding entries to a zip file.
            These temporary streams can be memory-based or disk-based, depending on the size of the
            entry and on the setting of the <see cref="P:C1.C1Zip.C1ZipFile.MemoryThreshold"/> property.</para>
            If a temporary file is used, <see cref="T:C1.C1Zip.C1ZipFile"/> you can control its location by 
            setting the <see cref="P:C1.C1Zip.C1ZipFile.TempFileName"/> property. If you don't select a path for the 
            temporary file, <see cref="T:C1.C1Zip.C1ZipFile"/> will create one automatically using the 
            <see cref="!:Path.GetTempFileName"/> method.
            </remarks>
        </member>
        <member name="T:C1.C1Zip.ZipEncoding">
            <summary>
            Encoding used for entry names and comments
            
            NOTE: this is culture-dependent, which is a really bad idea, but most zip packers
            use the default OEM code page to encode file names, so we have to go along with it...
            
            Note that Encoding.Default seems like a logical choice but doesn't really work for
            international locales. Instead, we need to create an encoding using the current
            OEMCodePage. That allows accents and international characters to be used in file
            names (like the zip built into Windows, allows names such as "Åland.txt", "Äiti.txt", 
            "Würth.txt", etc.).
            
            This has nothing to do with compression, it's just used to encode and decode entry 
            names and comments.
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZipFileException">
            <summary>
            Exception thrown when trying to open an invalid Zip file.
            </summary>
        </member>
        <member name="M:C1.C1Zip.ZipFileException.#ctor(System.String)">
            <summary>
            Initializes a new instance of a <see cref="T:C1.C1Zip.ZipFileException"/>.
            </summary>
            <param name="msg">Message that describes the exception.</param>
        </member>
        <member name="M:C1.C1Zip.ZipFileException.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of a <see cref="T:C1.C1Zip.ZipFileException"/>.
            </summary>
            <param name="msg">Message that describes the exception.</param>
            <param name="filename">Name of the file that caused the exception.</param>
        </member>
        <member name="M:C1.C1Zip.ZipFileException.#ctor(System.String,System.String,System.Exception)">
            <summary>
            Initializes a new instance of a <see cref="T:C1.C1Zip.ZipFileException"/>.
            </summary>
            <param name="msg">Message that describes the exception.</param>
            <param name="filename">Name of the file that caused the exception.</param>
            <param name="innerException">Inner exception.</param>
        </member>
        <member name="T:C1.C1Zip.StringTables">
            <summary>
            No error message localization in Silverlight/WPF.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamReader"/> class.
            </summary>
            <param name="baseStream">Input stream that contains the compressed data.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.#ctor(System.IO.Stream,System.Boolean,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamReader"/> class.
            </summary>
            <param name="baseStream">Input stream that contains the compressed data.</param>
            <param name="zip">Specifies whether the compressed stream was created in zip format.</param>
            <param name="sizeCompressed">Specifies the number of compressed bytes to read from the stream.</param>
            <remarks>
            The <paramref name="sizeCompressed"/> parameter is needed only when a single stream contains
            several compressed streams (in zip files for example). If this parameter is not 
            specified, it is assumed that the stream contains a single stream of compressed data.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.#ctor(System.IO.Stream,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamReader"/> class.
            </summary>
            <param name="baseStream">Input stream that contains the compressed data.</param>
            <param name="zip">Specifies whether the compressed stream was created in zip format.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.#ctor(System.IO.Stream,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamReader"/> class.
            </summary>
            <param name="baseStream">Input stream that contains the compressed data.</param>
            <param name="header">Specifies whether the compressed stream contains header information (should be False for streams in zip files).</param>
            <param name="crc32">Specifies whether the compressed stream contains a CRC32 checksum (should be True for streams in zip files).</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.#ctor(System.IO.Stream,System.Boolean,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamReader"/> class.
            </summary>
            <param name="baseStream">Input stream that contains the compressed data.</param>
            <param name="zip">Specifies whether the compressed stream was created in zip format.</param>
            <param name="sizeCompressed">Specifies the number of compressed bytes to read from the stream.</param>
            <param name="method">Specifies the method that was used to compress the stream.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.#ctor(System.IO.Stream,System.Boolean,System.Int64,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamReader"/> class.
            </summary>
            <param name="baseStream">Input stream that contains the compressed data.</param>
            <param name="zip">Specifies whether the compressed stream was created in zip format.</param>
            <param name="sizeCompressed">Specifies the number of compressed bytes to read from the stream.</param>
            <param name="method">Specifies the method that was used to compress the stream.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Not supported.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.SetLength(System.Int64)">
            <summary>
            Sets the number of compressed bytes to read from the underlying stream.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the underlying compressed stream, decompressing them into
            a buffer, then advances the position within the stream by the number of bytes read.
            </summary>
            <param name="buf">An array of bytes. When this method returns, <paramref name="buf"/> contains the specified byte array with the values between <paramref name="offset"/>and (<paramref name="offset"/> + <paramref name="count"/>) replaced by the uncompressed data read from the stream.</param>
            <param name="offset">The zero-based byte offset in <paramref name="buf"/> at which to begin storing the data read from the current stream.</param>
            <param name="count">The maximum number of (decompressed) bytes to be read from the current stream.</param>
            <returns>The total number of bytes read into the buffer. This may be less than the number of bytes 
            requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
            </returns>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.ReadByte">
            <summary>
            Reads a byte from the stream and advances the position within the stream 
            by one byte, or returns -1 if at the end of the stream.
            </summary>
            <returns>The unsigned byte cast to an <see cref="T:System.Int32"/>, or -1 if at 
            the end of the stream.
            </returns>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            This method is overridden and is not supported by the <see cref="T:C1.C1Zip.C1ZStreamReader"/> class.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.Flush">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written to the underlying 
            stream.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamReader.Dispose(System.Boolean)">
            <summary>
            <para>Closes the current stream compressor and flushed any pending data into the base stream.</para>
            <para>If the <see cref="P:C1.C1Zip.C1ZStreamReader.OwnsBaseStream"/> property is set to True (the default value), 
            then this method also closes the base stream and releases any resources (such as sockets 
            and file handles) associated with it.</para>
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.BaseStream">
            <summary>
            Gets the underlying stream that contains the compressed data.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.OwnsBaseStream">
            <summary>
            Gets or sets whether calling the <see cref="!:Close"/> method will also
            close the underlying stream (see <see cref="P:C1.C1Zip.C1ZStreamReader.BaseStream"/>).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.SizeCompressed">
            <summary>
            Gets the number of bytes in the stream (compressed bytes).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.SizeUncompressed">
            <summary>
            Gets the number of bytes that were compressed into the stream (uncompressed bytes).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.SizeCompressedLong">
            <summary>
            Gets the number of bytes in the stream (compressed bytes).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.SizeUncompressedLong">
            <summary>
            Gets the number of bytes that were compressed into the stream (uncompressed bytes).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.CanRead">
            <summary>
            Always returns True.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.CanWrite">
            <summary>
            Always returns False.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.CanSeek">
            <summary>
            Always returns False.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.Length">
            <summary>
            Gets the length of the compressed stream if it is known (or -1 if the
            length of the compressed stream is unknown).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamReader.Position">
            <summary>
            Gets the position within the stream (read-only).
            </summary>
        </member>
        <member name="F:C1.C1Zip.CompressionLevelEnum.NoCompression">
            <summary>
            No Compression.
            </summary>
        </member>
        <member name="F:C1.C1Zip.CompressionLevelEnum.BestSpeed">
            <summary>
            Low compression, highest speed.
            </summary>
        </member>
        <member name="F:C1.C1Zip.CompressionLevelEnum.BestCompression">
            <summary>
            Highest compression, low speed.
            </summary>
        </member>
        <member name="F:C1.C1Zip.CompressionLevelEnum.DefaultCompression">
            <summary>
            High compression, high speed.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamWriter"/> class.
            </summary>
            <param name="baseStream">Output stream that will contain the compressed data.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.#ctor(System.IO.Stream,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamWriter"/> class.
            </summary>
            <param name="baseStream">Output stream that will contain the compressed data.</param>
            <param name="zip">Specifies whether the compressed stream should be compatible with zip files.</param>
            <remarks>
            <para>Streams in zip files are different from regular zlib streams in two aspects:</para>
            <para>(1) zip streams do not contain any local header information (the information is stored in the zip file headers instead) and</para>
            <para>(2) zip streams use a CRC32 checksum instead of the adler32 checksum used by zlib streams.</para>
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.#ctor(System.IO.Stream,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamWriter"/> class.
            </summary>
            <param name="baseStream">Output stream that will contain the compressed data.</param>
            <param name="header">Include header information in compressed stream (should be False for streams in zip files).</param>
            <param name="crc32">Include CRC32 checksum in compressed stream (should be True for streams in zip files).</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.#ctor(System.IO.Stream,C1.C1Zip.CompressionLevelEnum)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamWriter"/> class.
            </summary>
            <param name="baseStream">Output stream that will contain the compressed data.</param>
            <param name="level">Compression level to use when compressing data.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.#ctor(System.IO.Stream,C1.C1Zip.CompressionLevelEnum,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamWriter"/> class.
            </summary>
            <param name="baseStream">Output stream that will contain the compressed data.</param>
            <param name="level">Compression level to use when compressing data.</param>
            <param name="zip">Specifies whether the compressed stream should be compatible with zip files.</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.#ctor(System.IO.Stream,C1.C1Zip.CompressionLevelEnum,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:C1.C1Zip.C1ZStreamWriter"/> class.
            </summary>
            <param name="baseStream">Output stream that will contain the compressed data.</param>
            <param name="level">Compression level to use when compressing data.</param>
            <param name="header">Include header information in compressed stream (should be False for streams in zip files).</param>
            <param name="crc32">Include CRC32 checksum in compressed stream (should be True for streams in zip files).</param>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Not supported.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.SetLength(System.Int64)">
            <summary>
            Not supported.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Not supported.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to the current stream and advances the current 
            position within this stream by the number of bytes written.
            </summary>
            <param name="buf">An array of bytes. This method copies <paramref name="count"/> bytes from
            <paramref name="buf"/> to the current stream.</param>
            <param name="offset">The zero-based byte offset in <paramref name="buf"/> at which to begin copying bytes to the current stream.</param>
            <param name="count">The number of bytes to be written to the current stream.</param>
            <remarks>
            The data is compressed as it is written into the stream. Writing <paramref name="count"/> bytes
            into the stream will usually advance the position by a number smaller than <paramref name="count"/>.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.Flush">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written to the underlying 
            stream.
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.Dispose(System.Boolean)">
            <summary>
            <para>Closes the current stream compressor and flushed any pending data into the base stream.</para>
            <para>If the <see cref="P:C1.C1Zip.C1ZStreamWriter.OwnsBaseStream"/> property is set to True (the default value), 
            then this method also closes the base stream and releases any resources (such as sockets 
            and file handles) associated with it.</para>
            </summary>
        </member>
        <member name="M:C1.C1Zip.C1ZStreamWriter.WriteByte(System.Byte)">
            <summary>
            Writes a byte to the current position in the stream and advances the position within the stream by one byte.
            </summary>
            <param name="value">Value to be written to the stream.</param>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.BaseStream">
            <summary>
            Gets the underlying stream that receives the compressed data.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.OwnsBaseStream">
            <summary>
            Gets or sets whether calling the <see cref="!:Close"/> method will also
            close the underlying stream (see <see cref="P:C1.C1Zip.C1ZStreamWriter.BaseStream"/>).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.Checksum">
            <summary>
            Gets the checksum value used to check the integrity of the stream.
            </summary>
            <remarks>
            The checksum used may be an Adler or crc32 value depending on how
            the <see cref="T:C1.C1Zip.C1ZStreamWriter"/> was created.
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.SizeCompressed">
            <summary>
            Gets the number of bytes in the stream (compressed bytes).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.SizeUncompressed">
            <summary>
            Gets the number of bytes that were compressed into the stream (uncompressed bytes).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.SizeCompressedLong">
            <summary>
            Gets the number of bytes in the stream (compressed bytes).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.SizeUncompressedLong">
            <summary>
            Gets the number of bytes that were compressed into the stream (uncompressed bytes).
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.ZStream">
            <summary>
            Gets the ZStream instance wrapped by this <see cref="T:C1.C1Zip.C1ZStreamWriter"/>.
            </summary>
            <remarks>
            This property is useful only in advanced applications that need to customize 
            the low-level behavior of the compressor. It is not needed in common applications.
            </remarks>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.CanRead">
            <summary>
            Always returns False.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.CanWrite">
            <summary>
            Always returns True.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.CanSeek">
            <summary>
            Always returns False.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.Length">
            <summary>
            Returns the length of the underlying stream, in bytes.
            </summary>
        </member>
        <member name="P:C1.C1Zip.C1ZStreamWriter.Position">
            <summary>
            Gets the position within the stream (read-only).
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZipEntryStreamWriter">
            <summary>
            ZipEntryStreamWriter
            Extends C1ZStreamWriter to provide the following:
            1) Creates a memory or temporary storage stream.
            2) Keeps track of the parent zip file.
            3) Overrides Close to add the compressed stream to the zip file.
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZLib.IChecksum">
            <summary>
            Interface ICheckSum
            implemented by the Adler32 and CRC32 objects.
            Adler32 is a faster checksum used by the native ZLib
            CRC32   is the default checksum used in ZIP files
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZLib.CRC32">
            <summary>
            Summary description for CRC32.
            methods are called Adler to keep zlib source code
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZLib.Deflate">
            <summary>
            Summary description for Deflate.
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZLib.InfBlocks">
            <summary>
            Summary description for InfBlocks.
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZLib.InfCodes">
            <summary>
            Summary description for InfCodes.
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZLib.Inflate">
            <summary>
            Summary description for Inflate.
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZLib.InfTree">
            <summary>
            Summary description for InfTree.
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZLib.StaticTree">
            <summary>
            Summary description for StaticTree.
            </summary>
        </member>
        <member name="T:C1.C1Zip.ZLib.Tree">
            <summary>
            Summary description for Tree.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.Z_OK">
            <summary>
            No error.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.Z_STREAM_END">
            <summary>
            End of stream detected.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.Z_NEED_DICT">
            <summary>
            A preset dictionary is needed at this point.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.Z_ERRNO">
            <summary>
            File error.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.Z_STREAM_ERROR">
            <summary>
            Stream structure is inconsistent (input/output buffers are null for example).
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.Z_DATA_ERROR">
            <summary>
            Input data is corrupted (wrong format or checksum).
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.Z_MEM_ERROR">
            <summary>
            Not enough memory.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.Z_BUF_ERROR">
            <summary>
            No progress possible or no room in output buffer.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.Z_VERSION_ERROR">
            <summary>
            Incompatible ZLIB version.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.next_in">
            <summary>
            Input buffer.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.next_in_index">
            <summary>
            Position of cursor into input buffer.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.avail_in">
            <summary>
            Number of bytes available in the input buffer.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.total_in">
            <summary>
            Total number of input bytes read so far.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.next_out">
            <summary>
            Output buffer.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.next_out_index">
            <summary>
            Position of cursor into the output buffer.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.avail_out">
            <summary>
            Number of free bytes remaining in output buffer.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.total_out">
            <summary>
            Total number of bytes output so far.
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.msg">
            <summary>
            Description of the last error (null if no errors).
            </summary>
        </member>
        <member name="F:C1.C1Zip.ZLib.ZStream.adler">
            <summary>
            Current checksum value (Adler or CRC32).
            </summary>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.#ctor">
            <summary>
            Initializes a new instance of the <b>ZStream</b> class using an Adler checksum.
            </summary>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <b>ZStream</b> class.
            </summary>
            <param name="crc32"><b>True</b> to use a CRC32 checksum, <b>False</b> to use an Adler checksum.</param>
            <remarks>
            CRC32 checksums are the standard used in zip files. Adler checksums are the default
            used by ZLIB. Adler checksums are faster to calculate, but are not compatible with the zip format.
            </remarks>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.inflateInit">
            <summary>
            Initializes the internal stream state for decompression.
            </summary>
            <returns>Zero on success, an error code on failure.</returns>
            <remarks>
            <para>The fields <see cref="F:C1.C1Zip.ZLib.ZStream.next_in"/> and <see cref="F:C1.C1Zip.ZLib.ZStream.avail_in"/> must be 
            initialized before by the caller.</para>
            <para><b>inflateInit</b> does not perform any decompression apart from reading the 
            zlib header if present: data decompression is done by the <see cref="M:C1.C1Zip.ZLib.ZStream.inflate(System.Int32)"/> 
            method. Therefore, the <b>next_in</b> and <b>avail_in</b> may be modified, but 
            <b>next_out</b> and <b>avail_out</b> are unchanged.</para>
            </remarks>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.inflateInit(System.Int32)">
            <summary>
            Initializes the internal stream state for decompression.
            </summary>
            <param name="bits">Size of the LZ77 sliding compression window in bits (the default value is 15 bits).</param>
            <returns>Zero on success, an error code on failure.</returns>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.inflate(System.Int32)">
            <summary>
            Decompresses as much data as possible until the input buffer is exhausted or 
            the output buffer is full.
            </summary>
            <param name="flush">How to flush data into the output buffer (default value is 2).</param>
            <returns>
            <b>Z_OK</b> if some progress has been made (more input processed or more output produced), 
            <b>Z_STREAM_END</b> if the end of the compressed data has been reached and all 
            uncompressed output has been produced, 
            <b>Z_NEED_DICT</b> if a preset dictionary is needed at this point, 
            <b>Z_DATA_ERROR</b> if the input data was corrupted (input stream not conforming to 
            the zlib format or incorrect checksum), 
            <b>Z_STREAM_ERROR</b> if the stream structure was inconsistent (for example if 
            <b>next_in</b> or <b>next_out</b> was null), 
            <b>Z_MEM_ERROR</b> if there was not enough memory,
            <b>Z_BUF_ERROR</b> if no progress is possible or if there was not enough room in the 
            output buffer when <b>Z_FINISH</b> is used.
            </returns>
            <remarks>
            <para><b>inflate</b> performs one or both of the following actions:</para>
            
            <para>1. Decompress more input starting at <b>next_in</b> and update <b>next_in</b>
            and <b>avail_in</b> accordingly. If not all input can be processed (because there 
            is not enough room in the output buffer), <b>next_in</b> is updated and processing 
            will resume at this point for the next call to inflate.</para>
            
            <para>2. Provide more output starting at <b>next_out</b> and update <b>next_out</b>
            and <b>avail_out</b> accordingly. <b>inflate</b> provides as much output as 
            possible, until there is no more input data or no more space in the output buffer.</para>
            
            <para>Before the call to inflate, the application should ensure that at least one of the 
            actions is possible, by providing more input and/or consuming more output, and 
            updating the <b>next_*</b> and <b>avail_*</b> values accordingly.</para>
            
            <para>If <b>inflate</b> returns Zero and <b>avail_out</b> == 0, it must be called again 
            after making room in the output buffer because there might be more output pending.</para>
            
            <para>The application can consume the uncompressed output when it wants, for example when 
            the output buffer is full (<b>avail_out</b> == 0), or after each call of <b>inflate</b>.</para>
            
            <para>This method may introduce some output latency (reading input without producing 
            any output) except when forced to flush.</para>
            </remarks>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.inflateEnd">
            <summary>
            Frees all dynamically allocated data structures for this stream, 
            discards any unprocessed input, and does not flush any pending output.
            </summary>
            <returns>Zero on success, an error code on failure.</returns>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.inflateSync">
            <summary>
            Skips invalid compressed data until a full flush point is found, 
            or until all available input is skipped. No output is provided.
            </summary>
            <returns>Zero on success, an error code on failure.</returns>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.inflateSetDictionary(System.Byte[],System.Int32)">
            <summary>
            Initializes the decompression dictionary from the given uncompressed byte sequence.
            </summary>
            <param name="dictionary">Data in the dictionary.</param>
            <param name="dictLength">Number of bytes in the dictionary.</param>
            <returns>Zero on success, an error code on failure.</returns>
            <remarks>
            <para>This method must be called immediately after a call of <see cref="M:C1.C1Zip.ZLib.ZStream.inflate(System.Int32)"/> 
            if this call returned <b>Z_NEED_DICT</b>. The dictionary chosen by the compressor 
            can be determined from the <b>Adler32</b> value returned by this call to <b>inflate</b>.</para>
            <para>The compressor and decompressor must use exactly the same dictionary 
            (see the <see cref="M:C1.C1Zip.ZLib.ZStream.deflateSetDictionary(System.Byte[],System.Int32)"/> method).</para>
            </remarks>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.deflateInit(System.Int32)">
            <summary>
            Initializes the internal stream state for compression.
            </summary>
            <param name="level">Compression level between zero and nine (0-9).</param>
            <returns>Zero on success, an error code on failure.</returns>
            <remarks>
            <para>Compression level 1 gives best speed, 9 gives best compression.</para>
            <para>Compression level zero gives no compression at all (the input data is simply copied a block at a time).</para>
            <para>The default compression level is 6, which provides a compromise between speed and compression.</para>
            </remarks>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.deflateInit(System.Int32,System.Int32)">
            <summary>
            Initializes the internal stream state for compression.
            </summary>
            <param name="level">Compression level between zero and nine (0-9).</param>
            <param name="bits">Size of the LZ77 sliding compression window in bits (the default value is 15 bits).</param>
            <returns>Zero on success, an error code on failure.</returns>
            <remarks>
            <para>Compression level 1 gives best speed, 9 gives best compression.</para>
            <para>Compression level zero gives no compression at all (the input data is simply copied a block at a time).</para>
            <para>The default compression level is 6, which provides a compromise between speed and compression.</para>
            </remarks>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.deflate(System.Int32)">
            <summary>
            Compresses as much data as possible, and stops when the input buffer becomes empty or the 
            output buffer becomes full.
            </summary>
            <param name="flush">Non-zero to force some data to be flushed into the output buffer.</param>
            <returns>Zero on success, an error code on failure.</returns>
            <remarks>
            <para><b>deflate</b> performs one or both of the following actions:</para>
            <para>1. Compress more input starting at <b>next_in</b> and update <b>next_in</b> and 
            <b>avail_in</b> accordingly. If not all input can be processed (because there is not 
            enough room in the output buffer), <b>next_in</b> and <b>avail_in</b> are updated and 
            processing will resume at this point for the next call to <b>deflate</b>.</para>
            <para>2. Provide more output starting at <b>next_out</b> and update <b>next_out</b> and 
            <b>avail_out</b> accordingly. This action is forced if the parameter <paramref name="flush"/> is 
            non zero. Forcing flush frequently degrades the compression ratio, so this parameter 
            should be set only when necessary (in interactive applications). Some output may be 
            provided even if flush is not set</para>
            <para>This method may introduce some output latency (reading input without producing 
            any output) except when forced to flush.</para>
            <para>If <b>deflate</b> returns with <b>avail_out</b> == 0, this method must be called 
            again with the same value of the <paramref name="flush"/> parameter and more output space 
            until the flush is complete (<b>deflate</b> returns with <b>avail_out</b> != 0).</para>
            </remarks>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.deflateEnd">
            <summary>
            Frees all dynamically allocated data structures for this stream, 
            discards any unprocessed input, and does not flush any pending output.
            </summary>
            <returns>Zero on success, an error code on failure.</returns>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.deflateParams(System.Int32,System.Int32)">
            <summary>
            Dynamically updates the compression level and compression strategy.
            </summary>
            <param name="level">Compression level between zero and nine (0-9).</param>
            <param name="strategy">Compression strategy (0-2).</param>
            <returns></returns>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStream.deflateSetDictionary(System.Byte[],System.Int32)">
            <summary>
            Initializes the compression dictionary from the given byte sequence without 
            producing any compressed output.
            </summary>
            <param name="dictionary">Data in the dictionary.</param>
            <param name="dictLength">Number of bytes in the dictionary.</param>
            <returns>Zero on success, an error code on failure.</returns>
            <remarks>
            <para>This method must be called immediately after <see cref="M:C1.C1Zip.ZLib.ZStream.deflateInit(System.Int32)"/>,
            before any call to <see cref="M:C1.C1Zip.ZLib.ZStream.deflate(System.Int32)"/>.</para>
            <para>The compressor and decompressor must use exactly the same dictionary 
            (see <see cref="M:C1.C1Zip.ZLib.ZStream.inflateSetDictionary(System.Byte[],System.Int32)"/>).</para>
            </remarks>
        </member>
        <member name="T:C1.C1Zip.ZLib.ZStreamException">
            <summary>
            The exception that is thrown when reading or writing to a compressed stream fails.
            </summary>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStreamException.#ctor">
            <summary>
            Initializes a new instance of a <see cref="T:C1.C1Zip.ZLib.ZStreamException"/>.
            </summary>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStreamException.#ctor(System.String)">
            <summary>
            Initializes a new instance of a <see cref="T:C1.C1Zip.ZLib.ZStreamException"/>.
            </summary>
            <param name="msg">Message that describes the exception.</param>
        </member>
        <member name="M:C1.C1Zip.ZLib.ZStreamException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of a <see cref="T:C1.C1Zip.ZLib.ZStreamException"/>.
            </summary>
            <param name="msg">Message that describes the exception.</param>
            <param name="x">Inner exception.</param>
        </member>
        <member name="F:Public.RunTimeNameSuffix">
            <summary>
            Defines the WPF platform specific suffix of a run-time assembly name.
            </summary>
        </member>
        <member name="F:Public.DesignTimeNet4NameSuffix">
            <summary>
            Defines the WPF platform specific suffix of a VS2010/Blend3-4 design-time assembly name.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.C1PdfDocument">
            <summary>
            List of pages of a pdf document, which can be used as the source of a list control to render the pages.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfDocument.#ctor(System.IO.Stream,System.String,C1.Xaml.PdfViewer.RenderMode,C1.Xaml.PdfViewer.PdfParser,System.Func{System.Int32,System.Boolean},System.Action{System.Int32,System.Double,System.Boolean,System.Nullable{C1.Xaml.PdfViewer.ViewMode}})">
            <summary>
            Initializes a new instance of the <see cref="T:C1.Xaml.PdfViewer.C1PdfDocument"/> class.
            </summary>
            <param name="stream">The stream which contains the pdf document.</param>
            <param name="password">A user password for a a PDF document.</param>
            <param name="parsingErrorAction">The action executed when a parse error occurs.</param>
            <param name="isPageInViewport">Function which determines whether a page is in the viewport.</param>
            <param name="fastMode">Gets or sets a value that determines that the PDF file should be rendered faster but with less accurate positioning.</param>
            <param name="goToPageAction">The action executed when navigates to the bookmarked page.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfDocument.Select(System.Int32,System.Int32,System.Int32@,Windows.Foundation.Rect@,System.Collections.Generic.IList{Windows.UI.Xaml.FrameworkElement})">
            <summary>
            Selects the text specified by start and lenght, returning the page and the area inside the page of the selection.
            </summary>
            <param name="start">The start index of the selection.</param>
            <param name="length">The length of the selection.</param>
            <param name="pageNumber">The page number.</param>
            <param name="highlightedArea">The highlighted area.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfDocument.GetPages(System.Nullable{System.Int32})">
            <summary>
            Returns a copy of the <see cref="T:Windows.UI.Xaml.FrameworkElement">FrameworkElements</see> that represent the document pages.
            </summary>
            <param name="pageNumber">The number of the page to get.</param>
            <returns>A copy of the <see cref="T:Windows.UI.Xaml.FrameworkElement">FrameworkElements</see> that represent the document pages.</returns>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfDocument.SelectionBackground">
            <summary>
            Gets or sets a <see cref="T:Windows.UI.Xaml.Media.Brush"/> used to highlight search selection.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfDocument.RequestNavigate">
            <summary>
            Fired when a link from a document is clicked.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfDocument.IsLayoutSuspended">
            <summary>
            Gets or sets a value indicating whether the layout of the document is suspended.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfDocument.Count">
            <summary>
            Gets the number of pages.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfDocument.IsReadOnly">
            <summary>
            Gets a value indicating whether this collection is read only.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfDocument.Item(System.Int32)">
            <summary>
            Gets the <see cref="!:C1.Phone.PdfViewer.C1PdfPageContext"/> at the specified index.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfDocument.Text">
            <summary>
            Gets the text of this document.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfDocument.SelectionStart">
            <summary>
            Gets the selection start.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfDocument.SelectionLength">
            <summary>
            Gets the length of the selection.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfDocument.FastMode">
            <summary>
            Gets or sets a value that determines that the PDF file should
            be rendered faster but with less accurate positioning.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfDocument.PreparingPage">
            <summary>
            Fired when start to load and render a page.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfDocument.PreparedPage">
            <summary>
            Fired when end rendering a page.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.C1PdfPageContext">
            <summary>
            Object which contains information about one page of a <see cref="T:C1.Xaml.PdfViewer.C1PdfDocument"/>.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfPageContext.Width">
            <summary>
            Gets the width pf the pdf page.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfPageContext.Height">
            <summary>
            Gets the height of the pdf page.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfPageContext.IsPageLoaded">
            <summary>
            Gets a value indicating whether the page was already loaded.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfPageContext.Page">
            <summary>
            Gets the visual element where the page will be rendered.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.C1PdfViewer">
            <summary>
            Displays PDF documents with navigation controls.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.SourceProperty">
            <summary>
            Load a PDF document from a <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="stream">The stream.</param>
            <param name="password">A user password for a a PDF document.</param>
            <summary>
            Gets or sets the uri of the document.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.LoadDocumentAsync(System.IO.Stream,System.String)">
            <summary>
            Load a PDF document from a <see cref="T:System.IO.Stream"/> in asynchronous way.
            </summary>
            <param name="stream">The stream.</param>
            <param name="password">A user password for a a PDF document.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.GenerateDocument(System.IO.Stream,System.String)">
            <summary>
            Generate document from stream.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.GenerateDocumentAsync(System.IO.Stream,System.String)">
            <summary>
            Generate document from stream in asynchronous way.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.SaveDocumentAsync">
            <summary>
            Save the current document to a file.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.SaveDocumentAsync(Windows.Storage.StorageFile)">
            <summary>
            Save the current document to a <see cref="T:Windows.Storage.StorageFile"/>.
            </summary>
            <param name="file">The StorageFile where the current document is saved.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.SaveDocumentAsync(System.IO.Stream)">
            <summary>
            Save the current document to a <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="stream">The stream where the current document is saved.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.GoToPage(System.Int32)">
            <summary>
            Jump to a specified page number.
            </summary>
            <param name="pageNumber">The number of the page to jump to.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.GoToDestination(System.Int32,System.Double,System.Boolean,System.Nullable{C1.Xaml.PdfViewer.ViewMode})">
            <summary>
            Jump to a specified position.
            </summary>
            <param name="pageNumber">The number of the page to jump to.</param>
            <param name="topOffset">The top offset of the page to jump to.</param>
            <param name="isBookmark">Is invoked by the GoToBookmark method.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.CloseDocument">
            <summary>
            Closes the current document.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.GoToBookmark(System.String[])">
            <summary>
            Jump to a specified bookmark.
            </summary>
            <param name="title">The multilevel title of the bookmark to jump to.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.GetPages">
            <summary>
            Returns a copy of the <see cref="T:Windows.UI.Xaml.FrameworkElement">FrameworkElements</see> that represent the document pages.
            </summary>
            <returns>A copy of the <see cref="T:Windows.UI.Xaml.FrameworkElement">FrameworkElements</see> that represent the document pages.</returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.GetPage(System.Int32)">
            <summary>
            Returns a copy of the <see cref="T:Windows.UI.Xaml.FrameworkElement">FrameworkElement</see> that represent a specified document page.
            </summary>
            <param name="pageNumber">The number of the page to get.</param>
            <returns>A copy of the <see cref="T:Windows.UI.Xaml.FrameworkElement">FrameworkElement</see> that represent a specified document pages.</returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.GetPage(System.Int32,Windows.Foundation.Size)">
            <summary>
            Returns a copy of the <see cref="T:Windows.UI.Xaml.FrameworkElement">FrameworkElement</see> that represent a specified document page.
            </summary>
            <param name="pageNumber">The number of the page to get.</param>
            <param name="pageSize">The Size of Paper</param>
            <returns>A copy of the <see cref="T:Windows.UI.Xaml.FrameworkElement">FrameworkElement</see> that represent a specified document pages.</returns>
            <remarks>This method is provided for print functionality when RenderMode = System. If invoke this method when RenderMode = Default, 
                     the second parameter has no significance, in this case, We suggest to use Method GetPage(pageNumber). 
            </remarks>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.ZoomAt(System.Double,Windows.Foundation.Point,System.Action)">
            <summary>
            Call a zooms animation.
            </summary>
            <param name="targetZoom">The target zoom.</param>
            <param name="screenPoint">A screen point where the animation is anchored.</param>
            <param name="completed">Action called when the the animation completed.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.UpdatePages">
            <summary>
             Update the page when the zoom is changed or scrolling.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.FindNext">
            <summary>
            Go to the next occurrence of <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindText"/>.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.FindPrevious">
            <summary>
            Go to the previous occurrence of <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindText"/>.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.FindNext(System.Collections.Generic.IList{Windows.UI.Xaml.FrameworkElement})">
            <summary>
            Go to the next occurrence of <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindText"/> in the specialized pages.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.FindPrevious(System.Collections.Generic.IList{Windows.UI.Xaml.FrameworkElement})">
            <summary>
            Go to the previous occurrence of <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindText"/> in the specialized pages.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.ScrollToHorizontalOffset(System.Double)">
            <summary>
            Scrolls the content to the specified horizontal offset position.
            </summary>
            <param name="offset">The target horizontal offset position.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.ScrollToVerticalOffset(System.Double)">
            <summary>
            Scrolls the content to the specified vertical offset position.
            </summary>
            <param name="offset">The target vertical offset position.</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.OnParsingError(System.Object,C1.Xaml.PdfViewer.ParsingErrorEventArgs)">
            <summary>
            Provides class handling for the C1PdfViewer.ParsingError event that occurs when any error occurs in pdf parsing.
            </summary>
            <param name="sender">The event caller</param>
            <param name="e">The event data</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.OnPreparingPage(System.Object,C1.Xaml.PdfViewer.PreparingPageEventArgs)">
            <summary>
            Provides class handling for the C1PdfViewer.PreparingPage event that occurs when pages start rendering.
            </summary>
            <param name="sender">The event caller</param>
            <param name="e">The event data</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.OnPreparedPage(System.Object,C1.Xaml.PdfViewer.PreparedPageEventArgs)">
            <summary>
            Provides class handling for the C1PdfViewer.PreparedPage event that occurs when pages end rendering.
            </summary>
            <param name="sender">The event caller</param>
            <param name="e">The event data</param>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.RaisePropertyChanged(System.String)">
            <summary>
            Raises the property changed event.
            </summary>
            <param name="propertyName">Name of the property which changed.</param>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.ZoomProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.Zoom"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.ViewModeProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.ViewMode"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.FirstPageCommandProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FirstPageCommand"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.PreviousPageCommandProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.PreviousPageCommand"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.NextPageCommandProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.NextPageCommand"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.LastPageCommandProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.LastPageCommand"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.DecreaseZoomCommandProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.DecreaseZoomCommand"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.IncreaseZoomCommandProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.IncreaseZoomCommand"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.SaveCommandProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.SaveCommand"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.FindNextCommandProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindNextCommand"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.FindPreviousCommandProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindPreviousCommand"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.FindTextProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindText"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.FindCountProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindCount"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.FindNumberProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindNumber"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.SelectionBackgroundProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.SelectionBackground"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.PageTemplateProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.PageTemplate"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.HorizontalScrollBarVisibilityProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.HorizontalScrollBarVisibility"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.VerticalScrollBarVisibilityProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.VerticalScrollBarVisibility"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.HorizontalOffsetProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.HorizontalOffset"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.VerticalOffsetProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.VerticalOffset"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.OrientationProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.Orientation"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.ViewportGapProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.ViewportGap"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.BlackoutWordsProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.BlackoutWords"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.MaxZoomProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.MaxZoom"/> dependency property. 
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.C1PdfViewer.MinZoomProperty">
            <summary>
            Identifies the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.MinZoom"/> dependency property. 
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.#ctor">
            <summary>
            Initializes a new instance of a <see cref="T:C1.Xaml.PdfViewer.C1PdfViewer"/>.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.C1PdfViewer.OnApplyTemplate">
            <summary>
            Builds the visual tree for the <see cref="T:C1.Xaml.PdfViewer.C1PdfViewer"/> control when a new template is applied.
            </summary>
            <remarks>
            This method is invoked whenever application code or an internal process, such as a rebuilding layout pass, calls the <see cref="M:ApplyTemplate"/> method.
            </remarks>
        </member>
        <!-- Badly formed XML comment ignored for member "P:C1.Xaml.PdfViewer.C1PdfViewer.RenderMode" -->
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.RequestNavigate">
            <summary>
            Fired when a link from a document is clicked.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.TextBlockAdded">
            <summary>
            Fired after a TextBlock is created from text in the PDF file, permitting font substitution.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.ParsingError">
            <summary>
            Fired only when any error occurs in pdf parsing.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.PreparingPage">
            <summary>
            Fired only when pdf pages start rendering.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.PreparedPage">
            <summary>
            Fired only when pdf pages end rendering.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.PageCount">
            <summary>
            Gets the number of pages in the loaded document.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.PageNumberChanged">
            <summary> 
            Event raised when the <see cref="P:PageNumber"/> property has changed.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.PageNumber">
            <summary>
            Gets the index of the first displayed page.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.SelectedText">
            <summary>
            Gets the current selection.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.FastMode">
            <summary>
            Gets or sets a value that determines that the PDF file should
            be rendered faster but with less accurate positioning.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.FormFields">
            <summary>
            A collection of fields for gathering information interactively from the user.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.Source">
            <summary>
            Gets or sets the uri of the document.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.DocumentInfo">
            <summary>
            Gets a value that contain document information
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.Bookmarks">
            <summary>
            Gets the list of top level bookmarks for this document.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.Zoom">
            <summary>
            Gets or sets the document zoom.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.ZoomChanged">
            <summary> 
            Event raised when the <see cref="P:Zoom"/> property has changed.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.ViewMode">
            <summary>
            Gets or sets the <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.ViewMode"/> for this <see cref="T:C1.Xaml.PdfViewer.C1PdfViewer"/>.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.ViewModeChanged">
            <summary> 
            Event raised when the <see cref="P:ViewMode"/> property has changed.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.FirstPageCommand">
            <summary>
            Gets the <see cref="T:System.Windows.Input.ICommand"/> that goes to the first page.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.PreviousPageCommand">
            <summary>
            Gets the <see cref="T:System.Windows.Input.ICommand"/> that goes to the previous page.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.NextPageCommand">
            <summary>
            Gets the <see cref="T:System.Windows.Input.ICommand"/> that goes to the next page.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.LastPageCommand">
            <summary>
            Gets the <see cref="T:System.Windows.Input.ICommand"/> that goes to the last page.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.DecreaseZoomCommand">
            <summary>
            Gets the <see cref="T:System.Windows.Input.ICommand"/> that decreases zoom.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.IncreaseZoomCommand">
            <summary>
            Gets the <see cref="T:System.Windows.Input.ICommand"/> that increases zoom.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.SaveCommand">
            <summary>
            Gets the <see cref="T:System.Windows.Input.ICommand"/> that saves the document using <see cref="!:SaveFileDialog"/>.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.FindNextCommand">
            <summary>
            Gets the <see cref="T:System.Windows.Input.ICommand"/> that performs the <see cref="M:C1.Xaml.PdfViewer.C1PdfViewer.FindNext"/> operation.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.FindPreviousCommand">
            <summary>
            Gets the <see cref="T:System.Windows.Input.ICommand"/> that performs the <see cref="M:C1.Xaml.PdfViewer.C1PdfViewer.FindPrevious"/> operation.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.FindText">
            <summary>
            Gets or sets the text that will be searched by <see cref="M:C1.Xaml.PdfViewer.C1PdfViewer.FindNext"/> and <see cref="M:C1.Xaml.PdfViewer.C1PdfViewer.FindPrevious"/>.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.FindTextChanged">
            <summary> 
            Event raised when the <see cref="P:FindText"/> property has changed.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.FindCount">
            <summary>
            Gets the total number of occurrences of <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindText"/>.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.FindCountChanged">
            <summary> 
            Event raised when the <see cref="P:FindCount"/> property has changed.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.FindNumber">
            <summary>
            Gets the number of the currently selected occurrence of <see cref="P:C1.Xaml.PdfViewer.C1PdfViewer.FindText"/>.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.C1PdfViewer.FindNumberChanged">
            <summary> 
            Event raised when the <see cref="P:FindNumber"/> property has changed.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.SelectionBackground">
            <summary>
            Gets or sets a <see cref="T:Windows.UI.Xaml.Media.Brush"/> for this <see cref="T:C1.Xaml.PdfViewer.C1PdfViewer"/>'s selection.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.PageTemplate">
            <summary>
            Gets or sets the <see cref="T:Windows.UI.Xaml.DataTemplate"/> used to display pages.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.HorizontalScrollBarVisibility">
            <summary>
            Gets or sets a value that indicates whether a horizontal <see cref="T:Windows.UI.Xaml.Controls.Primitives.ScrollBar"/> should be displayed.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.VerticalScrollBarVisibility">
            <summary>
            Gets or sets a value that indicates whether a horizontal <see cref="T:Windows.UI.Xaml.Controls.Primitives.ScrollBar"/> should be displayed.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.HorizontalOffset">
            <summary>
            Gets or sets a value that indicates the horizontal offset of the scrolled content.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.VerticalOffset">
            <summary>
            Gets or sets a value that indicates the vertical offset of the scrolled content.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.Orientation">
            <summary>
            Gets or sets the orientation in which the list is displayed.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.ViewportGap">
            <summary>
            Gets or sets a coeficient which will determine in each layout pass the size of the viewport. If zero is specified the size of the viewport will be equal to the scrollviewer viewport. If 0.5 is specified the size of the viewport will be enlarged to take up half screen more at both sides of the original viewport.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.BlackoutWords">
            <summary>
            Gets or sets specific text as black out.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.MaxZoom">
            <summary>
            Gets or sets the document max zoom.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.C1PdfViewer.MinZoom">
            <summary>
            Gets or sets the document min zoom.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.Bookmark">
            <summary>
            Item in the outline tree.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.Bookmark.Title">
            <summary>
            Gets the text for this item.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.Bookmark.Children">
            <summary>
            Gets the collection of sub-items.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.Bookmark.Page">
            <summary>
            Gets the 1-based index of the page pointed by the bookmark.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.DocumentInfo">
            <summary>
            A document information dictionary containing metadata for the document.
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.DocumentInfo.StringToDate(System.String)">
            <summary>
            Convert a string in PDF format to datetime
            </summary>
            <param name="strDate"></param>
            <returns></returns>
        </member>
        <member name="P:C1.Xaml.PdfViewer.DocumentInfo.Title">
            <summary>
            The document’s title.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.DocumentInfo.Author">
            <summary>
            The name of the person who created the document.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.DocumentInfo.Subject">
            <summary>
            The subject of the document.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.DocumentInfo.Keywords">
            <summary>
            Keywords associated with the document.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.DocumentInfo.Creator">
             <summary>
            If the document was converted to PDF from another format, the name of the application 
            (for example, Adobe FrameMaker®) that created the original document from which it was converted.
             </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.DocumentInfo.Producer">
            <summary>
            If the document was converted to PDF from another format, the name of the application 
            (for example, Acrobat Distiller) that converted it to PDF.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.DocumentInfo.CreationDate">
            <summary>
            The date and time the document was created, in human-readable form
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.DocumentInfo.ModDate">
            <summary>
            The date and time the document was most recently modified, in human-readable form
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.DocumentInfo.Trapped">
            <summary>
            A name object indicating whether the document has been modified to include trapping information
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.FindInfo">
            <summary>
            Get the infomation of the currently selected <see cref="!:FindText"/>.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FindInfo.PageIndex">
            <summary>
            Gets the page index of the currently selected <see cref="!:FindText"/>.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FindInfo.FindCount">
            <summary>
            Gets the total number of occurrences of <see cref="!:FindText"/>.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FindInfo.FindNumber">
            <summary>
            Gets the number of the currently selected occurrence of <see cref="!:FindText"/>.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.FormField">
            <summary>
            A field object for gathering information interactively from the user.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FormField.FieldControl">
            <summary>
             Gets the related control of the field.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FormField.FieldName">
            <summary>
            Gets the identifying name of the field.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FormField.Value">
            <summary>
            Gets the value of the field.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.FormFieldGroup">
            <summary>
            A field group object for gathering information interactively from the user.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.FormFieldGroup.FieldControls">
            <summary>
             Gets the related control collection of the field.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.RenderMode">
            <summary>
            Determines to use ComponentOne API to render pdf file 
            or Microsoft API
            or special mode to render all text in pdf with microsoft textblock.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.RenderMode.Default">
            <summary>
            Use ComponentOne API to render pdf file.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.RenderMode.System">
            <summary>
            Use native Microsoft API to render pdf file.
            </summary>
        </member>
        <member name="F:C1.Xaml.PdfViewer.RenderMode.Extended">
            <summary>
            Use ComponentOne API to render all the text in pdf file as native TextBlock.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.ParsingErrorEventArgs">
            <summary>
            Provides data for the <see cref="E:C1.Xaml.PdfViewer.C1PdfViewer.ParsingError"/> event. 
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.ParsingErrorEventArgs.ParsingException">
            <summary>
            Gets or sets the Exception when parsing.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PreparedPageEventArgs">
            <summary>
            Provides data for the <see cref="E:C1.Xaml.PdfViewer.C1PdfViewer.PreparedPage"/> event. 
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PreparingPageEventArgs">
            <summary>
            Provides data for the <see cref="E:C1.Xaml.PdfViewer.C1PdfViewer.PreparingPage"/> event. 
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.TextBlockAddedEventArgs">
            <summary>
            Provides data for the <see cref="E:C1.Xaml.PdfViewer.C1PdfViewer.TextBlockAdded"/> event. 
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.TextBlockAddedEventArgs.TextBlock">
            <summary>
            Gets the current TextBlock.
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfPageLoader">
            <summary>
            This class is responsible for loading the visual element
            It manages the use of the UIThread and prioritize request from different pages.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.PdfPageLoader.PreparingPage">
            <summary>
            Fired when start to load and render a page.
            </summary>
        </member>
        <member name="E:C1.Xaml.PdfViewer.PdfPageLoader.PreparedPage">
            <summary>
            Fired when end rendering a page.
            </summary>
        </member>
        <member name="P:C1.Xaml.PdfViewer.PdfPageLoader.HasStartedPreparing">
            <summary>
            Indicates whether pages have started preparing rending
            </summary>
        </member>
        <member name="T:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.Copy">
            <summary>
              Looks up a localized string similar to Copy.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.FindNextTooltip">
            <summary>
              Looks up a localized string similar to Find Next.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.FindPreviousTooltip">
            <summary>
              Looks up a localized string similar to Find Previous.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.FindResults">
            <summary>
              Looks up a localized string similar to {0} of {1}.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.FindWatermark">
            <summary>
              Looks up a localized string similar to Find.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.FirstPageTooltip">
            <summary>
              Looks up a localized string similar to First Page.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.FitWidthTooltip">
            <summary>
              Looks up a localized string similar to Fit Width.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.LastPageTooltip">
            <summary>
              Looks up a localized string similar to Last Page.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.NextPageTooltip">
            <summary>
              Looks up a localized string similar to Next Page.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.OnePageTooltip">
            <summary>
              Looks up a localized string similar to One Page.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.OpenTooltip">
            <summary>
              Looks up a localized string similar to Open.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.PageLabel">
            <summary>
              Looks up a localized string similar to Page.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.PreviousPageTooltip">
            <summary>
              Looks up a localized string similar to Previous Page.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.PrintTooltip">
            <summary>
              Looks up a localized string similar to Print.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.SaveTooltip">
            <summary>
              Looks up a localized string similar to Save.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.TwoPagesTooltip">
            <summary>
              Looks up a localized string similar to Two Pages.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.ViewMode_FitWidth">
            <summary>
              Looks up a localized string similar to Fit Width.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.ViewMode_Fitted">
            <summary>
              Looks up a localized string similar to Fitted.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.ViewMode_Normal">
            <summary>
              Looks up a localized string similar to Normal.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.ViewMode_OnePage">
            <summary>
              Looks up a localized string similar to One Page.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.ViewMode_TwoPages">
            <summary>
              Looks up a localized string similar to Two Pages.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.ZoomInTooltip">
            <summary>
              Looks up a localized string similar to Zoom In.
            </summary>
        </member>
        <member name="P:C1.Silverlight.PdfViewer.Resources.C1_Silverlight_PdfViewer.ZoomOutTooltip">
            <summary>
              Looks up a localized string similar to Zoom Out.
            </summary>
        </member>
        <member name="T:C1.Font.Constant">
            <summary>
            Constant strings
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.CFF">
            <summary>
            This class is cff base table for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.CFFEncoding">
            <summary>
            This class is charset table for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            cff.pdf page 16
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.PredefinedEncoding">
            <summary>
            This class is charset table for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            cff.pdf page 18
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.SupplementalEncoding">
            <summary>
            This class is charset table for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            cff.pdf page 18 
            table 14
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.CFFTable">
            <summary>
            This class is cff table for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            you can get Outlines id or name from here
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Charset">
            <summary>
            This class is charset table for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            cff.pdf page 20
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.PredefinedCharset">
            <summary>
            This class is charset table for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            cff.pdf page 21
            Details of predefined charsets can be found in Appendix C.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:C1.Font.OpenType.CharStringIndex" -->
        <member name="T:C1.Font.OpenType.Index">
            <summary>
            This class is index for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:C1.Font.OpenType.CharString" -->
        <member name="T:C1.Font.OpenType.ArithmeticOperator">
            <summary>
            This class is ArithmeticOperator for cff charString 2
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            type2.pdf page 26
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:C1.Font.OpenType.CallGSubr" -->
        <!-- Badly formed XML comment ignored for member "T:C1.Font.OpenType.CallSubr" -->
        <!-- Badly formed XML comment ignored for member "T:C1.Font.OpenType.RRCurveTo" -->
        <member name="T:C1.Font.OpenType.HHCurveTo">
             <summary>
             |- dy1? {dxa dxb dyb dxc}+ hhcurveto (27) |-
            appends one or more Bézier curves, as described by the
            dxa...dxc set of arguments, to the current point. For each curve,
            if there are 4 arguments, the curve starts and ends horizontal.
            The first curve need not start horizontal (the odd argument
            case). Note the argument order for the odd argument case.
             </summary>
        </member>
        <member name="T:C1.Font.OpenType.HVCurveTo">
             <summary>
             |- dx1 dx2 dy2 dy3 {dya dxb dyb dxc dxd dxe dye dyf}* dxf?
            hvcurveto (31) |-
            |- {dxa dxb dyb dyc dyd dxe dye dxf}+ dyf? hvcurveto (31) |-
            appends one or more Bézier curves to the current point. The
            tangent for the first Bézier must be horizontal, and the second
            must be vertical (except as noted below).
            If there is a multiple of four arguments, the curve starts
            horizontal and ends vertical. Note that the curves alternate
            between start horizontal, end vertical, and start vertical, and
            end horizontal. The last curve (the odd argument case) need not
            end horizontal/vertical.
             </summary>
        </member>
        <member name="T:C1.Font.OpenType.VHCurveTo">
             <summary>
             |- dy1 dx2 dy2 dx3 {dxa dxb dyb dyc dyd dxe dye dxf}* dyf?
            vhcurveto (30) |-
            |- {dya dxb dyb dxc dxd dxe dye dyf}+ dxf? vhcurveto (30) |-
            appends one or more Bézier curves to the current point, where
            the first tangent is vertical and the second tangent is horizontal.
            This command is the complement of hvcurveto; see the
            description of hvcurveto for more information.
             </summary>
        </member>
        <member name="T:C1.Font.OpenType.VVCurveTo">
             <summary>
             |- dx1? {dya dxb dyb dyc}+ vvcurveto (26) |-
            appends one or more curves to the current point. If the argument
            count is a multiple of four, the curve starts and ends vertical. If
            the argument count is odd, the first curve does not begin with a
            vertical tangent.
             </summary>
        </member>
        <member name="T:C1.Font.OpenType.EndChar">
             <summary>
             This class is EndChar for cff charString 2
             it adapted from http://www.microsoft.com/typography/otspec/cff.htm
             type2.pdf page 21
             </summary>
             <summary>
             – endchar (14) |–
            finishes a charstring outline definition, and must be the
            last operator in a character’s outline.
             </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:C1.Font.OpenType.Flex" -->
        <member name="T:C1.Font.OpenType.Flex1">
            <summary>
            |- dx1 dy1 dx2 dy2 dx3 dy3 dx4 dy4 dx5 dy5 d6 flex1 (12 37) |-
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.HFlex">
            <summary>
            |- dx1 dx2 dy2 dx3 dx4 dx5 dx6 hflex (12 34) |-
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.HFlex1">
            <summary>
            |- dx1 dy1 dx2 dy2 dx3 dx4 dx5 dy5 dx6 hflex1 (12 36) |-
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.HintOperator">
            <summary>
            This class is HintOperator for cff charString 2
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            type2.pdf page 21
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.HintMaskOperator">
            <summary>
            This class is HintOperator for cff charString 2
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            type2.pdf page 21
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:C1.Font.OpenType.RLineTo" -->
        <member name="T:C1.Font.OpenType.HLineTo">
             <summary>
             |- dx1 {dya dxb}* hlineto (6) |-
            |- {dxa dyb}+ hlineto (6) |-
            appends a horizontal line of length dx1 to the current point.
            With an odd number of arguments, subsequent argument pairs
            are interpreted as alternating values of dy and dx, for which
            additional lineto operators draw alternating vertical and
            horizontal lines. With an even number of arguments, the
            arguments are interpreted as alternating horizontal and
            vertical lines. The number of lines is determined from the
            number of arguments on the stack.
             </summary>
        </member>
        <member name="T:C1.Font.OpenType.VLineTo">
             <summary>
             |- dy1 {dxa dyb}* vlineto (7) |-
            |- {dya dxb}+ vlineto (7) |-
            appends a vertical line of length dy1 to the current point. With
            4 Charstring Operators 17
            an odd number of arguments, subsequent argument pairs are
            interpreted as alternating values of dx and dy, for which
            additional lineto operators draw alternating horizontal and
            vertical lines. With an even number of arguments, the
            arguments are interpreted as alternating vertical and
            horizontal lines. The number of lines is determined from the
            number of arguments on the stack.
             </summary>
        </member>
        <member name="T:C1.Font.OpenType.HMoveTo">
             <summary>
             |- dx1 hmoveto (22) |-
            moves the current point dx1 units in the horizontal direction
             </summary>
        </member>
        <member name="T:C1.Font.OpenType.RMoveTo">
             <summary>
             The Type 2 Charstring Format.pdf page 16
             |- dx1 dy1 rmoveto (21) |-
             the current point to a position at the relative coordinates
            (dx1, dy1).
             </summary>
        </member>
        <member name="T:C1.Font.OpenType.VMoveTo">
             <summary>
             |- dy1 vmoveto (4) |-
            moves the current point dy1 units in the vertical direction
             </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:C1.Font.OpenType.RCurveLine" -->
        <!-- Badly formed XML comment ignored for member "T:C1.Font.OpenType.RLineCurve" -->
        <member name="T:C1.Font.OpenType.Dict">
            <summary>
            base class for private ,top
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Header">
            <summary>
            This class is header for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.NameIndex">
            <summary>
            This class is NameIndex for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Operator">
            <summary>
            This class is NameIndex for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            cff.pdf page 57
            Appendix H CFF DICT Encoding
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Private">
            <summary>
            This class is Private for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            type2.pdf page 22
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.StandardStrings">
            <summary>
            This class is StandardStrings for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            cff.pdf page 29.
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.StringIndex">
            <summary>
            This class is StringIndex for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            cff.pdf page 15.
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.SubrsIndex">
            <summary>
            This class is SubrsIndex for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            cff.pdf page 23.
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Top">
            <summary>
            This class is top for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            type2.pdf page 12
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.TopIndex">
            <summary>
            This class is top for cff
            it adapted from http://www.microsoft.com/typography/otspec/cff.htm
            type2.pdf page 12
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.CMap">
            <summary>
            This class is Character To Glyph Index Mapping Table base for cmap
            it adapted from http://www.microsoft.com/typography/otspec/cmap.htm
            https://github.com/katjas/PDFrenderer/tree/master/src/com/sun/pdfview/font/ttf/CMap.java
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:C1.Font.OpenType.CMap.CreateInstance(C1.Font.FontSourceReader)" -->
        <member name="T:C1.Font.OpenType.CMapTable">
            <summary>
            This class is Character To Glyph Index Mapping Table for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/cmap.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Encoding">
            <summary>
            This class is encoding  for cmap
            it adapted from http://www.microsoft.com/typography/otspec/cmap.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Format0Table">
            <summary>
            This class is Character To Glyph Index Mapping Table format0 for cmap
            it adapted from http://www.microsoft.com/typography/otspec/cmap.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Format4Table">
            <summary>
            This class is Character To Glyph Index Mapping Table format4 for cmap
            it adapted from http://www.microsoft.com/typography/otspec/cmap.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Format6Table">
            <summary>
            This class is Character To Glyph Index Mapping Table format6 for cmap
            it adapted from http://www.microsoft.com/typography/otspec/cmap.htm
            </summary>
        </member>
        <member name="F:C1.Font.OpenType.Segment.endCode">
            <summary>
            the end code (highest code in this segment) </summary>
        </member>
        <member name="F:C1.Font.OpenType.Segment.startCode">
            <summary>
            the start code (lowest code in this segment) </summary>
        </member>
        <member name="F:C1.Font.OpenType.Segment.hasMap">
            <summary>
            whether it is a map or a delta </summary>
        </member>
        <member name="M:C1.Font.OpenType.Segment.#ctor(System.UInt16,System.UInt16,System.Int16)">
            <summary>
            Create a new segment </summary>
        </member>
        <member name="T:C1.Font.OpenType.CompositeGlyph">
            <summary>
            This class is Composite Glyph for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/glyf.htm
            https://github.com/katjas/PDFrenderer/tree/master/src/com/sun/pdfview/font/ttf/GlyfCompound.java
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.Glyf">
            <summary>
            This class is Glyf Data for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/glyf.htm
            https://github.com/katjas/PDFrenderer/tree/master/src/com/sun/pdfview/font/ttf/Glyf.java
            </summary>
        </member>
        <member name="F:C1.Font.OpenType.CompositeGlyph.ARG_1_AND_2_ARE_WORDS">
            <summary>
            flags </summary>
        </member>
        <member name="F:C1.Font.OpenType.CompositeGlyph.components">
            <summary>
            the flags for each compound glyph </summary>
        </member>
        <member name="F:C1.Font.OpenType.CompositeGlyph.instructions">
            <summary>
            the instructions for the compound as a whole </summary>
        </member>
        <member name="M:C1.Font.OpenType.CompositeGlyph.getFlag(System.Int32)">
            <summary>
            Get a given flag
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.CompositeGlyph.getGlyphIndex(System.Int32)">
            <summary>
            Get the glyf index for a given glyf
            </summary>
        </member>
        <member name="P:C1.Font.OpenType.CompositeGlyph.Instructions">
            <summary>
            Set the instructions
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.GlyfComponent">
            <summary>
            The record for a single component of this CompositeGlyph
            </summary>
        </member>
        <member name="F:C1.Font.OpenType.GlyfComponent.flags">
            <summary>
            flags </summary>
        </member>
        <member name="F:C1.Font.OpenType.GlyfComponent.glyphIndex">
            <summary>
            the index of the component glyf </summary>
        </member>
        <member name="F:C1.Font.OpenType.GlyfComponent.compositeGlyphPoint">
            <summary>
            the points to match </summary>
        </member>
        <member name="F:C1.Font.OpenType.GlyfComponent.a">
            <summary>
            affine transform of this component </summary>
        </member>
        <member name="T:C1.Font.OpenType.GlyfTable">
            <summary>
            This class is GlyfTable for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/glyf.htm
            https://github.com/katjas/PDFrenderer/tree/master/src/com/sun/pdfview/font/ttf/GlyfTable.java
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.PointRec">
            <summary>
            This class is PointRec for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/glyf.htm
            https://github.com/katjas/PDFrenderer/tree/master/src/com/sun/pdfview/font/TTFFont.java/PointRec.java
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.SingleGlyph">
            <summary>
            This class is Single Glyph for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/glyf.htm
            https://github.com/katjas/PDFrenderer/tree/master/src/com/sun/pdfview/font/ttf/GlyfSimple.java
            </summary>
        </member>
        <member name="F:C1.Font.OpenType.SingleGlyph.endPtsOfContours">
            <summary>
            the end points of the various contours </summary>
        </member>
        <member name="F:C1.Font.OpenType.SingleGlyph.instructionLength">
            <summary>
             Total number of bytes for instructions </summary>
        </member>
        <member name="F:C1.Font.OpenType.SingleGlyph.instructions">
            <summary>
            the instructions </summary>
        </member>
        <member name="F:C1.Font.OpenType.SingleGlyph.flags">
            <summary>
            the flags </summary>
        </member>
        <member name="F:C1.Font.OpenType.SingleGlyph.xCoordinates">
            <summary>
            the x coordinates </summary>
        </member>
        <member name="F:C1.Font.OpenType.SingleGlyph.yCoordinates">
            <summary>
            the y coordinates </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.onCurve(System.Int32)">
            <summary>
            Determine whether the given point is on the curve
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.xIsByte(System.Int32)">
            <summary>
            Determine whether the x value for the given point is byte or short.
            If true, it is a byte, if false it is a short
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.yIsByte(System.Int32)">
            <summary>
            Determine whether the x value for the given point is byte or short.
            If true, it is a byte, if false it is a short
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.repeat(System.Int32)">
            <summary>
            Determine whether this flag repeats
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.xIsSame(System.Int32)">
            <summary>
            Determine whether the x value for the given point is the same as 
            the previous value.
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.yIsSame(System.Int32)">
            <summary>
            Determine whether the y value for the given point is the same as 
            the previous value.
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.getFlag(System.Int32)">
            <summary>
            Get a given flag
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.getXCoord(System.Int32)">
            <summary>
            Get a given x coordinate
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.getYCoord(System.Int32)">
            <summary>
            Get a given y coordinate
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.SingleGlyph.getContourEndPoint(System.Int32)">
            <summary>
            Get the end point of a given contour
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.HeadTable">
            <summary>
            This class is Horizontal Header table for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/head.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.HheaTable">
            <summary>
            This class is Horizontal Header table for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/hhea.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.HmtxTable">
            <summary>
            This class is Horizontal Metrics table for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/hmtx.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.LocaTable">
            <summary>
            This class is Index to Location for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/loca.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.MaxpTable">
            <summary>
            This class is Maximum Profile table for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/maxp.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.LangTagRecord">
            <summary>
            This class is LangTagRecord for OpenType Name
            it adapted from http://www.microsoft.com/typography/otspec/name.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.NameFormat0">
            <summary>
            This class is NameFormat0 for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/name.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.NameTable">
            <summary>
            This class is Naming table for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/name.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.NameFormat1">
            <summary>
            This class is NameFormat1 for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/name.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.NameRecord">
            <summary>
            This class is NameRecord for OpenType Name
            it adapted from http://www.microsoft.com/typography/otspec/name.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.PostScriptGlyphInfo">
            <summary>
            This class is PostScriptName for Post
            http://www.microsoft.com/typography/otspec/WGL4.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.PostTable">
            <summary>
            This class is PostScript for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/post.htm
            </summary>
        </member>
        <member name="T:C1.Font.OpenType.PostVersion1">
             <summary>
             This class is PostScript version1 for OpenType
             it adapted from http://www.microsoft.com/typography/otspec/post.htm
             </summary>
             Version 1.0
            This TrueType-based font file contains exactly the 258 glyphs 
            in the standard Macintosh TrueType font file (see The WGL4.0 Character Set chapter for a list of the Macintosh glyphs). 
            As a result, the glyph names are taken from the system with no storage required by the font.
        </member>
        <member name="T:C1.Font.OpenType.PostVersion2">
            <summary>
            This class is PostScript version2 for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/post.htm
            </summary>
        </member>
        <member name="M:C1.Font.OpenType.PostVersion2.Parser(C1.Font.FontSourceReader)">
            <summary>
            This TrueType-based font file contains glyphs not in the standard Macintosh set or the ordering of the glyphs in the TrueType font file is non-standard (again, for the Macintosh). The glyph name array maps the glyphs in this font to name index. 
            If the name index is between 0 and 257, treat the name index as a glyph index in the Macintosh standard order. 
            If the name index is between 258 and 32767, then subtract 258 and use that to index into the list of Pascal strings at the end of the table. Thus a given font may map some of its glyphs to the standard glyph names, and some to its own names.
            Index numbers 32768 through 65535 are reserved for future use. 
            If you do not want to associate a PostScript name with a particular glyph,
            use index number 0 which points the name .notdef.
            </summary>
            <param name="reader"></param>
        </member>
        <member name="T:C1.Font.OpenType.PostVersion3">
            <summary>
            This class is PostScript version3 for OpenType
            it adapted from http://www.microsoft.com/typography/otspec/post.htm
            </summary>
            This version is used by OpenType fonts with TrueType or CFF data. 
            The version makes it possible to create a special font that is not burdened with a large 'post' table set of glyph names.
            This version specifies that no PostScript name information is provided for the glyphs in this font file. 
            The printing behavior of this version on PostScript printers is unspecified, except that it should not result in a fatal or unrecoverable error. 
            Some drivers may print nothing, other drivers may attempt to print using a default naming scheme.
            Windows makes use of the italic angle value in the 'post' table but does not actually require any glyph names to be stored as Pascal strings. 
        </member>
        <member name="T:C1.Font.GlyphOutlines">
            <summary>
            Outlines for glyph
            </summary>
        </member>
        <member name="T:C1.Font.PathHelper">
            <summary>
            helper for translate Outlines to path
            </summary>
        </member>
        <member name="T:C1.Font.TableRecord">
            <summary>
            table information
            </summary>
        </member>
        <member name="T:C1.Font.Version">
            <summary>
            information of version
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.C1UIHelper">
            <summary>
            Convert charobject to path
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.CharObjectF">
            <summary>
            CharObject from Font 
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.CharObjectT">
            <summary>
            CharObject from Text
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfFont">
            <summary>
            Font in pdf file
            </summary>
        </member>
        <member name="M:C1.Xaml.PdfViewer.TrueType.GetCharObjectsFromMacintoshWithoutEncoding(C1.Font.OpenType.CMap,System.Byte[])">
            <summary>
            CharObject From Macintosh without encoding
            </summary>
            <param name="cmap"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.TrueType.GetCharObjectsFromMacRomanEncoding(C1.Font.OpenType.CMap,System.Byte[])">
            <summary>
            CharObject From MacRomanEncoding
            </summary>
            <param name="cmap"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.TrueType.TryGetCIFromFC(System.Byte,System.UInt16@)">
            <summary>
            try to get charIndex from FirstCode
            </summary>
            <param name="b"></param>
            <param name="res"></param>
            <returns></returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.TrueType.GetCharObjectsFromWinAnsiEncodingWithoutEncoding(C1.Font.OpenType.CMap,System.Byte[])">
            <summary>
            CharObject From WinAnsiEncoding without encoding
            </summary>
            <param name="cmap"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:C1.Xaml.PdfViewer.TrueType.GetCharObjectsFromWinAnsiEncoding(C1.Font.OpenType.CMap,System.Byte[])">
            <summary>
            CharObject From WinAnsiEncoding
            </summary>
            <param name="cmap"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfTextline">
            <summary>
            Text line in pdf page
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfTextPage">
            <summary>
            text in pdf page
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfTextSelection">
            <summary>
            Text Selection for pdf
            </summary>
        </member>
        <member name="T:C1.Xaml.PdfViewer.PdfWord">
            <summary>
            word in pdf 
            </summary>
        </member>
    </members>
</doc>
