import numpy as np import time import emcee from multiprocessing import Pool dir_repo = str(pathlib.Path(__file__).parent.absolute()) + '/../..' dir_KLens = dir_repo + '/KLens' sys.path.append(dir_KLens) dir_binnedFit = dir_repo + '/BinnedFit' sys.path.append(dir_binnedFit) sys.path.append(dir_binnedFit + '/tests') from get_pars import get_pars0 from gen_mocks import gen_mock_tfCube from gamma import GammaInference pars, _ = get_pars0() dataInfo = gen_mock_tfCube(pars, 'Halpha', slits='both', noise_mode=0) # ---------------------- GI = GammaInference(dataInfo, active_par_key=[ 'vcirc', 'sini', 'vscale', 'r_0', 'v_0', 'g1', 'g2', 'r_hl_image', 'theta_int', 'flux' ], par_fix=None, vTFR_mean=200.) chainInfo = GI.run_MCMC(Nwalker=20, Nsteps=4, outfile_MCMC="./chain_Ha_noise0.pkl", save_step_size=2)
# change dataInfo['spec'] = [2Darr_1, 2Darr_2] from a list of np.array to be a list of Spec2D objects # making Spec2D objects for j in range(len(dataInfo['spec'])): dataInfo['spec'][j] = Spec2D(array=dataInfo['spec'][j], array_var=dataInfo['spec_variance'][j], spaceGrid=dataInfo['spaceGrid'], lambdaGrid=dataInfo['lambdaGrid'], line_species=line_species, z=dataInfo['par_fid']['redshift'], auto_cut=False) # make Image object dataInfo['image'] = Image(dataInfo['image'], dataInfo['spaceGrid'], array_var=dataInfo['image_variance']) dataInfo['eint_thy'] = eint_thy return dataInfo if __name__ == '__main__': sys.path.append(dir_binnedFit + '/tests') from get_pars import get_pars0 pars, line_species = get_pars0() dataInfo = gen_mock_tfCube(pars, line_species, slits='major', noise_mode=0) #dataInfo['image'].display(xlim=[-2,2])