{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/mc741/anaconda3/lib/python3.6/site-packages/mpl_toolkits/axes_grid/__init__.py:12: MatplotlibDeprecationWarning: \n", "The mpl_toolkits.axes_grid module was deprecated in Matplotlib 2.1 and will be removed two minor releases later. Use mpl_toolkits.axes_grid1 and mpl_toolkits.axisartist provies the same functionality instead.\n", " obj_type='module')\n" ] } ], "source": [ "import pylab\n", "import pymoc\n", "import xidplus\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook uses all the raw data from the masterlist, maps, PSF and relevant MOCs to create XID+ prior object and relevant tiling scheme" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in MOCs\n", "The selection functions required are the main MOC associated with the masterlist. Here we use the DataFusion-Spitzer MOC." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Sel_func=pymoc.MOC()\n", "Sel_func.read('../../dmu4/dmu4_sm_Bootes/data/holes_Bootes_irac_i1_O16_20180424.fits')\n", "SWIRE_MOC=pymoc.MOC()\n", "SWIRE_MOC.read('../../dmu0/dmu0_DataFusion-Spitzer/data/Datafusion-Bootes_MOC.fits')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Final=Sel_func.intersection(SWIRE_MOC)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Final.write('./data/testMoc.fits', overwrite=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in Masterlist\n", "Next step is to read in Masterlist and select only sources that are detected in mid-infrared and at least one other wavelength domain (i.e. optical or nir). This will remove most of the objects in the catalogue that are artefacts. We can do this by using the `flag_optnir_det` flag and selecting sources that have a binary value of $>= 5$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from astropy.io import fits\n", "masterfile='master_catalogue_bootes_20180520.fits'\n", "masterlist=fits.open('../../dmu1/dmu1_ml_Bootes/data/'+masterfile)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "good=masterlist[1].data['flag_optnir_det']>=5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create uninformative (i.e. conservative) upper and lower limits based on IRAC fluxes\n", "As the default flux prior for XID+ is a uniform distribution, it makes sense to set reasonable upper and lower 24 micron flux limits based on the longest wavelength IRAC flux available. For a lower limit I take IRAC/500.0 and for upper limit I take IRACx500." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "MIPS_lower=np.full(good.sum(),0.0)\n", "MIPS_upper=np.full(good.sum(),1E5)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "#masterlist[1].header" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#for i in range(0,good.sum()):\n", "# if masterlist[1].data['flag_irac4'][good][i]>0:\n", "# MIPS_lower[i]=masterlist[1].data['f_irac4'][good][i]/500.0\n", "# MIPS_upper[i]=masterlist[1].data['f_irac4'][good][i]*500.0\n", "# elif masterlist[1].data['flag_irac3'][good][i]>0:\n", "# MIPS_lower[i]=masterlist[1].data['f_irac3'][good][i]/500.0\n", "# MIPS_upper[i]=masterlist[1].data['f_irac3'][good][i]*500.0\n", "# elif masterlist[1].data['flag_irac2'][good][i]>0:\n", "# MIPS_lower[i]=masterlist[1].data['f_irac2'][good][i]/500.0\n", "# MIPS_upper[i]=masterlist[1].data['f_irac2'][good][i]*500.0\n", "# elif masterlist[1].data['flag_irac1'][good][i]>0:\n", "# MIPS_lower[i]=masterlist[1].data['f_irac1'][good][i]/500.0\n", "# MIPS_upper[i]=masterlist[1].data['f_irac1'][good][i]*500.0" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [ { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mgood\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m~\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misnan\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmasterlist\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'f_irac_i4'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mgood\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mMIPS_lower\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmasterlist\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'f_irac_i4'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mgood\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m500.0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mMIPS_upper\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmasterlist\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'f_irac_i4'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mgood\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;36m500.0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0;34m~\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misnan\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmasterlist\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'f_irac_i3'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mgood\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "for i in range(0,good.sum()):\n", " if ~np.isnan(masterlist[1].data['f_irac_i4'][good][i]):\n", " MIPS_lower[i]=masterlist[1].data['f_irac_i4'][good][i]/500.0\n", " MIPS_upper[i]=masterlist[1].data['f_irac_i4'][good][i]*500.0\n", " elif ~np.isnan(masterlist[1].data['f_irac_i3'][good][i]):\n", " MIPS_lower[i]=masterlist[1].data['f_irac_i3'][good][i]/500.0\n", " MIPS_upper[i]=masterlist[1].data['f_irac_i3'][good][i]*500.0\n", " elif ~np.isnan(masterlist[1].data['f_irac_i2'][good][i]):\n", " MIPS_lower[i]=masterlist[1].data['f_irac_i2'][good][i]/500.0\n", " MIPS_upper[i]=masterlist[1].data['f_irac_i2'][good][i]*500.0\n", " elif ~np.isnan(masterlist[1].data['f_irac_i1'][good][i]):\n", " MIPS_lower[i]=masterlist[1].data['f_irac_i1'][good][i]/500.0\n", " MIPS_upper[i]=masterlist[1].data['f_irac_i1'][good][i]*500.0" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1643955" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(MIPS_upper)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "MIPS_Map=fits.open('../../dmu17/dmu17_HELP_Legacy_Maps/Bootes/data/input_data/wp4_bootes_mips24_map_v1.0.fits.gz')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data=MIPS_Map[1].data\n", "plt.hist(data.flatten(),bins=np.arange(-100.0,1000.0,5.0));\n", "plt.yscale('log')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in PSF" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "MIPS_psf=fits.open('../../dmu17/dmu17_HELP_Legacy_Maps/Bootes/data/output_data/dmu17_MIPS_PSF_Bootes_20180129.fits')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "data=MIPS_psf[1].data\n", "plt.hist(data.flatten(),bins=np.arange(-10.0,250.0,1.0));\n", "plt.yscale('log')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "centre=np.long((MIPS_psf[1].header['NAXIS1']-1)/2)\n", "radius=20" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pylab as plt\n", "plt.imshow(np.log10(MIPS_psf[1].data[centre-radius:centre+radius+1,centre-radius:centre+radius+1]/np.max(MIPS_psf[1].data[centre-radius:centre+radius+1,centre-radius:centre+radius+1])))\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set XID+ prior class" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "prior_MIPS=xidplus.prior(MIPS_Map[1].data,MIPS_Map[2].data,MIPS_Map[0].header,MIPS_Map[1].header,moc=Final)\n", "prior_MIPS.prior_cat(masterlist[1].data['ra'][good],masterlist[1].data['dec'][good],masterfile,flux_lower=MIPS_lower,\n", " flux_upper=MIPS_upper,ID=masterlist[1].data['help_id'][good])\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "prior_MIPS.set_prf(MIPS_psf[1].data[centre-radius:centre+radius+1,centre-radius:centre+radius+1]/1.0E6,np.arange(0,41/2.0,0.5),np.arange(0,41/2.0,0.5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculate tiles\n", "As fitting the whole map would be too computationally expensive, I split based on HEALPix pixels. For MIPS, the optimum order is 11. So that I don't have to read the master prior based on the whole map into memory each time (which requires a lot more memory) I also create another layer of HEALPix pixels based at the lower order of 6." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pickle\n", "#from moc, get healpix pixels at a given order\n", "from xidplus import moc_routines\n", "order=11\n", "tiles=moc_routines.get_HEALPix_pixels(order,prior_MIPS.sra,prior_MIPS.sdec,unique=True)\n", "order_large=6\n", "tiles_large=moc_routines.get_HEALPix_pixels(order_large,prior_MIPS.sra,prior_MIPS.sdec,unique=True)\n", "print('----- There are '+str(len(tiles))+' tiles required for input catalogue and '+str(len(tiles_large))+' large tiles')\n", "output_folder='./data/'\n", "outfile=output_folder+'Master_prior.pkl'\n", "with open(outfile, 'wb') as f:\n", " pickle.dump({'priors':[prior_MIPS],'tiles':tiles,'order':order,'version':xidplus.io.git_version()},f)\n", "outfile=output_folder+'Tiles.pkl'\n", "with open(outfile, 'wb') as f:\n", " pickle.dump({'tiles':tiles,'order':order,'tiles_large':tiles_large,'order_large':order_large,'version':xidplus.io.git_version()},f)\n", "raise SystemExit()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "prior_MIPS.nsrc" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }