예제 #1
0
print('fitting ' + str(prior.nsrc) + ' sources \n')
print('using ' + str(prior.snpix) + ' pixels')

from xidplus.numpyro_fit import LOFAR150

fit = LOFAR150.LOFAR_150(prior, num_samples=1000, num_warmup=1000)
samples = fit.get_samples()['src_f']
posterior = xidplus.posterior_numpyro(fit, [prior])

if os.path.exists(
        'data/xidplus_results/pybdsf/xidplus_run_{}'.format(n)) == True:
    ()
else:
    os.mkdir('data/xidplus_results/pybdsf/xidplus_run_{}'.format(n))

xidplus.save(
    [prior], posterior,
    'data/xidplus_results/pybdsf/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.pkl'
    .format(n, n))

LOFAR_cat = cat.create_LOFAR_cat(posterior, prior, 0)
LOFAR_cat = Table.read(LOFAR_cat)

with serialize_method_as(LOFAR_cat, None):
    registry.write(
        LOFAR_cat,
        'data/xidplus_results/pybdsf/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.fits'
        .format(n, n),
        format='fits',
        overwrite=True)
예제 #2
0
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)

posterior=xidplus.posterior_stan(fit,priors)

outfile=output_folder+'Tile_'+str(tiles[taskid-1])+'_'+str(order)

posterior=xidplus.posterior_stan(fit,priors)
xidplus.save(priors,posterior,outfile)
      
post_rep_map=postmaps.replicated_maps(priors,posterior,nrep=2000)
Bayes_P24=postmaps.Bayes_Pval_res(priors[0],post_rep_map[0])
cat=catalogue.create_MIPS_cat(posterior, priors[0], Bayes_P24)
kept_sources=moc_routines.sources_in_tile([tiles[taskid-1]],order,priors[0].sra,priors[0].sdec)
kept_sources=np.array(kept_sources)
cat[1].data=cat[1].data[kept_sources]
outfile=output_folder+'Tile_'+str(tiles[taskid-1])+'_'+str(order)

cat.writeto(outfile+'_MIPS24_cat.fits',overwrite=True)

Bayesian_Pval=postmaps.make_Bayesian_pval_maps(priors[0],post_rep_map[0])
wcs_temp=wcs.WCS(priors[0].imhdu)
ra,dec=wcs_temp.wcs_pix2world(priors[0].sx_pix,priors[0].sy_pix,0)
kept_pixels=np.array(moc_routines.sources_in_tile([tiles[taskid-1]],order,ra,dec))
예제 #3
0
from astropy.io import ascii, fits
import pylab as plt
%matplotlib inline
from astropy import wcs


import numpy as np
import xidplus
from xidplus import moc_routines
import pickle

from xidplus import sed
SEDs, df=sed.berta_templates()
priors,posterior=xidplus.load(filename='./XID+SED_prior.pkl')
import xidplus.stan_fit.SED as SPM
fit=SPM.MIPS_PACS_SPIRE(priors,SEDs,chains=4,iter=1000)
posterior=sed.posterior_sed(fit,priors,SEDs)
xidplus.save(priors, posterior, 'test_SPM')
posterior = xidplus.posterior_stan(fit, [prior250, prior350, prior500])
priors = [prior250, prior350, prior500]
import xidplus.catalogue as cat
SPIRE_cat = cat.create_SPIRE_cat(posterior, priors[0], priors[1], priors[2])
SPIRE_cat = Table.read(SPIRE_cat)

mask = [SPIRE_cat['HELP_ID'][i] in ids for i in range(len(SPIRE_cat))]
SPIRE_cat = SPIRE_cat[mask]

if os.path.exists('data/fir/v0_7/SPIRE/xidplus_run_{}'.format(taskid)) == True:
    ()
else:
    os.mkdir('data/fir/v0_7/SPIRE/xidplus_run_{}'.format(taskid))

xidplus.save([prior250, prior350, prior500], posterior,
             'data/fir/v0_7/SPIRE/xidplus_run_{}/lofar_xidplus_fir_{}'.format(
                 taskid, taskid))

#the next couple of lines are an alternative way to save astropy table since the Table.write method is currently broken
with serialize_method_as(SPIRE_cat, None):
    registry.write(
        SPIRE_cat,
        'data/fir/v0_7/SPIRE/xidplus_run_{}/lofar_xidplus_fir_{}.fits'.format(
            taskid, taskid),
        format='fits',
        overwrite=True)
