Interface WaveletFilter

All Known Implementing Classes:
AnWTFilter, AnWTFilterFloat, AnWTFilterFloatLift9x7, AnWTFilterInt, AnWTFilterIntLift5x3, SynWTFilter, SynWTFilterFloat, SynWTFilterFloatLift9x7, SynWTFilterInt, SynWTFilterIntLift5x3

public interface WaveletFilter
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.

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.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The ID for floatring-poitn convolution implementations
    static final int
    The ID for floating-point lifting spteps implementations
    static final int
    The ID for integer lifting spteps implementations
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns the negative support of the high-pass analysis filter.
    int
    Returns the positive support of the high-pass analysis filter.
    int
    Returns the negative support of the low-pass analysis filter.
    int
    Returns the positive support of the low-pass analysis filter.
    int
    Returns the type of data on which this filter works, as defined in the DataBlk interface.
    int
    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.
    int
    Returns the negative support of the high-pass synthesis filter.
    int
    Returns the positive support of the high-pass synthesis filter.
    int
    Returns the negative support of the low-pass synthesis filter.
    int
    Returns the positive support of the low-pass synthesis filter.
    boolean
    Returns the reversibility of the filter.
    boolean
    isSameAsFullWT(int tailOvrlp, int headOvrlp, int inLen)
    Returns true if the wavelet filter computes or uses the same "inner" subband coefficient as the full frame wavelet transform, and false otherwise.
  • Field Details

    • WT_FILTER_INT_LIFT

      static final int WT_FILTER_INT_LIFT
      The ID for integer lifting spteps implementations
      See Also:
    • WT_FILTER_FLOAT_LIFT

      static final int WT_FILTER_FLOAT_LIFT
      The ID for floating-point lifting spteps implementations
      See Also:
    • WT_FILTER_FLOAT_CONVOL

      static final int WT_FILTER_FLOAT_CONVOL
      The ID for floatring-poitn convolution implementations
      See Also:
  • Method Details

    • getAnLowNegSupport

      int getAnLowNegSupport()
      Returns the negative support of the low-pass analysis filter. That is the number of taps of the filter in the negative direction.

      A MORE PRECISE DEFINITION IS NEEDED

      Returns:
      The number of taps of the low-pass analysis filter in the negative direction
    • getAnLowPosSupport

      int getAnLowPosSupport()
      Returns the positive support of the low-pass analysis filter. That is the number of taps of the filter in the negative direction.

      A MORE PRECISE DEFINITION IS NEEDED

      Returns:
      The number of taps of the low-pass analysis filter in the positive direction
    • getAnHighNegSupport

      int getAnHighNegSupport()
      Returns the negative support of the high-pass analysis filter. That is the number of taps of the filter in the negative direction.

      A MORE PRECISE DEFINITION IS NEEDED

      Returns:
      The number of taps of the high-pass analysis filter in the negative direction
    • getAnHighPosSupport

      int getAnHighPosSupport()
      Returns the positive support of the high-pass analysis filter. That is the number of taps of the filter in the negative direction.

      A MORE PRECISE DEFINITION IS NEEDED

      Returns:
      The number of taps of the high-pass analysis filter in the positive direction
    • getSynLowNegSupport

      int getSynLowNegSupport()
      Returns the negative support of the low-pass synthesis filter. That is the number of taps of the filter in the negative direction.

      A MORE PRECISE DEFINITION IS NEEDED

      Returns:
      The number of taps of the low-pass synthesis filter in the negative direction
    • getSynLowPosSupport

      int getSynLowPosSupport()
      Returns the positive support of the low-pass synthesis filter. That is the number of taps of the filter in the negative direction.

      A MORE PRECISE DEFINITION IS NEEDED

      Returns:
      The number of taps of the low-pass synthesis filter in the positive direction
    • getSynHighNegSupport

      int getSynHighNegSupport()
      Returns the negative support of the high-pass synthesis filter. That is the number of taps of the filter in the negative direction.

      A MORE PRECISE DEFINITION IS NEEDED

      Returns:
      The number of taps of the high-pass synthesis filter in the negative direction
    • getSynHighPosSupport

      int getSynHighPosSupport()
      Returns the positive support of the high-pass synthesis filter. That is the number of taps of the filter in the negative direction.

      A MORE PRECISE DEFINITION IS NEEDED

      Returns:
      The number of taps of the high-pass synthesis filter in the positive direction
    • getImplType

      int getImplType()
      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.
      Returns:
      The implementation type of this filter: WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT, WT_FILTER_FLOAT_CONVOL.
    • getDataType

      int getDataType()
      Returns the type of data on which this filter works, as defined in the DataBlk interface.
      Returns:
      The type of data as defined in the DataBlk interface.
      See Also:
    • isReversible

      boolean isReversible()
      Returns the reversibility of the filter. A filter is considered reversible if it is suitable for lossless coding.
      Returns:
      true if the filter is reversible, false otherwise.
    • isSameAsFullWT

      boolean isSameAsFullWT(int tailOvrlp, int headOvrlp, int inLen)
      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.

      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.

      Parameters:
      tailOvrlp - This is the number of samples in the input signal before the first sample to filter that can be used for overlap.
      headOvrlp - This is the number of samples in the input signal after the last sample to filter that can be used for overlap.
      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.
      Returns:
      true if the overlaps are large enough and correct processing is performed, false otherwise.