"""A difference map of one sheet row: where only the render covers (red), only the drawing (blue), both (grey); prints the overlap."""
import sys
from PIL import Image
im = Image.open(sys.argv[1]).convert("RGB")
row = int(sys.argv[3]) if len(sys.argv) > 3 else 0
BG = (0xee, 0xee, 0xf4)
fg = lambda p: sum(abs(a - b) for a, b in zip(p, BG)) >= 30
out = Image.new("RGB", (512, 512), "white")
both = only_r = only_d = 0
for y in range(512):
    for x in range(512):
        a, b = fg(im.getpixel((x, row * 512 + y))), fg(im.getpixel((512 + x, row * 512 + y)))
        if a and b: out.putpixel((x, y), (190, 190, 200)); both += 1
        elif a: out.putpixel((x, y), (230, 60, 60)); only_r += 1
        elif b: out.putpixel((x, y), (60, 90, 230)); only_d += 1
out.save(sys.argv[2])
print("overlap", round(both / (both + only_r + only_d), 3), "render only", only_r, "drawing only", only_d)
