code: @Override
      public ImageBuffer filter(ImageBuffer source)
      {
          final int width = source.getWidth();
          final int height = source.getHeight();
  
          final int[] inPixels = new int[width * height];
          final int[] outPixels = new int[width * height];
          source.getRgb(0, 0, width, height, inPixels, 0, width);
  
          compute(inPixels, outPixels, width, height, 1);
          compute(outPixels, inPixels, height, width, 1);
  
          final ImageBuffer dest = Graphics.createImageBuffer(width, height, source.getTransparentColor());
          dest.setRgb(0, 0, width, height, inPixels, 0, width);
          return dest;
      }
docs: /*
  Filter