################################################################################ ########## ########## Decomposition ########## ################################################################################ logger.info('Beginning decomposition.') decomp = IFSDecomposer() logger.info('Model using PSF FWHM = %.2f ", beta = %.2f.' % (args.modelPsfFWHM, args.modelPsfBeta)) decomp.setSynthPSF(FWHM=args.modelPsfFWHM, beta=args.modelPsfBeta, size=15) decomp.loadData(wl, full_ifs / flux_unit, full_ifs_noise / flux_unit, np.zeros_like(full_ifs, dtype='bool')) swll, swlu = 5590.0, 5680.0 sl1 = find_nearest_index(decomp.wl, swll) sl2 = find_nearest_index(decomp.wl, swlu) qSignal, qNoise, qWl = decomp.getSpectraSlice(sl1, sl2) logger.warn('Computing initial model (takes a LOT of time).') t1 = time.time() initial_model = bd_initial_model(qSignal, qNoise, decomp.PSF, quiet=False, cache_model_file=args.cacheModel) bulge_image, disk_image = create_model_images(initial_model, qSignal.shape, decomp.PSF) logger.warn('Initial model time: %.2f\n' % (time.time() - t1)) logger.debug('Plotting guessed initial model.') vmin = np.log10(qSignal.min()) vmax = np.log10(qSignal.max()) fig = plt.figure(figsize=(8, 6)) gs = plt.GridSpec(2, 3, height_ratios=[2.0, 3.0]) ax = plt.subplot(gs[0,0]) ax.imshow(np.log10(qSignal), vmin=vmin, vmax=vmax) ax.set_xticks([])