Exemple #1
0
                        download_dir=data_dir)
# Fetch model file
get_mojave_mdl_file(tsv_table, source, epoch, outdir=data_dir)
# Clean uv-fits
clean_difmap(uv_fits,
             'cc.fits',
             'I', [1024, 0.1],
             path=data_dir,
             path_to_script=path_to_script,
             outpath=data_dir)

# Create clean image instance
cc_image = create_clean_image_from_fits_file(os.path.join(data_dir, 'cc.fits'))
comps = import_difmap_model(mdl_fname, data_dir)
model = Model(stokes='I')
model.add_components(*comps)

# Check that model fits UV-data well
uv_data = UVData(os.path.join(data_dir, uv_fits))
uv_data.uvplot()
mdl_data = copy.deepcopy(uv_data)
mdl_data.substitute([model])
mdl_data.uvplot(sym='.r')

cc_image_ = copy.deepcopy(cc_image)
cc_image_._image = np.zeros(cc_image._image.shape, dtype=float)
cc_image_.add_model(model)
plt.figure()
plt.matshow(cc_image_.cc_image - cc_image.cc_image)
plt.colorbar()
Exemple #2
0
    components_priors.append({'flux': (sp.stats.uniform.ppf, [0, 1], {}),
                                 'x': (sp.stats.uniform.ppf, [-2, 4], {}),
                                 'y': (sp.stats.uniform.ppf, [-2, 4], {}),
                                 'bmaj': (sp.stats.uniform.ppf, [0, 1], {})})
    components_priors.append({'flux': (sp.stats.uniform.ppf, [0, 1], {}),
                              'x': (sp.stats.uniform.ppf, [-5, 10], {}),
                              'y': (sp.stats.uniform.ppf, [-5, 10], {}),
                              'bmaj': (sp.stats.uniform.ppf, [0, 2], {})})
    components_priors.append({'flux': (sp.stats.uniform.ppf, [0, 1], {}),
                              'x': (sp.stats.uniform.ppf, [-6, 12], {}),
                              'y': (sp.stats.uniform.ppf, [-6, 12], {}),
                              'bmaj': (sp.stats.uniform.ppf, [0, 3], {})})
    results = fit_model_with_nestle(uv_fits, mdl_file, components_priors,
                                    outdir=outdir)


data_dir = '/home/ilya/code/vlbi_errors/silke'
# uv_fits = '0851+202.u.2012_11_11.uvf'
uv_fits = '0851+202.u.2004_11_05.uvf'
# mdl_fname = '2.mod.2012_11_11'
mdl_fname = '1.mod.2004_11_05'
uv_data = UVData(os.path.join(data_dir, uv_fits))
comps = import_difmap_model(mdl_fname, data_dir)
model = Model(stokes='I')
model.add_components(*comps)

fig = uv_data.uvplot(style='a&p')
uv_data.substitute([model])
uv_data.uvplot(color='r', fig=fig, phase_range=[-0.2, 0.2])

Exemple #3
0
sys.path.insert(0, '/home/ilya/github/vlbi_errors/vlbi_errors')
import numpy as np
from skimage.transform import rotate
import matplotlib.pyplot as plt
from uv_data import UVData
from components import ImageComponent
from model import Model


mas_to_rad = 4.8481368 * 1E-09
# uv_file = '/home/ilya/github/bck/jetshow/uvf/0716+714_raks01xg_C_LL_0060s_uva.fits'
uv_file = '/home/ilya/github/bck/jetshow/uvf/2200+420_K_SVLBI.uvf'
uvdata = UVData(uv_file)

# fig = uvdata.uvplot(stokes=["LL"])
fig = uvdata.uvplot()

images = list()
angles = range(0, 180, 30)
# image = '/home/ilya/github/bck/jetshow/uvf/map_i_09_C.txt'
image = '/home/ilya/github/bck/jetshow/cmake-build-debug/map_i.txt'
image = np.loadtxt(image)
images.append(image)

# imsize = 1096
imsize = 1734
imsize = (imsize, imsize)
# mas_in_pix = 0.005
mas_in_pix = 0.00253
y, z = np.meshgrid(np.arange(imsize[0]), np.arange(imsize[1]))
y = y - imsize[0] / 2. + 0.5
Exemple #4
0
uv_fname_uv = '0945+408.u.2007_04_18.uvf'
dfm_model_fname = 'dfmp_original_model.mdl'

comps = import_difmap_model(dfm_model_fname, base_path)
model_uv = Model(stokes='I')
model_uv.add_components(*comps)
uvdata = UVData(os.path.join(base_path, uv_fname_uv))
uvdata_m = UVData(os.path.join(base_path, uv_fname_uv))
uvdata_m.substitute([model_uv])
uvdata_r = uvdata - uvdata_m

# Plot uv-data
label_size = 12
matplotlib.rcParams['xtick.labelsize'] = label_size
matplotlib.rcParams['ytick.labelsize'] = label_size
uvdata.uvplot(style='re&im', freq_average=True)
matplotlib.pyplot.show()
matplotlib.pyplot.savefig('/home/ilya/sandbox/heteroboot/uvdata_original.png',
                          bbox_inches='tight', dpi=400)
matplotlib.pyplot.close()

# # Plot residuals in radplot
# label_size = 12
# matplotlib.rcParams['xtick.labelsize'] = label_size
# matplotlib.rcParams['ytick.labelsize'] = label_size
# for i, color in enumerate(colors):
#     uvdata_r.uvplot(baselines=uvdata_r.baselines[i], freq_average=True,
#                     color=color, style='re&im')
# matplotlib.pyplot.show()
# matplotlib.pyplot.savefig('/home/ilya/sandbox/heteroboot/radplot_res_gauss.png',
#                           bbox_inches='tight', dpi=400)
Exemple #5
0
      trc=trc,
      beam=image.beam,
      show_beam=True)

# Create posterior for data & model
lnpost = LnPost(uvdata, model)
ndim = model.size
nwalkers = 50
sampler = emcee.EnsembleSampler(nwalkers, ndim, lnpost)
p_std1 = [0.1, 0.1, 0.1, 0.1]
p_std2 = [0.1, 0.1, 0.1, 0.1]
p0 = emcee.utils.sample_ball(model.p, p_std1 + p_std2, size=nwalkers)
pos, prob, state = sampler.run_mcmc(p0, 100)
sampler.reset()
sampler.run_mcmc(pos, 300)

# Overplot data and model
p_map = list()
for i in range(ndim):
    counts, bin_values = np.histogram(sampler.flatchain[::10, i], bins=30)
    p_map.append(bin_values[counts == counts.max()][0])
mdl = Model(stokes='I')
cg1 = CGComponent(*(p_map[:4]))
cg2 = CGComponent(*(p_map[4:]))
mdl.add_components(cg1, cg2)
uvdata.uvplot(stokes='I')
mdl.uvplot(uv=uvdata.uv)
fig = corner.corner(
    sampler.flatchain[::10, :],
    labels=["$flux$", "$y$", "$x$", "$maj$", "$flux$", "$y$", "$x$", "$maj$"])