from pathlib import Path
import subprocess,json
root=Path('/tmp/lead-33008-r2/capture')
before=root/'before-20261110T091858Z';after=root/'after-20261110T091502Z'
pairs=[('r1',before/'r1-before.png',after/'r1-after.png'),('r2',before/'r2-before.png',after/'r2-after.png'),('r3',before/'r3-before.png',after/'r3-after.png')]
metrics=[]
for row,a,b in pairs:
 for suffix,fuzz in [('diff0','0%'),('diffT','5%')]:
  out=root/(row+'-'+suffix+'.png')
  cmd=['compare','-metric','AE','-fuzz',fuzz,'-compose','src','-highlight-color','white','-lowlight-color','black',str(a),str(b),str(out)]
  r=subprocess.run(cmd,capture_output=True,text=True)
  if r.returncode not in (0,1):raise RuntimeError(r.stderr)
  metrics.append({'row':row,'fuzz':fuzz,'changedPixels':r.stderr.strip(),'output':out.name,'command':cmd})
(root/'diff-metrics.json').write_text(json.dumps(metrics,indent=2))
print(json.dumps(metrics,indent=2))
