SPRINT¶
Overview¶
SPRINT (System Parameter Recurrent INvasive Tracking) estimates DM–WFS mis-registration parameters from sensitivity matrices. It computes the gradient of the interaction matrix with respect to each mis-registration degree of freedom, then inverts the problem to identify the actual mis-registration from a measured interaction matrix.
The algorithm supports up to 6 degrees of freedom: shift X, shift Y, rotation, anamorphosis, radial scaling, and tangential scaling.
Quick start¶
from OOPAO.SPRINT import SPRINT
sprint = SPRINT(ao_obj, basis=Z)
# Estimate mis-registration
sprint.estimate(ao_obj.calib.D)
print(sprint.mis_registration_estimated)
API reference¶
- class OOPAO.SPRINT.SPRINT(obj, basis, nameFolder=None, nameSystem=None, mis_registration_zero_point=None, wfs_mis_registered=None, fast_algorithm=False, n_mis_reg=3, recompute_sensitivity=False, dm_input=None, ind_mis_reg=None)[source]¶
DM/WFS mis-registration identification algorithm.
- Parameters:
obj (object) – AO system object containing
tel,dm,wfs, andcalib.basis (object) – Modal basis object with a
modesattribute.nameFolder (str or None) – Folder to save/load sensitivity matrices. Default
None(usesparam['pathInput']).nameSystem (str or None) – System identifier for file naming. Default
None.mis_registration_zero_point (MisRegistration or None) – Reference
MisRegistration. DefaultNone(usesdm.misReg).wfs_mis_registered (MisRegistration or None) – WFS-side mis-registration object. Default
None.fast_algorithm (bool) – Use the faster (less stable) algorithm variant. Default
False.n_mis_reg (int) – Number of mis-registration degrees of freedom to estimate. Default
3(shiftX, shiftY, rotation).recompute_sensitivity (bool) – Force recomputation of sensitivity matrices even if saved files exist. Default
False.ind_mis_reg (numpy.ndarray or None) – Indices of the mis-registration DOF to estimate. Default
None(firstn_mis_reg).
Key attributes
- mis_registration_estimated: MisRegistration¶
Estimated mis-registration from the last
estimate()call.
Methods
- estimate(interaction_matrix)[source]¶
Estimate mis-registration parameters from a measured interaction matrix.
- Parameters:
interaction_matrix (numpy.ndarray) – Measured interaction matrix.
Note
Tutorial:
tutorials/how_to_SPRINT.py