Example #1
0
import numpy as np  #for handling arrays
#import math
#from astropy.stats import median_absolute_deviation
import vari_funcs
plt.close('all')  #close any open plots

### Open the fits files and get data ###
combined = fits.open('mag_flux_table_best.fits')
tbdata = combined[1].data
stars = fits.open('starsnotsatfwhm.fits')
sdata = stars[1].data
stars = fits.open('stars_mag_flux_table.fits')
sdata2 = stars[1].data

## Restrict objects to those in the Chandra field ###
tbdata = vari_funcs.chandra_only(tbdata)

## Create arrays of flux values ###
flux = vari_funcs.k_mag_flux.flux5_stacks(tbdata)
sfwhm = np.stack(([
    sdata['FWHM_05B'], sdata['FWHM_06B'], sdata['FWHM_07B'], sdata['FWHM_08B'],
    sdata['FWHM_09B'], sdata['FWHM_10B'], sdata['FWHM_11B'], sdata['FWHM_12B']
]),
                 axis=1)
sflux = vari_funcs.flux5_stacks(sdata2)

### Calculate the average flux for each year within each flux bin ###
avgflux = np.mean(flux, axis=0)
savgfwhm = np.mean(sfwhm, axis=0)
savgflux = np.mean(sflux, axis=0)
Example #2
0
    'variable_tables/no06_variables_chi30_edged_DR11data_restframe.fits')
fullxray = Table.read(
    'mag_flux_tables/chanDR11data_restframe_mag_flux_table_best_extra_clean_no06.fits'
)
chandata = Table.read(
    'variable_tables/no06_variables_chi30_chandata_DR11data_restframe.fits')
fullUDS = Table.read('UDS_catalogues/DR11-2arcsec-June24-2018+plusXY.fits')

### Remove Edges ###
#datatb = vari_funcs.remove_edges(datatb)
#fullxray = vari_funcs.remove_edges(fullxray)
#chandata = vari_funcs.remove_edges(chandata)
#fullUDS = vari_funcs.remove_edges(fullUDS)

### Limit to Chandra region for simplicity ###
datatb = vari_funcs.chandra_only(datatb)
fullxray = vari_funcs.chandra_only(fullxray)
chandata = vari_funcs.chandra_only(chandata)
#fullUDS = vari_funcs.chandra_only(fullUDS)

### Split the variable table into x-ray and non x-ray ###
xraytb = datatb[datatb['X-ray']]
nontb = datatb[~datatb['X-ray']]

### Get stuff from table ###
mask1 = datatb['RMAG_20'] != 99
mask2 = datatb['KMAG_20'] != 99
allmask = mask1 * mask2.astype(bool)
rmag = datatb['RMAG_20'][allmask]
kmag = datatb['KMAG_20'][allmask]
Example #3
0
chandata = fits.open(
    'variable_tables/no06_variables_chi30_chandata_DR11data_restframe.fits'
)[1].data
tbdata = fits.open(
    'variable_tables/no06_variables_chi30_DR11data_restframe.fits')[1].data
fullxray = fits.open(
    'mag_flux_tables/chanDR11data_restframe_mag_flux_table_best_extra_clean_no06.fits'
)[1].data
sigtb1 = Table.read('quad_epoch_sigma_table_extra_clean_no06_067arcsec.fits')
#sigtb2 = Table.read('quad_epoch_sigma_table_extra_clean_no06_1arcsec.fits')
#sigtb3 = Table.read('quad_epoch_sigma_table_extra_clean_no06_1-5arcsec.fits')
#sigtb4 = Table.read('quad_epoch_sigma_table_extra_clean_no06_2arcsec.fits')
sigtb5 = Table.read('quad_epoch_sigma_table_extra_clean_no06.fits')

### Limit to Chandra region for simplicity ###
tbdata = vari_funcs.chandra_only(tbdata)
fullxray = vari_funcs.chandra_only(fullxray)
chandata = vari_funcs.chandra_only(chandata)


def get_and_normalise_flux(tbdata, sigtb, aper=5):
    # Extract magnitude table and error table
    flux = vari_funcs.flux_stacks(tbdata, aper)
    flux, tbdata = vari_funcs.noneg(flux, tbdata)
    flux, fluxerr, tbdata = vari_funcs.create_quad_error_array(
        sigtb, tbdata, aper)

    ### Normalise ###
    fluxnorm, fluxerrnorm = vari_funcs.normalise_flux_and_errors(flux, fluxerr)
    return fluxnorm, fluxerrnorm, tbdata
Example #4
0
    z[z==-1] = tbdata['z_p'][z==-1]
    z = z[mask]
    
    ### find ones out of range of the plot ###
    zlimsmask = z>4
    Iuplimsmask = I1minI2 > 1
    Ilolimsmask = I1minI2 < -0.7
#    Ilims = I1minI2[mask]
    
    return I1minI2, z, zlimsmask, Iuplimsmask, Ilolimsmask

#xvarydata = vari_funcs.flux_split(xvarydata, 'lower')
#varydata = vari_funcs.flux_split(varydata, 'lower')

### Limit to Chandra region ###
varydata = vari_funcs.chandra_only(varydata)
xvarydata = vari_funcs.chandra_only(xvarydata)
    
I1minI2, z, zlimsmask, Iuplimsmask, Ilolimsmask= get_data(tbdata)
xI1minI2, xz, xzlimsmask, xIuplimsmask, xIlolimsmask= get_data(xdata)
varyI1minI2, varyz, varyzlimsmask, varyIuplimsmask, varyIlolimsmask = get_data(varydata)
xvaryI1minI2, xvaryz, xvaryzlimsmask, xvaryIuplimsmask, xvaryIlolimsmask = get_data(xvarydata)
devI1minI2, devz, devzlimsmask, devIuplimsmask, devIlolimsmask = get_data(devdata)


### Plot result ###
plt.figure(figsize=[8,8])

### plot those within range
plt.plot(z, I1minI2,'.', color='tab:grey', markersize=1, label='Galaxy')
plt.plot(xz, xI1minI2,'ks', markersize=5, label='Non-Variable X-ray AGN')