def dofit(xs, slambdas, alpha, sinbeta, gamma, delta, band, y): xs = np.array(xs) ok = np.isfinite(slambdas) lsf = Fit.do_fit_wavelengths(xs[ok], lines[ok], alpha, sinbeta, gamma, delta, band, y, error=slambdas[ok]) (order, pixel_y, alpha, sinbeta, gamma, delta) = lsf.params print "order alpha sinbeta gamma delta" print "%1.0i %5.7f %3.5f %3.2e %5.2f" % (order, alpha, sinbeta, gamma, delta) ll = Fit.wavelength_model(lsf.params, pix) if DRAW: pl.figure(3) pl.clf() pl.plot(ll, spec) pl.title("Pixel %4.4f" % pos) for lam in lines: pl.axvline(lam, color='r') pl.draw() return [np.abs(( Fit.wavelength_model(lsf.params, xs[ok]) - lines[ok]))*1e4, lsf.params]
def dofit(xs, slambdas, lines, alpha, sinbeta, gamma, delta, band): xs = np.array(xs) ok = np.isfinite(slambdas) lsf = Fit.do_fit_wavelengths(xs[ok], lines[ok], alpha, sinbeta, gamma, delta, band, error=slambdas[ok]) (order, alpha, sinbeta, gamma, delta) = lsf.params print "order alpha sinbeta gamma delta" print "%1.0i %5.7f %3.5f %3.2e %5.2f" % (order, alpha, sinbeta, gamma, delta) pix = np.arange(2048.) ll = Fit.wavelength_model(lsf.params, pix) return [np.abs(( Fit.wavelength_model(lsf.params, xs[ok]) - lines[ok]))*1e4, lsf.params]
def dofit(xs, sxs, alpha, beta, band): xs = np.array(xs) sxs = np.array(sxs)/1000. lsf = Fit.do_fit_wavelengths(xs, lines, alpha, beta, band, error=sxs) (order, alpha, beta, gamma, delta) = lsf.params print "alpha beta gamma delta" print "%5.7f %3.5f %3.2e %5.2f" % (alpha, beta, gamma, delta) ll = Fit.wavelength_model(lsf.params, pix) if False: pl.figure(3) pl.clf() pl.plot(ll, spec) pl.title("Pixel %4.4f" % pos) for lam in lines: pl.axvline(lam, color='r') pl.draw() return [np.abs((Fit.wavelength_model(lsf.params, xs) - lines))/lines, lsf.params]