from herschelhelp_internal import git_version
print("This notebook was run with herschelhelp_internal version: \n{}".format(git_version()))
%matplotlib inline
#%config InlineBackend.figure_format = 'svg'
import matplotlib.pyplot as plt
plt.rc('figure', figsize=(10, 6))
plt.style.use('ggplot')
import locale
locale.setlocale(locale.LC_ALL, 'en_GB')
import os
import time
import itertools
from astropy.coordinates import SkyCoord
from astropy.table import Table
from astropy import units as u
from astropy import visualization as vis
import numpy as np
from matplotlib_venn import venn3, venn2
from herschelhelp_internal.masterlist import (nb_compare_mags, nb_ccplots, nb_histograms, find_last_ml_suffix,
quick_checks)
OUT_DIR = os.environ.get('OUT_DIR', "./data")
SUFFIX = find_last_ml_suffix()
#SUFFIX = "20171016"
master_catalogue_filename = "master_catalogue_ssdf_{}.fits".format(SUFFIX)
master_catalogue = Table.read("{}/{}".format(OUT_DIR, master_catalogue_filename))
print("Diagnostics done using: {}".format(master_catalogue_filename))
quick_checks(master_catalogue).show_in_notebook()
flag_obs = master_catalogue['flag_optnir_obs']
flag_det = master_catalogue['flag_optnir_det']
venn3(
[
np.sum(flag_obs == 4),
np.sum(flag_obs == 2),
np.sum(flag_obs == 6),
np.sum(flag_obs == 1),
np.sum(flag_obs == 5),
np.sum(flag_obs == 3),
np.sum(flag_obs == 7)
],
set_labels=('Optical', 'near-IR', 'mid-IR'),
subset_label_formatter=lambda x: "{}%".format(int(100*x/len(flag_obs)))
)
plt.title("Wavelength domain observations");
venn3(
[
np.sum(flag_det[flag_obs == 7] == 4),
np.sum(flag_det[flag_obs == 7] == 2),
np.sum(flag_det[flag_obs == 7] == 6),
np.sum(flag_det[flag_obs == 7] == 1),
np.sum(flag_det[flag_obs == 7] == 5),
np.sum(flag_det[flag_obs == 7] == 3),
np.sum(flag_det[flag_obs == 7] == 7)
],
set_labels=('Optical', 'near-IR', 'mid-IR'),
subset_label_formatter=lambda x: "{}%".format(int(100*x/np.sum(flag_det != 0)))
)
plt.title("Detection of the {} sources detected\n in any wavelength domains "
"(among {} sources)".format(
locale.format('%d', np.sum(flag_det != 0), grouping=True),
locale.format('%d', len(flag_det), grouping=True)));
The master list if composed of several catalogues containing magnitudes in similar filters on different instruments. We are comparing the magnitudes in these corresponding filters.
g_bands = ["DECam g"]
r_bands = ["DECam r"]
i_bands = ["DECam i"]
z_bands = ["DECam z"]
y_bands = ["DECam y"]
j_bands = [ "VISTA j"]
h_bands = [ "VISTA h"]
k_bands = [ "VISTA k"]
irac_bands = ["IRAC I1", "IRAC I2"]
We compare the histograms of the total aperture magnitudes of similar bands.
for bands in [g_bands + r_bands + i_bands + z_bands + y_bands, j_bands + h_bands + k_bands, irac_bands]:
colnames = ["m_{}".format(band.replace(" ", "_").lower()) for band in bands]
nb_histograms(master_catalogue, colnames, bands)
There are no similar bands from different instruments.
# for band_of_a_kind in [j_bands, h_bands, k_bands]:
# for band1, band2 in itertools.combinations(band_of_a_kind, 2):
#
# basecol1, basecol2 = band1.replace(" ", "_").lower(), band2.replace(" ", "_").lower()
#
# col1, col2 = "m_ap_{}".format(basecol1), "m_ap_{}".format(basecol2)
# nb_compare_mags(master_catalogue[col1], master_catalogue[col2],
# labels=("{} (aperture)".format(band1), "{} (aperture)".format(band2)))
#
# col1, col2 = "m_{}".format(basecol1), "m_{}".format(basecol2)
# nb_compare_mags(master_catalogue[col1], master_catalogue[col2],
# labels=("{} (total)".format(band1), "{} (total)".format(band2)))
Cross-match the master list to SDSS.
master_catalogue_coords = SkyCoord(master_catalogue['ra'], master_catalogue['dec'])
The catalogue is cross-matched to 2MASS-PSC withing 0.2 arcsecond. We compare the UKIDSS total J and K magnitudes to those from 2MASS.
The 2MASS magnitudes are “Vega-like” and we have to convert them to AB magnitudes using the zero points provided on this page:
Band | Fν - 0 mag (Jy) |
---|---|
J | 1594 |
H | 1024 |
Ks | 666.7 |
# The AB zero point is 3631 Jy
j_2mass_to_ab = 2.5 * np.log10(3631/1595)
k_2mass_to_ab = 2.5 * np.log10(3631/666.7)
twomass = Table.read("../../dmu0/dmu0_2MASS-point-sources/data/2MASS-PSC_SSDF.fits")
twomass_coords = SkyCoord(twomass['raj2000'], twomass['dej2000'])
idx, d2d, _ = twomass_coords.match_to_catalog_sky(master_catalogue_coords)
mask = (d2d < 0.2 * u.arcsec)
twomass = twomass[mask]
ml_twomass_idx = idx[mask]
nb_compare_mags(twomass['jmag'] + j_2mass_to_ab, master_catalogue['m_vista_j'][ml_twomass_idx],
labels=("2MASS J", "VISTA J (total)"))
nb_compare_mags(twomass['kmag'] + k_2mass_to_ab, master_catalogue['m_vista_k'][ml_twomass_idx],
labels=("2MASS Ks", "VISTA Ks (total)"))
nb_ccplots(
master_catalogue['m_vista_j'],
master_catalogue['m_ap_vista_j'] - master_catalogue['m_vista_j'],
"j total magnitude (VISTA)", "j aperture mag - total mag (VISTA)",
master_catalogue["stellarity"],
invert_x=True
)
nb_ccplots(
master_catalogue['m_irac_i1'],
master_catalogue['m_ap_irac_i1'] - master_catalogue['m_irac_i1'],
"irac_i1 total magnitude (SSDF)", "irac_i1 aperture mag - total mag (SSDF)",
master_catalogue["stellarity"],
invert_x=True
)
nb_ccplots(
master_catalogue['m_vista_j'] - master_catalogue['m_vista_h'],
master_catalogue['m_vista_k'] - master_catalogue['m_irac_i1'],
"J - H (VISTA)", "Ks - irac_i1 (VISTA, SSDF)",
master_catalogue["stellarity"]
)
nb_ccplots(
master_catalogue['m_irac_i1'] - master_catalogue['m_irac_i2'],
master_catalogue['m_vista_j'] - master_catalogue['m_vista_k'],
"irac_i1 - irac_i1", "VISTA J - VISTA Ks",
master_catalogue["stellarity"]
)