#Table.write(SPIRE_cat,'data/fir/v0_7/SPIRE/xidplus_run_{}/lofar_xidplus_fir_{}.fits'.format(taskid,taskid),overwrite=True)

time1 = time.time()
print('total time taken = {}'.format(time1 - time0))
예제 #5
0
posterior = xidplus.posterior_stan(fit, [prior250])
priors = [prior250]

import xidplus.catalogue as cat
MIPS_cat = cat.create_MIPS_cat(posterior, priors[0], 0)
MIPS_cat = Table.read(MIPS_cat)

mask = [MIPS_cat['help_id'][i] in ids for i in range(len(MIPS_cat))]
MIPS_cat = MIPS_cat[mask]

if os.path.exists(
        'data/fir/MIPS_no_lofar/xidplus_run_{}'.format(taskid)) == True:
    ()
else:
    os.mkdir('data/fir/MIPS_no_lofar/xidplus_run_{}'.format(taskid))

xidplus.save(
    [prior250], posterior,
    'data/fir/MIPS_no_lofar/xidplus_run_{}/lofar_xidplus_fir_{}'.format(
        taskid, taskid))

#the next couple of lines are an alternative way to save astropy table since the Table.write method is currently broken
with serialize_method_as(MIPS_cat, None):
    registry.write(
        MIPS_cat,
        'data/fir/MIPS_no_lofar/xidplus_run_{}/lofar_xidplus_fir_{}.fits'.
        format(taskid, taskid),
        format='fits',
        overwrite=True)
#Table.write(MIPS_cat,'data/fir/MIPS/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.fits'.format(taskid,taskid),overwrite=True)
예제 #6
0
posterior = xidplus.posterior_stan(fit, [prior100, prior160])

priors = [prior100, prior160]

import xidplus.catalogue as cat
PACS_cat = cat.create_PACS_cat(posterior, priors[0], priors[1])
PACS_cat = Table.read(PACS_cat)

mask = [PACS_cat['help_id'][i] in ids for i in range(len(PACS_cat))]
PACS_cat = PACS_cat[mask]

if os.path.exists(
        'data/fir/PACS_no_lofar/xidplus_run_{}'.format(taskid)) == True:
    ()
else:
    os.mkdir('data/fir/PACS_no_lofar/xidplus_run_{}'.format(taskid))
xidplus.save(
    [prior100, prior160], posterior,
    'data/fir/PACS_no_lofar/xidplus_run_{}/lofar_xidplus_fir_{}'.format(
        taskid, taskid))
#the next couple of lines are an alternative way to save astropy table since the Table.write method is currently broken
with serialize_method_as(PACS_cat, None):
    registry.write(
        PACS_cat,
        'data/fir/PACS_no_lofar/xidplus_run_{}/lofar_xidplus_fir_{}.fits'.
        format(taskid, taskid),
        format='fits',
        overwrite=True)
#Table.write(PACS_cat,'data/fir/PACS/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.fits'.format(taskid,taskid),overwrite=True)
print('fitting ' + str(prior.nsrc) + ' sources \n')
print('using ' + str(prior.snpix) + ' pixels')

from xidplus.numpyro_fit import LOFAR150
fit = LOFAR150.LOFAR_150(prior, num_samples=1000, num_warmup=1000)
samples = fit.get_samples()['src_f']
posterior = xidplus.posterior_numpyro(fit, [prior])

if os.path.exists(
        'data/xidplus_results/pybdsf_components/xidplus_run_{}'.format(
            n)) == True:
    ()
else:
    os.mkdir('data/xidplus_results/pybdsf_components/xidplus_run_{}'.format(n))

xidplus.save(
    [prior], posterior,
    'data/xidplus_results/pybdsf_components/xidplus_run_{}/LOFAR_{}_run_components_restoring_beam.pkl'
    .format(n, n))

LOFAR_cat = cat.create_LOFAR_cat(posterior, prior)
LOFAR_cat = Table.read(LOFAR_cat)

with serialize_method_as(LOFAR_cat, None):
    registry.write(
        LOFAR_cat,
        'data/xidplus_results/pybdsf_components/xidplus_run_{}/LOFAR_{}_run_components_restoring_beam'
        .format(n, n),
        format='fits',
        overwrite=True)
예제 #8
0
        
    else:
        prfs.append(psf_dirty[0])

    pinds.append(np.arange(0,prfs[m].shape[0],1))


