simcado.optics module

optics.py

class simcado.optics.OpticalTrain(cmds, **kwargs)[source]

Bases: object

The OpticalTrain object reads in or generates the information necessary to model the optical path for all (3) sources of photons: the astronomical source, the atmosphere and the primary mirror.

Parameters
cmdsUserCommands, optional

Holds the commands needed to generate a model of the optical train

apply_derotator(self, arr)[source]
apply_tracking(self, arr)[source]
apply_wind_jitter(self, arr)[source]
read(self, filename)[source]
replace_psf(self, new_psf, lam_bin_centers)[source]

Change the PSF of the optical train

save(self, filename)[source]
update_filter(self, trans=None, lam=None, filter_name=None)[source]

Update the filter curve without recreating the full OpticalTrain object

Parameters
transTransmissionCurve, np.array, list, optional

[0 .. 1] the transmission coefficients. Either a TransmissionCurve object can be passed (in which case omit lam) or an array/list can be passed (in which case specify lam)

lamnp.array, list, optional

[um] an array for the spectral bin centres, if trans is not a TransmissionCurve object

filter_namestr, optional

The name of a filter curve contained in the package_dir. User get_filter_set() to find which filter curves are installed.

simcado.optics.get_filter_curve(filter_name)[source]

Return a Vis/NIR broadband filter TransmissionCurve object

Parameters
filter_namestr

Notes

Acceptable filters can be found be calling get_filter_set()

To access the values use TransmissionCurve.lam and TransmissionCurve.val

Examples

>>> transmission_curve = get_filter_curve("TC_filter_Ks.dat")
>>> wavelength   = transmission_curve.lam
>>> transmission = transmission_curve.val
simcado.optics.get_filter_set(path=None)[source]

Return a list of the filters installed in the package directory