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>, zn3_idx_in_intrinsic_zn_file: int = 3, znmax: int = 22, znmin: int = 4, zn3_idx: ~numpy.array = <factory>, control_strategy: str = 'optiPSSN', m1m3_actuator_penalty: float = 13.2584, m2_actuator_penalty: float = 134.0, motion_penalty: float = 0.001, alpha: ~numpy.ndarray = <factory>, 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).

control_strategystring

Name of the control strategy.

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.

iqw_filenamestr

Image quality weight filename.

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.

zn3_idxnp.array of bool

Index of annular Zernike polynomials (z3-z22) (True: in use, False: not in use).

zn3_idx_in_intrinsic_zn_fileint

Specify where the zernike data starts when reading the intrinsic zernike coefficients.

znmaxint

Max number of zernikes used (to be filtered with zn3_idx).

Attributes Summary

control_strategy

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

zn3_idx_in_intrinsic_zn_file

znmax

znmin

Attributes Documentation

control_strategy: str = 'optiPSSN'
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.001
sen_m_filename_root: str = 'sensitivity'
y2_filename_root: str = '_y2.yaml'
zn3_idx_in_intrinsic_zn_file: int = 3
znmax: int = 22
znmin: int = 4