示例#1
0
文件: HPC.py 项目: pdh21/XID_plus
def hierarchical_tile(masterfile,tilefile):

    """
    Create Hierarchical tile from Master prior

    :param masterfile: Master prior file
    :param tilefile:  File containing Tiling scheme
    """
    try:
        taskid = np.int(os.environ['SGE_TASK_ID'])
        task_first=np.int(os.environ['SGE_TASK_FIRST'])
        task_last=np.int(os.environ['SGE_TASK_LAST'])

    except KeyError:
        print("Error: could not read SGE_TASK_ID from environment")
        taskid = int(input("Please enter task id: "))
        print("you entered", taskid)


    with open(tilefile, 'rb') as f:
        obj = pickle.load(f)

    tiles = obj['tiles']
    order = obj['order']
    tiles_large = obj['tiles_large']
    order_large = obj['order_large']

    obj=xidplus.io.pickle_load(masterfile)
    priors = obj['priors']

    moc = moc_routines.get_fitting_region(order_large, tiles_large[taskid - 1])
    for p in priors:
        p.moc = moc
        p.cut_down_prior()

    outfile = 'Tile_'+ str(tiles_large[taskid - 1]) + '_' + str(order_large) + '.pkl'
    with open(outfile, 'wb') as f:
        pickle.dump({'priors':priors, 'version':xidplus.io.git_version()}, f)
示例#2
0
def hierarchical_tile(masterfile, tilefile):
    """
    Create Hierarchical tile from Master prior

    :param masterfile: Master prior file
    :param tilefile:  File containing Tiling scheme
    """
    try:
        taskid = np.int(os.environ['SGE_TASK_ID'])
        task_first = np.int(os.environ['SGE_TASK_FIRST'])
        task_last = np.int(os.environ['SGE_TASK_LAST'])

    except KeyError:
        print("Error: could not read SGE_TASK_ID from environment")
        taskid = int(input("Please enter task id: "))
        print("you entered", taskid)

    with open(tilefile, 'rb') as f:
        obj = pickle.load(f)

    tiles = obj['tiles']
    order = obj['order']
    tiles_large = obj['tiles_large']
    order_large = obj['order_large']

    obj = xidplus.io.pickle_load(masterfile)
    priors = obj['priors']

    moc = moc_routines.get_fitting_region(order_large, tiles_large[taskid - 1])
    for p in priors:
        p.moc = moc
        p.cut_down_prior()

    outfile = 'Tile_' + str(
        tiles_large[taskid - 1]) + '_' + str(order_large) + '.pkl'
    with open(outfile, 'wb') as f:
        pickle.dump({'priors': priors, 'version': xidplus.io.git_version()}, f)
示例#3
0
#############################
#outfile=output_folder+'failed_tiles.pkl'
#with open(outfile, 'rb') as f:
#   obj=pickle.load(f)


tiles=obj['tiles']
order=obj['order']
order_large=obj['order_large']

tile_large=moc_routines.tile_in_tile(order,tiles[taskid-1],order_large)
outfile=output_folder+'Tile_'+str(tile_large)+'_'+str(order_large)+'.pkl'
with open(outfile, 'rb') as f:
    obj=pickle.load(f)
priors=obj['priors']
moc=moc_routines.get_fitting_region(order,tiles[taskid-1])
priors[0].moc=moc
priors[0].cut_down_prior()
print('fitting '+ str(priors[0].nsrc)+' sources \n')
print('there are '+ str(priors[0].snpix)+' pixels')
print('fitting tile:'+str(tiles[taskid-1])+' order: '+str(order)+' of '+str(len(tiles))+' tiles')


from xidplus.stan_fit import MIPS
priors[0].prior_bkg(0.0,1)
priors[0].get_pointing_matrix()
#priors[0].upper_lim_map()

#priors[0].prior_flux_upper=(priors[0].prior_flux_upper-10.0+0.02)/np.max(priors[0].prf)

fit=MIPS.MIPS_24(priors[0],iter=1000)