def test_get_best_from_chain(): # Triplicate sphere pars (are copies) # Represents a chain with 2 walkers and 3 steps intern_sphere_pars = SphereComponent.internalise(SPHERE_PARS) dummy_chain = np.array( [[intern_sphere_pars, intern_sphere_pars, intern_sphere_pars], [intern_sphere_pars, intern_sphere_pars, intern_sphere_pars]]) dummy_lnprob = np.zeros(dummy_chain.shape[:2]) # Incorporate identifying marker at desired index true_best_ix = (1, 1) dummy_chain[true_best_ix][0] = 10. dummy_lnprob[true_best_ix] = 1. best_comp = SphereComponent.get_best_from_chain(dummy_chain, dummy_lnprob) assert np.allclose(dummy_chain[true_best_ix], best_comp.get_emcee_pars())
if PLOT_FED_STARS: print("Plotting fed stars)") # Setting up file names synth_fit = 'fed_stars' rdir = '../../results/archive/fed_fits/20/gaia/' origins_file = rdir + 'origins.npy' origin_comp_file = rdir + 'origin_ellip_comp.npy' chain_file = rdir + 'final_chain.npy' lnprob_file = rdir + 'final_lnprob.npy' star_pars_file = rdir + 'xyzuvw_now.fits' init_xyzuvw_file = rdir + '../xyzuvw_init_offset.npy' perf_xyzuvw_now = rdir + '../perf_xyzuvw.npy' # loading in data best_comp = SphereComponent.get_best_from_chain(chain_file, lnprob_file) origin_comp = EllipComponent.load_raw_components(origin_comp_file)[0] init_xyzuvw = np.load(init_xyzuvw_file) star_pars = dt.loadXYZUVW(star_pars_file) perf_mean_now = np.load(perf_xyzuvw_now) original_origin = dt.loadGroups(origins_file)[0] # assigning useful shorthands mns = star_pars['xyzuvw'] covs = star_pars['xyzuvw_cov'] fed_xranges, fed_yranges = calcRanges( {'xyzuvw': np.vstack((star_pars['xyzuvw'], init_xyzuvw))}, sep_axes=True, )