BaseOFCData

class lsst.ts.ofc.ofc_data.BaseOFCData(y2_filename_root: str = '_y2.yaml', dof_state0_filename: str = 'state0_in_dof.yaml', intrinsic_zk_filename_root: str = 'intrinsic_zk', sen_m_filename_root: str = 'sensitivity', eff_wavelength: dict = <factory>, znmax: int = 28, znmin: int = 4, m1m3_actuator_penalty: float = 13.2584, m2_actuator_penalty: float = 134.0, motion_penalty: float = 0.01, rb_stroke: ~numpy.ndarray = <factory>)

Bases: object

Base Optical Feedback Control Data.

Attributes

alphanp.array of float

Alpha coefficient for the normalized point-source sensitivity (PSSN).

controller_filenamestring

Name of the file where the controller is saved.

dof_state0_filenamestring

Name of the file with the initial degrees of freedom.

eff_wavelengthdict of string

Effective wavelength in um for each filter.

intrinsic_zk_filename_rootstring

Filename root string for the intrinsic zernike coefficients.

m1m3_actuator_penaltyfloat

M1M3 actuator penalty factor.

m2_actuator_penaltyfloat

M2 actuator penalty factor.

motion_penaltyfloat

Penalty on control motion as a whole.

rb_strokenp.array of float

Allowed moving range of rigid body of M2 hexapod and Camera hexapod in the unit of um. e.g. rbStroke[0] means the M2 piston is allowed to move +5900 um to -5900 um.

sen_m_filename_rootstring

Filename root string for the sensitivity matrix M.

y2_filename_rootstring

Name of the file where y2_correction is read from.

znmaxint

Max number of zernikes used.

znminint

Min number of zernikes used.

Attributes Summary

delta

Delta coefficient for the normalized point-source sensitivity (PSSN).

dof_state0_filename

intrinsic_zk_filename_root

m1m3_actuator_penalty

m2_actuator_penalty

motion_penalty

sen_m_filename_root

y2_filename_root

znmax

znmin

Attributes Documentation

delta

Delta coefficient for the normalized point-source sensitivity (PSSN).

This delta defines the range where PSSN=1-alpha^2 sigma^2 is accurate to 0.001. What we are concerned with is that the system could be trying to achieve tiny PSSN gains at the price of large control motions. This only applies to converged states. In converged states, of course the Zernikes will be within the range defined by delta. For more details, please check the page 19-21 in: https://docushare.lsst.org/docushare/dsweb/Get/Document-18041/150513.pptx.pdf

Returns

np.array of float

Delta coefficient.

dof_state0_filename: str = 'state0_in_dof.yaml'
intrinsic_zk_filename_root: str = 'intrinsic_zk'
m1m3_actuator_penalty: float = 13.2584
m2_actuator_penalty: float = 134.0
motion_penalty: float = 0.01
sen_m_filename_root: str = 'sensitivity'
y2_filename_root: str = '_y2.yaml'
znmax: int = 28
znmin: int = 4