예제 #1
0
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.')
예제 #2
0
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.")