689ef2aae0
- Add x_ray_eye_align.py: GUI-based alignment procedure collecting sample centre at 8 angles (0-315 deg, full 360 deg rotation), submitting x/y offsets to XRayEye widget fit tab, reading sinusoidal fit parameters back via omny_xray_gui device signals - Update gui_tools.py: modernise to current BEC widget API (single new() call with object_name, _is_deleted() existence checks, add_ring() progress bar API, start/eta time display); add lamnigui_show_xeyealign_fittab() - Update alignment.py: add read_xray_eye_correction_from_gui(), remove obsolete GUI-procedure methods now in x_ray_eye_align.py, fix __init__ (remove orphaned _reset_init_values() call) - Update lamni.py: add set_client() call in __init__, add xrayeye_alignment_start(keep_shutter_open) and xrayeye_update_frame() matching FlOMNI naming convention, import XrayEyeAlignGUI - Fix LamNIMoveToScanCenter: replace arg_input/arg_bundle_size device-bundle pattern with required_kwargs; float dict keys caused msgpack >= 1.0 ValueError with strict_map_key=True - Update all lamni_move_to_scan_center() call sites to keyword arguments - Update docs/user/ptychography/lamni.md: document new commands, remove MATLAB/LabView references