# CSJ2K.j2k.wavelet.synthesis.SynWTFilter

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter" class="text-break">SynWTFilter Class
</h1>
  <div class="markdown level0 summary"></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"><span class="xref">SynWTFilter</span></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilterFloat.html">SynWTFilterFloat</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilterInt.html">SynWTFilterInt</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="CSJ2K.j2k.wavelet.WaveletFilter.html">WaveletFilter</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.html">CSJ2K.j2k.wavelet.synthesis</a></h6>
  <h6><strong>Assembly</strong>: C1.C1Pdf.4.8.dll</h6>
  <h5 id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class SynWTFilter : WaveletFilter</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public MustInherit Class SynWTFilter
    Implements WaveletFilter</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_synthesis_SynWTFilter__ctor" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.#ctor">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.-ctor.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter__ctor">SynWTFilter()</a>
        </td>
        <td class="markdown level1 summary"></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_synthesis_SynWTFilter_AnHighNegSupport" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.AnHighNegSupport">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.AnHighNegSupport.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_AnHighNegSupport">AnHighNegSupport</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the negative support of the high-pass analysis filter. That is
the number of taps of the filter in the negative direction.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_AnHighPosSupport" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.AnHighPosSupport">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.AnHighPosSupport.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_AnHighPosSupport">AnHighPosSupport</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the positive support of the high-pass analysis filter. That is
the number of taps of the filter in the negative direction.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_AnLowNegSupport" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.AnLowNegSupport">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.AnLowNegSupport.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_AnLowNegSupport">AnLowNegSupport</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the negative support of the low-pass analysis filter. That is
the number of taps of the filter in the negative direction.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_AnLowPosSupport" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.AnLowPosSupport">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.AnLowPosSupport.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_AnLowPosSupport">AnLowPosSupport</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the positive support of the low-pass analysis filter. That is
the number of taps of the filter in the negative direction.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_DataType" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.DataType">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.DataType.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_DataType">DataType</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the type of data on which this filter works, as defined in the
DataBlk interface.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_ImplType" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.ImplType">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.ImplType.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_ImplType">ImplType</a>
        </td>
        <td class="markdown level1 summary"><p>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.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_Reversible" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.Reversible">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.Reversible.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_Reversible">Reversible</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the reversibility of the filter. A filter is considered
reversible if it is suitable for lossless coding.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_SynHighNegSupport" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.SynHighNegSupport">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.SynHighNegSupport.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_SynHighNegSupport">SynHighNegSupport</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the negative support of the high-pass synthesis filter. That is
the number of taps of the filter in the negative direction.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_SynHighPosSupport" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.SynHighPosSupport">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.SynHighPosSupport.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_SynHighPosSupport">SynHighPosSupport</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the positive support of the high-pass synthesis filter. That is
the number of taps of the filter in the negative direction.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_SynLowNegSupport" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.SynLowNegSupport">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.SynLowNegSupport.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_SynLowNegSupport">SynLowNegSupport</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the negative support of the low-pass synthesis filter. That is
the number of taps of the filter in the negative direction.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_wavelet_synthesis_SynWTFilter_SynLowPosSupport" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.SynLowPosSupport">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.SynLowPosSupport.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_SynLowPosSupport">SynLowPosSupport</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the positive support of the low-pass synthesis filter. That is
the number of taps of the filter in the negative direction.</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_synthesis_SynWTFilter_isSameAsFullWT_System_Int32_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.isSameAsFullWT(System.Int32,System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.isSameAsFullWT.html#CSJ2K_j2k_wavelet_synthesis_SynWTFilter_isSameAsFullWT_System_Int32_System_Int32_System_Int32_">isSameAsFullWT(int, int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns true if the wavelet filter computes or uses the same &quot;inner&quot;
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 &quot;inner&quot; 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>
<pre><code>       &lt;p&gt;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.&lt;/p&gt;
</code></pre>
</td>
      </tr>
      <tr>
        <td id="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_" data-uid="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)">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_hpf.html#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_">synthetize_hpf(object, int, int, int, object, int, int, int, object, int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>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>
<pre><code>       &lt;p&gt;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).&lt;/p&gt;

       &lt;p&gt;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.&lt;/p&gt;

       &lt;p&gt;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.&lt;/p&gt;
</code></pre>
</td>
      </tr>
      <tr>
        <td id="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_" data-uid="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)">
          <a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilter.synthetize_lpf.html#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_">synthetize_lpf(object, int, int, int, object, int, int, int, object, int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>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>
<pre><code>       &lt;p&gt;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).&lt;/p&gt;

       &lt;p&gt;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.&lt;/p&gt;

       &lt;p&gt;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.&lt;/p&gt;
</code></pre>
</td>
      </tr>
    </tbody>
  </table>

</div>
