OFCData¶
- class lsst.ts.ofc.ofc_data.OFCData(name: str | None = None, config_dir: str | None = None, log: logging.Logger | None = None, **kwargs: dict[str, Any])¶
Bases:
BaseOFCData
Optical Feedback Control Data.
This container class provides a unified interface to all the data used by the OFC and its ancillary classes. It provides utiliy to load, inspect and update the different configuration files used by these classes.
Parameters¶
- name
string
orNone
, optional Name of the instrument/configuration. This must map to a directory inside
data_path
.- config_dir
string
orNone
, optional Path to configuration directory. If
None
(default) use data provided with the module. If astring
is provided it must map to a valid path.- log
logging.Logger
orNone
, optional Optional logging class to be used for logging operations. If
None
, creates a new logger.- kwargs
dict
Additional keyword arguments. Value are passed over to the
BaseOFCData
parent class.
Attributes¶
- bend_mode
dict
Dictionary to hold bending mode data. The data is read alongside the other files when the name is set.
- config_dir
pathlib.Path
Path to the directory storing configuration files.
- controller_filename
string
Controller configuration filename.
- dof_idx
dict
ofstring
Index of Degree of Freedom (DOF).
- field_idx
dict
ofstring
Mapping between sensor name and field index.
- gq_points:
np.ndarray
offloat
Gaussian Quadrature points for LSST field.
- image_quality_weight
np.ndarray
offloat
Image quality weight for the Gaussian Quadrature points.
- intrinsic_zk
dict
ofstring
Intrinsic zernike coefficients per band per detector for a specific instrument configuration.
- log
logging.Logger
Logger class used for logging operations.
- name
string
Name of the instrument configuration. This is used to define where
intrinsic_zk
andy2
will be read from.- sensitivity_matrix
np.ndarray
offloat
Sensitivity matrix M.
- start_task
asyncio.Future
Asyncio future that tracks whether the class is setup and ready or not.
- xref_list
list
ofstring
Available reference point strategies.
- y2_correction
np.ndarray
offloat
Y2 correction.
- zn_idx
np.ndarray
ofint
Zernike indices used.
- zn_selected
np.ndarray
ofint
Zernike indices selected in Zernike Noll Index.
- zn_idx_mask
np.ndarray
ofbool
Mask to select Zernike indices.
Raises¶
- RuntimeError
If input
config_dir
does not exists.
Attributes Summary
Index of Degree of Freedom (DOF) per component.
Controller configuration filename.
Delta coefficient for the normalized point-source sensitivity (PSSN).
Index of Degree of Freedom (DOF).
Mask to select Degree of Freedom (DOF).
Reference point strategy.
Available reference point strategies.
Zernike indices used.
Mask to select Zernike indices.
Zernike indices selected in Zernike Noll Index.
Methods Summary
Refresh the controller configuration based on the current controller_filename.
configure_instrument
(instrument)Configure instrument concurrently.
load_yaml_file
(file_path)Load yaml file.
Attributes Documentation
- comp_dof_idx¶
Index of Degree of Freedom (DOF) per component.
- controller_filename¶
Controller configuration filename.
Returns¶
string
Controller configuration filename.
- 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
offloat
Delta coefficient.
- dof_idx¶
Index of Degree of Freedom (DOF).
- dof_idx_mask¶
Mask to select Degree of Freedom (DOF).
- 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¶
- name¶
- sen_m_filename_root: str = 'sensitivity'¶
- xref_list¶
Available reference point strategies.
- y2_filename_root: str = '_y2.yaml'¶
- zn_idx¶
Zernike indices used.
- zn_idx_mask¶
Mask to select Zernike indices.
- zn_selected¶
Zernike indices selected in Zernike Noll Index.
- znmax: int = 28¶
- znmin: int = 4¶
Methods Documentation
- configure_controller() None ¶
Refresh the controller configuration based on the current controller_filename.
- name