Developer Guide¶
ts_imsim
is a package designed to create Rubin Observatory Active Optics Sysytem (AOS) simulations using imSim.
The main functionality is designed around simulations of the Rubin AOS closed loop using the Rubin Wavefront Estimation Pipeline (WEP) and Optical Feedback Control (OFC).
In each iteration of the closed loop ts_imsim
generates images for a configuration of the Simonyi Survey Telescope using LSSTCam or LSST ComCam, generates wavefront estimates in terms of Zernike polynomials using WEP, and derives corrections to improve image quality based upon those estimates with OFC.
The updated telescope configuration is then used to simulate images for the next iteration.
After a number of iterations the AOS system should converge upon a stable configuration that produces the best image quality based upon the perturbations in the initial configuration.
Modules¶
The classes and files for each module are listed below.
imsim¶
This module contains the closed loop methods.
Figure 1 Class diagram of ts_imsim.¶
ClosedLoopTask: Run the imSim based closed loop for AOS.
ImsimCmpt: Handle I/O with imSim and create configuration files for the simulations.
ObsMetadata: Class for storing observation metadata.
OpdMetrology: Calculate Optical Path Difference (OPD) related metrology.
SkySim: Create simulated sky catalogs.
imsim.utils¶
This module contains utility functions that are used in main imsim module.
metroTool: OPD metrology related functions.
plotUtil: Functions to plot summary information on closed loop results.
SensorWavefrontError: Class to contain the wavefront errors for a single sensor.
utility: I/O utility functions and ModifiedEnvironment class to help with mac OS port.
Python API reference¶
This section is autogenerated from docstrings.
lsst.ts.imsim Package¶
Classes¶
Initialization of the closed loop task class to run the simulation with imSim. |
|
|
Class to take configurations for each imsim component and generate full imsim configuration files. |
|
Class for storing observation metadata. |
Initialization of OPD metrology class. |
|
|
Initialization of sky simulator class. |
lsst.ts.imsim.utils Package¶
Functions¶
|
Get the atmosphere phase structure function. |
|
Calculate the normalized point source sensitivity (PSSN). |
|
Calculate the weighting function for a certain atmosphere model. |
|
Generate the modulation transfer function (MTF) for atmosphere. |
|
Returns a lsst instrument for a given instrument name. |
Get the directory of configuration files. |
|
Get the path of module. |
|
Get the path of the policy directory. |
|
|
Get the zk (z4-z22) from file. |
|
Make the new directory. |
|
Optical path difference (OPD) to point spread function (PSF). |
|
Optical transfer function (OTF) to point spread function (PSF). |
|
Plot the FWHM of iteration. |
|
Calculate the ellipticity with the error of atmosphere and weighting function. |
|
Calculate the ellipticity with the weighting function. |
|
Point spread function (PSF) to optical transfer function (OTF). |
|
Get the atomosphere reference r0, which is a function of zenith angle and wavelength. |
Classes¶
|
Define allowed camera types. |
|
Context manager to temporarily modify shell environment with specified overrides. |
|
Contains the wavefront errors for a single sensor. |
|
Define allowed WEP Zernike estimator methods. |
Contributing¶
To contribute, please start a new pull request on GitHub. Feature requests shall be filed in JIRA with ts_aos as the component. In all cases, reaching out to the contacts for this module is recommended.