<?xml version="1.0"?>
<doc>
  <assembly>
    <name>C1.WPF.Pdf.4</name>
  </assembly>
  <members>
    <member name="T:C1.Util.CodeRange">
      <summary>
            Represents range of character codes.
            </summary>
    </member>
    <member name="M:C1.Util.CodeRange.#ctor(System.Char)">
      <summary>
            Initialization of the range of character codes
            </summary>
      <param name="ch">Adding character.</param>
    </member>
    <member name="M:C1.Util.CodeRange.#ctor(System.Char,System.Char)">
      <summary>
            Initialization of the range of character codes
            </summary>
      <param name="first">The first character code.</param>
      <param name="last">The last character code.</param>
    </member>
    <member name="M:C1.Util.CodeRange.Clone">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.CodeRange.Contains(C1.Util.CodeRange)">
      <summary>
      </summary>
      <param name="cr">
      </param>
      <returns>
      </returns>
    </member>
    <member name="P:C1.Util.CodeRange.First">
      <summary>The begin code of character.</summary>
    </member>
    <member name="P:C1.Util.CodeRange.Last">
      <summary>The end code of character.</summary>
    </member>
    <member name="T:C1.Util.CodeRanges">
      <summary>
            Represents collection of unique <see cref="T:C1.Util.CodeRange" /> objects.
            All CodeRange objects within collection not intersect and sorted
            by First field.
            </summary>
    </member>
    <member name="M:C1.Util.CodeRanges.Add(System.Char[])">
      <summary>
      </summary>
      <param name="chars">
      </param>
    </member>
    <member name="M:C1.Util.CodeRanges.Add(System.String)">
      <summary>
      </summary>
      <param name="s">
      </param>
    </member>
    <member name="M:C1.Util.CodeRanges.Add(System.Char)">
      <summary>
      </summary>
      <param name="c">
      </param>
    </member>
    <member name="M:C1.Util.CodeRanges.Add(C1.Util.CodeRange)">
      <summary>
      </summary>
      <param name="cr">
      </param>
    </member>
    <member name="M:C1.Util.CodeRanges.Add(System.Char,System.Char)">
      <summary>
      </summary>
      <param name="first">
      </param>
      <param name="last">
      </param>
    </member>
    <member name="M:C1.Util.CodeRanges.AddNoCheck(C1.Util.CodeRange)">
      <summary>
            Adds <see cref="T:C1.Util.CodeRange" /> object to current without any check, typically used during deserialization.
            </summary>
      <param name="cr">
        <see cref="T:C1.Util.CodeRange" /> to add.</param>
    </member>
    <member name="M:C1.Util.CodeRanges.Add(System.Collections.Generic.IEnumerable{C1.Util.CodeRange})">
      <summary>
      </summary>
      <param name="crs">
      </param>
    </member>
    <member name="M:C1.Util.CodeRanges.GetGlyphs">
      <summary>
            Gets the array of chars contained in this list of code ranges.
            </summary>
      <returns>Array of char</returns>
    </member>
    <member name="M:C1.Util.CodeRanges.Clone">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.CodeRanges.AssignFrom(C1.Util.CodeRanges)">
      <summary>
      </summary>
      <param name="source">
      </param>
    </member>
    <member name="M:C1.Util.CodeRanges.ContainsAllChars">
      <summary>
            Gets a value indicating whether the <see cref="T:C1.Util.CodeRanges" /> collection
            contains all characters from 0x0000 to 0xFFFF.
            </summary>
      <returns>
      </returns>
    </member>
    <member name="T:C1.Util.FontKey">
      <summary>
            Unique identifier of font in various font
            processing algorithms of C1Preview:
            - font substitution
            - font embedding
            </summary>
    </member>
    <member name="F:C1.Util.FontKey.c_flgBold">
      <summary>Bold constant.</summary>
    </member>
    <member name="F:C1.Util.FontKey.c_flgItalic">
      <summary>Italic constant.</summary>
    </member>
    <member name="M:C1.Util.FontKey.#ctor(System.String,System.Byte)">
      <summary>
      </summary>
      <param name="name">
      </param>
      <param name="flags">
      </param>
    </member>
    <member name="M:C1.Util.FontKey.#ctor(System.String,System.Boolean,System.Boolean)">
      <summary>
      </summary>
      <param name="name">
      </param>
      <param name="bold">
      </param>
      <param name="italic">
      </param>
    </member>
    <member name="M:C1.Util.FontKey.GetHashCode">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontKey.Equals(System.Object)">
      <summary>
      </summary>
      <param name="obj">
      </param>
      <returns>
      </returns>
    </member>
    <member name="P:C1.Util.FontKey.Name">
      <summary>
            Gets name of the font.
            </summary>
    </member>
    <member name="P:C1.Util.FontKey.Flags">
      <summary>
            Gets flags of the font.
            </summary>
    </member>
    <member name="P:C1.Util.FontKey.Bold">
      <summary>
            Gets bold flag of the font.
            </summary>
    </member>
    <member name="P:C1.Util.FontKey.Italic">
      <summary>
            Gets italic flag of the font.
            </summary>
    </member>
    <member name="P:C1.Util.FontKey.Style">
      <summary>
            Gets style of the font.
            </summary>
    </member>
    <member name="M:C1.Util.FontKey.op_Equality(C1.Util.FontKey,C1.Util.FontKey)">
      <summary>
      </summary>
      <param name="v1">
      </param>
      <param name="v2">
      </param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontKey.op_Inequality(C1.Util.FontKey,C1.Util.FontKey)">
      <summary>
      </summary>
      <param name="v1">
      </param>
      <param name="v2">
      </param>
      <returns>
      </returns>
    </member>
    <member name="T:C1.Util.GlyphMetrics">
      <summary>
            The glyph metrics for the font subset.
            </summary>
    </member>
    <member name="P:C1.Util.GlyphMetrics.Char">
      <summary>Gets or sets character for metrics.</summary>
    </member>
    <member name="P:C1.Util.GlyphMetrics.Index">
      <summary>Gets or sets glyph index.</summary>
    </member>
    <member name="P:C1.Util.GlyphMetrics.Width">
      <summary>Gets or sets glyph width.</summary>
    </member>
    <member name="P:C1.Util.GlyphMetrics.IsEmpty">
      <summary>Gets empty flag for this structure.</summary>
    </member>
    <member name="P:C1.Util.GlyphMetrics.Empty">
      <summary>Gets empty glyph metrics.</summary>
    </member>
    <member name="T:C1.Util.FontSubSet">
      <summary>
            The font object for build subsets.
            </summary>
    </member>
    <member name="M:C1.Util.FontSubSet.#ctor">
      <summary>
      </summary>
    </member>
    <member name="M:C1.Util.FontSubSet.#ctor(C1.Util.FontKey)">
      <summary>
      </summary>
      <param name="fontKey">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.ReadCMap">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.GetTableCode(System.String)">
      <summary>
      </summary>
      <param name="tableName">
      </param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.Init">
      <summary>
            Initialization fields.
            </summary>
    </member>
    <member name="M:C1.Util.FontSubSet.GetFontTableStream(System.String)">
      <summary>
            Gets stream for the font table block by name.
            </summary>
      <param name="name">The name of the font table block.</param>
      <returns>Returns the font table stream, otherwise <b>null</b>.</returns>
    </member>
    <member name="M:C1.Util.FontSubSet.IsCharSupported(System.Char)">
      <summary>
            Returns true if current font contains glyph for character with specified code.
            </summary>
      <param name="ch">
      </param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.GetPanoseIndex(C1.Util.FontSubSet)">
      <summary>
      </summary>
      <param name="fss">
      </param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.GetGlyphWidth(System.Int32)">
      <summary>
            Gets width of the glyph index from font data.
            </summary>
      <param name="glyph">The glyph index.</param>
      <returns>Gets width of the glyph index.</returns>
    </member>
    <member name="M:C1.Util.FontSubSet.GetMetrics(System.Char,System.Boolean)">
      <summary>
            Gets the glyph index and metrics for a character
            returns an integer array with {glyph index, width}
            </summary>
      <param name="ch">The code (Unicode) of character.</param>
      <param name="vertical">The vertical mapping flag.</param>
      <returns>Gets integer array with glyph index and glyph width.</returns>
    </member>
    <member name="M:C1.Util.FontSubSet.GetCountMetrics(System.String)">
      <summary>
            Counts the number of chars in <paramref name="text" /> that do have
            corresponding glyphs in this font.
            </summary>
      <param name="text">
      </param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.IsSupportAllSymbols(System.String)">
      <summary>
            Returns true if current FontSubSetBase object can show
            all chars in specified string excluding control chars (chars for that char.IsControl() ==  true).
            </summary>
      <param name="text">
      </param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.GetCharForGlyph(System.Int32)">
      <summary>
            Gets the char for the glyph index.
            </summary>
      <param name="glyphIndex">The glyph index.</param>
      <returns>Returns character for glyph index.</returns>
    </member>
    <member name="M:C1.Util.FontSubSet.GetFontDifference(System.String,C1.Util.FontSubSet,System.Int32@,System.Int32@)">
      <summary>
            Calculates "panse index" (panoseIndex) and count of chars that can be displayed by fss.
            panoseIndex represents difference between 
            current FontSubSetBase object and fss object.
            Minimal number defines minimal difference, i.e. 0 means that current FontSubSetBase object and fss very similar.
            -1 means that fss can not be used as alternative for current object to display s.
            </summary>
      <param name="text">
      </param>
      <param name="fss">
      </param>
      <param name="panoseIndex">
      </param>
      <param name="supportedGlyphCount">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.GetAlternativeFont(System.String,System.Collections.Generic.IEnumerable{C1.Util.FontSubSet})">
      <summary>
            Search best alternative for text in font subset array.
            </summary>
      <param name="text">The text for substitution.</param>
      <param name="substitutions">The font subset list.</param>
      <returns>The index of best alternative font (font subset).</returns>
    </member>
    <member name="M:C1.Util.FontSubSet.GetDiffPanoseIndex(C1.Util.FontSubSet)">
      <summary>
            Calculate diff panose index.
            </summary>
      <param name="fss">
      </param>
      <returns>
      </returns>
    </member>
    <member name="P:C1.Util.FontSubSet.FontName">
      <summary>
            Gets "original" font name that was specified when FontSubSetBase object was requested.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.FontStyle">
      <summary>
            Gets "original" font style that was specified when FontSubSetBase object was requested.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.FontBold">
      <summary>
            Gets "original" Font.Bold that was specified when FontSubSetBase object was requested.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.FontItalic">
      <summary>
            Gets "original" Font.Italic that was specified when FontSubSetBase object was requested.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.FontFileName">
      <summary>
            Gets font name that was read from font's data, see also <see cref="P:C1.Util.FontSubSet.FontFamilyName" />.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.FontFamilyName">
      <summary>
            Gets font family name that was read from font's data, this property should be used
            to create GDI and GDI+ fonts.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.BaseFont2Name">
      <summary>
            Gets base font name that was read from font's data, this property should be used
            to create PDF fonts.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.FamilyClass">
      <summary>
            Gets family class.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.FontKey">
      <summary>
            Gets or sets font key (font identifier).
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.CoreFontBold">
      <summary>
            Gets Font.Bold that was read form font's data.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.CoreFontItalic">
      <summary>
            Gets Font.Italic that was read form font's data.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.CanEmbed">
      <summary>
            Gets flag that this font can embed as font's data.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.MustRestrict">
      <summary>
            Gets flag that this font can embed as font's data.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.MustObfuscate">
      <summary>
            Gets flag that this font must obfuscate.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.CanSubset">
      <summary>
            Gets flag that this font can use as subset of the font's data.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.IsInvalid">
      <summary>
            Gets or sets value indicating that this <see cref="T:C1.Util.FontSubSet" /> object
            invalid (error occurs during getting font's data) and can not be used.
            </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.IsFontSpecific">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.LocaShortTable">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.NumberOfMetrics">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.Panose">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.ItalicAngle">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.FirstChar">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.LastChar">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.Ascent">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.Descent">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.Height">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.ExternalLeading">
      <summary>
      </summary>
    </member>
    <member name="P:C1.Util.FontSubSet.InternalLeading">
      <summary>
      </summary>
    </member>
    <member name="M:C1.Util.FontSubSet.GetFontSubSet(System.String,System.Boolean,System.Boolean)">
      <summary>
            Create <see cref="T:C1.Util.FontSubSet" /> object using font name and styles.
            </summary>
      <param name="fontName">The font name.</param>
      <param name="bold">The bold flag of the font.</param>
      <param name="italic">The italic flag of the font.</param>
      <returns>The <see cref="T:C1.Util.FontSubSet" /> object.</returns>
    </member>
    <member name="M:C1.Util.FontSubSet.GetFontSubSet(C1.Util.FontKey)">
      <summary>
            Create <see cref="T:C1.Util.FontSubSet" /> object using font name and styles.
            </summary>
      <param name="fk">The font key object.</param>
      <returns>The <see cref="T:C1.Util.FontSubSet" /> object.</returns>
    </member>
    <member name="M:C1.Util.FontSubSet.SetFontSubSet(C1.Util.FontSubSet)">
      <summary>
            Sets already exist <see cref="T:C1.Util.FontSubSet" /> object to cache.
            </summary>
      <param name="fss">The exist <see cref="T:C1.Util.FontSubSet" /> object.</param>
    </member>
    <member name="M:C1.Util.FontSubSet.SetFontSubSet(C1.Util.FontKey,C1.Util.FontSubSet)">
      <summary>
            Sets already exist <see cref="T:C1.Util.FontSubSet" /> object to cache.
            </summary>
      <param name="fk">The exist <see cref="P:C1.Util.FontSubSet.FontKey" /> object.</param>
      <param name="fss">The exist <see cref="T:C1.Util.FontSubSet" /> object.</param>
    </member>
    <member name="T:C1.Util.FontSubSet.BigEndianBinaryReader">
      <summary>
            TTF files are stored in big-endian format, we need special 
            readers and writers
            </summary>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.#ctor(System.IO.Stream)">
      <summary>
      </summary>
      <param name="stream">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.#ctor(System.IO.Stream,System.Boolean)">
      <summary>
      </summary>
      <param name="stream">
      </param>
      <param name="leaveOpen">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.Dispose(System.Boolean)">
      <summary>
      </summary>
      <param name="disposing">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadInt16">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadInt32">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadInt64">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadUInt16">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadUInt32">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadUInt64">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadChar">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadChars(System.Int32)">
      <summary>
      </summary>
      <param name="count">
      </param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadSingle">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryReader.ReadDouble">
      <summary>
      </summary>
      <returns>
      </returns>
    </member>
    <member name="T:C1.Util.FontSubSet.BigEndianBinaryWriter">
      <summary>
            Big endian binary writer.
            </summary>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryWriter.#ctor(System.IO.Stream)">
      <summary>
      </summary>
      <param name="stream">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryWriter.#ctor(System.IO.Stream,System.Text.Encoding)">
      <summary>
      </summary>
      <param name="stream">
      </param>
      <param name="encoding">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryWriter.Write(System.Int16)">
      <summary>
      </summary>
      <param name="value">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryWriter.Write(System.Int32)">
      <summary>
      </summary>
      <param name="value">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryWriter.Write(System.Int64)">
      <summary>
      </summary>
      <param name="value">
      </param>
    </member>
    <member name="M:C1.Util.FontSubSet.BigEndianBinaryWriter.Write(System.String)">
      <summary>
      </summary>
      <param name="value">
      </param>
    </member>
    <member name="T:C1.Util.FontBuilder">
      <summary>
            The font subset builder.
            </summary>
    </member>
    <member name="F:C1.Util.FontBuilder.s_tableNamesSimple">
      <summary>The simple table of font's names.</summary>
    </member>
    <member name="F:C1.Util.FontBuilder.s_tableNamesCMap">
      <summary>The table with CMAP of font's names.</summary>
    </member>
    <member name="M:C1.Util.FontBuilder.NewLocaGlyphTables">
      <summary>
      </summary>
    </member>
    <member name="M:C1.Util.FontBuilder.GetFontData(C1.Util.FontSubSet,C1.Util.CodeRange,System.Boolean)">
      <summary>
      </summary>
      <param name="fss">
      </param>
      <param name="codeRange">
      </param>
      <param name="includeCMap">
      </param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontBuilder.GetFontData(C1.Util.FontSubSet,C1.Util.CodeRanges,System.Boolean)">
      <summary>
      </summary>
      <param name="fss">
      </param>
      <param name="codeRanges">
      </param>
      <param name="includeCMap">
      </param>
      <returns>
      </returns>
    </member>
    <member name="M:C1.Util.FontBuilder.GetFontData(C1.Util.FontSubSet,System.Collections.Generic.IEnumerable{C1.Util.GlyphMetrics},System.Boolean)">
      <summary>
      </summary>
      <param name="fss">
      </param>
      <param name="metrics">
      </param>
      <param name="includeCMap">
      </param>
      <returns>
      </returns>
    </member>
    <member name="P:C1.Util.FontBuilder.FullCodeRange">
      <summary>
            Gets full code range of this font.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.Strings">
      <summary>
            Static class containing UI strings used by the designer.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.AttachmentIconEnum">
      <summary>
            Specifies the type of attachment icon to use.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.AttachmentIconEnum.Paperclip">
      <summary>
            Paper Clip attachment icon.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.AttachmentIconEnum.PushPin">
      <summary>
            Pushpin attachment icon.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.AttachmentIconEnum.Tag">
      <summary>
            Tag attachment icon.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.AttachmentIconEnum.Graph">
      <summary>
            Graph attachment icon.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.ImageSizeMode">
      <summary>
            Specifies how to render images into a rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ImageSizeMode.Clip">
      <summary>
            Image is clipped to the rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ImageSizeMode.Stretch">
      <summary>
            Image is stretched to fill the rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ImageSizeMode.Scale">
      <summary>
            Image is scaled to fill as much of the rectangle as possible,
            while keeping the original aspect ratio.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.C1PdfDocument">
      <summary>
            Provides methods to create and save Pdf documents.
            </summary>
      <remarks>
        <para>When you create an instance of the <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> class, you 
            get a Pdf document with a single blank page. You can then add content to the 
            page using methods similar to those available in the .NET Graphics class 
            (DrawRectangle, DrawString, etc.).</para>
        <para>You can add new pages using the <see cref="M:C1.WPF.Pdf.C1PdfDocumentBase.NewPage" /> method, 
            and select the page size using the <see cref="P:C1.WPF.Pdf.C1PdfDocument.PaperKind" /> or <see cref="P:C1.WPF.Pdf.C1PdfDocument.PageSize" /> 
            properties.</para>
        <para>When the document is ready, you can save it to a file or a stream using the 
            <see cref="M:C1.WPF.Pdf.C1PdfDocumentBase.Save(System.String)" /> method.</para>
        <para>The coordinate system used by <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> is based on 
            points, with the origin located at the top left corner of the page. You can 
            retrieve the page rectangle (measured in points) using the 
            <see cref="P:C1.WPF.Pdf.C1PdfDocumentBase.PageRectangle" /> property.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.#ctor">
      <summary>
            Creates a new instance of the <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> class.
            </summary>
      <remarks>The new document contains a single empty page, and the
            default page size is set to Letter (8.5 x 11 inches).</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.#ctor(C1.WPF.Pdf.PaperKind)">
      <summary>
            Creates a new instance of the <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> class.
            </summary>
      <param name="paperKind">The default paper size for the document.</param>
      <remarks>The new document contains a single empty page, and the
            default page size is set to the value of the <paramref>paperKind</paramref>
            parameter.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.#ctor(C1.WPF.Pdf.PaperKind,System.Boolean)">
      <summary>
            Creates a new instance of the <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> class.
            </summary>
      <param name="paperKind">The default paper size for the document.</param>
      <param name="landscape">The default paper orientation for the document.</param>
      <remarks>The new document contains a single empty page, and the
            default page size is set to the value of the <paramref>paperKind</paramref>
            and <paramref>landscape</paramref> parameters.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.#ctor(System.Windows.Size)">
      <summary>
            Creates a new instance of the <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> class.
            </summary>
      <param name="pageSizeInPoints">The default paper size for the document, in points.</param>
      <remarks>The new document contains a single empty page, and the
            default page size is set to the value of the <paramref>pageSizeInPoints</paramref>
            parameter.</remarks>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocument.RotateAngle">
      <summary>
            Gets or sets the rotate angle for drawing simple objects for the document in degree (from -360 to 360).
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocument.PaperKind">
      <summary>
            Gets or sets the default page size for the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocument.Landscape">
      <summary>
            Gets or sets the default page orientation for the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocument.PageSize">
      <summary>
            Gets or sets the default page size for the document (in points).
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocument.CurrentPage">
      <summary>
            Gets or sets the index of the current page within the document.
            </summary>
      <remarks>
        <para>The <see cref="P:C1.WPF.Pdf.C1PdfDocument.CurrentPage" /> property determines which page of the document should 
            receive the output from the methods that generate content (e.g. DrawString method).</para>
        <para>The value is an integer ranging from -1 (no active page) to <see cref="P:C1.WPF.Pdf.C1PdfDocumentBase.Pages" />. Count - 1.</para>
        <para>You rarely have to use the <see cref="P:C1.WPF.Pdf.C1PdfDocument.CurrentPage" /> property while creating a document. 
            When a <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> object is created, a blank page is automatically added 
            and becomes the current page, so you can immediately start adding content to it.
            When the <see cref="M:C1.WPF.Pdf.C1PdfDocumentBase.NewPage" /> method is invoked, a new page is added to the document 
            and becomes the current page.</para>
        <para>The <see cref="P:C1.WPF.Pdf.C1PdfDocument.CurrentPage" /> property is useful when you want to reopen pages that 
            have already been generated and add content to them (for example, page headers and footers).</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.SetClipRect(System.Windows.Rect)">
      <summary>
            Sets the clipping area.
            </summary>
      <param name="rc">A rectangle that specifies the area to clip.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.ResetClipRect">
      <summary>
            Restores the clipping area to the state after the last call to <see cref="M:C1.WPF.Pdf.C1PdfDocument.SetClipRect(System.Windows.Rect)" />.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.SetTransform(System.Windows.Media.Matrix)">
      <summary>
            Sets the PDF transform (write the matrix).
            </summary>
      <param name="matrix">A not identity matrix for the transform.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawRectangle(C1.WPF.Pdf.Pen,System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Draws a rectangle specified by a coordinate pair, a width, and a height.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the rectangle.</param>
      <param name="x">x-coordinate of the upper-left corner of the rectangle to draw.</param>
      <param name="y">x-coordinate of the upper-left corner of the rectangle to draw.</param>
      <param name="width">Width of the rectangle to draw.</param>
      <param name="height">Height of the rectangle to draw.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawRectangle(C1.WPF.Pdf.Pen,System.Windows.Rect)">
      <summary>
            Draws a rectangle specified by a rectangle structure.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the rectangle.</param>
      <param name="rc">A rectangle structure that represents the rectangle to draw.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.FillRectangle(System.Windows.Media.Color,System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Fills the interior of a rectangle specified by a coordinate pair, a width, and a height.
            </summary>
      <param name="color">The color used to fill the rectangle.</param>
      <param name="x">x-coordinate of the upper-left corner of the rectangle to fill.</param>
      <param name="y">x-coordinate of the upper-left corner of the rectangle to fill.</param>
      <param name="width">Width of the rectangle to fill.</param>
      <param name="height">Height of the rectangle to fill.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.FillRectangle(System.Windows.Media.Color,System.Windows.Rect)">
      <summary>
            Fills the interior of a rectangle specified by a rectangle structure.
            </summary>
      <param name="color">The color used to fill the rectangle.</param>
      <param name="rc">A rectangle structure that represents the rectangle to fill.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawRectangle(C1.WPF.Pdf.Pen,System.Windows.Rect,System.Windows.Size)">
      <summary>
            Draws a rounded rectangle specified by rectangle and size structures.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the rectangle.</param>
      <param name="rc">A rectangle structure that represents the rectangle to draw.</param>
      <param name="corners">A size structure that contains the radius of the rectangle corners.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.FillRectangle(System.Windows.Media.Color,System.Windows.Rect,System.Windows.Size)">
      <summary>
            Fills the interior of a rounded rectangle specified by rectangle and size structures.
            </summary>
      <param name="color">The color used to fill the rectangle.</param>
      <param name="rc">A rectangle structure that represents the rectangle to fill.</param>
      <param name="corners">A size structure that contains the radius of the rectangle corners.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawLine(C1.WPF.Pdf.Pen,System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Draws a line connecting the two points specified by coordinate pairs.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the line.</param>
      <param name="x1">x-coordinate of the first point.</param>
      <param name="y1">y-coordinate of the first point.</param>
      <param name="x2">x-coordinate of the second point.</param>
      <param name="y2">y-coordinate of the second point.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawLine(C1.WPF.Pdf.Pen,System.Windows.Point,System.Windows.Point)">
      <summary>
            Draws a line connecting two point structures.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the line.</param>
      <param name="pt1">The first point.</param>
      <param name="pt2">The second point.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawLines(C1.WPF.Pdf.Pen,System.Windows.Point[])">
      <summary>
            Draws a series of line segments that connect an array of point structures.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the line segments.</param>
      <param name="points">Array of point structures that represent the points to connect.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawPolygon(C1.WPF.Pdf.Pen,System.Windows.Point[])">
      <summary>
            Draws a polygon defined by an array of point structures.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the polygon.</param>
      <param name="points">Array of point structures that represent the vertices of the polygon.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.FillPolygon(System.Windows.Media.Color,System.Windows.Point[],C1.WPF.Pdf.FillMode)">
      <summary>
            Fills a polygon defined by an array of point structures using the specified fill mode.
            </summary>
      <param name="color">The color used to fill the polygon.</param>
      <param name="points">Array of point structures that represent the vertices of the polygon.</param>
      <param name="fillMode">
        <see cref="T:C1.WPF.Pdf.FillMode" /> parameter that determines how to handle overlapping areas within the polygon.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawBezier(C1.WPF.Pdf.Pen,System.Windows.Point,System.Windows.Point,System.Windows.Point,System.Windows.Point)">
      <summary>
            Draws a Bezier spline defined by four point structures.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the Bezier spline.</param>
      <param name="start">A point structure that represents the starting point of the curve.</param>
      <param name="ctl1">A point structure that represents the first control point for the curve.</param>
      <param name="ctl2">A point structure that represents the second control point for the curve.</param>
      <param name="end">A point structure that represents the ending point of the curve.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawBeziers(C1.WPF.Pdf.Pen,System.Windows.Point[])">
      <summary>
            Draws a series of Bezier splines from an array of point structures.
            </summary>
      <param name="pen">A pen object that determines the color, width, and style of the Bezier splines.</param>
      <param name="points">Array of point structures that represent the points that determine the curve.</param>
      <remarks>
        <para>The first spline requires four points, and each additional spline requires
            three additional points (it starts from the last point in the previous spline). 
            Therefore, the <paramref name="points" /> array must contain at least four points,
            and the total length minus one must be a multiple of three.</para>
        <para>All coordinates are expressed in points, measured from the upper-left corner of the page.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawEllipse(C1.WPF.Pdf.Pen,System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Draws an ellipse defined by a bounding rectangle specified by a coordinate pair, a width, and a height.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the ellipse.</param>
      <param name="x">x-coordinate of the upper-left corner of the bounding rectangle.</param>
      <param name="y">x-coordinate of the upper-left corner of the bounding rectangle.</param>
      <param name="width">Width of the bounding rectangle.</param>
      <param name="height">Height of the bounding rectangle.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawEllipse(C1.WPF.Pdf.Pen,System.Windows.Rect)">
      <summary>
            Draws an ellipse defined by a bounding rectangle specified by a rectangle structure.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the rectangle.</param>
      <param name="rc">A rectangle structure that specifies the bounding rectangle.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.FillEllipse(System.Windows.Media.Color,System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Fills the interior of an ellipse defined by a bounding rectangle specified by a coordinate pair, a width, and a height.
            </summary>
      <param name="brush">The color used to fill the ellipse.</param>
      <param name="x">x-coordinate of the upper-left corner of the bounding rectangle.</param>
      <param name="y">x-coordinate of the upper-left corner of the bounding rectangle.</param>
      <param name="width">Width of the bounding rectangle.</param>
      <param name="height">Height of the bounding rectangle.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.FillEllipse(System.Windows.Media.Color,System.Windows.Rect)">
      <summary>
            Fills the interior of an ellipse defined by a bounding rectangle specified by a rectangle structure.
            </summary>
      <param name="brush">The color used to fill the ellipse.</param>
      <param name="rc">The rectangle structure that specifies the bounding rectangle.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawPie(C1.WPF.Pdf.Pen,System.Windows.Rect,System.Single,System.Single)">
      <summary>
            Draws a pie shape defined by an ellipse specified by a rectangle structure and two radial lines.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the pie shape.</param>
      <param name="rc">The rectangle structure that represents the bounding rectangle of the ellipse that contains the pie shape.</param>
      <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape.</param>
      <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.FillPie(System.Windows.Media.Color,System.Windows.Rect,System.Single,System.Single)">
      <summary>
            Fills a pie shape defined by an ellipse specified by a rectangle structure and two radial lines.
            </summary>
      <param name="brush">The color used to fill the pie shape.</param>
      <param name="rc">The rectangle structure that represents the bounding rectangle of the ellipse that contains the pie shape.</param>
      <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape.</param>
      <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawArc(C1.WPF.Pdf.Pen,System.Windows.Rect,System.Single,System.Single)">
      <summary>
            Draws an arc defined by an ellipse specified by a rectangle structure and two radial lines.
            </summary>
      <param name="pen">
        <see cref="T:C1.WPF.Pdf.Pen" /> object that determines the color, width, and style of the arc.</param>
      <param name="rc">A rectangle structure that represents the bounding rectangle of the ellipse that contains the arc.</param>
      <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape.</param>
      <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.FillArc(System.Windows.Media.Color,System.Windows.Rect,System.Single,System.Single)">
      <summary>
            Fills an arc defined by an ellipse specified by a rectangle structure and two radial lines.
            </summary>
      <param name="brush">The color used to fill the arc.</param>
      <param name="rc">The rectangle structure that represents the bounding rectangle of the ellipse that contains the pie shape.</param>
      <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape.</param>
      <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape.</param>
      <remarks>All coordinates are expressed in points, measured from the upper-left corner of the page.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawPath(C1.WPF.Pdf.Pen,System.Windows.Point[],System.Byte[],System.Boolean)">
      <summary>
            Draws a path defined by points and types.
            </summary>
      <param name="pen">The <see cref="T:C1.WPF.Pdf.Pen" /> used to stroke the specified path.</param>
      <param name="points">The path points to draw.</param>
      <param name="types">The path types to draw.</param>
      <param name="close">Whether is closed path (figure) or not.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.FillPath(System.Windows.Media.Color,System.Windows.Point[],System.Byte[],System.Boolean)">
      <summary>
            Fills a path defined by points and types.
            </summary>
      <param name="brush">The <see cref="T:System.Windows.Media.Brush" /> used to fill the path.</param>
      <param name="points">The path points to fill.</param>
      <param name="types">The path types to fill.</param>
      <param name="winding">The winding fill mode flag to draw, by default alternate fill mode.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.ClipPath(System.Windows.Point[],System.Byte[])">
      <summary>
            Start cliping use a path defined by points and types.
            </summary>
      <param name="points">The path points to clip.</param>
      <param name="types">The path types to clip.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.ClipStop">
      <summary>
            Stop path cliping.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.MeasureString(System.String,C1.WPF.Pdf.Font,System.Double,C1.WPF.Pdf.StringFormat,System.Int32)">
      <summary>
            Measures the specified string when drawn with the specified <see cref="T:C1.WPF.Pdf.Font" /> 
            object and formatted with the specified <see cref="T:C1.WPF.Pdf.StringFormat" /> object.
            </summary>
      <param name="text">String to measure.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the text.</param>
      <param name="width">Maximum width of the string.</param>
      <param name="sf">A <see cref="T:C1.WPF.Pdf.StringFormat" /> object that determines whether word wrapping is allowed.</param>
      <returns>The size of the string expressed in points.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.MeasureString(System.String,C1.WPF.Pdf.Font,System.Double)">
      <summary>
            Measures the specified string when drawn with a given <see cref="T:C1.WPF.Pdf.Font" /> object
            into a rectangle with the specified width. 
            </summary>
      <param name="text">String to measure.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the text.</param>
      <param name="width">Maximum width of the string.</param>
      <returns>The size of the string expressed in points.</returns>
      <remarks>This overload wraps the string to prevent any lines from getting
            wider than the <paramref name="width" /> parameter. The value returned contains
            the given width and the height needed to render the entire string.
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.MeasureString(System.String,C1.WPF.Pdf.Font)">
      <summary>
            Measures the specified string when drawn with a given <see cref="T:C1.WPF.Pdf.Font" /> object. 
            </summary>
      <param name="text">String to measure.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the text.</param>
      <returns>The size of the string expressed in points.</returns>
      <remarks>This overload returns the width and height of the string without wrapping.
            Unless the <paramref name="text" /> parameter contains line break characters, the 
            height returned corresponds to the font height.</remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Rect,System.Int32,C1.WPF.Pdf.StringFormat)">
      <summary>
            Draws the specified text string in the specified rectangle with the 
            specified <see cref="T:System.Windows.Media.Brush" /> and <see cref="T:C1.WPF.Pdf.Font" /> objects using the 
            formatting attributes of the specified <see cref="T:C1.WPF.Pdf.StringFormat" /> object.
            </summary>
      <param name="text">String to draw.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the drawn text.</param>
      <param name="color">The color of the drawn text.</param>
      <param name="rc">The rectangle structure that specifies the location of the drawn text, in points from the top left corner of the page.</param>
      <param name="sf">
        <see cref="T:C1.WPF.Pdf.StringFormat" /> object that specifies formatting attributes applied to the drawn text.</param>
      <param name="firstChar">Index of the first character that will be rendered.</param>
      <returns>The index of first character that was not printed because it did not fit in the specified rectangle.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Rect,System.Int32,C1.WPF.Pdf.StringFormat,System.Single)">
      <summary>
            Draws the specified text string in the specified rectangle,
            with the specified <see cref="T:System.Windows.Media.Brush" /> and <see cref="T:C1.WPF.Pdf.Font" />,
            using the formatting attributes of the specified <see cref="T:C1.WPF.Pdf.StringFormat" /> object
            and specified character width coefficient.
            </summary>
      <param name="text">The string to draw.</param>
      <param name="font">The <see cref="T:C1.WPF.Pdf.Font" /> used to draw the text.</param>
      <param name="color">The text color.</param>
      <param name="rc">The rectangle specifying the location of the text, in points from the top left corner of the page.</param>
      <param name="firstChar">The index of the first character that will be rendered.</param>
      <param name="sf">The <see cref="T:C1.WPF.Pdf.StringFormat" /> object specifying the formatting attributes applied to the text.</param>
      <param name="widthCoeff">The width coefficient applied to characters. The default is 1.0, use 2.0 for double width and so on.</param>
      <returns>The index of the first character that was not rendered because it did not fit in the specified rectangle.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Rect,C1.WPF.Pdf.StringFormat)">
      <summary>
            Draws the specified text string in the specified rectangle with the 
            specified <see cref="T:System.Windows.Media.Brush" /> and <see cref="T:C1.WPF.Pdf.Font" /> objects using the 
            formatting attributes of the specified <see cref="T:C1.WPF.Pdf.StringFormat" /> object.
            </summary>
      <param name="text">String to draw.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the drawn text.</param>
      <param name="color">The color of the drawn text.</param>
      <param name="rc">The rectangle structure that specifies the location of the drawn text, in points from the top left corner of the page.</param>
      <param name="sf">
        <see cref="T:C1.WPF.Pdf.StringFormat" /> object that specifies formatting attributes applied to the drawn text.</param>
      <returns>The index of first character that was not printed because it did not fit in the specified rectangle.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Rect,C1.WPF.Pdf.StringFormat,System.Single)">
      <summary>
            Draws the specified text string in the specified rectangle with the 
            specified <see cref="T:System.Windows.Media.Brush" /> and <see cref="T:C1.WPF.Pdf.Font" /> objects using the 
            formatting attributes of the specified <see cref="T:C1.WPF.Pdf.StringFormat" /> object.
            </summary>
      <param name="text">String to draw.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the drawn text.</param>
      <param name="color">The color of the drawn text.</param>
      <param name="rc">The rectangle structure that specifies the location of the drawn text, in points from the top left corner of the page.</param>
      <param name="sf">
        <see cref="T:C1.WPF.Pdf.StringFormat" /> object that specifies formatting attributes applied to the drawn text.</param>
      <param name="widthCoeff">The width coefficient of text characters, by default 1.0, for double width 2.0.</param>
      <returns>The index of first character that was not printed because it did not fit in the specified rectangle.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Rect,System.Int32)">
      <summary>
            Draws the specified text string in the specified rectangle with the 
            specified <see cref="T:System.Windows.Media.Brush" /> and <see cref="T:C1.WPF.Pdf.Font" /> objects using the 
            formatting attributes of the specified <see cref="T:C1.WPF.Pdf.StringFormat" /> object.
            </summary>
      <param name="text">String to draw.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the drawn text.</param>
      <param name="color">The color of the drawn text.</param>
      <param name="rc">The rectangle structure that specifies the location of the drawn text, in points from the top left corner of the page.</param>
      <param name="firstChar">Index of the first character that will be rendered.</param>
      <returns>The index of first character that was not printed because it did not fit in the specified rectangle.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Rect)">
      <summary>
            Draws the specified text string in the specified rectangle with the specified <see cref="T:System.Windows.Media.Brush" /> and <see cref="T:C1.WPF.Pdf.Font" /> objects.
            </summary>
      <param name="text">String to draw.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the drawn text.</param>
      <param name="color">The color of the drawn text.</param>
      <param name="rc">The rectangle structure that specifies the location of the drawn text, 
            in points from the top left corner of the page.</param>
      <returns>The index of first character that was not printed because it did not fit in the specified rectangle.</returns>
      <remarks>
            This overload renders strings aligned to the top left corner of the specified rectangle,
            wrapping text as needed within the rectangle, without clipping, and in the horizontal
            direction. To change any of these defaults, use the overload that allows you to specify
            a <see cref="T:C1.WPF.Pdf.StringFormat" /> parameter.
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Point,C1.WPF.Pdf.StringFormat)">
      <summary>
            Draws the specified text string at the specified point with the 
            specified <see cref="T:System.Windows.Media.Brush" /> and <see cref="T:C1.WPF.Pdf.Font" /> objects using the 
            formatting attributes of the specified <see cref="T:C1.WPF.Pdf.StringFormat" /> object.
            </summary>
      <param name="text">String to draw.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the drawn text.</param>
      <param name="brush">The object that defines the color of the drawn text.</param>
      <param name="pt">The point structure that specifies the location of the drawn text, in points</param>
      <param name="sf">
        <see cref="T:C1.WPF.Pdf.StringFormat" /> object that specifies formatting attributes applied to the drawn text.</param>
      <returns>The index of first character that was not printed because it did not fit in the specified rectangle.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Point,C1.WPF.Pdf.StringFormat,System.Single)">
      <summary>
            Draws the specified text string at the specified point with the 
            specified <see cref="T:System.Windows.Media.Brush" /> and <see cref="T:C1.WPF.Pdf.Font" /> objects using the 
            formatting attributes of the specified <see cref="T:C1.WPF.Pdf.StringFormat" /> object
            and specified width coefficient of text characters.
            </summary>
      <param name="text">String to draw.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the drawn text.</param>
      <param name="brush">The object that defines the color of the drawn text.</param>
      <param name="pt">The point structure that specifies the location of the drawn text, in points</param>
      <param name="sf">
        <see cref="T:C1.WPF.Pdf.StringFormat" /> object that specifies formatting attributes applied to the drawn text.</param>
      <param name="widthCoeff">The width coefficient of text characters, by default 1.0, for double width 2.0.</param>
      <returns>The index of first character that was not printed because it did not fit in the specified rectangle.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Point)">
      <summary>
            Draws the specified text string at the specified point with the 
            specified <see cref="T:System.Windows.Media.Brush" /> and <see cref="T:C1.WPF.Pdf.Font" /> objects.
            </summary>
      <param name="text">String to draw.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the drawn text.</param>
      <param name="brush">The object that defines the color of the drawn text.</param>
      <param name="pt">The point structure that specifies the location of the drawn text, in points from the top left corner of the page.</param>
      <returns>The index of first character that was not printed because it did not fit in the specified rectangle.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.String,C1.WPF.Pdf.Font,System.Windows.Media.Color,System.Windows.Point,System.Single)">
      <summary>
            Draws the specified text string at the specified point with the 
            specified <see cref="T:System.Windows.Media.Brush" />, <see cref="T:C1.WPF.Pdf.Font" /> objects
            and specified width coefficient of text characters.
            </summary>
      <param name="text">String to draw.</param>
      <param name="font">
        <see cref="T:C1.WPF.Pdf.Font" /> object that defines the appearance and size of the drawn text.</param>
      <param name="brush">The object that defines the color of the drawn text.</param>
      <param name="pt">The point structure that specifies the location of the drawn text, in points from the top left corner of the page.</param>
      <param name="widthCoeff">The width coefficient of text characters, by default 1.0, for double width 2.0..</param>
      <returns>The index of first character that was not printed because it did not fit in the specified rectangle.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawString(System.Windows.Controls.TextBlock,System.Windows.Rect)">
      <summary>
            Draws a string into the specified <see cref="T:System.Windows.Rect" />.
            </summary>
      <param name="tb">
        <see cref="T:System.Windows.Controls.TextBlock" /> that contains the text and formatting options.</param>
      <param name="rc">
        <see cref="T:System.Windows.Rect" /> that specifies the size and position of the text, in points.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawGlyphs(System.String,System.Int16[],System.Single[],C1.Util.FontSubSet,System.Single,System.Windows.Media.Color,System.Windows.Point,System.Windows.Media.Matrix,System.Single,System.Boolean)">
      <summary>
            Draws a string by glyphs.
            </summary>
      <param name="text">The text string.</param>
      <param name="glyphs">The glyphs array for the text string.</param>
      <param name="widths">The widths array for the text string.</param>
      <param name="fss">The font subset for text drawing.</param>
      <param name="fontSize">The font size for text drawing.</param>
      <param name="brush">The object that determines the color for text drawing.</param>
      <param name="pt">The start point for text drawing.</param>
      <param name="matrix">The translate matrinx for text drawing.</param>
      <param name="widthCoeff">The width coefficient applied to characters. The default is 1.0, use 2.0 for double width and so on.</param>
      <param name="vertical">The vertical flag for text drawing. Common for CJK texts.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawImage(System.Windows.Media.Imaging.WriteableBitmap,System.Windows.Rect,C1.WPF.Pdf.ContentAlignment,System.Windows.Media.Stretch)">
      <summary>
            Draws the specified <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> object at the specified location,
            adjusting the image size as specified by the <paramref name="align" /> and 
            <paramref name="stretch" /> parameters.
            </summary>
      <param name="img">
        <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> object to draw.</param>
      <param name="rc">
        <see cref="T:System.Windows.Rect" /> structure that specifies the location of the drawn image, in points from the top left corner of the page.</param>
      <param name="align">
        <see cref="T:C1.WPF.Pdf.ContentAlignment" /> value that specifies how the image should be aligned within the rectangle.</param>
      <param name="stretch">
        <see cref="T:System.Windows.Media.Stretch" /> value that specifies how the image should be sized to fit the rectangle.</param>
      <example>
            The code below shows how you can use the <b>DrawImage</b> method can be used to render any 
            <see cref="T:System.Windows.UIElement" />. The code creates a <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> from the element, 
            then calls the <b>DrawImage</b> method:
            <code>
            void DrawImage(UIElement e, Rect rc, ContentAlignment align, ImageSizeMode mode)
            {
              DrawImage(new WriteableBitmap(e, null), rc, align, mode);
            }
            </code></example>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawImage(System.Windows.Media.Imaging.WriteableBitmap,System.Windows.Rect)">
      <summary>
            Draws the specified <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> object at the specified location,
            stretching it to fit the destination rectangle.
            </summary>
      <param name="img">
        <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> object to draw.</param>
      <param name="rc">
        <see cref="T:System.Windows.Rect" /> structure that specifies the location of the drawn image, in points from the top left corner of the page.</param>
      <example>
            The code below shows how you can use the <b>DrawImage</b> method can be used to render any 
            <see cref="T:System.Windows.UIElement" />. The code creates a <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> from the element, 
            then calls the <b>DrawImage</b> method:
            <code>
            void DrawImage(UIElement e, Rect rc)
            {
              DrawImage(new WriteableBitmap(e, null), rc);
            }
            </code></example>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawImage(System.Windows.Media.Imaging.WriteableBitmap,System.Windows.Rect,System.Windows.Rect)">
      <summary>
            Draws the specified <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> object at the specified location,
            clipping the output to the given clipping rectangle.
            </summary>
      <param name="img">
        <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> object to draw.</param>
      <param name="rc">
        <see cref="T:System.Windows.Rect" /> structure that specifies the location of the drawn image, in points from the top left corner of the page.</param>
      <param name="rcClip">
        <see cref="T:System.Windows.Rect" /> structure that specifies a clipping rectangle on the page. No part of the image is drawn outside the clipping rectangle.</param>
      <example>
            The code below shows how you can use the <b>DrawImage</b> method can be used to render any 
            <see cref="T:System.Windows.UIElement" />. The code creates a <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> from the element, 
            then calls the <b>DrawImage</b> method:
            <code>
            void DrawImage(UIElement e, Rect rc, Rect rcClip)
            {
              DrawImage(new WriteableBitmap(e, null), rc, rcClip);
            }
            </code></example>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawImage(System.Int32,System.Int32,System.Int32[],System.Windows.Rect,System.Windows.Rect)">
      <summary>
            Draws the specified ARGB pixels at the specified location, clipping the output to the given clipping rectangle.
            </summary>
      <param name="width">The width of thne image in pixels.</param>
      <param name="height">The height of thne image in pixels.</param>
      <param name="pixels">The ARGB color array.</param>
      <param name="rc">
        <see cref="T:System.Windows.Rect" /> structure that specifies the location of the drawn image, in points from the top left corner of the page.</param>
      <param name="rcClip">
        <see cref="T:System.Windows.Rect" /> structure that specifies a clipping rectangle on the page. No part of the image is drawn outside the clipping rectangle.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawElement(System.Windows.FrameworkElement,System.Windows.Rect,C1.WPF.Pdf.ContentAlignment,System.Windows.Media.Stretch)">
      <summary>
            Draws the specified <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> object at the specified location,
            adjusting the image size as specified by the <paramref name="align" /> and 
            <paramref name="stretch" /> parameters.
            </summary>
      <param name="e">
        <see cref="T:System.Windows.FrameworkElement" /> to render into the document.</param>
      <param name="rc">
        <see cref="T:System.Windows.Rect" /> structure that specifies the location of the drawn element, in points from the top left corner of the page.</param>
      <param name="align">
        <see cref="T:C1.WPF.Pdf.ContentAlignment" /> value that specifies how the element should be aligned within the rectangle.</param>
      <param name="stretch">
        <see cref="T:System.Windows.Media.Stretch" /> value that specifies how the element should be sized to fit the rectangle.</param>
      <remarks>
        <para>This method must be called from the main thread. Calling it from a background thread will
            raise a cross-thread exception when the method tries to access the properties of the
            <see cref="T:System.Windows.FrameworkElement" /> being rendered.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawElement(System.Windows.FrameworkElement,System.Windows.Rect,System.Windows.Rect)">
      <summary>
            Draws a <see cref="T:System.Windows.FrameworkElement" /> into the document at a specified position.
            </summary>
      <param name="e">
        <see cref="T:System.Windows.FrameworkElement" /> to render into the document.</param>
      <param name="rc">
        <see cref="T:System.Windows.Rect" /> where the element will be rendered.</param>
      <param name="rcClip">
        <see cref="T:System.Windows.Rect" /> that defines the clipping bounds.</param>
      <remarks>
        <para>This method uses a <see cref="T:System.Windows.Media.VisualTreeHelper" /> to render each of the 
            primitives that compose the root element. It does not convert the element
            into a bitmap. As a result, the output is smaller and resolution independent;
            however, the result is not as faithful as a bitmap rendering. To render an
            element as a bitmaps, create a <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> and pass it to the
            <see cref="M:C1.WPF.Pdf.C1PdfDocument.DrawImage(System.Windows.Media.Imaging.WriteableBitmap,System.Windows.Rect)" /> method.</para>
        <para>This method must be called from the main thread. Calling it from a background thread will
            raise a cross-thread exception when the method tries to access the properties of the
            <see cref="T:System.Windows.FrameworkElement" /> being rendered.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.DrawElement(System.Windows.FrameworkElement,System.Windows.Rect)">
      <summary>
            Draws a <see cref="T:System.Windows.FrameworkElement" /> into the document at a specified position.
            </summary>
      <param name="e">
        <see cref="T:System.Windows.FrameworkElement" /> to render into the document.</param>
      <param name="rc">
        <see cref="T:System.Windows.Rect" /> where the element will be rendered.</param>
      <remarks>
        <para>This method uses a <see cref="T:System.Windows.Media.VisualTreeHelper" /> to render each of the 
            primitives that compose the root element. It does not convert the element
            into a bitmap. As a result, the output is smaller and resolution independent;
            however, the result is not as faithful as a bitmap rendering. To render an
            element as a bitmaps, create a <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> and pass it to the
            <see cref="M:C1.WPF.Pdf.C1PdfDocument.DrawImage(System.Windows.Media.Imaging.WriteableBitmap,System.Windows.Rect)" /> method.</para>
        <para>This method must be called from the main thread. Calling it from a background thread will
            raise a cross-thread exception when the method tries to access the properties of the
            <see cref="T:System.Windows.FrameworkElement" /> being rendered.</para>
      </remarks>
    </member>
    <member name="E:C1.WPF.Pdf.C1PdfDocument.DrawingElement">
      <summary>
            Occurs when the <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> is about to render a <see cref="T:System.Windows.FrameworkElement" />.
            </summary>
      <remarks>
        <para>This event fires once for each <see cref="T:System.Windows.FrameworkElement" /> rendered after calls to the
            <see cref="M:C1.WPF.Pdf.C1PdfDocument.DrawElement(System.Windows.FrameworkElement,System.Windows.Rect,System.Windows.Rect)" /> method. The event allows you to override
            the built-in rendering behavior and to render custom content for specific elements.</para>
        <para>If you handle this event, then remember to set the <see cref="P:C1.WPF.Pdf.DrawingElementEventArgs.Handled" /> 
            property to true so the control will not render the element over your custom content.</para>
      </remarks>
      <example>
        <para>The example below shows how you can use the <see cref="E:C1.WPF.Pdf.C1PdfDocument.DrawingElement" /> event to provide custom
            rendering for elements of type 'RichTextBox'. The code checks the type of element being rendered.
            If the element is a 'RichTextBox', the code creates a <see cref="T:System.Windows.Media.Imaging.WriteableBitmap" /> to represent
            the object, then renders the image into the PDF document.</para>
        <para>This example is quite general. You can use it to render any elements that do not expose their
            child elements as primitives such as <see cref="T:System.Windows.Controls.TextBlock" />, <see cref="T:System.Windows.Controls.Border" />, 
            <see cref="T:System.Windows.Shapes.Rectangle" />, etc.</para>
        <para>The drawback associated with rendering elements as images is that the output will contain raster
            images, which can be quite large and may look rough when you zoom in on the PDF.</para>
        <code>
            // create C1PdfDocument
            var pdf = new C1PdfDocument(PaperKind.Letter);
            
            // use DrawingElement event to render RichTextBox elements
            pdf.DrawingElement += (s, e) =&gt;
              {
                if (e.Element is RichTextBox)
                {
                  // get element image
                  #if SILVERLIGHT
                  var bmp = new WriteableBitmap(e.Element, e.DocumentTransform);
                  #else // WPF
                  var sz = e.Element.RenderSize;
                  var rtBmp = new RenderTargetBitmap((int)sz.Width, (int)sz.Height, 96, 96, PixelFormats.Pbgra32);
                  rtBmp.Render(e.Element);
                  var bmp = new WriteableBitmap(rtBmp);
                  #endif
                  
                  // render it into the document
                  pdf.DrawImage(bmp, e.Bounds);
                  
                  // done rendering this element
                  e.Handled = true;
                }
              };
              
            // render LayoutRoot element into C1PdfDocument
            var rc = pdf.PageRectangle;
            rc.Inflate(-20, -20);
            pdf.DrawElement(LayoutRoot, rc, ContentAlignment.TopLeft, Stretch.None);
            </code>
      </example>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.OnDrawingElement(C1.WPF.Pdf.DrawingElementEventArgs)">
      <summary>
            Raises the <see cref="E:C1.WPF.Pdf.C1PdfDocument.DrawingElement" /> event.
            </summary>
      <param name="e">
        <see cref="T:C1.WPF.Pdf.DrawingElementEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddBookmark(System.String,System.Int32,System.Double)">
      <summary>
            Adds a bookmark to the current page.
            </summary>
      <param name="text">Text that appears on the outline tree.</param>
      <param name="level">Outline level (zero is the top level).</param>
      <param name="y">Position on the current page where the outline entry is located (in points).</param>
      <remarks>
            Most long Pdf documents contain an outline structure that is displayed on a pane 
            on the left of the reader. The outline makes it easy to browse through a 
            document's structure and find specific topics. The <b>AddBookmark</b>
            method allows you to build this outline structure by adding outline entries
            (bookmarks).
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddBookmark(System.String,System.Int32,System.Double,System.Boolean)">
      <summary>
            Adds a bookmark to the current page.
            </summary>
      <param name="text">Text that appears on the outline tree.</param>
      <param name="level">Outline level (zero is the top level).</param>
      <param name="y">Position on the current page where the outline entry is located (in points).</param>
      <param name="isOpen">Whether the children of the bookmark are initially visible.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddBookmark(System.String,System.Int32,System.Int32,System.Double)">
      <summary>
            Adds a bookmark to the specified page.
            </summary>
      <param name="text">Text that appears on the outline tree.</param>
      <param name="level">Outline level (zero is the top level).</param>
      <param name="page">Index of the page that contains the bookmark.</param>
      <param name="y">Position on the specified page where the outline entry is located (in points).</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddBookmark(System.String,System.Int32,System.String)">
      <summary>
            Adds a bookmark to the specified page.
            </summary>
      <param name="text">Text that appears on the outline tree.</param>
      <param name="level">Outline level (zero is the top level).</param>
      <param name="target">Exist target name of this document from AddTarget method.</param>
      <seealso cref="M:C1.WPF.Pdf.C1PdfDocument.AddTarget(System.String,System.Windows.Rect)" />
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddLink(System.String,System.Windows.Rect)">
      <summary>
            Adds a hyperlink to the current page.
            </summary>
      <param name="url">Link destination (can be a Url, a file name, or a local link destination).</param>
      <param name="rc">Area on the page that will behave as a link (expressed in points, from the top-left corner of the page).</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddLink(System.String,System.Int32,System.Windows.Rect)">
      <summary>
            Adds a hyperlink to the document.
            </summary>
      <param name="url">Link destination (can be a Url, a file name, or a local link destination).</param>
      <param name="page">Index of the page that contains the hyperlink</param>
      <param name="rc">Area on the page that will behave as a link (expressed in points, from the top-left corner of the page).</param>
      <remarks>
        <para>Hyperlinks can be external (Urls and file names) or local (other locations within the same document).</para>
        <para>Local links are useful when you want to implement some type of cross-referencing within the document, such 
            as a table of contents or an index. Local links are identical to regular hyperlinks, except for two things:</para>
        <para>1) The <paramref name="url" /> parameter must start with a "#", and </para>
        <para>2) You must specify the target location for the link using the AddTarget method.</para>
        <para>Note that the <b>AddLink</b> method does not add any visible content to the page, so you will 
            usually need another command along with <b>AddLink</b> to specify some text or an image that the user 
            can see, as the example below demonstrates.</para>
      </remarks>
      <example>
            The code below adds a string that says "Visit ComponentOne" and a link that takes the user to the ComponentOne home page:
            <code>
            Rect rc = new Rect(50, 50, 100, 15);                            // RectangleF
            Font font = new Font("Arial", 10, PdfFontStyle.Underline);      // FontStyle
            _c1pdf.AddLink("http://www.componentone.com", rc);
            _c1pdf.DrawString("Visit ComponentOne", font, Color.Blue, rc);  // Brushes.Blue
            </code></example>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddTarget(System.String,System.Windows.Rect)">
      <summary>
            Adds a hyperlink target to the current page.
            </summary>
      <param name="name">Name of the target (used in the AddLink method).</param>
      <param name="rc">Area on the page that will behave as a target (in points from the top-left corner of the page).</param>
      <remarks>
            This method is used to add targets for local hyperlinks. See the AddLink method for details and an example.
            </remarks>
      <seealso cref="M:C1.WPF.Pdf.C1PdfDocument.AddLink(System.String,System.Windows.Rect)" />
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddTarget(System.String,System.Int32,System.Windows.Rect)">
      <summary>
            Adds a hyperlink target to the document.
            </summary>
      <param name="name">Name of the target (used in the AddLink method).</param>
      <param name="page">Index of the page that will contain the hyperlink target.</param>
      <param name="rc">Area on the page that will behave as a target (in points from the top-left corner of the page).</param>
      <remarks>
            This method is used to add targets for local hyperlinks. See the AddLink method for details and an example.
            </remarks>
      <seealso cref="M:C1.WPF.Pdf.C1PdfDocument.AddLink(System.String,System.Windows.Rect)" />
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddAttachment(System.String,System.Windows.Rect)">
      <summary>
            Adds a file attachment to the current page.
            </summary>
      <param name="file">The file that will be included as an attachment.</param>
      <param name="rc">Area of the page that will contain the attachment (in points measured from the top-left corner of the page).</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddAttachment(System.String,System.Windows.Rect,C1.WPF.Pdf.AttachmentIconEnum,System.Windows.Media.Color)">
      <summary>
            Adds a file attachment to the current page.
            </summary>
      <param name="file">The file that will be included as an attachment.</param>
      <param name="rc">Area of the page that will contain the attachment (in points measured from the top-left corner of the page).</param>
      <param name="icon">
        <see cref="T:C1.WPF.Pdf.AttachmentIconEnum" /> value that determines the appearance of the attachment icon.</param>
      <param name="iconColor">
        <see cref="T:System.Windows.Media.Color" /> of the attachment icon.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddAttachment(System.String,System.Windows.Rect,System.Int32,C1.WPF.Pdf.AttachmentIconEnum,System.Windows.Media.Color)">
      <summary>
            Adds a file attachment to the document.
            </summary>
      <param name="file">The file that will be included as an attachment.</param>
      <param name="rc">Area of the page that will contain the attachment (in points measured from the top-left corner of the page).</param>
      <param name="page">Index of the page that contains the attachment.</param>
      <param name="icon">
        <see cref="T:C1.WPF.Pdf.AttachmentIconEnum" /> value that determines the appearance of the attachment icon.</param>
      <param name="iconColor">The color of the attachment icon.</param>
      <remarks>
            When the user moves the mouse over an area of the page that contains an attachment, 
            the mouse pointer and tool tip change to indicate that the user can retrieve the attachment. 
            The user can right-click the attachment area to open or save the attachment.
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddAttachment(System.String,System.Byte[],System.Windows.Rect,C1.WPF.Pdf.AttachmentIconEnum,System.Windows.Media.Color)">
      <summary>
            Adds a stream-based attachment to the current page.
            </summary>
      <param name="attachmentName">Name to be shown next to the attachment.</param>
      <param name="attachmentData">Byte array containing the attachment data.</param>
      <param name="rc">Area of the page that will contain the attachment (in points measured from the top-left corner of the page).</param>
      <param name="icon">
        <see cref="T:C1.WPF.Pdf.AttachmentIconEnum" /> value that determines the appearance of the attachment icon.</param>
      <param name="iconColor">The color of the attachment icon.</param>
      <remarks>
            This override allows you to add attachments containing data that does not come from files.
            For example, the data could come from blobs or streams stored in a database.
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddAttachment(System.String,System.Byte[],System.Windows.Rect,System.Int32,C1.WPF.Pdf.AttachmentIconEnum,System.Windows.Media.Color)">
      <summary>
            Adds a stream-based attachment to the document.
            </summary>
      <param name="attachmentName">Name to be shown next to the attachment.</param>
      <param name="attachmentData">Byte array containing the attachment data.</param>
      <param name="rc">Area of the page that will contain the attachment (in points measured from the top-left corner of the page).</param>
      <param name="page">Index of the page that contains the attachment.</param>
      <param name="icon">
        <see cref="T:C1.WPF.Pdf.AttachmentIconEnum" /> value that determines the appearance of the attachment icon.</param>
      <param name="iconColor">The color of the attachment icon.</param>
      <remarks>
            This override allows you to add attachments containing data that does not come from files.
            For example, the data could come from blobs or streams stored in a database.
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddField(C1.WPF.Pdf.PdfFieldBase,System.Windows.Rect)">
      <summary>
            Adds an AcroField to the current page.
            </summary>
      <param name="field">The <see cref="T:C1.WPF.Pdf.PdfFieldBase" /> object.</param>
      <param name="rc">Area on the page that will behave as an AcroField (in points from the top-left corner of the page).</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddField(C1.WPF.Pdf.PdfFieldBase,System.Int32,System.Windows.Rect)">
      <summary>
            Adds an AcroField to the document.
            </summary>
      <param name="field">The <see cref="T:C1.WPF.Pdf.PdfFieldBase" /> object.</param>
      <param name="page">Index of the page that will contain the AcroField.</param>
      <param name="rc">Area on the page that will behave as a AcroField (in points from the top-left corner of the page).</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddNote(C1.WPF.Pdf.PdfNoteBase,System.Windows.Rect)">
      <summary>
            Adds an annotation item to the current page.
            </summary>
      <param name="note">The <see cref="T:C1.WPF.Pdf.PdfNoteBase" /> object.</param>
      <param name="rc">Area on the page that will behave as an AcroField (in points from the top-left corner of the page).</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocument.AddNote(C1.WPF.Pdf.PdfNoteBase,System.Int32,System.Windows.Rect)">
      <summary>
            Adds an annotation item to the document.
            </summary>
      <param name="note">The <see cref="T:C1.WPF.Pdf.PdfNoteBase" /> object.</param>
      <param name="page">Index of the page that will contain the AcroField.</param>
      <param name="rc">Area on the page that will behave as a AcroField (in points from the top-left corner of the page).</param>
    </member>
    <member name="T:C1.WPF.Pdf.DrawingElementEventArgs">
      <summary>
            Provides parameters for the <see cref="E:C1.WPF.Pdf.C1PdfDocument.DrawingElement" /> event.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.DrawingElementEventArgs.#ctor(System.Windows.FrameworkElement,System.Windows.FrameworkElement,System.Windows.Rect,System.Windows.Media.Transform)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.DrawingElementEventArgs" />.
            </summary>
      <param name="e">Element being rendered.</param>
      <param name="root">Root of the element being rendered.</param>
      <param name="bounds">Coordinates, in logical pixels, of the element being rendered.</param>
      <param name="documentTransform">Transform between logical pixels and PDF page units (points).</param>
    </member>
    <member name="P:C1.WPF.Pdf.DrawingElementEventArgs.Element">
      <summary>
            Gets a reference to the element being rendered.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.DrawingElementEventArgs.Root">
      <summary>
            Gets a reference to the root of the element being rendered.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.DrawingElementEventArgs.Bounds">
      <summary>
            Gets the coordinates, in logical pixels, of the element being rendered.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.DrawingElementEventArgs.DocumentTransform">
      <summary>
            Gets the <see cref="T:System.Windows.Media.Transform" /> used to convert coordinates between logical pixels and PDF page units (points).
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.DrawingElementEventArgs.Handled">
      <summary>
            Gets or sets a value that determines whether the event handler has rendered the element.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.CompressionLevel">
      <summary>
            Specifies the level of compression to be applied when adding entries to a zip file.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.CompressionLevel.NoCompression">
      <summary>No Compression.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.CompressionLevel.BestSpeed">
      <summary>Low compression, highest speed.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.CompressionLevel.BestCompression">
      <summary>Highest compression, low speed.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.CompressionLevel.DefaultCompression">
      <summary>High compression, high speed.</summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfFontType">
      <summary>
            Determines how fonts are encoded in the document.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFontType.Standard">
      <summary>
            Use only standard Pdf fonts (Helvetica, Times, Symbol).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFontType.TrueType">
      <summary>
            Use TrueType fonts, no embedding (viewer must have fonts installed).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFontType.Embedded">
      <summary>
            Use embedded TrueType fonts.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.ImageQuality">
      <summary>
            Determines the quality of bitmaps added to the document with the
            C1PdfDocument.DrawImage method.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ImageQuality.Low">
      <summary>
            Low quality, small file size.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ImageQuality.Medium">
      <summary>
            Medium quality, medium file size.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ImageQuality.Default">
      <summary>
            High quality, medium/large file size.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ImageQuality.High">
      <summary>
            Highest quality, largest file size.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfAConformanceLevel">
      <summary>
            Determines the PDF/A conformance levels.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAConformanceLevel.None">
      <summary>Without PDF/A conformance.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAConformanceLevel.PdfA1a">
      <summary>PDF/A 1a conformance level.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAConformanceLevel.PdfA1b">
      <summary>PDF/A 1b conformance level.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAConformanceLevel.PdfA2a">
      <summary>PDF/A 2a conformance level.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAConformanceLevel.PdfA2b">
      <summary>PDF/A 2b conformance level.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAConformanceLevel.PdfA2u">
      <summary>PDF/A 2u conformance level.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAConformanceLevel.PdfA3a">
      <summary>PDF/A 3a conformance level.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAConformanceLevel.PdfA3b">
      <summary>PDF/A 3b conformance level.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAConformanceLevel.PdfA3u">
      <summary>PDF/A 3u conformance level.</summary>
    </member>
    <member name="T:C1.WPF.Pdf.C1PdfDocumentBase">
      <summary>
            Abstract base class for the <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> type.
            Provides low-level methods to create and save Pdf documents.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.#ctor">
      <summary>
            Creates a new instance of the <see cref="T:C1.WPF.Pdf.C1PdfDocumentBase" /> class.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.SetDashPattern(C1.WPF.Pdf.DashStyle,System.Double[])">
      <summary>
            Sets the dash pattern for a specific dash style.
            Values in <paramref name="pattern" /> correspond to dashes and spaces, starting with the first dash.
            The actual length of each dash and space in the line is the product of the specified value and the width of the pen used to draw the line.
            </summary>
      <param name="dashStyle">The dash style to set.</param>
      <param name="pattern">The array of stroke and gap lengths, in line thickness.</param>
      <seealso cref="M:C1.WPF.Pdf.C1PdfDocumentBase.ResetDashPatterns" />
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.ResetDashPatterns">
      <summary>
            Resets all dash patterns to default values.
            </summary>
      <seealso cref="M:C1.WPF.Pdf.C1PdfDocumentBase.SetDashPattern(C1.WPF.Pdf.DashStyle,System.Double[])" />
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.Clear">
      <summary>
            Restores the document to its initial state.
            </summary>
      <remarks>
            All current content and security settings are discarded, a single empty page is created, and 
            the <see cref="P:C1.WPF.Pdf.C1PdfDocumentBase.CurrentPage" /> property is set to zero.
            </remarks>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.DocumentInfo">
      <summary>
            Gets the <see cref="T:C1.WPF.Pdf.PdfDocumentInfo" /> object that contains information about 
            this document (author, etc).
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.ViewerPreferences">
      <summary>
            Gets the <see cref="T:C1.WPF.Pdf.PdfViewerPreferences" /> object that contains information about 
            how the current document should be displayed.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.Security">
      <summary>
            Gets the <see cref="T:C1.WPF.Pdf.PdfSecurity" /> object that manages security for
            the current document (passwords, etc).
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.ConformanceLevel">
      <summary>
            Gets or sets the PDF/A conformance level.
            <para>The default is none (the document does not conform to PDF/A).</para></summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.FontType">
      <summary>
            Gets or sets a value indicating how fonts should be encoded when saving the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.Compression">
      <summary>
            Gets or sets the compression level to use when saving the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.IsCompressed">
      <summary>
            Gets a value indicating whether compression is used when saving the document.
            </summary>
      <seealso cref="P:C1.WPF.Pdf.C1PdfDocumentBase.Compression" />
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.ImageQuality">
      <summary>
            Gets or sets the image quality to use when saving the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.UniqueFontsPerPage">
      <summary>
            Gets or sets a value indicating whether to embed fonts separately for each page of the document.
            The default is false, which produces smaller file sizes but in some rare cases may result
            in incorrect font substitutions.
            <para>Note that if <see cref="P:C1.WPF.Pdf.C1PdfDocumentBase.FontType" /> is not <b>Embedded</b>, this property is not used.</para></summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.UseFileCaching">
      <summary>
            Gets or sets a value indicating whether to use temporary disk files to minimize memory usage.
            The default is false.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.PageSize">
      <summary>
            Gets or sets the default page size for the document (in points).
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.PageRectangle">
      <summary>
            Gets a rectangle that represents the surface of the current page (in points).
            </summary>
      <remarks>
            This property returns a rectangle located at point (0,0) with 
            size equal to the size of the current page. It can be used as a starting 
            point for building rectangles that will be used for drawing on the page. 
            </remarks>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.CurrentPage">
      <summary>
            Gets or sets the index of the current page within the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.Pages">
      <summary>
            Gets the collection of <see cref="T:C1.WPF.Pdf.PdfPage" /> objects that make up the document.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.NewPage">
      <summary>
            Starts a new page.
            </summary>
      <remarks>
            Adds a blank page to the document and sets the <see cref="P:C1.WPF.Pdf.C1PdfDocumentBase.CurrentPage" /> property 
            to make it the currently active page.
            <para>The size of the new page is defined by the value of the <see cref="P:C1.WPF.Pdf.C1PdfDocumentBase.PageSize" /> property.</para><para>If you want the new page to have a different size than the rest of the document, 
            create the new page first, then set the <see cref="P:C1.WPF.Pdf.C1PdfDocumentBase.PageSize" /> property.</para></remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.Save(System.String)">
      <summary>
            Saves the Pdf document to a file.
            </summary>
      <param name="fileName">Name of the Pdf file to create.</param>
      <remarks>
            Saving the Pdf document to a file requires that the file be available 
            for writing. If the file already exists and is in use by an application 
            (such as the Adobe Acrobat Reader), the method will throw an exception.
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.Save(System.IO.Stream)">
      <summary>
            Saves the Pdf document to a <see cref="T:System.IO.Stream" />.
            </summary>
      <param name="stream">
        <see cref="T:System.IO.Stream" /> object to use for saving the document.</param>
      <remarks>
            Saving the Pdf document to a <see cref="T:System.IO.Stream" /> object is often used in Web 
            scenarios, when you are creating a Response object or storing the document in the 
            a cache, and don't want to create temporary files.
            </remarks>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.SaveAllImagesAsJpeg">
      <summary>
            Gets or sets whether all images should be saved in the <b>Jpeg</b> format.
            </summary>
      <remarks>
        <para>By default, <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> will save images in their original format,
            which may support transparency and loss-less compression.</para>
        <para>By setting this property to true, all images will be saved in the <b>Jpeg</b> format.
            The <b>Jpeg</b> format provides excellent compression and performance, but does not support 
            transparency.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.ToPoints(System.Double)">
      <summary>
            Converts pixels to points.
            </summary>
      <param name="pixels">Measurement in pixels.</param>
      <returns>Measurement in points.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.ToPoints(System.Windows.Size)">
      <summary>
            Converts pixels to points.
            </summary>
      <param name="szPixels">The size in pixels.</param>
      <returns>The size in points.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.ToPoints(System.Windows.Rect)">
      <summary>
            Converts pixels to points.
            </summary>
      <param name="rcPixels">The rectangle in pixels.</param>
      <returns>The rectangle in points.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.ToPixels(System.Double)">
      <summary>
            Converts points to pixels.
            </summary>
      <param name="points">Measurement in points.</param>
      <returns>Measurement in pixels.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.ToPixels(System.Windows.Size)">
      <summary>
            Converts points to pixels.
            </summary>
      <param name="szPoints">The size in points.</param>
      <returns>The size in pixels.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.ToPixels(System.Windows.Rect)">
      <summary>
            Converts points to pixels.
            </summary>
      <param name="rcPoints">The rectangle in points.</param>
      <returns>The rectangle in pixels.</returns>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.ResetResourceState">
      <summary>
            For internal use only. Resets current font, pen, and brush state.
            </summary>
    </member>
    <member name="E:C1.WPF.Pdf.C1PdfDocumentBase.GeneratingDocument">
      <summary>
            Fires periodically while data is written into the PDF document.
            </summary>
      <remarks>
            The event handler may check the number of pages created so far by 
            accessing the <see cref="P:C1.WPF.Pdf.C1PdfDocumentBase.Pages" /> property.
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.OnGeneratingDocument(System.EventArgs)">
      <summary>
            Raises the <see cref="E:C1.WPF.Pdf.C1PdfDocumentBase.GeneratingDocument" /> event.
            </summary>
      <param name="e">
        <see cref="T:System.EventArgs" /> that contains the event data.</param>
    </member>
    <member name="E:C1.WPF.Pdf.C1PdfDocumentBase.SavingDocument">
      <summary>
            Fires while pages are written to the PDF stream after a call to the <see cref="M:C1.WPF.Pdf.C1PdfDocumentBase.Save(System.IO.Stream)" /> method.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.OnSavingDocument(System.ComponentModel.ProgressChangedEventArgs)">
      <summary>
            Raises the <see cref="E:C1.WPF.Pdf.C1PdfDocumentBase.SavingDocument" /> event.
            </summary>
      <param name="e">
        <see cref="T:System.ComponentModel.ProgressChangedEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.SetBrush(System.Windows.Media.Color)">
      <summary>
            For internal use only. Sets the current brush color.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.GetStreamPosition">
      <summary>
            For internal use only. Gets the Position on the page stream.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.GetCurrentID">
      <summary>
            For internal use only. Gets the ID of the last object.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.GetNewID">
      <summary>
            For internal use only. Increments the ID for the next object.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.C1PdfDocumentBase.Write(System.String,System.Object[])">
      <summary>
            Writes raw content into the Pdf stream for the current page.
            </summary>
      <param name="format">Format string, as in <see cref="M:System.String.Format(System.String,System.Object)" />.</param>
      <param name="args">Array of objects to write using <paramref name="format" />.</param>
      <remarks>
            This is a low-level method that allows you to insert Pdf commands directly 
            into the page stream. It is intended for use by derived classes and requires 
            knowledge of the Pdf document structure and syntax.
            </remarks>
    </member>
    <member name="P:C1.WPF.Pdf.C1PdfDocumentBase.PdfVersion">
      <summary>
            Gets or sets the PDF Version of the generated document.
            <para>
            By default the version is determined automatically based on which features are used in this document.
            Setting this property to a non-null string in the format "1.X"
            (where X is a digit from 0 to 9) overrides the automatic value with the specified one.
            </para><para>Setting this property to null reverts to the default behavior.</para></summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfDocumentInfo">
      <summary>
            Contains information about the document. This information includes 
            the document author, title, keywords, etc.
            </summary>
      <remarks>
        <para>You don't have to provide this information, it is optional. If provided, 
            it is saved with the document and is available to the reader application.</para>
        <para>Some reader applications may allow users to search documents by author, 
            subject, or keyword.</para>
      </remarks>
    </member>
    <member name="P:C1.WPF.Pdf.PdfDocumentInfo.Title">
      <summary>
            Gets or sets the title of the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfDocumentInfo.Creator">
      <summary>
            Gets or sets the name of the application that created the original document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfDocumentInfo.Producer">
      <summary>
            Gets or sets the name of the application that created the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfDocumentInfo.Author">
      <summary>
            Gets or sets the name of the person that created the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfDocumentInfo.Subject">
      <summary>
            Gets or sets the subject of the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfDocumentInfo.Keywords">
      <summary>
            Gets or sets keywords (separated by comma) associated with the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfDocumentInfo.CreationDate">
      <summary>
            Gets or sets the creation date and time of the document.
            <para>
            The default value for this property is <b>DateTime.MinValue</b>,
            which causes the current date/time to be used when the document is saved.
            </para></summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfFieldType">
      <summary>
            For internal use only.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFieldType.None">
      <summary>A field type invalid or not found.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFieldType.PushButton">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFieldType.CheckBox">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFieldType.RadioButton">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFieldType.Text">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFieldType.List">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFieldType.Combo">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFieldType.Signature">
      <summary>
      </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfAcrofieldFlags">
      <summary>
            For internal use only.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.ReadOnly">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.Required">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.NoExport">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.Multiline">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.Password">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.NoToggleToOff">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.Radio">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.PushButton">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.Combo">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.Edit">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.Sort">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.FileSelect">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.Multiselect">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.DoNotSpellCheck">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.DoNotScroll">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.Comb">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.RadioSinUnison">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.CommitOnSelChange">
      <summary>
      </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfAcrofieldFlags.RichText">
      <summary>
      </summary>
    </member>
    <member name="T:C1.WPF.Pdf.FieldVisibility">
      <summary>
            Specifies the visibility of an <b>AcroField</b>
            (of a type derived from <see cref="T:C1.WPF.Pdf.PdfFieldBase" />).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldVisibility.Visible">
      <summary>
            The <b>AcroField</b> is visible.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldVisibility.Hidden">
      <summary>
            The <b>AcroField</b> is hidden.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldVisibility.VisibleNotPrintable">
      <summary>
            The <b>AcroField</b> is visible but does not print.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldVisibility.HiddenPrintable">
      <summary>
            The <b>AcroField</b> is hidden but does print.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.FieldBorderStyle">
      <summary>
            Specifies the border style of an <b>AcroField</b>.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldBorderStyle.Solid">
      <summary>
            The border is solid.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldBorderStyle.Dashed">
      <summary>
            The border is dashed.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldBorderStyle.Beveled">
      <summary>
            The border is beveled.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldBorderStyle.Inset">
      <summary>
            The border is inset.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldBorderStyle.Underline">
      <summary>
            The border is underlined.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.FieldBorderWidth">
      <summary>
            Specifies the border width of an <b>AcroField</b>.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldBorderWidth.None">
      <summary>
            No border.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldBorderWidth.Thin">
      <summary>
            Thin border (1 point wide).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldBorderWidth.Medium">
      <summary>
            Medium border (2 points wide).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FieldBorderWidth.Thick">
      <summary>
            Thick border (3 points wide).
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.ButtonLayout">
      <summary>
            Specifies the layout of text and image on the face of a <see cref="T:C1.WPF.Pdf.PdfPushButton" />.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonLayout.TextOnly">
      <summary>
            Only text is displayed on the button face.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonLayout.ImageOnly">
      <summary>
            Only image is displayed on the button face.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonLayout.ImageTopTextBottom">
      <summary>
            Image is displayed above the text.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonLayout.TextTopImageBottom">
      <summary>
            Text is displayed above the image.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonLayout.ImageLeftTextRight">
      <summary>
            Image is displayed on the left and text on the right.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonLayout.TextLeftImageRight">
      <summary>
            Text is displayed on the left and image on the right.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonLayout.TextOverImage">
      <summary>
            Text is displayed over image.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.ButtonStateChange">
      <summary>
            Specifies the type of change of a <see cref="T:C1.WPF.Pdf.PdfPushButton" /> state
            that can be associated with a particular <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />
            (see <see cref="P:C1.WPF.Pdf.PdfPushButton.Actions" />).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonStateChange.Released">
      <summary>
            A pressed button is released
            (this is the default state change associated with <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonStateChange.Pressed">
      <summary>
            A button is pressed.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonStateChange.MouseEnter">
      <summary>
            The mouse cursor enters a button.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonStateChange.MouseLeave">
      <summary>
            The mouse cursor leaves a button.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonStateChange.GotFocus">
      <summary>
            A button receives the keyboard focus.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonStateChange.LostFocus">
      <summary>
            A button loses the keyboard focus.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.ButtonAction">
      <summary>
            Specifies actions that can be performed when a <see cref="T:C1.WPF.Pdf.PdfPushButton" />'s state
            changes as described by <see cref="T:C1.WPF.Pdf.ButtonAction" />.
            For most actions, additional information needs to be specified by the
            <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.Command" /> property on the action.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonAction.CallMenu">
      <summary>
            Calls an Adobe Acrobat's menu item
            specified by the <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.Command" /> property
            of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />.
            <para>
            For instance, setting <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.Command" /> to <b>"SaveAs"</b>
            will invoke the save file dialog, while setting it to <b>"Close"</b> will close
            the document. For the complete listing please refer to the Adobe documentation.
            </para></summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonAction.OpenUrl">
      <summary>
            Opens a URL
            specified by the <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.Command" /> property
            of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonAction.OpenFile">
      <summary>
            Opens a file
            specified by the <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.Command" /> property
            of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonAction.GotoPage">
      <summary>
            Goes to the page
            specified by the <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.PageNo" /> property
            of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonAction.ClearFields">
      <summary>
            Clears all fields of the containing <b>AcroForm</b>.
            To prevent some of the fields from being cleared,
            assign a comma-separated list of their names (e.g. <b>Field1,Field2</b>)
            to the <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.Command" /> property
            of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />.
            </summary>
      <seealso cref="P:C1.WPF.Pdf.PdfFieldBase.Name" />
    </member>
    <member name="F:C1.WPF.Pdf.ButtonAction.ShowField">
      <summary>
            Shows a field if it were hidden.
            The <see cref="P:C1.WPF.Pdf.PdfFieldBase.Name" /> of the field should be assigned
            to the <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.Command" /> property
            of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ButtonAction.HideField">
      <summary>
            Hides a field if it were visible.
            The <see cref="P:C1.WPF.Pdf.PdfFieldBase.Name" /> of the field should be assigned
            to the <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.Command" /> property
            of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.CheckmarkType">
      <summary>
            Specifies the look of checkmark in <see cref="T:C1.WPF.Pdf.PdfCheckBox" />
            and <see cref="T:C1.WPF.Pdf.PdfRadioButton" /> fields.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.CheckmarkType.Default">
      <summary>
            Shows a default checkmark
            (<see cref="F:C1.WPF.Pdf.CheckmarkType.Circle" /> for <see cref="T:C1.WPF.Pdf.PdfRadioButton" />,
            <see cref="F:C1.WPF.Pdf.CheckmarkType.Check" /> for <see cref="T:C1.WPF.Pdf.PdfCheckBox" />).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.CheckmarkType.Check">
      <summary>
            Shows a "check" ("tick", V-shaped with longer right stroke) checkmark.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.CheckmarkType.Circle">
      <summary>
            Shows a circular checkmark.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.CheckmarkType.Cross">
      <summary>
            Shows a cross (X-shaped) checkmark.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.CheckmarkType.Diamond">
      <summary>
            Shows a diamond-shaped checkmark.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.CheckmarkType.Square">
      <summary>
            Shows a square checkmark.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.CheckmarkType.Star">
      <summary>
            Shows a star-shaped checkmark.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfFieldBase">
      <summary>
            The abstract base class from which all other <b>AcroForm</b> field classes (<b>AcroField</b>) are derived.
            </summary>
      <remarks>
            The non-abstract derived classes include
            <see cref="T:C1.WPF.Pdf.PdfTextBox" />, <see cref="T:C1.WPF.Pdf.PdfCheckBox" />, <see cref="T:C1.WPF.Pdf.PdfPushButton" />, <see cref="T:C1.WPF.Pdf.PdfRadioButton" />,
            <see cref="T:C1.WPF.Pdf.PdfComboBox" /> and <see cref="T:C1.WPF.Pdf.PdfListBox" />.
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfFieldBase.#ctor">
      <summary>
            For internal use only.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.Name">
      <summary>
            Gets or sets the name of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            <para>
            If the current object is a <see cref="T:C1.WPF.Pdf.PdfRadioButton" />,
            the same name must be specified for all radio buttons in a group.
            </para></summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.Value">
      <summary>
            Gets or sets the value of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.DefaultValue">
      <summary>
            Gets or sets the default value of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.IsReadOnly">
      <summary>
            Gets or sets a value indicating whether the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />
            represents a read-only field.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.IsRequired">
      <summary>
            Gets or sets a value indicating whether the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />
            represents a required field.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.BorderWidth">
      <summary>
            Gets or sets the width of the border around the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.BorderStyle">
      <summary>
            Gets or sets the style of the border around the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.BorderColor">
      <summary>
            Gets or sets the color of the border around the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.BackColor">
      <summary>
            Gets or sets the background color of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.ForeColor">
      <summary>
            Gets or sets the foreground (text) color of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.Font">
      <summary>
            Gets or sets the <see cref="P:C1.WPF.Pdf.PdfFieldBase.Font" /> of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.Rotation">
      <summary>
            Gets or sets the rotation angle of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />,
            in degrees counter-clockwise from the <b>X</b> axis.
            </summary>
      <remarks>This field to support only 0, 90, 180 and 270 degree of rotation.</remarks>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.Visibility">
      <summary>
            Gets or sets the visibility of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.ToolTip">
      <summary>
            Gets or sets the tooltip associated with the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.Text">
      <summary>
            Gets or sets the text of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfFieldBase.DefaultText">
      <summary>
            Gets or sets the default text for the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfTextFieldBase">
      <summary>
            The abstract base class for <b>AcroForm</b> field classes
            that allow text input (<see cref="T:C1.WPF.Pdf.PdfTextBox" /> and
            <see cref="T:C1.WPF.Pdf.PdfComboListBase" />).
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextFieldBase.IsSpellCheck">
      <summary>
            Gets or sets a value indicating whether the current <see cref="T:C1.WPF.Pdf.PdfTextFieldBase" />
            should be spell-checked.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfTextBox">
      <summary>
            Represents a text input box.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfTextBox.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfTextBox" /> class.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextBox.IsMultiline">
      <summary>
            Gets or set a value indicating whether the current <see cref="T:C1.WPF.Pdf.PdfTextBox" />
            is multiline.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextBox.IsPassword">
      <summary>
            Gets or set a value indicating whether the current <see cref="T:C1.WPF.Pdf.PdfTextBox" />
            is used for password input.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextBox.IsFileSelect">
      <summary>
            Gets or set a value indicating whether the current <see cref="T:C1.WPF.Pdf.PdfTextBox" />
            is used to enter file names.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextBox.IsScroll">
      <summary>
            Gets or set a value indicating whether the current <see cref="T:C1.WPF.Pdf.PdfTextBox" />
            supports text scrolling.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextBox.Alignment">
      <summary>
            Gets or sets the text alignment of the current <see cref="T:C1.WPF.Pdf.PdfTextBox" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextBox.MaxLength">
      <summary>
            Gets or set the maximum length of the current <see cref="T:C1.WPF.Pdf.PdfTextBox" />.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfPushButton">
      <summary>
            Represents a push button.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfPushButton.Action">
      <summary>
            Represents an action that can be taken when the state of a <see cref="T:C1.WPF.Pdf.PdfPushButton" />
            changes.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPushButton.Action.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> class.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPushButton.Action.#ctor(C1.WPF.Pdf.ButtonAction)">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> class.
            </summary>
      <param name="actionType">Specifies the action type.</param>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPushButton.Action.#ctor(C1.WPF.Pdf.ButtonAction,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> class.
            </summary>
      <param name="actionType">Specifies the action type.</param>
      <param name="cmd">Specifies the command associated with the action (semantics depend on <paramref name="actionType" />).</param>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.Action.ActionType">
      <summary>
            Gets or sets the type of the current <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.Action.Command">
      <summary>
            Gets or sets the command associated with the current <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" />.
            Command semantics depend on <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.ActionType" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.Action.PageNo">
      <summary>
            Gets or sets the 1-based page number for
            <see cref="F:C1.WPF.Pdf.ButtonAction.GotoPage" /> action.
            Note that setting this property overrides the current
            <see cref="P:C1.WPF.Pdf.PdfPushButton.Action.Command" /> value with the string representation
            of the page number.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfPushButton.ActionCollection">
      <summary>
            Represents a collection of <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> objects.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.Owner">
      <summary>
            Gets the <see cref="T:C1.WPF.Pdf.PdfPushButton" /> object that owns the current <see cref="T:C1.WPF.Pdf.PdfPushButton.ActionCollection" /> object.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.Item(C1.WPF.Pdf.ButtonStateChange)">
      <summary>
            Gets the <see cref="T:System.Collections.Generic.List`1" /> of <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> objects from the current collection
            associated with the specified button state change
            (multiple actions can be associated with each state change).
            <para>
            Returns <b>null</b> if no actions are associated with the specified state change
            in the current <see cref="T:C1.WPF.Pdf.PdfPushButton.ActionCollection" />.
            </para></summary>
      <param name="change">The type of state change for which to return the associated actions.</param>
      <returns>The list of <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> objects associated with the specified state change.</returns>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.Item(C1.WPF.Pdf.ButtonStateChange,System.Int32)">
      <summary>
            Gets or sets the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> from the current collection,
            with the specified index among actions associated with the
            specified button state change (<see cref="T:C1.WPF.Pdf.ButtonStateChange" />).
            </summary>
      <param name="change">The type of state change for which to return the associated actions.</param>
      <param name="index">The action index among actions associated with <paramref name="change" />.</param>
      <returns>The action with the specified <paramref name="index" />
            among actions associated with <paramref name="change" />,
            or <b>null</b> if no such action exists.</returns>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.GotFocus">
      <summary>
            Gets the <see cref="T:System.Collections.Generic.List`1" /> of <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> objects from the current collection
            associated with <see cref="F:C1.WPF.Pdf.ButtonStateChange.GotFocus" /> button state change.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.LostFocus">
      <summary>
            Gets the <see cref="T:System.Collections.Generic.List`1" /> of <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> objects from the current collection
            associated with <see cref="F:C1.WPF.Pdf.ButtonStateChange.LostFocus" /> button state change.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.MouseEnter">
      <summary>
            Gets the <see cref="T:System.Collections.Generic.List`1" /> of <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> objects from the current collection
            associated with <see cref="F:C1.WPF.Pdf.ButtonStateChange.MouseEnter" /> button state change.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.MouseLeave">
      <summary>
            Gets the <see cref="T:System.Collections.Generic.List`1" /> of <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> objects from the current collection
            associated with <see cref="F:C1.WPF.Pdf.ButtonStateChange.MouseLeave" /> button state change.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.Pressed">
      <summary>
            Gets the <see cref="T:System.Collections.Generic.List`1" /> of <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> objects from the current collection
            associated with <see cref="F:C1.WPF.Pdf.ButtonStateChange.Pressed" /> button state change.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.Released">
      <summary>
            Gets the <see cref="T:System.Collections.Generic.List`1" /> of <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> objects from the current collection
            associated with <see cref="F:C1.WPF.Pdf.ButtonStateChange.Released" /> button state change.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPushButton.ActionCollection.Clear">
      <summary>
            Clears the current <see cref="T:C1.WPF.Pdf.PdfPushButton.ActionCollection" /> object.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPushButton.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfPushButton" /> class.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.Layout">
      <summary>
            Gets or sets the layout of the current <see cref="T:C1.WPF.Pdf.PdfPushButton" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.Image">
      <summary>
            Gets or sets the image displayed on the current <see cref="T:C1.WPF.Pdf.PdfPushButton" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.Active">
      <summary>
            Gets or sets a value indicating whether the current <see cref="T:C1.WPF.Pdf.PdfPushButton" />
            is active.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.Actions">
      <summary>
            Gets the collection of actions associated with the current <see cref="T:C1.WPF.Pdf.PdfPushButton" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPushButton.Click">
      <summary>
            Gets or sets the <see cref="T:C1.WPF.Pdf.PdfPushButton.Action" /> invoked when the current button is clicked
            (corresponds to <see cref="F:C1.WPF.Pdf.ButtonStateChange.Released" />).
            This property is a shortcut to the first action in the <see cref="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.Released" />
            collection of the current button's <see cref="P:C1.WPF.Pdf.PdfPushButton.Actions" />.
            Note that setting this property clears the <see cref="P:C1.WPF.Pdf.PdfPushButton.ActionCollection.Released" />
            collection prior to assignment.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfRadioCheckBase">
      <summary>
            The abstract base class for <see cref="T:C1.WPF.Pdf.PdfRadioButton" />
            and <see cref="T:C1.WPF.Pdf.PdfCheckBox" /> types.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfRadioCheckBase.CheckmarkType">
      <summary>
            Gets or sets the type of checkmark used by the current object.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfRadioCheckBase.Checked">
      <summary>
            Gets or sets a value indicating whether the current object
            is in a checked state.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfRadioCheckBase.Text">
      <summary>
            Gets or sets the text value of the current object.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfRadioCheckBase.DefaultText">
      <summary>
            Gets or sets the default text value of the current object.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfRadioButton">
      <summary>
            Represents a radio button.
            </summary>
      <remarks>
            To join several radio buttons into a group (so that only one button in the 
            group can be checked at any one moment), assign the same value to the 
            <see cref="P:C1.WPF.Pdf.PdfFieldBase.Name" /> property of all buttons in the group.
            </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfRadioButton.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfRadioButton" /> class.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfCheckBox">
      <summary>
            Represents a checkbox.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfCheckBox.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfRadioButton" /> class.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfComboListBase">
      <summary>
            The abstract base class for <see cref="T:C1.WPF.Pdf.PdfComboBox" />
            and <see cref="T:C1.WPF.Pdf.PdfListBox" /> types.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfComboListBase.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfComboListBase" /> class.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfComboListBase.Items">
      <summary>
            Gets a <see cref="T:System.Collections.Generic.List`1" /> representing the collection of items
            contained in the current combo or list.
            <para>
            Values are strings representing the items.
            </para></summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfComboListBase.SelectedColor">
      <summary>
            Gets the selection color for the current combo or list.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfComboListBase.DefaultValue">
      <summary>
            Gets or sets the default value of the current <see cref="T:C1.WPF.Pdf.PdfFieldBase" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfComboListBase.Text">
      <summary>
            Gets or sets the text value of the current combo or list.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfComboListBase.DefaultText">
      <summary>
            Gets or sets the default text value of the current combo or list.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfComboBox">
      <summary>
            Represents a combo box.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfComboBox.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfComboBox" /> class.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfListBox">
      <summary>
            Represents a list box.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfListBox.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfListBox" /> class.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfListBox.IsMultiselect">
      <summary>
            Gets or sets a value indicating wther multiple items
            can be selected in the current <see cref="T:C1.WPF.Pdf.PdfListBox" />.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfNoteBase">
      <summary>
            The abstract base class from which all other notes
            classes are derived.
            </summary>
      <remarks>
            Non-abstract classes derived from <b>PdfNoteBase</b> include
            <see cref="T:C1.WPF.Pdf.PdfTextNote" />, <see cref="T:C1.WPF.Pdf.PdfLineNote" />,
            <see cref="T:C1.WPF.Pdf.PdfSquareNote" /> and <see cref="T:C1.WPF.Pdf.PdfCircleNote" />.
            </remarks>
    </member>
    <member name="P:C1.WPF.Pdf.PdfNoteBase.Thickness">
      <summary>
            Gets or sets the thickness of the current note's border, in points.
            Valid values are in the range from 1 to 12 points.
            Default thickness is 1 point.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfNoteBase.ForeColor">
      <summary>
            Gets or sets the foreground/line color of the current note.
            The default is black for text notes, red for all others.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfNoteBase.Opacity">
      <summary>
            Gets or sets the opacity of the current note, in percent from 0 to 100.
            The default value is 100%.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfNoteBase.Contents">
      <summary>
            Gets or sets the text of the current note.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfNoteBase.PopupOpen">
      <summary>
            Gets or sets a value indicating whether the popup associated with the current note
            should show when the document is opened.
            <para>This property is false by default.</para></summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfRectNote">
      <summary>
            The abstract base class for notes that have a surface
            (<see cref="T:C1.WPF.Pdf.PdfTextNote" />, <see cref="T:C1.WPF.Pdf.PdfSquareNote" />).
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfRectNote.FillColor">
      <summary>
            Gets or sets the fill (background) color of the current note.
            <para>
            The default fill color is yellow for text, transparent for other note types.
            </para></summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfTextNote">
      <summary>
            Represents a text note.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfTextNote.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfTextNote" /> class.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextNote.Font">
      <summary>
            Gets or sets the <see cref="P:C1.WPF.Pdf.PdfTextNote.Font" /> of the current <see cref="T:C1.WPF.Pdf.PdfTextNote" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextNote.BorderColor">
      <summary>
            Gets or sets the color of the border around the current <see cref="T:C1.WPF.Pdf.PdfTextNote" />.
            <para>The default border color is black.</para></summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfTextNote.Alignment">
      <summary>
            Gets or sets the horizontal alignment of the text the current <see cref="T:C1.WPF.Pdf.PdfTextNote" />.
            <para>The default horizontal alignment is near (left).</para></summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfLineNote">
      <summary>
            Represents a note that is a single straight line.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfLineNote.#ctor(System.Windows.Point,System.Windows.Point)">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfLineNote" /> class.
            </summary>
      <param name="pt1">The starting point of the line.</param>
      <param name="pt2">The ending point of the line.</param>
    </member>
    <member name="P:C1.WPF.Pdf.PdfLineNote.Begin">
      <summary>
            Gets the starting point of the current line note.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfLineNote.End">
      <summary>
            Gets the ending point of the current line note.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfLineNote.Rectangle">
      <summary>
            Gets the (approximate) bounding rectangle for the current line note.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfLineNote.Opacity">
      <summary>
            Gets or sets the opacity of the current note, in percent from 0 to 100.
            The default value is 100%.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfSquareNote">
      <summary>
            Represents a rectangular note.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfSquareNote.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfSquareNote" /> class.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfCircleNote">
      <summary>
            Represents an elliptical note.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfCircleNote.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:C1.WPF.Pdf.PdfCircleNote" /> class.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfPageCollection">
      <summary>
            A collection of <see cref="T:C1.WPF.Pdf.PdfPage" /> objects that make up the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPageCollection.Item(System.Int32)">
      <summary>
            Gets or sets the <see cref="T:C1.WPF.Pdf.PdfPage" /> at a specific position in the document.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Add(C1.WPF.Pdf.PdfPage)">
      <summary>
            Adds a page to the document.
            </summary>
      <param name="page">
        <see cref="T:C1.WPF.Pdf.PdfPage" /> to add to the document.</param>
      <returns>The index of the new page in the document.</returns>
      <remarks>
        <para>Since the <see cref="T:C1.WPF.Pdf.PdfPage" /> class has no public constructors, the only 
            way to use this overload is to remove an existing page from the document 
            first, then add that page back into the document.</para>
        <para>Each page can appear only once in the document. Trying to add the same 
            page twice will throw an exception.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Insert(System.Int32,C1.WPF.Pdf.PdfPage)">
      <summary>
            Inserts a page at a specific position in the document.
            </summary>
      <param name="index">Position where the new page will be inserted in the document.</param>
      <param name="page">
        <see cref="T:C1.WPF.Pdf.PdfPage" /> to add to the document.</param>
      <remarks>
        <para>Since the <see cref="T:C1.WPF.Pdf.PdfPage" /> class has no public constructors, the only 
            way to use this overload is to remove an existing page from the document 
            first, then add that page back into the document.</para>
        <para>Each page can appear only once in the document. Trying to add the same 
            page twice will throw an exception.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Remove(C1.WPF.Pdf.PdfPage)">
      <summary>
            Removes a page from a document.
            </summary>
      <param name="page">
        <see cref="T:C1.WPF.Pdf.PdfPage" /> to remove from the document.</param>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.RemoveAt(System.Int32)">
      <summary>
            Removes a page at a specific position from the document.
            </summary>
      <param name="index">Index of the page to be removed from the document.</param>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.AddRange(System.Collections.ICollection)">
      <summary>
            Adds the elements of an <see cref="T:System.Collections.ICollection" /> to the end of the document.
            </summary>
      <param name="c">Collection of <see cref="T:C1.WPF.Pdf.PdfPage" /> objects to add to the document.</param>
      <remarks>
        <para>Since the <see cref="T:C1.WPF.Pdf.PdfPage" /> class has no public constructors, the only 
            way to use this overload is to remove existing pages from the document 
            first, then add them back into the document.</para>
        <para>Each page can appear only once in the document. Trying to add the same 
            page twice will throw an exception.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.InsertRange(System.Int32,System.Collections.ICollection)">
      <summary>
            Inserts the elements of an <see cref="T:System.Collections.ICollection" /> at a specified position 
            in the document.
            </summary>
      <param name="index">Position where the new pages will be inserted.</param>
      <param name="c">Collection of <see cref="T:C1.WPF.Pdf.PdfPage" /> objects to add to the document.</param>
      <remarks>
        <para>Since the <see cref="T:C1.WPF.Pdf.PdfPage" /> class has no public constructors, the only 
            way to use this overload is to remove existing pages from the document 
            first, then add them back into the document.</para>
        <para>Each page can appear only once in the document. Trying to add the same 
            page twice will throw an exception.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.RemoveRange(System.Int32,System.Int32)">
      <summary>
            Removes a range of pages from the document.
            </summary>
      <param name="index">Index of the first page to remove.</param>
      <param name="count">Number of pages to remove from the document.</param>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Add">
      <summary>
            Creates a new <see cref="T:C1.WPF.Pdf.PdfPage" /> and adds it to the end of the document.
            </summary>
      <returns>The index of the new page.</returns>
      <remarks>
        <para>The size of the new page is determined by the <see cref="P:C1.WPF.Pdf.C1PdfDocument.PageSize" /> 
            property of the parent document.</para>
        <para>The new page becomes current after it is added to the document (see the 
            <see cref="P:C1.WPF.Pdf.C1PdfDocument.CurrentPage" /> property).</para>
        <para>You can also add pages to a <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> by calling the 
            <see cref="M:C1.WPF.Pdf.C1PdfDocumentBase.NewPage" /> method.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Add(System.Windows.Size)">
      <summary>
            Creates a new <see cref="T:C1.WPF.Pdf.PdfPage" /> with the specified size and adds it to 
            the end of the document.
            </summary>
      <param name="pageSize">The size of the new page, in points.</param>
      <returns>The index of the new page.</returns>
      <remarks>
        <para>The new page becomes current after it is added to the document (see the <see cref="P:C1.WPF.Pdf.C1PdfDocument.CurrentPage" /> property).</para>
        <para>You can also add pages to a <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> by calling the <see cref="M:C1.WPF.Pdf.C1PdfDocumentBase.NewPage" /> method.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Add(C1.WPF.Pdf.PaperKind)">
      <summary>
            Creates a new <see cref="T:C1.WPF.Pdf.PdfPage" /> with the specified size and adds it to 
            the end of the document.
            </summary>
      <param name="paperKind">The size of the new page, expressed as a <see cref="T:C1.WPF.Pdf.PaperKind" />.</param>
      <returns>The index of the new page.</returns>
      <remarks>
        <para>The new page becomes current after it is added to the document (see the <see cref="P:C1.WPF.Pdf.C1PdfDocument.CurrentPage" /> property).</para>
        <para>You can also add pages to a <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> by calling the <see cref="M:C1.WPF.Pdf.C1PdfDocumentBase.NewPage" /> method.</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Insert(System.Int32)">
      <summary>
            Creates a new page and inserts it at a specific position in the document.
            </summary>
      <param name="index">The position where the new page will be inserted.</param>
      <remarks>
        <para>The size of the new page is determined by the <see cref="P:C1.WPF.Pdf.C1PdfDocument.PageSize" /> property 
            of the parent document.</para>
        <para>The new page becomes current after it is added to the document (see the <see cref="P:C1.WPF.Pdf.C1PdfDocument.CurrentPage" /> property).</para>
      </remarks>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Insert(System.Int32,System.Windows.Size)">
      <summary>
            Creates a new page with the specified size and inserts it at a specific 
            position in the document.
            </summary>
      <param name="index">The position where the new page will be inserted.</param>
      <param name="pageSize">The size of the new page, expressed in points.</param>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Insert(System.Int32,C1.WPF.Pdf.PaperKind)">
      <summary>
            Creates a new page with the specified size and inserts it at a specific 
            position in the document.
            </summary>
      <param name="index">The position where the new page will be inserted.</param>
      <param name="paperKind">The size of the new page, expressed as a <see cref="T:C1.WPF.Pdf.PaperKind" />.</param>
    </member>
    <member name="M:C1.WPF.Pdf.PdfPageCollection.Clear">
      <summary>
            Removes all pages from the document.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfPage">
      <summary>
            PdfPage
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfPage.Tag">
      <summary>
            Gets or sets an object associated with the page that contains data
            useful to the application.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfEncryptionType">
      <summary>
            Specifies the type of encryption used for PDF security.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfEncryptionType.NotPermit">
      <summary>
            Encryption is unavailable due to FIPS compliance (MD5 and AES128 are not FIPS-compliant).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfEncryptionType.Standard40">
      <summary>Standard 40 bit encryption algorithm.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfEncryptionType.Standard128">
      <summary>Standard 128 bit encryption algorithm.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfEncryptionType.Aes128">
      <summary>AES 128 bit encryption algorithm.</summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfSecurity">
      <summary>
            Provides security and encryption services and manages permissions for 
            <see cref="T:C1.WPF.Pdf.C1PdfDocument" /> objects.
            </summary>
      <remarks>
        <para>
          <see cref="T:C1.WPF.Pdf.PdfSecurity" /> has properties that allow you to specify 
            owner and user passwords for a Pdf document. The <see cref="P:C1.WPF.Pdf.PdfSecurity.OwnerPassword" />
            is required to change passwords and permissions. The <see cref="P:C1.WPF.Pdf.PdfSecurity.UserPassword" /> 
            is required to open the document.</para>
        <para>
          <see cref="T:C1.WPF.Pdf.PdfSecurity" /> also has properties that allow you to specify 
            what permissions a regular user should have. For example, you may allow users 
            to see the document but not to print or edit it.</para>
        <para>You can specify permissions and set only the <see cref="P:C1.WPF.Pdf.PdfSecurity.OwnerPassword" />, 
            leaving the <see cref="P:C1.WPF.Pdf.PdfSecurity.UserPassword" /> empty. In this case, anyone will be 
            allowed to open the document, but only the owner will be allowed to change 
            the permissions. </para>
        <para>Note that the encryption scheme used by Pdf is public and is not 100% 
            secure. There are ways to crack encrypted Pdf documents. The security provided 
            is adequate to protect your documents from most casual attacks, but if your 
            data is truly sensitive you should not rely on Pdf encryption alone.</para>
      </remarks>
    </member>
    <member name="P:C1.WPF.Pdf.PdfSecurity.Encryption">
      <summary>
            Gets or sets the type of encryption used for PDF security.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfSecurity.OwnerPassword">
      <summary>
            Gets or sets the password required to change permissions for the Pdf document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfSecurity.UserPassword">
      <summary>
            Gets or sets the password required to open the Pdf document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfSecurity.AllowPrint">
      <summary>
            Gets or sets whether the user can print the Pdf document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfSecurity.AllowCopyContent">
      <summary>
            Gets or sets whether the user can copy contents from the Pdf document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfSecurity.AllowEditContent">
      <summary>
            Gets or sets whether the user can edit the contents of the Pdf document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfSecurity.AllowEditAnnotations">
      <summary>
            Gets or sets whether the user can edit annotations in the Pdf document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfSecurity.SignedTime">
      <summary>
            Gets universal signed time for the Pdf document.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PageLayout">
      <summary>
            Specifies the page layout to be used when the document is opened.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageLayout.ViewerDefault">
      <summary>Do not specify a layout and use the current viewer default.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageLayout.SinglePage">
      <summary>Display one page at a time.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageLayout.OneColumn">
      <summary>Display the pages in one column.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageLayout.TwoColumnLeft">
      <summary>Display the pages in two columns, with odd-numbered pages on the left.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageLayout.TwoColumnRight">
      <summary>Display the pages in two columns, with odd-numbered pages on the right.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageLayout.TwoPageLeft">
      <summary>
            (PDF 1.5) Display the pages two at a time, with odd-numbered pages on the left.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageLayout.TwoPageRight">
      <summary>
            (PDF 1.5) Display the pages two at a time, with odd-numbered pages on the right.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PageMode">
      <summary>
            Specifies how the document should be displayed when opened.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageMode.Automatic">
      <summary>Document outline visible if available.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageMode.UseNone">
      <summary>Neither document outline nor thumbnail images visible.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageMode.UseOutlines">
      <summary>Document outline visible.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageMode.UseThumbs">
      <summary>Thumbnail images visible.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageMode.FullScreen">
      <summary>Full-screen mode, with no menu bar, window controls, or any other window visible.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageMode.UseOC">
      <summary>
            (PDF 1.5) Optional content group panel visible.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PageMode.UseAttachments">
      <summary>
            (PDF 1.6) Attachments panel visible.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfViewerPreferences">
      <summary>
            Represents viewer preferences to be used when displaying the document.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfViewerPreferences.PageMode">
      <summary>
            Gets or sets how the document should be displayed when opened.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfViewerPreferences.PageLayout">
      <summary>
            Gets or sets the page layout to be used when the document is opened.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfViewerPreferences.HideToolBar">
      <summary>
            Gets or sets whether to hide the viewer tool bars when the document is active.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfViewerPreferences.HideMenuBar">
      <summary>
            Gets or sets whether to hide the viewer menu bar when the document is active.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfViewerPreferences.FitWindow">
      <summary>
            Gets or sets whether to resize the document's window to fit the size of the first displayed page.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.PdfViewerPreferences.CenterWindow">
      <summary>
            Gets or sets whether to position the document's window in the center of the screen.
            </summary>
    </member>
    <!-- Badly formed XML comment ignored for member "M:C1.WPF.Pdf.Reader.AdobeStreamReader.ReadHexString" -->
    <!-- Badly formed XML comment ignored for member "F:C1.WPF.Pdf.Reader.AdobeCMap.m_bfcharMapping" -->
    <!-- Badly formed XML comment ignored for member "F:C1.WPF.Pdf.Reader.AdobeCMap.m_bfrangeMapping" -->
    <member name="T:C1.WPF.Pdf.Reader.PdfFontWeight">
      <summary>
            Defines possible values of the font weight value, see 5.7 chapter of PDF reference 1.7.
            Names are taken from DirectWrite FontWeight, see: C1.Util.DX.DirectWrite.FontWeight enumeration.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.Thin">
      <summary>Thin.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.ExtraLight">
      <summary>Thin.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.UltraLight">
      <summary>UltraLight.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.Light">
      <summary>Light.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.Normal">
      <summary>Normal.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.Regular">
      <summary>Regular.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.Medium">
      <summary>Medium.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.DemiBold">
      <summary>DemiBold.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.SemiBold">
      <summary>SemiBold.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.Bold">
      <summary>Bold.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.ExtraBold">
      <summary>ExtraBold.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.Black">
      <summary>Black.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontWeight.Heavy">
      <summary>Heavy.</summary>
    </member>
    <member name="T:C1.WPF.Pdf.Reader.PdfFontStretch">
      <summary>
            Defines possible values of the font stretch value, see 5.7 chapter of PDF reference 1.7.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontStretch.UltraCondensed">
      <summary>UltraCondensed.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontStretch.ExtraCondensed">
      <summary>ExtraCondensed.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontStretch.Condensed">
      <summary>Condensed.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontStretch.SemiCondensed">
      <summary>SemiCondensed.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontStretch.Normal">
      <summary>Normal.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontStretch.SemiExpanded">
      <summary>SemiExpanded.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontStretch.Expanded">
      <summary>Expanded.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontStretch.ExtraExpanded">
      <summary>ExtraExpanded.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.Reader.PdfFontStretch.UltraExpanded">
      <summary>UltraExpanded.</summary>
    </member>
    <member name="T:C1.WPF.Pdf.Reader.PdfObjectWrapper">
      <summary>
            Base class for specialized objects such as <see cref="T:C1.WPF.Pdf.PdfPage" />
            and <see cref="T:C1.WPF.Pdf.Reader.PdfOutlineNode" /> that wrap low-level pdf objects.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.FillMode">
      <summary>
             Specifies how the interior of a closed path is filled.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.FillMode.Alternate">
      <summary>Specifies the alternate fill mode.</summary>
    </member>
    <member name="F:C1.WPF.Pdf.FillMode.Winding">
      <summary>Specifies the winding fill mode.</summary>
    </member>
    <member name="T:C1.WPF.Pdf.DashStyle">
      <summary>
            Specifies the style of dashed lines drawn with a <see cref="T:C1.WPF.Pdf.Pen" /> object.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.DashStyle.Solid">
      <summary>
            Specifies a solid line.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.DashStyle.Dash">
      <summary>
            Specifies a line consisting of dashes.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.DashStyle.Dot">
      <summary>
            Specifies a line consisting of dots.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.DashStyle.DashDot">
      <summary>
            Specifies a line consisting of a repeating pattern of dash-dot.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.DashStyle.DashDotDot">
      <summary>
            Specifies a line consisting of a repeating pattern of dash-dot-dot.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.DashStyle.Custom">
      <summary>
            Specifies a user-defined custom dash style.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.ContentAlignment">
      <summary>
            Specifies alignment of content within a layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ContentAlignment.TopLeft">
      <summary>
            Content is rendered on the top-left corner of the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ContentAlignment.TopCenter">
      <summary>
            Content is centered on the top edge of the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ContentAlignment.TopRight">
      <summary>
            Content is rendered on the top-right corner of the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ContentAlignment.MiddleLeft">
      <summary>
            Content is centered on the left edge of the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ContentAlignment.MiddleCenter">
      <summary>
            Content is centered on the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ContentAlignment.MiddleRight">
      <summary>
            Content is centered on the right edge of the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ContentAlignment.BottomLeft">
      <summary>
            Content is rendered on the bottom left corner of the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ContentAlignment.BottomCenter">
      <summary>
            Content is centered on the bottom edge of the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.ContentAlignment.BottomRight">
      <summary>
            Content is rendered on the bottom right corner of the layout rectangle.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PaperKind">
      <summary>
            Specifies the standard paper sizes.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Custom">
      <summary>
            The paper size is defined by the user.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Letter">
      <summary>
            Letter paper (8.5 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Legal">
      <summary>
            Legal paper (8.5 in. by 14 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A4">
      <summary>
            A4 paper (210 mm by 297 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.CSheet">
      <summary>
            C paper (17 in. by 22 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.DSheet">
      <summary>
            D paper (22 in. by 34 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.ESheet">
      <summary>
            E paper (34 in. by 44 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.LetterSmall">
      <summary>
            Letter small paper (8.5 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Tabloid">
      <summary>
            Tabloid paper (11 in. by 17 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Ledger">
      <summary>
            Ledger paper (17 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Statement">
      <summary>
            Statement paper (5.5 in. by 8.5 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Executive">
      <summary>
            Executive paper (7.25 in. by 10.5 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A3">
      <summary>
            A3 paper (297 mm by 420 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A4Small">
      <summary>
            A4 small paper (210 mm by 297 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A5">
      <summary>
            A5 paper (148 mm by 210 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B4">
      <summary>
            B4 paper (250 mm by 353 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B5">
      <summary>
            B5 paper (176 mm by 250 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Folio">
      <summary>
            Folio paper (8.5 in. by 13 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Quarto">
      <summary>
            Quarto paper (215 mm by 275 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Standard10x14">
      <summary>
            Standard paper (10 in. by 14 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Standard11x17">
      <summary>
            Standard paper (11 in. by 17 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Note">
      <summary>
            Note paper (8.5 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Number9Envelope">
      <summary>
            #9 envelope (3.875 in. by 8.875 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Number10Envelope">
      <summary>
            #10 envelope (4.125 in. by 9.5 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Number11Envelope">
      <summary>
            #11 envelope (4.5 in. by 10.375 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Number12Envelope">
      <summary>
            #12 envelope (4.75 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Number14Envelope">
      <summary>
            #14 envelope (5 in. by 11.5 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.DLEnvelope">
      <summary>
            DL envelope (110 mm by 220 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.C5Envelope">
      <summary>
            C5 envelope (162 mm by 229 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.C3Envelope">
      <summary>
            C3 envelope (324 mm by 458 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.C4Envelope">
      <summary>
            C4 envelope (229 mm by 324 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.C6Envelope">
      <summary>
            C6 envelope (114 mm by 162 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.C65Envelope">
      <summary>
            C65 envelope (114 mm by 229 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B4Envelope">
      <summary>
            B4 envelope (250 mm by 353 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B5Envelope">
      <summary>
            B5 envelope (176 mm by 250 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B6Envelope">
      <summary>
            B6 envelope (176 mm by 125 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.ItalyEnvelope">
      <summary>
            Italy envelope (110 mm by 230 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.MonarchEnvelope">
      <summary>
            Monarch envelope (3.875 in. by 7.5 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PersonalEnvelope">
      <summary>
            6 3/4 envelope (3.625 in. by 6.5 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.USStandardFanfold">
      <summary>
            US standard fanfold (14.875 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.GermanStandardFanfold">
      <summary>
            German standard fanfold (8.5 in. by 12 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.GermanLegalFanfold">
      <summary>
            German legal fanfold (8.5 in. by 13 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.IsoB4">
      <summary>
            ISO B4 (250 mm by 353 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapanesePostcard">
      <summary>
            Japanese postcard (100 mm by 148 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Standard9x11">
      <summary>
            Standard paper (9 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Standard10x11">
      <summary>
            Standard paper (10 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Standard15x11">
      <summary>
            Standard paper (15 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.InviteEnvelope">
      <summary>
            Invitation envelope (220 mm by 220 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.LetterExtra">
      <summary>
            Letter extra paper (9.275 in. by 12 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.LegalExtra">
      <summary>
            Legal extra paper (9.275 in. by 15 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.TabloidExtra">
      <summary>
            Tabloid extra paper (11.69 in. by 18 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A4Extra">
      <summary>
            A4 extra paper (236 mm by 322 mm). This value is specific to the PostScript driver and is used only by Linotronic printers to help save paper.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.LetterTransverse">
      <summary>
            Letter transverse paper (8.275 in. by 11 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A4Transverse">
      <summary>
            A4 transverse paper (210 mm by 297 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.LetterExtraTransverse">
      <summary>
            Letter extra transverse paper (9.275 in. by 12 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.APlus">
      <summary>
            SuperA/SuperA/A4 paper (227 mm by 356 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.BPlus">
      <summary>
            SuperB/SuperB/A3 paper (305 mm by 487 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.LetterPlus">
      <summary>
            Letter plus paper (8.5 in. by 12.69 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A4Plus">
      <summary>
            A4 plus paper (210 mm by 330 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A5Transverse">
      <summary>
            A5 transverse paper (148 mm by 210 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B5Transverse">
      <summary>
            JIS B5 transverse paper (182 mm by 257 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A3Extra">
      <summary>
            A3 extra paper (322 mm by 445 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A5Extra">
      <summary>
            A5 extra paper (174 mm by 235 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B5Extra">
      <summary>
            ISO B5 extra paper (201 mm by 276 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A2">
      <summary>
            A2 paper (420 mm by 594 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A3Transverse">
      <summary>
            A3 transverse paper (297 mm by 420 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A3ExtraTransverse">
      <summary>
            A3 extra transverse paper (322 mm by 445 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseDoublePostcard">
      <summary>
            Japanese double postcard (200 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A6">
      <summary>
            A6 paper (105 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeKakuNumber2">
      <summary>
            Japanese Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeKakuNumber3">
      <summary>
            Japanese Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeChouNumber3">
      <summary>
            Japanese Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeChouNumber4">
      <summary>
            Japanese Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.LetterRotated">
      <summary>
            Letter rotated paper (11 in. by 8.5 in.).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A3Rotated">
      <summary>
            A3 rotated paper (420 mm by 297 mm).
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A4Rotated">
      <summary>
            A4 rotated paper (297 mm by 210 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A5Rotated">
      <summary>
            A5 rotated paper (210 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B4JisRotated">
      <summary>
            JIS B4 rotated paper (364 mm by 257 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B5JisRotated">
      <summary>
            JIS B5 rotated paper (257 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapanesePostcardRotated">
      <summary>
            Japanese rotated postcard (148 mm by 100 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseDoublePostcardRotated">
      <summary>
            Japanese rotated double postcard (148 mm by 200 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.A6Rotated">
      <summary>
            A6 rotated paper (148 mm by 105 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeKakuNumber2Rotated">
      <summary>
            Japanese rotated Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeKakuNumber3Rotated">
      <summary>
            Japanese rotated Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeChouNumber3Rotated">
      <summary>
            Japanese rotated Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeChouNumber4Rotated">
      <summary>
            Japanese rotated Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B6Jis">
      <summary>
            JIS B6 paper (128 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.B6JisRotated">
      <summary>
            JIS B6 rotated paper (182 mm by 128 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Standard12x11">
      <summary>
            Standard paper (12 in. by 11 in.). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeYouNumber4">
      <summary>
            Japanese You #4 envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.JapaneseEnvelopeYouNumber4Rotated">
      <summary>
            Japanese You #4 rotated envelope. Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Prc16K">
      <summary>
            People's Republic of China 16K paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Prc32K">
      <summary>
            People's Republic of China 32K paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Prc32KBig">
      <summary>
            People's Republic of China 32K big paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber1">
      <summary>
            People's Republic of China #1 envelope (102 mm by 165 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber2">
      <summary>
            People's Republic of China #2 envelope (102 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber3">
      <summary>
            People's Republic of China #3 envelope (125 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber4">
      <summary>
            People's Republic of China #4 envelope (110 mm by 208 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber5">
      <summary>
            People's Republic of China #5 envelope (110 mm by 220 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber6">
      <summary>
            People's Republic of China #6 envelope (120 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber7">
      <summary>
            People's Republic of China #7 envelope (160 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber8">
      <summary>
            People's Republic of China #8 envelope (120 mm by 309 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber9">
      <summary>
            People's Republic of China #9 envelope (229 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber10">
      <summary>
            People's Republic of China #10 envelope (324 mm by 458 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Prc16KRotated">
      <summary>
            People's Republic of China 16K rotated paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Prc32KRotated">
      <summary>
            People's Republic of China 32K rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.Prc32KBigRotated">
      <summary>
            People's Republic of China 32K big rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber1Rotated">
      <summary>
            People's Republic of China #1 rotated envelope (165 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber2Rotated">
      <summary>
            People's Republic of China #2 rotated envelope (176 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber3Rotated">
      <summary>
            People's Republic of China #3 rotated envelope (176 mm by 125 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber4Rotated">
      <summary>
            People's Republic of China #4 rotated envelope (208 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber5Rotated">
      <summary>
            People's Republic of China Envelope #5 rotated envelope (220 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber6Rotated">
      <summary>
            People's Republic of China #6 rotated envelope (230 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber7Rotated">
      <summary>
            People's Republic of China #7 rotated envelope (230 mm by 160 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber8Rotated">
      <summary>
            People's Republic of China #8 rotated envelope (309 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber9Rotated">
      <summary>
            People's Republic of China #9 rotated envelope (324 mm by 229 mm). Requires Windows 98, Windows NT 4.0, or later.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PaperKind.PrcEnvelopeNumber10Rotated">
      <summary>
            People's Republic of China #10 rotated envelope (458 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later.    }
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.PdfFontStyle">
      <summary>
            Specifies style information applied to text.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFontStyle.Bold">
      <summary>
            Bold text.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFontStyle.Italic">
      <summary>
            Italic text.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFontStyle.Regular">
      <summary>
            Normal text.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFontStyle.Strikeout">
      <summary>
            Text with a line through the middle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.PdfFontStyle.Underline">
      <summary>
            Underlined text.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.Font">
      <summary>
            Defines a format for text, including font face, size, and style attributes.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.Font.#ctor(System.String,System.Double,C1.WPF.Pdf.PdfFontStyle)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.Font" /> object.
            </summary>
      <param name="name">Font face.</param>
      <param name="sizeInPoints">Font size in points.</param>
      <param name="style">Font style attributes.</param>
    </member>
    <member name="M:C1.WPF.Pdf.Font.#ctor(System.String,System.Double)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.Font" /> object.
            </summary>
      <param name="name">Font face.</param>
      <param name="sizeInPoints">Font size in points.</param>
    </member>
    <member name="M:C1.WPF.Pdf.Font.#ctor(C1.WPF.Pdf.PdfFontStyle,System.Double,System.String)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.Font" /> object from a font file.
            </summary>
      <param name="style">Font style attributes.</param>
      <param name="sizeInPoints">The font size in points.</param>
      <param name="path">The path for raw font file.</param>
    </member>
    <member name="M:C1.WPF.Pdf.Font.#ctor(C1.WPF.Pdf.PdfFontStyle,System.Double,C1.Util.FontSubSet)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.Font" /> object.
            </summary>
      <param name="style">Font style attributes.</param>
      <param name="sizeInPoints">The font size in points.</param>
      <param name="subset">The font subset object.</param>
    </member>
    <member name="M:C1.WPF.Pdf.Font.#ctor(C1.WPF.Pdf.PdfFontStyle,System.Double,System.Byte[])">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.Font" /> object.
            </summary>
      <param name="style">Font style attributes.</param>
      <param name="sizeInPoints">The font size in points.</param>
      <param name="fontData">The raw font file data.</param>
    </member>
    <member name="P:C1.WPF.Pdf.Font.Name">
      <summary>
            Gets the font name.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Font.Size">
      <summary>
            Gets the font size in points.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Font.Style">
      <summary>
            Gets the font style attributes.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Font.Bold">
      <summary>
            Gets a value that determines whether this font is bold.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Font.Italic">
      <summary>
            Gets a value that determines whether this font is italic.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Font.Underline">
      <summary>
            Gets a value that determines whether this font is underlined.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Font.Strikeout">
      <summary>
            Gets a value that determines whether this font has a horizontal line through it.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Font.GdiCharSet">
      <summary>
            Gets or sets character set code.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Font.GdiVerticalFont">
      <summary>
            Gets or sets vertical font flag.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.Pen">
      <summary>
            Represents an object used to draw lines and curves.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.Pen.#ctor(System.Windows.Media.Color)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.Pen" />.
            </summary>
      <param name="color">Color of the lines drawn with this pen.</param>
    </member>
    <member name="M:C1.WPF.Pdf.Pen.#ctor(System.Windows.Media.Color,System.Double)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.Pen" />.
            </summary>
      <param name="color">Color of the lines drawn with this pen.</param>
      <param name="width">Width of the lines drawn with this pen in points.</param>
    </member>
    <member name="P:C1.WPF.Pdf.Pen.Color">
      <summary>
            Gets or sets the pen color.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Pen.Width">
      <summary>
            Gets or sets the pen width.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Pen.StartCap">
      <summary>
            Gets or sets the cap style used to draw line ends with this pen.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Pen.LineJoin">
      <summary>
            Gets or sets the style used to join lines drawn with this pen.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Pen.DashStyle">
      <summary>
            Gets or sets the style of dashed lines drawn with this pen.
            Setting this to anything other than custom resets the <see cref="P:C1.WPF.Pdf.Pen.DashPattern" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Pen.DashPattern">
      <summary>
            Gets or sets the custom dash pattern of lines drawn with this pen.
            Setting this to a non-null value resets the <see cref="P:C1.WPF.Pdf.Pen.DashStyle" />.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.Pen.DashOffset">
      <summary>
            Gets or sets the distance within the dash pattern where a dash begins. The default value is 0.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.Pen.op_Implicit(System.Windows.Media.Color)~C1.WPF.Pdf.Pen">
      <summary>
            Implicitly converts a <see cref="P:C1.WPF.Pdf.Pen.Color" /> to a <see cref="T:C1.WPF.Pdf.Pen" />.
            </summary>
      <param name="color">The <see cref="P:C1.WPF.Pdf.Pen.Color" /> value.</param>
      <returns>A <see cref="T:C1.WPF.Pdf.Pen" /> with the specified color.</returns>
    </member>
    <member name="T:C1.WPF.Pdf.StringFormatFlags">
      <summary>
            Specifies the display and layout information for strings.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.StringFormatFlags.DirectionRightToLeft">
      <summary>
            Text is displayed from right to left.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.StringFormatFlags.DirectionVertical">
      <summary>
            Text is displayed in the vertical direction.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.StringFormatFlags.DisplayFormatControl">
      <summary>
            Show control characters as glyphs.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.StringFormatFlags.FitBlackBox">
      <summary>
            Allow parts of characters to overhang the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.StringFormatFlags.LineLimit">
      <summary>
            Only entire lines are laid out in the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.StringFormatFlags.MeasureTrailingSpaces">
      <summary>
            Includes the whitespace at the end of lines when laying out the text.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.StringFormatFlags.NoClip">
      <summary>
            Allow text to render outside the layout rectangle.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.StringFormatFlags.NoFontFallback">
      <summary>
            Disable fallback to alternate fonts when requested font is not available.
            </summary>
    </member>
    <member name="F:C1.WPF.Pdf.StringFormatFlags.NoWrap">
      <summary>
            Disable wrapping within the layout rectangle.
            </summary>
    </member>
    <member name="T:C1.WPF.Pdf.StringFormat">
      <summary>
            Encapsulates text layout information.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.StringFormat.#ctor">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.StringFormat" />.
            </summary>
    </member>
    <member name="M:C1.WPF.Pdf.StringFormat.#ctor(System.Windows.Controls.TextBlock)">
      <summary>
            Initializes a new instance of a <see cref="T:C1.WPF.Pdf.StringFormat" />.
            </summary>
      <param name="tb">
        <see cref="T:C1.WPF.Pdf.PdfTextBlock" /> used to initialize the new <see cref="T:C1.WPF.Pdf.StringFormat" />.</param>
    </member>
    <member name="P:C1.WPF.Pdf.StringFormat.GenericDefault">
      <summary>
            Gets a reference to the default <see cref="T:C1.WPF.Pdf.StringFormat" /> object.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.StringFormat.Alignment">
      <summary>
            Gets or sets the horizontal alignment of text.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.StringFormat.LineAlignment">
      <summary>
            Gets or sets the vertical alignment of text.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.StringFormat.FormatFlags">
      <summary>
            Gets or sets a <see cref="T:C1.WPF.Pdf.StringFormatFlags" /> that contains formatting options.
            </summary>
    </member>
    <member name="P:C1.WPF.Pdf.StringFormat.LineSpacing">
      <summary>
            Gets or sets the line spacing.
            </summary>
      <remarks>
            Set this variable to zero to use the default line spacing. Set it to a positive
            value to use an absolute line spacing in points. Set it to a negative value to
            specify a multiple of the font height (e.g. -2 means double spacing).
            </remarks>
    </member>
    <member name="P:C1.WPF.Pdf.StringFormat.Angle">
      <summary>
            Gets or sets the angle in degrees used to render the text.
            </summary>
      <remarks>
            Angles are measured counter-clockwise from the left to right direction.
            </remarks>
    </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="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="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.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="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.ToString">
      <summary>Return a suitable String representation of the class instance. </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.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="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.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="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="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.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="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.ToString">
      <summary>Return a suitable String representation of the class instance. </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="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="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="F:CSJ2K.Color.ColorSpace.pl">
      <summary>Parameter Specs </summary>
    </member>
    <member name="F:CSJ2K.Color.ColorSpace.hd">
      <summary>Parameter Specs </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="T:CSJ2K.Color.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="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.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="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="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.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>
    <!-- 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="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.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="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="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>
    <!-- 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="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>
    <!-- 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.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="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>
    </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.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="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="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="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.kMonochromeInput">
      <summary>input type   </summary>
    </member>
    <member name="F:CSJ2K.Icc.ICCProfile.kThreeCompInput">
      <summary>input 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.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="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="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="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="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>
    <!-- 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="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="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.ksRGB8ShadowSlope">
      <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="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="P:CSJ2K.Icc.MatrixBasedRestrictedProfile.Type">
      <summary> Get the type of RestrictedICCProfile for this object</summary>
      <returns> kThreeCompInput
            </returns>
    </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="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="P:CSJ2K.Icc.MonochromeInputRestrictedProfile.Type">
      <summary> Get the type of RestrictedICCProfile for this object</summary>
      <returns> kMonochromeInput
            </returns>
    </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.ToString">
      <returns> String representation of a MonochromeInputRestrictedProfile
            </returns>
    </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="P:CSJ2K.Icc.RestrictedICCProfile.Type">
      <summary>Returns the appropriate input type enum. </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.kMonochromeInput">
      <summary>input type enumerator </summary>
    </member>
    <member name="F:CSJ2K.Icc.RestrictedICCProfile.kThreeCompInput">
      <summary>input type enumerator </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="T:CSJ2K.Icc.Tags.ICCCurveType">
      <summary> The ICCCurve tag
            
            </summary>
      <version> 	1.0
            </version>
      <author> 	Bruce A. Kern
            </author>
    </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>
    <!-- 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="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="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.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="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.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="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="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="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="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="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="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="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="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.OPT_PREFIX">
      <summary>The prefix for bit stream reader options: '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="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="P:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.CBlkInfo">
      <summary>Gets the reference to the CBlkInfo array </summary>
    </member>
    <member name="F:CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.pktDec">
      <summary>Reference to the PktDecoder instance </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="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.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="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="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="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.nTileParts">
      <summary>The number of tile parts in each tile </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.mainHeadOff">
      <summary>The offset of the main header in the input stream </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.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.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.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="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>
    <!-- Badly formed XML comment ignored for member "F:CSJ2K.j2k.codestream.reader.PktDecoder.ttIncl" -->
    <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.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="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="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>
    <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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.codestream.writer.BitOutputBuffer" -->
    <!-- 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="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="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>
    <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="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>
    <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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.codestream.writer.FileCodestreamWriter" -->
    <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="F:CSJ2K.j2k.codestream.writer.FileCodestreamWriter.DEF_BUF_LEN">
      <summary>The default buffer length, 1024 bytes </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="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="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="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.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.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.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="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="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="F:CSJ2K.j2k.codestream.writer.PktEncoder.OPT_PREFIX">
      <summary>The prefix for packet encoding options: 'P' </summary>
    </member>
    <!-- Badly formed XML comment ignored for member "F:CSJ2K.j2k.codestream.writer.PktEncoder.prevtIdxs" -->
    <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.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="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="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="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.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="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="P:CSJ2K.j2k.decoder.DecoderSpecs.Copy">
      <summary> Returns a copy of the current object.
            
            </summary>
    </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="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="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="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 -&gt; Default value is returned. t and c values are
            ignored</li><li>SPEC_COMP_DEF -&gt; Component default value is returned. t value is
            ignored</li><li>SPEC_TILE_DEF -&gt; Tile default value is returned. c value is
            ignored</li><li>SPEC_TILE_COMP -&gt; 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="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="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="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="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="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="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="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="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.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="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="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="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.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="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>
    <!-- Badly formed XML comment ignored for member "F:CSJ2K.j2k.entropy.decoder.StdEntropyDecoder.state" -->
    <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>
    <!-- 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="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="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="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.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="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.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="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="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="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.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="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="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>
    <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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.entropy.encoder.MQCoder" -->
    <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="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="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.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.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="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="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.PostCompRateAllocator.OPT_PREFIX">
      <summary>The prefix for rate allocation options: 'A' </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="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="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.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.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="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.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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.entropy.PrecinctSizeSpec" -->
    <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="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="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="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="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="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>
    <!-- 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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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.OPT_PREFIX">
      <summary>The prefix for component transformation type: '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.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.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="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="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="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="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="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="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>
    <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="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="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="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="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>
    <!-- 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="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="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>
    <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>
    <!-- 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="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.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="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="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="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>
    <!-- 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="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="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>
    <!-- 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="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="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="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="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>
    <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>
    <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="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>
    <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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.io.BinaryDataOutput" -->
    <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>
    <!-- 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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.io.BufferedRandomAccessFile" -->
    <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="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>
    <!-- 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>
    <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="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="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>
    <!-- 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.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="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>
    <!-- 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="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="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="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.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="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="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="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>
    <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>
    <!-- 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="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="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="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.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="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="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="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="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.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="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="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>
    <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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.roi.encoder.ArbROIMaskGenerator" -->
    <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)" -->
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.roi.encoder.RectROIMaskGenerator" -->
    <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.ROIMaskGenerator" -->
    <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.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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.roi.encoder.ROIScaler" -->
    <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="F:CSJ2K.j2k.roi.encoder.ROIScaler.OPT_PREFIX">
      <summary>The prefix for ROI Scaler options: 'R' </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="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="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="nr">Number of ROIs that affect this tile
            
            </param>
    </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="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="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="F:CSJ2K.j2k.roi.ROIDeScaler.OPT_PREFIX">
      <summary>The prefix for ROI decoder options: 'R' </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="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="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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.util.FacilityManager" -->
    <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="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="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.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="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="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="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="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="P:CSJ2K.j2k.util.ParameterList.DefaultParameterList">
      <summary> Returns the default ParameterList.
            
            </summary>
      <returns> Default ParameterList
            
            </returns>
    </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="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="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="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="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>
    <!-- Badly formed XML comment ignored for member "M:CSJ2K.j2k.util.ThreadPool.ThreadPoolThread.Run" -->
    <!-- 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="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="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>
    <member name="F:CSJ2K.j2k.wavelet.analysis.AnWTFilter.OPT_PREFIX">
      <summary>The prefix for wavelet filter options: '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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloat" -->
    <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>
    <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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.analysis.AnWTFilterFloatLift9x7" -->
    <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>
    <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>
    <!-- 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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.analysis.AnWTFilterInt" -->
    <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="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="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="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="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="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="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.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="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="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="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="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="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="F:CSJ2K.j2k.wavelet.analysis.CBlkWTDataInt.data_array">
      <summary>The array where the data is stored </summary>
    </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="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="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="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="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.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="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="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.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="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="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="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.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="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="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="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="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.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="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.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="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="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="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.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="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="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="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="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="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.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="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="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.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.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.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="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.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="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="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>
    <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="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="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>
    <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>
    <!-- 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="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>
    <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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloatLift9x7" -->
    <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>
    <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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.synthesis.SynWTFilterInt" -->
    <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="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="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="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="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="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="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="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="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>
    <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>
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.WTDecompSpec" -->
    <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>
    <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>
    <!-- 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)" -->
    <!-- Badly formed XML comment ignored for member "T:CSJ2K.j2k.wavelet.WTFilterSpec" -->
    <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="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="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>
    <!-- Badly formed XML comment ignored for member "M:SupportClass.Tokenizer.MoveNext" -->
  </members>
</doc>