In [1]:
import numpy as np
import sewpy
import aplpy
import astropy.units as u
from astropy.coordinates import SkyCoord
import matplotlib.pyplot as plt
import aplpy
from astropy.io import fits
%matplotlib inline
In [2]:
def runsextractor(image_file, detect_thresh=3.5, analysis_thresh=3.0):
params = ['NUMBER', 'FLUX_ISO', 'FLUXERR_ISO', 'FLUX_AUTO', 'FLUXERR_AUTO', 'FLUX_BEST', 'FLUXERR_BEST', 'BACKGROUND',
'THRESHOLD', 'FLUX_MAX', 'XMAX_IMAGE', 'YMAX_IMAGE', 'XPEAK_IMAGE', 'YPEAK_IMAGE', 'ALPHAPEAK_J2000',
'DELTAPEAK_J2000', 'X_IMAGE', 'Y_IMAGE', 'ALPHA_SKY', 'DELTA_SKY', 'ALPHA_J2000', 'DELTA_J2000']
config = {"DETECT_THRESH":detect_thresh, "ANALYSIS_THRESH":analysis_thresh}
sew = sewpy.SEW(params=params, config=config)
out = sew(image_file)
data = out["table"]
ra, dec, flux, label = data['ALPHA_J2000'], data['DELTA_J2000'], data['FLUX_MAX'], data['NUMBER'].astype('int')
return ra, dec, flux, label
In [3]:
B3 = './images/concat3.ms.cont.image.fits'
rmsB3 = 4.5E-05
B6 = './images/concat2.ms.cont.image.fits'
rmsB6 = 5.4E-05
B7 = './images/uid___A002_X969646_X1aa8.ms.split.cal-CALIBRATE_BANDPASS-J0501-0159.ms.self3.substracted.cont.image.fits'
rmsB7 = 8.4E-05
c = SkyCoord('05h01m12.8s -01d59m14s', unit=(u.hourangle, u.deg), frame='icrs')
center_x, center_y = [[c.ra.value, c.ra.value, c.ra.value], [c.dec.value, c.dec.value, c.dec.value]]
PB = np.array([58., 23., 18.])/3600.0 # in deg
In [16]:
multp = np.array([3, 4, 5, 7, 10, 25])
lvlB3 = rmsB3*multp
lvlB6 = rmsB6*multp
lvlB7 = rmsB7*multp
In [5]:
fig = aplpy.FITSFigure(B3)
#fig.show_contour(B3, colors='red', levels=lvlB3, alpha=0.5)
fig.add_beam()
fig.beam.set_color('black')
fig.add_scalebar(1 * u.arcsecond)
fig.scalebar.set_label('1 arcsec')
fig.scalebar.set_color("black")
fig.show_colorscale()
In [6]:
fig = aplpy.FITSFigure(B6)
#fig.show_contour(B6, colors='red', levels=lvlB6, alpha=0.5)
fig.add_beam()
fig.beam.set_color('black')
fig.add_scalebar(1 * u.arcsecond)
fig.scalebar.set_label('1 arcsec')
fig.scalebar.set_color("black")
fig.show_colorscale()
fig.show_colorbar()
In [7]:
fig = aplpy.FITSFigure(B7)
#fig.show_contour(B7, colors='red', levels=lvlB3, alpha=0.5)
fig.add_beam()
fig.beam.set_color('black')
fig.add_scalebar(1 * u.arcsecond)
fig.scalebar.set_label('1 arcsec')
fig.scalebar.set_color("black")
fig.show_colorscale()
In [8]:
image = aplpy.FITSFigure(B3)
#fig.add_beam()
#fig.beam.set_color('black')
image.show_contour(B3, colors='red', levels=lvlB3, alpha=0.3)#cmap="viridis")
image.show_contour(B6, colors='green', levels=lvlB6, alpha=0.3)#cmap="autumn")
image.show_contour(B7, colors='blue', levels=lvlB7, alpha=0.3)#cmap="gray")
# primary beam circle
image.show_circles(center_x, center_y, PB/2.0, edgecolor=['red', 'green', 'blue'], alpha=0.5)
image.tick_labels.set_font(size='small')
image.hide_xaxis_label()
image.hide_yaxis_label()
image.hide_tick_labels()
#image.add_beam()
#image.beam.set_color('gray')
image.add_scalebar(1 * u.arcsecond)
image.scalebar.set_label('1 arcsec')
image.scalebar.set_color("black")
#image.show_markers(center_x, center_y, marker='X', edgecolor="red", facecolor="none", s=100)
#marker_size = 100
#image.show_markers(ra, dec, edgecolor='white', facecolor='none', marker='o', s=marker_size, alpha=0.4)
# primary beam circle
image.show_circles(center_x, center_y, PB/2.0, edgecolor='gray', facecolor="none")
#image.set_title("J1139-1350 in B3")
# for i, lbl in enumerate(label):
# image.add_label(ra[i], dec[i]-0.0004, lbl)
#image.add_label(ra[i], dec[i]-0.0004, "J1139-1350 in B3")
In [9]:
from astroquery.ned import Ned
result = Ned.query_region(c, radius=0.75*u.arcmin, equinox='J2000.0')
result
Out[9]:
In [10]:
ra_ned = result['RA(deg)'].data.data # "mask-type" -_-
dec_ned = result['DEC(deg)'].data.data
label = result['No.'].data.data
In [11]:
raB3, decB3, fluxB3, labelB3 = runsextractor(B3)
In [17]:
image = aplpy.FITSFigure(B3)
#fig.add_beam()
#fig.beam.set_color('black')
image.show_contour(B3, colors='red', levels=lvlB3, alpha=0.5)#cmap="viridis")
image.show_contour(B6, colors='green', levels=lvlB6, alpha=0.5)#cmap="autumn")
image.show_contour(B7, colors='blue', levels=lvlB7, alpha=0.5)#cmap="gray")
# primary beam circle
image.show_circles(center_x, center_y, PB/2.0, edgecolor=['red', 'green', 'blue'], alpha=0.5)
image.tick_labels.set_font(size='small')
image.hide_xaxis_label()
image.hide_yaxis_label()
image.hide_tick_labels()
#image.add_beam()
#image.beam.set_color('gray')
image.add_scalebar(5 * u.arcsecond)
image.scalebar.set_label('5 arcsec')
image.scalebar.set_color("black")
#image.show_markers(center_x, center_y, marker='X', edgecolor="red", facecolor="none", s=100)
#marker_size = 120
#image.show_markers(raB3, decB3, edgecolor='green', facecolor='green', marker='o', s=marker_size, alpha=0.5)
# primary beam circle
image.show_circles(center_x, center_y, PB/2.0, edgecolor='gray', facecolor="none")
#image.set_title("J1139-1350 in B3")
# for i, lbl in enumerate(label):
# image.add_label(ra[i], dec[i]-0.0004, lbl)
#image.show_markers(ra_ned, dec_ned, edgecolor='none', facecolor='red', marker='s', s=40, alpha=0.5)
# for i, lbl in enumerate(label):
# image.add_label(ra_ned[i], dec_ned[i]-0.0002, lbl)
#image.recenter(c.ra.value, c.dec.value, radius=(5.0/3600.))
In [13]:
image.savefig("combine.png", dpi=300)#, transparent=True)
In [14]:
#image.savefig("zoom.png", dpi=300)#, transparent=True)
In [ ]: