# CSJ2K.j2k.wavelet.analysis.SubbandAn

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="CSJ2K_j2k_wavelet_analysis_SubbandAn" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn" class="text-break">SubbandAn Class
</h1>
  <div class="markdown level0 summary"><p>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>
<pre><code>       &lt;p&gt;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.&lt;/p&gt;

       &lt;p&gt;The tree is bidirectional. Each element in the tree structure has a
       &quot;parent&quot;, 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.&lt;/p&gt;
</code></pre>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="CSJ2K.j2k.wavelet.Subband.html">Subband</a></div>
    <div class="level2"><span class="xref">SubbandAn</span></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CSJ2K.j2k.wavelet.analysis.html">CSJ2K.j2k.wavelet.analysis</a></h6>
  <h6><strong>Assembly</strong>: C1.C1Pdf.4.8.dll</h6>
  <h5 id="CSJ2K_j2k_wavelet_analysis_SubbandAn_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class SubbandAn : Subband</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class SubbandAn
    Inherits Subband</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn__ctor" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.#ctor">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.-ctor.html#CSJ2K_j2k_wavelet_analysis_SubbandAn__ctor">SubbandAn()</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a SubbandAn element with all the default values. The dimensions
are (0,0) and the upper left corner is (0,0).</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn__ctor_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_CSJ2K_j2k_wavelet_WaveletFilter___CSJ2K_j2k_wavelet_WaveletFilter___" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.WaveletFilter[],CSJ2K.j2k.wavelet.WaveletFilter[])">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.-ctor.html#CSJ2K_j2k_wavelet_analysis_SubbandAn__ctor_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_CSJ2K_j2k_wavelet_WaveletFilter___CSJ2K_j2k_wavelet_WaveletFilter___">SubbandAn(int, int, int, int, int, WaveletFilter[], WaveletFilter[])</a>
        </td>
        <td class="markdown level1 summary"><p>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>
<pre><code>       &lt;p&gt;This constructor just calls the same constructor of the super class,
       and then calculates the L2-norm (or energy weight) of each leaf.&lt;/p&gt;

       &lt;p&gt;This constructor does not initialize the value of the magBits or
       stepWMSE member variables. This variables are normally initialized by
       the quantizer (see Quantizer).&lt;/p&gt;
</code></pre>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_hFilter" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.hFilter">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.hFilter.html">hFilter</a>
        </td>
        <td class="markdown level1 summary"><p>The horizontal analysis filter used to decompose this subband. This is
applicable to &quot;node&quot; elements only. The default value is null.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_l2Norm" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.l2Norm">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.l2Norm.html">l2Norm</a>
        </td>
        <td class="markdown level1 summary"><p>The L2-norm of the synthesis basis waveform of this subband,
applicable to &quot;leafs&quot; only. By default it is -1 (i.e. not calculated
yet).</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_parentband" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.parentband">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.parentband.html">parentband</a>
        </td>
        <td class="markdown level1 summary"><p>The reference to the parent of this subband. It is null for the root
element. It is null by default.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_stepWMSE" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.stepWMSE">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.stepWMSE.html">stepWMSE</a>
        </td>
        <td class="markdown level1 summary"><p>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).</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_subb_HH" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_HH">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_HH.html">subb_HH</a>
        </td>
        <td class="markdown level1 summary"><p>The reference to the HH subband resulting from the decomposition of
this subband. It is null by default.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_subb_HL" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_HL">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_HL.html">subb_HL</a>
        </td>
        <td class="markdown level1 summary"><p>The reference to the HL subband (horizontal high-pass) resulting from
the decomposition of this subband. It is null by default.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_subb_LH" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_LH">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_LH.html">subb_LH</a>
        </td>
        <td class="markdown level1 summary"><p>The reference to the LH subband (vertical high-pass) resulting from
the decomposition of this subband. It is null by default.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_subb_LL" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_LL">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.subb_LL.html">subb_LL</a>
        </td>
        <td class="markdown level1 summary"><p>The reference to the LL subband resulting from the decomposition of
this subband. It is null by default.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_vFilter" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.vFilter">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.vFilter.html">vFilter</a>
        </td>
        <td class="markdown level1 summary"><p>The vertical analysis filter used to decompose this subband. This is
applicable to &quot;node&quot; elements only. The default value is null.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_HH" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.HH">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.HH.html#CSJ2K_j2k_wavelet_analysis_SubbandAn_HH">HH</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the HH child subband of this subband.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_HL" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.HL">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.HL.html#CSJ2K_j2k_wavelet_analysis_SubbandAn_HL">HL</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the HL (horizontal high-pass) child subband of this subband.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_HorWFilter" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.HorWFilter">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.HorWFilter.html#CSJ2K_j2k_wavelet_analysis_SubbandAn_HorWFilter">HorWFilter</a>
        </td>
        <td class="markdown level1 summary"><p>This function returns the horizontal wavelet filter relevant to this
subband</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_LH" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.LH">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.LH.html#CSJ2K_j2k_wavelet_analysis_SubbandAn_LH">LH</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the LH (vertical high-pass) child subband of this subband.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_LL" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.LL">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.LL.html#CSJ2K_j2k_wavelet_analysis_SubbandAn_LL">LL</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the LL child subband of this subband.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_Parent" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.Parent">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.Parent.html#CSJ2K_j2k_wavelet_analysis_SubbandAn_Parent">Parent</a>
        </td>
        <td class="markdown level1 summary"><p>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).</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_VerWFilter" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.VerWFilter">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.VerWFilter.html#CSJ2K_j2k_wavelet_analysis_SubbandAn_VerWFilter">VerWFilter</a>
        </td>
        <td class="markdown level1 summary"><p>This function returns the vertical wavelet filter relevant to this
subband</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_wavelet_analysis_SubbandAn_split_CSJ2K_j2k_wavelet_WaveletFilter_CSJ2K_j2k_wavelet_WaveletFilter_" data-uid="CSJ2K.j2k.wavelet.analysis.SubbandAn.split(CSJ2K.j2k.wavelet.WaveletFilter,CSJ2K.j2k.wavelet.WaveletFilter)">
          <a class="xref" href="CSJ2K.j2k.wavelet.analysis.SubbandAn.split.html#CSJ2K_j2k_wavelet_analysis_SubbandAn_split_CSJ2K_j2k_wavelet_WaveletFilter_CSJ2K_j2k_wavelet_WaveletFilter_">split(WaveletFilter, WaveletFilter)</a>
        </td>
        <td class="markdown level1 summary"><p>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>
<pre><code>       &lt;p&gt;It uses the initChilds() method to initialize the childs.&lt;/p&gt;
</code></pre>
</td>
      </tr>
    </tbody>
  </table>

</div>
