# CSJ2K.j2k.wavelet.Subband.-ctor

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="CSJ2K_j2k_wavelet_Subband__ctor_" data-uid="CSJ2K.j2k.wavelet.Subband.#ctor*">Subband Constructor
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="CSJ2K_j2k_wavelet_Subband__ctor_" data-uid="CSJ2K.j2k.wavelet.Subband.#ctor*"></a>
<h4 id="CSJ2K_j2k_wavelet_Subband__ctor" data-uid="CSJ2K.j2k.wavelet.Subband.#ctor">Subband()</h4>
<div class="markdown level1 summary"><p>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.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public Subband()</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub New()</code></pre>
</div>


<a id="CSJ2K_j2k_wavelet_Subband__ctor_" data-uid="CSJ2K.j2k.wavelet.Subband.#ctor*"></a>
<h4 id="CSJ2K_j2k_wavelet_Subband__ctor_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_CSJ2K_j2k_wavelet_WaveletFilter___CSJ2K_j2k_wavelet_WaveletFilter___" data-uid="CSJ2K.j2k.wavelet.Subband.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,CSJ2K.j2k.wavelet.WaveletFilter[],CSJ2K.j2k.wavelet.WaveletFilter[])">Subband(int, int, int, int, int, WaveletFilter[], WaveletFilter[])</h4>
<div 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;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;
</code></pre>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public Subband(int w, int h, int ulcx, int ulcy, int lvls, WaveletFilter[] hfilters, WaveletFilter[] vfilters)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub New(w As Integer, h As Integer, ulcx As Integer, ulcy As Integer, lvls As Integer, hfilters As WaveletFilter(), vfilters As WaveletFilter())</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">w</span></td>
      <td><p>The top-level width</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">h</span></td>
      <td><p>The top-level height</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">ulcx</span></td>
      <td><p>The horizontal coordinate of the upper-left corner with
respect to the canvas origin, in the component grid.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">ulcy</span></td>
      <td><p>The vertical coordinate of the upper-left corner with
respect to the canvas origin, in the component grid.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">lvls</span></td>
      <td><p>The number of levels (or LL decompositions) in the tree.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="CSJ2K.j2k.wavelet.WaveletFilter.html">WaveletFilter</a>[]</td>
      <td><span class="parametername">hfilters</span></td>
      <td><p>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.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="CSJ2K.j2k.wavelet.WaveletFilter.html">WaveletFilter</a>[]</td>
      <td><span class="parametername">vfilters</span></td>
      <td><p>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.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 id="CSJ2K_j2k_wavelet_Subband__ctor_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_CSJ2K_j2k_wavelet_WaveletFilter___CSJ2K_j2k_wavelet_WaveletFilter____seealso">See Also</h5>
<div class="seealso">
    <div><a class="xref" href="CSJ2K.j2k.wavelet.WaveletTransform.html">WaveletTransform</a></div>
</div>
</div>
