def psf_gaussian(self, nrays): n = int(nrays) mux = self.mu_x_psf muy = self.mu_y_psf sigx = self.sig_x_psf sigy = self.sig_y_psf tau = self.tau_s0 sw = self.slit_width sh = self.slit_height return slit.slit_gaussian_psf(n, mux, muy, sigx, sigy, tau, sw, sh)
def init_slitfunc(self): log.info("Initializing source PSF: %s", self.psf) if self.psf == "gaussian": return lambda nrays: slit.slit_gaussian_psf(\ int(nrays), self.mu_x_psf, self.mu_y_psf, self.sig_x_psf, self.sig_y_psf, self.tau_s0, self.slit_width, self.slit_height, plot=self.plot_psf, ) elif self.psf == "polarimeter": return lambda nrays: slit.slit_polarimeter_psf(\ int(nrays), self.mu_x_psf, self.mu_y_psf, self.sig_x_psf, self.sig_y_psf, self.tau_s0, self.slit_width, self.slit_height, plot=self.plot_psf, ) elif self.psf == "uniform": return lambda nrays: slit.slit_uniform_psf(\ int(nrays), self.slit_width, self.slit_height, plot=self.plot_psf, ) elif self.psf == "decker1": return lambda nrays: slit.slit_uniform_psf(\ int(nrays), self.slit_width, self.slit_height, decker=1, plot=self.plot_psf, ) elif self.psf == "decker2": return lambda nrays: slit.slit_uniform_psf(\ int(nrays), self.slit_width, self.slit_height, decker=2, plot=self.plot_psf, )