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]