from PIL import Image,ImageDraw
import numpy as np,pathlib,json
r=pathlib.Path('/tmp/lead-28195-r1/evidence-capture');stats=[]
for size in ['1440x900','390x844']:
 for theme in ['light','dark']:
  name=f'V1-{size}-{theme}';a=np.array(Image.open(r/f'before-{name}.png').convert('RGB'));b=np.array(Image.open(r/f'after-{name}.png').convert('RGB'));delta=np.max(abs(a.astype(int)-b.astype(int)),axis=2)
  for threshold,label,color in [(0,'Diff0',[255,0,255]),(16,'DiffT16',[255,180,0])]:
   out=np.zeros_like(a);out[delta>threshold]=color;Image.fromarray(out).save(r/f'{name}-{label}.png')
  row={'fixture':name,'changedPixels0':int((delta>0).sum()),'changedPixels16':int((delta>16).sum()),'totalPixels':int(delta.size),'maxDelta':int(delta.max())};stats.append(row)
  w,h=Image.open(r/f'before-{name}.png').size
  sheet=Image.new('RGB',(w*2,h+44),'#eeeeee');draw=ImageDraw.Draw(sheet);draw.text((12,15),'BEFORE 15fe283272',fill='black');draw.text((w+12,15),'AFTER 9e4299152e',fill='black');sheet.paste(Image.open(r/f'before-{name}.png'),(0,44));sheet.paste(Image.open(r/f'after-{name}.png'),(w,44));sheet.save(r/f'{name}-sheet.png')
(r/'diff-statistics.json').write_text(json.dumps(stats,indent=2));print(json.dumps(stats,indent=2))
