// f: (x, y) -> 0..255 // TODO: optimize!! static BWIntegralImage bwIntegralImageFromFunction(int w, int h default w, IF2_Int f) { byte[] pixels = new[w*h]; int i = 0; for y to h: for x to w: pixels[i++] = (byte) f.get(x, y); ret BWIntegralImage(BWImage(w, h, pixels)); }