prior.set_prfs(prfs,pinds,pinds)

prior.get_pointing_matrix_multiple_prf()
prior.upper_lim_map()

print('fitting '+ str(prior.nsrc)+' sources \n')
print('using ' +  str(prior.snpix) + ' pixels')

from xidplus.numpyro_fit import LOFAR150
fit=LOFAR150.LOFAR_150(prior,num_samples=1000,num_warmup=1000)
samples = fit.get_samples()['src_f']
posterior = xidplus.posterior_numpyro(fit,[prior])

if os.path.exists('data/xidplus_results/injected_sources/xidplus_run_{}'.format(n))==True:()
else:
    os.mkdir('data/xidplus_results/injected_sources/xidplus_run_{}'.format(n))
     
xidplus.save([prior],posterior,'data/xidplus_results/injected_sources/xidplus_run_{}/injected_sources_{}.pkl'.format(n,n))

LOFAR_cat=cat.create_LOFAR_cat(posterior,prior)
LOFAR_cat = Table.read(LOFAR_cat)
     
with serialize_method_as(LOFAR_cat, None):
            registry.write(LOFAR_cat,'data/xidplus_results/injected_sources/xidplus_run_{}/injected_sources_cat_{}.fits'.format(n,n),format='fits',overwrite=True)
예제 #9
0
prior160.set_prf(pacs160_psf[1].data[centre160-radius160:centre160+radius160+1,centre160-radius160:centre160+radius160+1]/1000.0,
                pind160,pind160)

prior100.get_pointing_matrix()
prior160.get_pointing_matrix()

from xidplus.stan_fit import PACS
fit=PACS.all_bands(prior100,prior160,iter=1000)

posterior=xidplus.posterior_stan(fit,[prior100,prior160])

priors = [prior100,prior160]

import xidplus.catalogue as cat
PACS_cat=cat.create_PACS_cat(posterior,priors[0],priors[1])
PACS_cat = Table.read(PACS_cat)

mask = [PACS_cat['help_id'][i] in ids for i in range(len(PACS_cat))]
PACS_cat = PACS_cat[mask]

if os.path.exists('data/fir/PACS/v2/xidplus_run_{}'.format(taskid))==True:()
else:
    os.mkdir('data/fir/PACS/v2/xidplus_run_{}'.format(taskid))

#the next couple of lines are an alternative way to save astropy table since the Table.write method is currently broken
xidplus.save([prior100,prior160],posterior,'data/fir/PACS/v2/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.pkl'.format(taskid,taskid))
with serialize_method_as(PACS_cat, None):
            registry.write(PACS_cat,'data/fir/PACS/v2/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.fits'.format(taskid,taskid),format='fits',overwrite=True)
#Table.write(PACS_cat,'data/fir/PACS/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.fits'.format(taskid,taskid),format='fits',overwrite=True)

priors = [prior250, prior350, prior500]
import xidplus.catalogue as cat
SPIRE_cat = cat.create_SPIRE_cat(posterior, priors[0], priors[1], priors[2])
SPIRE_cat = Table.read(SPIRE_cat)

mask = ['ILTJ' in SPIRE_cat['HELP_ID'][i] for i in range(len(SPIRE_cat))]
SPIRE_cat = SPIRE_cat[mask]
'''mask = SPIRE_cat['HELP_ID']=='lofar'
mask_lofar = lofar['ra']==ra
mask_pcat = prior_cat['help_id']=='lofar'
SPIRE_cat = SPIRE_cat[mask]
SPIRE_cat.add_columns([prior_cat['f_mips_24'][mask_pcat],prior_cat['flag_optnir_det'][mask_pcat]])
lofar_fir = hstack([lofar[mask_lofar],SPIRE_cat])
XID_rerun_col = Column(data=XID_rerun,name='XID_rerun',dtype=bool)
source_type_col = Column(data=source_type,name='source_type',dtype=str)
lofar_fir.add_columns([XID_rerun_col,source_type_col])'''

if os.path.exists('data/fir_v2/xidplus_run_{}'.format(taskid)) == True: ()
else:
    os.mkdir('data/fir_v2/xidplus_run_{}'.format(taskid))
Table.write(
    SPIRE_cat,
    'data/fir_v2/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.fits'.format(
        taskid, taskid),
    overwrite=True)

xidplus.save(
    [prior250, prior350, prior500], posterior,
    'data/fir_v2/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.pkl'.format(
        taskid, taskid))
