Class UtilWavelet


public class UtilWavelet extends Object
Various functions which are useful when working with or computing wavelet transforms.
  • Constructor Details

    • UtilWavelet

      public UtilWavelet()
  • Method Details

    • checkShape

      public static void checkShape(ImageGray original, ImageGray transformed)
      The original image can have an even or odd number of width/height. While the transformed image must have an even number of pixels. If the original image is even then the sames are the same, otherwise the transformed image's shape is rounded up.
      original - Original input image.
      transformed - Image which has been transformed.
    • checkShape

      public static void checkShape(WlCoef desc, ImageGray original, ImageGray transformed, int level)
    • computeScale

      public static int computeScale(int level)
    • computeDiv

      public static int computeDiv(int level)
      Returns the number that the output image needs to be divisible by.
    • transformDimension

      public static ImageDimension transformDimension(ImageBase orig, int level)
      Returns dimension which is required for the transformed image in a multilevel wavelet transform.
    • transformDimension

      public static ImageDimension transformDimension(int width, int height, int level)
    • computeEnergy

      public static double computeEnergy(float[] array)

      Compute the energy of the specified array.

      E = sum( i=1..N , a[i]*a[i] )

    • computeEnergy

      public static double computeEnergy(int[] array, int denominator)

      Compute the energy of the specified array.

      E = sum( i=1..N , a[i]*a[i] ) / (N*d*d)

    • sumCoefficients

      public static double sumCoefficients(float[] array)
    • sumCoefficients

      public static int sumCoefficients(int[] array)
    • borderForwardLower

      public static int borderForwardLower(WlCoef desc)
      Returns the lower border for a forward wavelet transform.
    • borderForwardUpper

      public static int borderForwardUpper(WlCoef desc, int dataLength)
      Returns the upper border (offset from image edge) for a forward wavelet transform.
    • borderInverseLower

      public static int borderInverseLower(WlBorderCoef<?> desc, BorderIndex1D border)
      Returns the lower border for an inverse wavelet transform.
    • checkInverseLower

      public static int checkInverseLower(@Nullable @Nullable WlCoef coef, int index, BorderIndex1D border, int current)
    • borderInverseUpper

      public static int borderInverseUpper(WlBorderCoef<?> desc, BorderIndex1D border, int dataLength)
      Returns the upper border (offset from image edge) for an inverse wavelet transform.
    • checkInverseUpper

      public static int checkInverseUpper(@Nullable @Nullable WlCoef coef, int index, BorderIndex1D border, int current)
    • round

      public static int round(int top, int div2, int divisor)
      Specialized rounding for use with integer wavelet transform. return (top +- div2) / divisor;
      top - Top part of the equation.
      div2 - The divisor divided by two.
      divisor - The divisor.
    • convertToType

      public static BorderType convertToType(BorderIndex1D b)
    • adjustForDisplay

      public static void adjustForDisplay(ImageGray transform, int numLevels, double valueRange)
      Adjusts the values inside a wavelet transform to make it easier to view.
      numLevels - Number of levels in the transform