#!/usr/bin/env python3
"""Unmasked full-surface differences, no image normalization or edits."""
import json,sys
from pathlib import Path
from PIL import Image,ImageChops,ImageEnhance
root=Path(__file__).parent;report={}
for scene in sys.argv[1:]:
 before=Image.open(root/(scene+'-base.png')).convert('RGB');after=Image.open(root/(scene+'-head.png')).convert('RGB')
 assert before.size==after.size
 delta=ImageChops.difference(before,after)
 ImageEnhance.Brightness(delta).enhance(8).save(root/(scene+'-Diff0.png'))
 delta.point(lambda x:255 if x>16 else 0).save(root/(scene+'-DiffT.png'))
 pixels=list(delta.getdata());report[scene]={'size':before.size,'changedPixels':sum(any(p) for p in pixels),'changedAbove16':sum(max(p)>16 for p in pixels),'boundingBox':delta.getbbox(),'diff0':'absolute per-channel delta x8, clipped at 255','diffT':'per-channel absolute delta >16 mapped to 255; otherwise 0'}
(root/'diff-metrics.json').write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2))
