lsamx_center/lsamy_center have to be re-measured by hand for nearly every new sample (the rotation stage is tilted on top of lsamx/lsamy, so the effective axis position shifts with sample thickness/mounting). Add XrayEyeAlign.find_rotation_center()/lamni.rotation_center_calibration_start() to automate this using the existing X-ray eye GUI and lamni_move_to_scan_center interferometer-feedback move: - "isolated" sample: click particle centre at 0 and 180 deg, use the midpoint (angle-tilt-independent) as the rotation axis position. - "extended" sample: live 0->180->0 sweep for visual identification, single click, then a verification sweep and an accept/iterate prompt. Both write the result to lsamx/lsamy's "center" userParameter after confirmation. Heavily verbose logging throughout since this is fundamentally an interactive, hardware-in-the-loop procedure that can't be fully exercised by automated tests. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>