prior250.upper_lim_map()
prior350.upper_lim_map()
prior500.upper_lim_map()

from xidplus.stan_fit import SPIRE
fit=SPIRE.all_bands(prior250,prior350,prior500,iter=1000)

posterior=xidplus.posterior_stan(fit,[prior250,prior350,prior500])
priors = [prior250,prior350,prior500]
import xidplus.catalogue as cat
SPIRE_cat=cat.create_SPIRE_cat(posterior,priors[0],priors[1],priors[2])
SPIRE_cat = Table.read(SPIRE_cat)

mask = [SPIRE_cat['HELP_ID'][i] in ids for i in range(len(SPIRE_cat))]
SPIRE_cat = SPIRE_cat[mask]
   
if os.path.exists('data/fir/SPIRE_no_lofar/xidplus_run_{}'.format(taskid))==True:()
else:
    os.mkdir('data/fir/SPIRE_no_lofar/xidplus_run_{}'.format(taskid))
    
xidplus.save([prior250,prior350,prior500],posterior,'data/fir/SPIRE_no_lofar/xidplus_run_{}/lofar_xidplus_fir_{}_rerun'.format(taskid,taskid))

#the next couple of lines are an alternative way to save astropy table since the Table.write method is currently broken
with serialize_method_as(SPIRE_cat, None):
            registry.write(SPIRE_cat,'data/fir/SPIRE_no_lofar/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.fits'.format(taskid,taskid),format='fits',overwrite=True)    
#Table.write(SPIRE_cat,'data/fir/SPIRE/xidplus_run_{}/lofar_xidplus_fir_{}.fits'.format(taskid,taskid),overwrite=True)



time1 = time.time()
print('total time taken = {}'.format(time1-time0))
예제 #12
0
        
    else:
        prfs.append(psf_dirty[0])

    pinds.append(np.arange(0,prfs[m].shape[0],1))


prior.set_prfs(prfs,pinds,pinds)

prior.get_pointing_matrix_multiple_prf()
prior.upper_lim_map()

print('fitting '+ str(prior.nsrc)+' sources \n')
print('using ' +  str(prior.snpix) + ' pixels')

from xidplus.numpyro_fit import LOFAR150
fit=LOFAR150.LOFAR_150(prior,num_samples=1000,num_warmup=1000)
samples = fit.get_samples()['src_f']
posterior = xidplus.posterior_numpyro(fit,[prior])

if os.path.exists('data/xidplus_results/random_positions/xidplus_run_{}'.format(n))==True:()
else:
    os.mkdir('data/xidplus_results/random_positions/xidplus_run_{}'.format(n))
     
xidplus.save([prior],posterior,'data/xidplus_results/random_positions/xidplus_run_{}/random_positions_{}.pkl'.format(n,n))

LOFAR_cat=cat.create_LOFAR_cat(posterior,prior)
LOFAR_cat = Table.read(LOFAR_cat)
     
with serialize_method_as(LOFAR_cat, None):
            registry.write(LOFAR_cat,'data/xidplus_results/random_positions/xidplus_run_{}/random_positions_cat_{}.fits'.format(n,n),format='fits',overwrite=True)
예제 #13
0
posterior = xidplus.posterior_stan(fit, [prior250])
priors = [prior250]

import xidplus.catalogue as cat
MIPS_cat = cat.create_MIPS_cat(posterior, priors[0], 0)
MIPS_cat = Table.read(MIPS_cat)

mask = [MIPS_cat['help_id'][i] in ids for i in range(len(MIPS_cat))]
MIPS_cat = MIPS_cat[mask]

if os.path.exists('data/fir/v0_7/MIPS/xidplus_run_{}'.format(taskid)) == True:
    ()
else:
    os.mkdir('data/fir/v0_7/MIPS/xidplus_run_{}'.format(taskid))

#the next couple of lines are an alternative way to save astropy table since the Table.write method is currently broken
with serialize_method_as(MIPS_cat, None):
    registry.write(
        MIPS_cat,
        'data/fir/v0_7/MIPS/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.fits'.
        format(taskid, taskid),
        format='fits',
        overwrite=True)
#Table.write(MIPS_cat,'data/fir/MIPS/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.fits'.format(taskid,taskid),overwrite=True)

xidplus.save(
    [prior250], posterior,
    'data/fir/v0_7/MIPS/xidplus_run_{}/lofar_xidplus_fir_{}_rerun.pkl'.format(
        taskid, taskid))