Ejemplo n.º 1
0
        })
        fitpars = [
            fitter.const_pars[j] for j in range(len(fitter.parnames))
            if fitter.fitting[j]
        ]
        full_model = fitter.GenerateModel(fitpars,
                                          separate_source=False,
                                          return_resolution=False,
                                          broaden=False,
                                          nofit=True)

        for i, order in enumerate(orders):
            left = np.searchsorted(full_model.x, order.x[0] - 5)
            right = np.searchsorted(full_model.x, order.x[-1] + 5)
            if min(full_model.y[left:right]) > 0.95:
                model = FittingUtilities.ReduceResolution(
                    full_model[left:right].copy(), resolution)
                model = FittingUtilities.RebinData(model, order.x)
                data = order.copy()
                data.cont = np.ones(data.size())

            else:
                print "\n\nGenerating model for order %i of %i\n" % (
                    i, len(orders))
                order.cont = FittingUtilities.Continuum(order.x,
                                                        order.y,
                                                        fitorder=3,
                                                        lowreject=1.5,
                                                        highreject=10)
                fitter.ImportData(order)
                fitter.resolution_fit_mode = "gauss"
                model = fitter.GenerateModel(