opd_to_psf

lsst.ts.imsim.utils.opd_to_psf(opd: ndarray, pupil: ndarray, wavelength: float, image_delta: float = 0, sensor_factor: float = 1, fno: float = 1.2335, debug_level: int = 0) ndarray

Optical path difference (OPD) to point spread function (PSF).

Parameters

opdnumpy.ndarray

Optical path difference.

pupilfloat or numpy.ndarray

Pupil function. If pupil is a number, not an array, we will get pupil geometry from OPD.

wavelengthfloat

Wavelength in um.

image_deltafloat, optional

Pixel size in um. Use 0 if pixel size is not specified. (the default is 0.)

sensor_factorfloat, optional

Factor of sensor. Only need this if imagedelta != 0. (the default is 1.)

fnofloat, optional

Only need this if imagedelta=0. (the default is 1.2335.)

debug_levelint, optional

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

Returns

numpy.ndarray

Normalized PSF.

Raises

ValueError

Shapes of OPD and pupil are different.

ValueError

OPD shape is not square.

ValueError

Padding value is less than 1.