pars.extend(np.zeros(len(pixs))) pars = np.array(pars) parinfo = [] for par in pars: parinfo.append({"fixed": 0, "value": par}) pl.ion() y = Wavelength.beta_model(pars, pixs) parinfo[0]["fixed"] = 1 parinfo[1]["fixed"] = 1 parinfo[2]["fixed"] = 1 parinfo[3]["fixed"] = 1 merit_fun = Fit.mpfit_residuals(Wavelength.beta_model) lsf = Fit.mpfit_do(merit_fun, pixs, all_betas, parinfo) parinfo = [] for param in lsf.params: parinfo.append({"fixed": 0, "value": param}) lsf = Fit.mpfit_do(merit_fun, pixs, all_betas, parinfo) print lsf pl.figure(2) pl.clf() pl.plot(all_pixs, all_betas, '.') y = Wavelength.beta_model(lsf.params, pixs) d = np.abs(np.diff(y)) rois = np.where(d>0.01)[0] prev = 0 for roi in rois: