ax.set_ylim(-1.0, 1.1) ax.legend(loc='upper right') tmp = (initial_model.bulge.I_e.value, initial_model.bulge.r_e.value, initial_model.bulge.n.value, initial_model.disk.I_0.value, initial_model.disk.h.value, args.modelPsfFWHM) plt.suptitle(r'Initial model: $I_e = %.3f$, $r_e = %.3f$, $n = %.3f$, $I_0 = %.3f$, $h = %.3f$, $FWHM = %.2f$' % tmp) gs.tight_layout(fig, rect=[0, 0, 1, 0.97]) pdf.savefig() logger.info('Starting first pass modeling.') t1 = time.time() first_pass_models = decomp.fitSpectra(step=100, box_radius=50, initial_model=initial_model, mode='LM') first_pass_params = np.array([m.getParams() for m in first_pass_models], dtype=first_pass_models[0].dtype) first_pass_lambdas = decomp.wl[::100] logger.info('Done first pass modeling, time: %.2f' % (time.time() - t1)) logger.info('Smoothing parameters with polynomial of degree %d.' % args.paramDegree) smoothed_models = smooth_models(first_pass_models, decomp.wl, degree=args.paramDegree) smoothed_params = np.array([m.getParams() for m in smoothed_models], dtype=smoothed_models[0].dtype) logger.info('Starting second pass modeling...') t1 = time.time() fitted_models = decomp.fitSpectra(step=1, box_radius=0, initial_model=smoothed_models, mode='LM') fitted_params = np.array([m.getParams() for m in fitted_models], dtype=fitted_models[0].dtype) logger.info('Done second pass modeling, time: %.2f' % (time.time() - t1)) logger.info('Computing model spectra.')
tmp = ( initial_model.bulge.I_e.value, initial_model.bulge.r_e.value, initial_model.bulge.n.value, initial_model.disk.I_0.value, initial_model.disk.h.value, args.modelPsfFWHM, ) plt.suptitle(r"Initial model: $I_e = %.3f$, $r_e = %.3f$, $n = %.3f$, $I_0 = %.3f$, $h = %.3f$, $FWHM = %.2f$" % tmp) gs.tight_layout(fig, rect=[0, 0, 1, 0.97]) pdf.savefig() logger.info("Starting first pass modeling.") t1 = time.time() first_pass_models = decomp.fitSpectra(step=100, box_radius=50, initial_model=initial_model, mode="NM") first_pass_params = np.array([m.getParams() for m in first_pass_models], dtype=first_pass_models[0].dtype) first_pass_lambdas = decomp.wl[::100] logger.info("Done first pass modeling, time: %.2f" % (time.time() - t1)) logger.info("Smoothing parameters.") smoothed_models = smooth_models(first_pass_models, decomp.wl, degree=1) smoothed_params = np.array([m.getParams() for m in smoothed_models], dtype=smoothed_models[0].dtype) logger.info("Starting second pass modeling...") t1 = time.time() fitted_models = decomp.fitSpectra(step=1, box_radius=0, initial_model=smoothed_models, mode="LM", insist=True) fitted_params = np.array([m.getParams() for m in fitted_models], dtype=fitted_models[0].dtype) logger.info("Done second pass modeling, time: %.2f" % (time.time() - t1)) logger.info("Computing model spectra.")