import numpy as np, cv2
from aruco_boards import DICT, ALL_BOARDS
det = cv2.aruco.ArucoDetector(DICT, cv2.aruco.DetectorParameters())
files = {"arm_base": "aruco_arm_base_grid.png", "umi_top": "aruco_umi_top_grid.png", "umi_back": "aruco_umi_back_grid.png"}
for s in ALL_BOARDS:
    img = cv2.imread(files[s["name"]], cv2.IMREAD_GRAYSCALE)
    _, ids, _ = det.detectMarkers(img)
    got = sorted(ids.flatten().tolist()) if ids is not None else []
    want = sorted(s["ids"].tolist())
    verdict = "MATCHES registry" if got == want else f"MISMATCH vs {want}"
    print(s["name"], ": PNG decodes", got, "->", verdict)
