// for unknown reasons, this fails for comparing color with grayscale
svoid assertImagesIdentical(BufferedImage etc a, BufferedImage etc b) {
  var pix = firstDifferingPixel(a, b);
  if (pix != null)
    fail("Pixel at  " + pix.x + "/" + pix.y
      + " (of " + a.getWidth() + "*" + a.getHeight() + "px): " + intToHex(getPixel(a, pix)) + " vs " + intToHex(getPixel(b, pix)));
}