class PSFModel:
Constructor: PSFModel(telescope_otf_model, atmospheric_turbulence_psd_model, adaptive_optics_psd_model, instrument)
Class that calculates a model point spread function.
Method | __call__ |
Calculate psf in terms of rho/wavelength for given parameters. We are making an implicit assumption that all of the calculations can be done in rho/wavelength units. |
Method | __init__ |
Undocumented |
Method | ao |
Apply adaptive optics corrections to the phase power spectrum distribution of the atmosphere |
Method | at |
Calculate psf for a given angular scale and wavelength, i.e., convert from rho/wavelength units to rho units. |
Method | optical |
From a phase power spectral distribution, derive an optical transfer function. |
Instance Variable | adaptive |
t_otf_wav_axes = tuple(a/ang_wav_factor for a in self.telescope_otf.axes) interp = sp.interpolate.RegularGridInterpolator( |
Instance Variable | adaptive |
Undocumented |
Instance Variable | adaptive |
Undocumented |
Instance Variable | ao |
Undocumented |
Instance Variable | ao |
Undocumented |
Instance Variable | atmospheric |
Undocumented |
Instance Variable | atmospheric |
Undocumented |
Instance Variable | atmospheric |
Undocumented |
Instance Variable | expansion |
Undocumented |
Instance Variable | f |
Undocumented |
Instance Variable | instrument |
Undocumented |
Instance Variable | mode |
Undocumented |
Instance Variable | s |
Undocumented |
Instance Variable | shape |
Undocumented |
Instance Variable | specific |
Undocumented |
Instance Variable | supersample |
Undocumented |
Instance Variable | telescope |
Undocumented |
Instance Variable | telescope |
Undocumented |
Instance Variable | telescope |
Undocumented |
Calculate psf in terms of rho/wavelength for given parameters. We are making an implicit assumption that all of the calculations can be done in rho/wavelength units.
Callable[ [ tuple[ int, ...], float, float, ...], OpticalTransferFunction] | OpticalTransferFunction
, atmospheric_turbulence_psd_model: Callable[ [ np.ndarray, ...], PhasePowerSpectralDensity] | PhasePowerSpectralDensity
, adaptive_optics_psd_model: Callable[ [ np.ndarray, ...], PhasePowerSpectralDensity] | PhasePowerSpectralDensity
, instrument: InstrumentBase
):
¶
Undocumented
Apply adaptive optics corrections to the phase power spectrum distribution of the atmosphere
Calculate psf for a given angular scale and wavelength, i.e., convert from rho/wavelength units to rho units.
t_otf_wav_axes = tuple(a/ang_wav_factor for a in self.telescope_otf.axes) interp = sp.interpolate.RegularGridInterpolator(
self.telescope_otf.axes, self.telescope_otf.data,method='linear', bounds_error=False, fill_value=np.min(self.telescope_otf.data)
) points = np.swapaxes(np.array(np.meshgrid(*t_otf_wav_axes)), 0,-1) t_otf_wav = GeoArray(np.array(interp(points)), t_otf_wav_axes) if plots: plot_ga(t_otf_wav, lambda x: np.log(np.abs(x)), 't_otf_wav', 'arbitrary units', '1/rho') if plots: plot_ga(t_otf_wav.ifft(), lambda x: np.log(np.abs(x)), 't_psf_wav', 'arbitrary units', 'rho')