public void checkHorizontalInverse(Method m) {
    PermuteWaveletCompare test =
        new InnerCompare() {
          @Override
          public void compareResults(
              WaveletDescription<?> desc,
              ImageSingleBand input,
              ImageSingleBand expected,
              ImageSingleBand found) {
            //				BoofTesting.printDiff(expected,found);
            int lowerBorder = UtilWavelet.borderInverseLower(desc.getInverse(), desc.getBorder());
            int upperBorder =
                UtilWavelet.borderInverseUpper(
                    desc.getInverse(), desc.getBorder(), found.getWidth());

            int w = expected.getWidth();
            int h = expected.getHeight();

            //				System.out.print("lb "+lowerBorder+" ub "+upperBorder);

            // only compare the relevant portion of the images
            expected = expected.subimage(lowerBorder, 0, w + w % 2 - upperBorder, h);
            found = found.subimage(lowerBorder, 0, w + w % 2 - upperBorder, h);
            BoofTesting.assertEquals(expected, found, 1e-4f);
          }
        };

    test.runTests(true);
  }
  public void checkVertical(Method m) {
    PermuteWaveletCompare test =
        new InnerCompare() {
          @Override
          public void compareResults(
              WaveletDescription<?> desc,
              ImageSingleBand input,
              ImageSingleBand expected,
              ImageSingleBand found) {
            equalsTranVertical(desc, input, expected, found);
          }
        };

    test.runTests(false);
  }