OpdMetrology

class lsst.ts.imsim.OpdMetrology

Bases: object

Initialization of OPD metrology class.

OPD: Optical path difference.

Attributes Summary

wt

Methods Summary

calc_fwhm_eff(pssn)

Calculate the effective FWHM.

calc_gq_value(value_list)

Calculate the GQ value.

calc_pssn(wavelength_in_um[, opd_fits_file, ...])

Calculate the PSSN based on OPD map.

get_default_lsst_wfs_gq()

Get the default field X, Y of LSST WFS on GQ.

get_zk_from_opd([opd_fits_file, opd_map, ...])

Get the wavefront error of OPD in the basis of annular Zernike polynomials.

rm_piston_tip_tilt_from_opd([opd_fits_file, ...])

Remove the piston (z1), x-tilt (z2), and y-tilt (z3) from the OPD map.

set_default_lsst_wfs_gq()

Set default values for LSST WFS field X, Y and weighting ratio.

set_wgt_and_field_xy_of_gq(cam_type)

Set the GQ weighting ratio and field X, Y.

Attributes Documentation

wt

Methods Documentation

calc_fwhm_eff(pssn: float) float

Calculate the effective FWHM.

FWHM: Full width at half maximum. PSSN: Normalized point source sensitivity.

Parameters

pssnfloat

PSSN value.

Returns

float

Effective FWHM.

calc_gq_value(value_list: list[float] | numpy.ndarray) float

Calculate the GQ value.

GQ: Gaussian quadrature

Parameters

value_listlist or numpy.ndarray

List of value (PSSN, effective FWHM, dm5, ellipticity).

Returns

float

GQ value.

Raises

ValueError

Length of wt ratio != length of value list.

calc_pssn(wavelength_in_um: float, opd_fits_file: str | None = None, opd_map: numpy.ndarray | None = None, zen: int = 0, debug_level: int = 0) float

Calculate the PSSN based on OPD map.

PSSN: Normalized point source sensitivity. OPD: Optical path difference.

Parameters

wavelength_in_umfloat

Wavelength in microns.

opd_fits_filestr, optional

OPD FITS file. Units need to be microns. (the default is None.)

opd_mapnumpy.ndarray, optional

OPD map data. Units need to be microns. (the default is None.)

zenfloat, optional

Telescope zenith angle in degree. (the default is 0.)

debug_levelint, optional

Debug level. The higher value gives more information. (the default is 0.)

Returns

float

Calculated PSSN.

get_default_lsst_wfs_gq() tuple[list[float], list[float], list[int]]

Get the default field X, Y of LSST WFS on GQ.

WFS: Wavefront sensor. GQ: Gaussian quadrature

Returns

list

Field X in degree.

list

Field Y in degree.

list

Detector IDs of extra-focal sensor in raft.

get_zk_from_opd(opd_fits_file: str | None = None, opd_map: numpy.ndarray | None = None, zk_terms: int = 22, obscuration: float = 0.61) tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray]

Get the wavefront error of OPD in the basis of annular Zernike polynomials.

OPD: Optical path difference.

Parameters

opd_fits_filestr, optional

OPD FITS file. (the default is None.)

opd_mapnumpy.ndarray, optional

OPD map data. (the default is None.)

zk_termsint, optional

Number of terms of annular Zk (z1-z22 by default). (the default is 22.)

obscurationfloat, optional

Obscuration of annular Zernike polynomial. (the default is 0.61.)

Returns

numpy.ndarray

Annular Zernike polynomials. For imSim OPD, the unit is nm.

numpy.ndarray

OPD map.

numpy.ndarray

Meshgrid x in OPD map.

numpy.ndarray

Meshgrid y in OPD map.

Raises

ValueError

The x, y dimensions of OPD are different.

rm_piston_tip_tilt_from_opd(opd_fits_file: str | None = None, opd_map: numpy.ndarray | None = None) tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray]

Remove the piston (z1), x-tilt (z2), and y-tilt (z3) from the OPD map.

OPD: Optical path difference.

Parameters

opd_fits_filestr, optional

OPD FITS file. (the default is None.)

opd_mapnumpy.ndarray, optional

OPD map data. (the default is None.)

Returns

numpy.ndarray

OPD map after removing the affection of z1-z3.

numpy.ndarray

Meshgrid x in OPD map.

numpy.ndarray

Meshgrid y in OPD map.

set_default_lsst_wfs_gq() None

Set default values for LSST WFS field X, Y and weighting ratio.

set_wgt_and_field_xy_of_gq(cam_type: CamType) None

Set the GQ weighting ratio and field X, Y.

GQ: Gaussian quadrature.

Parameters

cam_typelsst.ts.imsim.utils.CamType

Camera type. Valid CamTypes are LsstCam, LsstFamCam, ComCam.