{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pylab\n", "import pymoc\n", "import xidplus\n", "import numpy as np\n", "%matplotlib inline\n", "from astropy.table import Table" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import seaborn as sns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook uses all the raw data from the XID+MIPS catalogue, 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. As the prior for XID+ is based on IRAC detected sources coming from two different surveys at different depths (SERVS and SWIRE) I will split the XID+ run into two different runs. Here we use the SERVS depth." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Sel_func=pymoc.MOC()\n", "Sel_func.read('../data/CDFS-SWIRE/holes_CDFS-SWIRE_irac1_O16_MOC.fits')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in XID+MIPS catalogue" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "XID_MIPS=Table.read('../data/CDFS-SWIRE/MIPS/dmu26_XID+MIPS_CDFS-SWIRE_cat_20170901.fits')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<Table length=10>\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
help_idRADecF_MIPS_24FErr_MIPS_24_uFErr_MIPS_24_lBkg_MIPS_24Sig_conf_MIPS_24Rhat_MIPS_24n_eff_MIPS_24Pval_res_24flag_mips_24
degdeguJyuJyuJyMJy / srMJy / sr
str27float64float64float32float32float32float32float32float32float32float32bool
HELP_J033650.824-295620.78354.21176639-29.939106486256.714552.54478.7135-0.00348985.16096e-060.9991261578.00.0False
HELP_J033655.442-295449.59654.2310102146-29.9137765914241.177525.11175.9436-0.0008607255.00049e-061.001311393.00.0False
HELP_J033616.314-295548.18154.0679762-29.930050306301.589317.576285.959-0.004164155.00936e-06nan2000.00.0False
HELP_J033601.094-295546.42554.0045569-29.92956243681.061794.961768.24150.001674524.96993e-06nan1121.00.0False
HELP_J033606.888-295518.49654.0287013-29.92180449635.279549.940221.0285-0.005242325.13793e-06nan1058.00.0False
HELP_J033607.350-295516.79054.03062359-29.921330436184.848199.895169.931-0.005242325.13793e-06nan1555.00.0False
HELP_J033608.786-295409.82154.03660934-29.9027279567.1618915.65231.85904-0.005242325.13793e-06nan1605.00.0True
HELP_J033610.856-295506.94054.04523478-29.918594406250.447262.422237.689-0.005242325.13793e-06nan1710.00.0False
HELP_J033555.160-295410.64753.97983175-29.9029574061643.151657.831628.09-0.003196424.92844e-06nan1656.00.998True
HELP_J033559.324-295522.30753.99718296-29.92286303699.8378112.26386.7584-0.003196424.92844e-06nan1435.00.0False
" ], "text/plain": [ "\n", " help_id RA ... Pval_res_24 flag_mips_24\n", " deg ... \n", " str27 float64 ... float32 bool \n", "--------------------------- ------------- ... ----------- ------------\n", "HELP_J033650.824-295620.783 54.21176639 ... 0.0 False\n", "HELP_J033655.442-295449.596 54.2310102146 ... 0.0 False\n", "HELP_J033616.314-295548.181 54.0679762 ... 0.0 False\n", "HELP_J033601.094-295546.425 54.0045569 ... 0.0 False\n", "HELP_J033606.888-295518.496 54.0287013 ... 0.0 False\n", "HELP_J033607.350-295516.790 54.03062359 ... 0.0 False\n", "HELP_J033608.786-295409.821 54.03660934 ... 0.0 True\n", "HELP_J033610.856-295506.940 54.04523478 ... 0.0 False\n", "HELP_J033555.160-295410.647 53.97983175 ... 0.998 True\n", "HELP_J033559.324-295522.307 53.99718296 ... 0.0 False" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "XID_MIPS[0:10]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "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[0mskew\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mXID_MIPS\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'FErr_MIPS_24_u'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mXID_MIPS\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'F_MIPS_24'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mXID_MIPS\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'F_MIPS_24'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mXID_MIPS\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'FErr_MIPS_24_l'\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[0mskew\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'(84th-50th)/(50th-16th) percentile'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mg\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjointplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlog10\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mXID_MIPS\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'F_MIPS_24'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mskew\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'hex'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Users/pdh21/anaconda3/envs/new/lib/python3.6/site-packages/seaborn/distributions.py\u001b[0m in \u001b[0;36mjointplot\u001b[0;34m(x, y, data, kind, stat_func, color, size, ratio, space, dropna, xlim, ylim, joint_kws, marginal_kws, annot_kws, **kwargs)\u001b[0m\n\u001b[1;32m 816\u001b[0m \u001b[0mjoint_kws\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetdefault\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"gridsize\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgridsize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 817\u001b[0m \u001b[0mjoint_kws\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetdefault\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"cmap\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcmap\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 818\u001b[0;31m \u001b[0mgrid\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot_joint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhexbin\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mjoint_kws\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 819\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 820\u001b[0m \u001b[0mmarginal_kws\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetdefault\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"kde\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/pdh21/anaconda3/envs/new/lib/python3.6/site-packages/seaborn/axisgrid.py\u001b[0m in \u001b[0;36mplot_joint\u001b[0;34m(self, func, **kwargs)\u001b[0m\n\u001b[1;32m 1725\u001b[0m \"\"\"\n\u001b[1;32m 1726\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msca\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0max_joint\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1727\u001b[0;31m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1728\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1729\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/pdh21/anaconda3/envs/new/lib/python3.6/site-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mhexbin\u001b[0;34m(x, y, C, gridsize, bins, xscale, yscale, extent, cmap, norm, vmin, vmax, alpha, linewidths, edgecolors, reduce_C_function, mincnt, marginals, hold, data, **kwargs)\u001b[0m\n\u001b[1;32m 3051\u001b[0m \u001b[0mlinewidths\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlinewidths\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0medgecolors\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0medgecolors\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3052\u001b[0m \u001b[0mreduce_C_function\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mreduce_C_function\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmincnt\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmincnt\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3053\u001b[0;31m marginals=marginals, data=data, **kwargs)\n\u001b[0m\u001b[1;32m 3054\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3055\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_hold\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwashold\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/pdh21/anaconda3/envs/new/lib/python3.6/site-packages/matplotlib/__init__.py\u001b[0m in \u001b[0;36minner\u001b[0;34m(ax, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1896\u001b[0m warnings.warn(msg % (label_namer, func.__name__),\n\u001b[1;32m 1897\u001b[0m RuntimeWarning, stacklevel=2)\n\u001b[0;32m-> 1898\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1899\u001b[0m \u001b[0mpre_doc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minner\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__doc__\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1900\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mpre_doc\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/pdh21/anaconda3/envs/new/lib/python3.6/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mhexbin\u001b[0;34m(self, x, y, C, gridsize, bins, xscale, yscale, extent, cmap, norm, vmin, vmax, alpha, linewidths, edgecolors, reduce_C_function, mincnt, marginals, **kwargs)\u001b[0m\n\u001b[1;32m 4292\u001b[0m \u001b[0mlattice2\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mj\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnan\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4293\u001b[0m accum = np.hstack((lattice1.astype(float).ravel(),\n\u001b[0;32m-> 4294\u001b[0;31m lattice2.astype(float).ravel()))\n\u001b[0m\u001b[1;32m 4295\u001b[0m \u001b[0mgood_idxs\u001b[0m \u001b[0;34m=\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[0maccum\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4296\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAGoCAYAAAATsnHAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHMVJREFUeJzt3X2UXVWZ5/FvhUIDJtJBS0RnEBB8cHyhp4XmTVpE0GkU\nV8BGR1AEGxFdMmqjvWi7R2V8HQUUFXmRVmRGRRRRUME3NCroasAehAaeITjYKr6kJYS0QaCSmj/O\nLbiWVaduQvatXXW+n7WyqHPOvSfPriruL3ufffYZmZiYQJKk2iya6wIkSZqOASVJqpIBJUmqkgEl\nSaqSASVJqtLoXBcwqPHx9ROrV6+b6zKGbtmyreliu6G7bbfd3TI2tnRkrmuo1bzpQY2ObjHXJcyJ\nrrYbutt22y015k1ASZK6xYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmA\nkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIk\nVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJ\ngJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCS\nJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFVpZGJiYq5rkCTp\nj9iDkiRVyYCSJFXJgJIkVcmAkiRVyYCSJFXJgJIkVcmAkiRVqWhARcReEfGdafYfGhHXRMQPIuJV\nJWuQJM1PxQIqIv4WOA9YPGX/lsAHgOcCzwKOj4jtStUhSZqfSvagbgMOn2b/k4GVmbk6M+8Dvg/8\nRcE6JEnz0GipE2fmxRGx4zSHHgms6dteC2wz2/kmJiYmRkZGNlN1klSNgT/YxsfXT4yOblGylrky\n7fegWEC1uBtY2re9FLhrtjeNjIywatXaYkXVamxsaSfbDd1tu+3ulrGxpbO/qGf16nUFK5k7M30P\n5iKgbgZ2jYhtgX+nGd47dQ7qkCRVbGgBFRFHAksy89yI+BvgazTXwD6emb8YVh2SpPlhPj1uY6Kr\n3f8uthu623bb3S1jY0sHvga1atXaefOBvTFm+h54o64kqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaU\nJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoGlCSp\nSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoG\nlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQk\nqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlK\nBpQkqUoGlCSpSgaUJKlKBpQkqUqjpU4cEYuAjwK7A/cCx2Xmyr7jRwEnAeuBj2fmWaVqkSTNPyV7\nUMuBxZm5D3AycNqU46cCBwH7ASdFxLKCtUiS5pmSAfVM4AqAzPwhsMeU4z8GtgEWAyPARMFaJEnz\nTLEhPuCRwJq+7fURMZqZ473tG4HrgN8BX8jMu2Y74djY0s1f5TzQ1XZDd9tuuzWdZcu2ZnR0i7ku\nY2hKBtTdQP9v26LJcIqIpwPPB3YC/h343xFxRGZ+ru2Eq1atLVVrtcbGlnay3dDdttvubtmYUF69\nel3BSubOTN+DkkN8VwGHAETE3sANfcfWAPcA92TmeuA3gNegJEkPKNmDugQ4OCKuprnGdGxEHAks\nycxzI+Ic4PsRcR9wG3B+wVokSfNMsYDKzA3ACVN239J3/Gzg7FJ/vyRpfvNGXUlSlQwoSVKVDChJ\nUpUMKElSlQwoSVKVDChJUpUMKElSlQwoSVKVDChJUpUMKElSlQZa6igi9gOeBnwC2Cszv1u0KklS\n583ag4qI1wPvBP4GWAKcExFvKl2YJKnbBhniOwZ4HvC7zPwtsCfwypJFSZI0SECtz8z7+rZ/D6wv\nVI8kScBgAbUiIk4FHhERy4FLgW+VLUuS1HWDBNSbgVuB64Gjga8CXoOSJBU14yy+iNihb/Py3p9J\njwP+tVRRkiS1TTNfAUzQPK590uT2BLBzwbokSR03Y0Bl5k7DLESSpH5tQ3xvz8y3R8QnaHpMfyAz\nnWouSSqmbYjvut5/vzOEOiRJ+gNtQ3yX9b58XGa+p/9YRLy7aFWSpM5rG+J7L/AY4IURseuU9+wN\nvKVwbZKkDmsb4rsY+E/Ac2hm9E0aB95RsihJktqG+K4BromIL2bmmiHWJEnSQI/bWB4RpwHLetsj\n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\nrlG9D3gS8KLMnJjthKtWrZ3tJQvO2NjSTrYbutt2290tGxPKq1evm/1F89BM34OSQ3xXAYcARMTe\nNBMh+p0DLAaW9w31SZIElO1BXQIcHBFXAyPAsRFxJM1w3rXAXwPfA66MCIAzMvOSgvVIkuaRYgHV\nu850wpTdt/R97T1YkqQZGRKSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQ\nkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKk\nKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZ\nUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCS\npCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQqGVCSpCoZUJKkKhlQkqQq\nGVCSpCqNljpxRCwCPgrsDtwLHJeZK/uOHwq8FRgHPp6ZHytViyRp/inZg1oOLM7MfYCTgdMmD0TE\nlsAHgOcCzwKOj4jtCtYiSZpnSgbUM4ErADLzh8AefceeDKzMzNWZeR/wfeAvCtYiSZpnig3xAY8E\n1vRtr4+I0cwcn+bYWmCbWc43Mja2dDOXOD90td3Q3bbbbk1nbGzpyFzXMEwle1B3A/2/bYt64TTd\nsaXAXQVrkSTNMyUD6irgEICI2Bu4oe/YzcCuEbFtRDyMZnjvBwVrkSTNMyMTExNFTtw3i+/pwAhw\nLPBnwJLMPLdvFt8imll8ZxYpRJI0LxULKEmSHgpv1JUkVcmAkiRVyYCSJFWp5H1Qm6SrSyQN0O6X\nAm+gafcNwGszc8Nc1Lo5zdbuvtedC9yZmScPucQiBvh57wmcTjPB6FfAyzLz93NR6+Y0QLuPAk4C\n1tP8/33WnBRaSETsBfzPzDxgyv4F+bn2UNXYg+rqEklt7d4KeCfw7Mzcj+am5hfMSZWb34ztnhQR\nrwaeNuzCCmv7eY8AHwOOzczJFVmeMCdVbn6z/bxPBQ4C9gNOiohlQ66vmIj4W+A8YPGU/Qv5c+0h\nqTGgurpEUlu77wX2zcx1ve1RYN7/a7qnrd1ExL7AXsA5wy+tqLZ2Pwn4LfDGiFgBbJuZOfwSi2j9\neQM/pvkH2GKa3uNCmmZ8G3D4NPsX8ufaQ1JjQE27RNIMxwZZImm+mLHdmbkhM38NEBEnAkuAbwy/\nxCJmbHdEbA+8DXjdXBRWWNvv+aOBfYGP0PQmnhMRBw65vlLa2g1wI3Ad8C/AlzNzwawwk5kXA/dP\nc2ghf649JDUGVFeXSGprNxGxKCJOBQ4GXpSZC+Vflm3tPoLmw/qrNMNBR0bEMcMtr5i2dv+W5l/U\nN2fm/TQ9jqk9jflqxnZHxNOB5wM7ATsCj4mII4Ze4fAt5M+1h6TGgOrqEklt7YZmiGsxsLxvqG8h\nmLHdmfmhzHxG74Lye4FPZ+b5c1FkAW0/758ASyJil972/jQ9ioWgrd1rgHuAezJzPfAbYMFcg2qx\nkD/XHpLqVpLo6hJJbe0Gru39+R4PjsmfkZmXzEGpm9VsP+++1x0D7LYAZ/HN9Ht+IE0ojwBXZ+br\n56zYzWiAdp8AvBK4j+aazat612UWhIjYEbgwM/eOiCNZ4J9rD1V1ASVJEtQ5xCdJkgElSaqTASVJ\nqpIBJUmqkgElSapSdYvFStPpTc/9v8BNUw4dmpk/m+b1xwCfAI7MzM/07X8DzbpnO2Xm7RExkZkj\nU84/ATwMuINmPbyfR8QOwJk0a+It6r3udZn5m5aat6BZDWJ/minVH8vMD055zfuBscw8ZsBvhdQZ\nBpTmkzsy80834vU/B/4K+EzfvsOZ+S79Pzh/RLwH+DBwGM2N0hdMhl1E/B1wNtOvrTbpWOBRNPf8\nbAVcExHfzcwf9c7xHOAY4Csb0SapMxzi00K2AtgjIh4BEBFPoFnnbE3rux70XZqFWwEeC2zdd+wj\nvT9tbgRO6a2l+DuaFSL+Y6+WbYF3Ae8esBapc+xBaT55XET8n77tT2Xm+1tePw58jWZpnc8BLwYu\nAk6Z7S/qPQLhJTRL8wD8HfCpiDgF+BZwee9cM+qt1j15vn2BPwde3tt1DvD39AJL0h8zoDSfbOwQ\nHzQh8iqagFpOE1YzBVR/AD4c+CeaRWrJzCsi4vHAATQrjL8P+K+9c7aKiGcBFwJHZebqiDgO+Flm\nfmsBLX4rbXYGlBa6bwMfi4inAv+WmWsiYqbXThuAveG4/56Zb6RZWfyKiHgH8MuIGMvMVTOdMCIO\nB84CXpKZ3+ntfgmwfS8Mt6VZGPYDvfNL6vEalBa03qrYXwfOBT67iadZA7wwIo7u2/dE4NfAnTO9\nqffY9rOAg/vCicw8ODOf2gvDtwKXGk7SH7MHpS64iObaz6Wb8ubMXB8RhwCn93pO62imoB/aC8CZ\n/APN/2MX9PXa3pqZm1SH1DWuZi5JqpI9KM1bEfFG4BXTHLojMw8ZUg0voZnh90c2YUKHpD72oCRJ\nVXKShCSpSgaUJKlKBpQkqUoGlCSpSgaUJKlK/x+O4NOplDsNQgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "skew=(XID_MIPS['FErr_MIPS_24_u']-XID_MIPS['F_MIPS_24'])/(XID_MIPS['F_MIPS_24']-XID_MIPS['FErr_MIPS_24_l'])\n", "skew.name='(84th-50th)/(50th-16th) percentile'\n", "g=sns.jointplot(x=np.log10(XID_MIPS['F_MIPS_24']),y=skew, kind='hex')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The uncertianties become Gaussian by $\\sim 20 \\mathrm{\\mu Jy}$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "good=XID_MIPS['F_MIPS_24']>20" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "240489" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "good.sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in Maps" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "\n", "im100fits='../data/CDFS-SWIRE/PACS/CDFS-SWIRE_PACS100_20160413_img_wgls.fits'#PACS 100 map\n", "nim100fits='../data/CDFS-SWIRE/PACS/CDFS-SWIRE_PACS100_20160413_img_noise.fits'#PACS 100 noise map\n", "im160fits='../data/CDFS-SWIRE/PACS/CDFS-SWIRE_PACS160_20160413_img_wgls.fits'#PACS 160 map\n", "nim160fits='../data/CDFS-SWIRE/PACS/CDFS-SWIRE_PACS160_20160413_img_noise.fits'#PACS 100 noise map\n", "#output folder\n", "output_folder='./'" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from astropy.io import fits\n", "from astropy import wcs\n", "\n", "#-----100-------------\n", "hdulist = fits.open(im100fits)\n", "im100phdu=hdulist[0].header\n", "im100hdu=hdulist[0].header\n", "im100=hdulist[0].data\n", "w_100 = wcs.WCS(hdulist[0].header)\n", "pixsize100=3600.0*np.abs(hdulist[0].header['CDELT1']) #pixel size (in arcseconds)\n", "hdulist.close()\n", "\n", "hdulist = fits.open(nim100fits)\n", "nim100=np.power(hdulist[0].data,0.5)#sqrt as variance map\n", "hdulist.close()\n", "\n", "#-----160-------------\n", "hdulist = fits.open(im160fits)\n", "im160phdu=hdulist[0].header\n", "im160hdu=hdulist[0].header\n", "\n", "im160=hdulist[0].data #convert to mJy\n", "w_160 = wcs.WCS(hdulist[0].header)\n", "pixsize160=3600.0*np.abs(hdulist[0].header['CDELT1']) #pixel size (in arcseconds)\n", "hdulist.close()\n", "\n", "hdulist = fits.open(nim160fits)\n", "nim160=np.power(hdulist[0].data,0.5)#sqrt as variance map\n", "hdulist.close()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in PSF" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "pacs100_psf=fits.open('../../dmu18/dmu18_CDFS-SWIRE/dmu18_PACS_100_PSF_CDFS-SWIRE_20171002.fits')\n", "pacs160_psf=fits.open('../../dmu18/dmu18_CDFS-SWIRE/dmu18_PACS_160_PSF_CDFS-SWIRE_20171002.fits')\n", "\n", "centre100=np.long((pacs100_psf[1].header['NAXIS1']-1)/2)\n", "radius100=15\n", "centre160=np.long((pacs160_psf[1].header['NAXIS1']-1)/2)\n", "radius160=25\n", "\n", "pind100=np.arange(0,radius100+1+radius100,1)*3600*np.abs(pacs100_psf[1].header['CDELT1'])/pixsize100 #get 100 scale in terms of pixel scale of map\n", "pind160=np.arange(0,radius160+1+radius160,1)*3600*np.abs(pacs160_psf[1].header['CDELT1'])/pixsize160 #get 160 scale in terms of pixel scale of map\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0. 0.33333333 0.66666667 1. 1.33333333\n", " 1.66666667 2. 2.33333333 2.66666667 3. 3.33333333\n", " 3.66666667 4. 4.33333333 4.66666667 5. 5.33333333\n", " 5.66666667 6. 6.33333333 6.66666667 7. 7.33333333\n", " 7.66666667 8. 8.33333333 8.66666667 9. 9.33333333\n", " 9.66666667 10. ]\n" ] } ], "source": [ "print(pind100)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nmD7tBL733XdfHnnkkW98N4Hv5Al8n/WsZz3j+ytf+cp8/OMf/8b3pvWfOHFiYnpTo+Lm5ubE9Kbj\n0/THe9MwlHn+Mb6xsfGM873sicdn1fVzb21t7RnPk64bZg4zw5QAYIwjR4509g+uV0p5XpJfT/KL\ntdZfSrK/5eJ4klNLKRgALFCX9a9l1sE0xgAA9Ewp5Z4kH03yI7XW9+0t/kwp5f69z69J8siovABA\n/4kxAoAxRKywRG9LcnuSd5RS3rG37C1J3ltK2UjyufzBnDJjjQpn379s1nD3vofzz7r9Ufn3D69Y\n5DCqprxXrlyZmL7oYUqnTk0OzPryl788cdlXvvKVifmbhjE1DVN6+umnJ6Y3DVNqGqZz/Pjxieln\nz56dmN50flZXV29Ytv+YNM391FT+pqEmTevveqjMfm3u6/15lv1carLo4Zl93//kYJRxHjTGAAD0\nTK31Lbna+HI9M3gCwCFgmBIAAABAhw5VZExX4UxtttM23KwpBHWUprDTUZpCKUdpCv8c5fqZ9W8m\n/fHHH596O1/60pemztNmO+fPn586T9P188UvfnHk8qZZ8UdpE8Z47NixqfPcfvvtU+dpun5Gpbc5\nBm3uoTZmDZmd1zrHWWY4cZM+h6L2uWwAAIfRUOpfImMAAAAAOnSoImMAYJ6G0jMDANAXQ6l/iYwB\nAAAA6JDIGAAYYyg9MwAAfTGU+pfGGACAQ2rU5N37ly16cu+m9c86kXmXE6HPe51tX+5wzc7OzsT0\ny5cvT0y/dOnSxPQzZ85MTH/iiScmpn/lK1+ZuOzLX/7yxPyPPfbYTOlN5Wt64cWtt946Mf3OO++c\nmN50fFdWJg9QOHr06A3LnnzyyW98bnqpQdMLGUatv0uLvHdH5e3ypQhN2+rzSxXolsYYABhjKD0z\nAAB9MZT6lzljAAAAADokMgYAxhhKzwwAQF8Mpf4lMgYAAACgQyJjAGCMofTMAAD0xVDqXyJjAAAA\nADokMgYAxmh69SgAAPM1lPpXJ40xTe9Sn9e71tuEM3WVp602x2Z7e3vqPOfPn586z7lz56bOc/bs\n2anTv/71r0+9nSeffHLqPG220+a4ra6uTkx/6qmnRi5vc909/fTTU+dps09t8ly4cGHq9EuXLk29\nncuXL0+dZ17PpCZN53RUet9/nNpcp0371Pd9hiGb9Xk5a51q0fmb9m+W7S/6t2ZnZ2dietNvatNv\n+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\nf2mMAQA4pGadCPywV4gXMfn6YdG0n00T5I+aiH//spMnT07Mf/fdd09Mb3LhwoWJ6U3DIE6cODEx\n/TnPec7E9Ntvv33u6fuXNR2/ra2tielNL6FYXV2dmN50/Jqun1nyN617d3d3Yp5l38OjyjfP9FnN\n8wUSTKYxBgDGUPkAAOjWUOpf5owBAAAA6JDIGAAYYyg9MwAAfTGU+pfIGAAAAIAOiYwBgDGG0jMD\nANAXQ6l/iYwBAAAA6JDGGAAAAIAO9XaYUpvQpDbvXG+TZ2dnZ+552qxznM3NzanznDhxYuo8t912\n29R5zpw5MzH95MmTNyy78847p97OhQsXps6zvr4+dZ7Lly9PnWdra2ti+jd/8zePXH7XXXdNva27\n77576jxtzuuo89ak6ZoblX706NGpt7OxsTF1ntXV1anztHlmNeUZld42bHMo4Z7ztrKiz4KDbdbn\nSNP/bapHHfZnT5t65DzyJs3Pp6bfsqZ6z7Fjxyam33rrrRPTR9Un9i+7dOnSxPxN105TPeLixYsT\n09fWJv8Z1LT+22+/fWL6s5/97Inpz3nOcyam33PPPROXNZWvqc7UdP6brq82dZh5pbd5Lu3fn6Z7\nb9Z0ZjeU+tcw9hIAAACgJ3obGQMAy3bYe/UBAPpmKPUvkTEAAAAAHRIZAwBjDKVnBgCgL4ZS/xIZ\nAwAAANAhkTEAMMZQemYAAPpiKPUvkTEAAAAAHRIZAwBjrKzos+BgG9W7uH/Zonsfd3d3l7r+pv2b\ntnyrq6vZ2dm56fyz7H9T2ZvS19YmV/M3Nzcnpt96660T0++8886J6dvb2zcsu+uuu77xuen5evTo\n0Zm2f/ny5Ynp6+vrE9OPHTs2Mf3kyZMT0++5556J6d/0Td80MX3U/u1fdtttt03M31T+pvO/uro6\nMX3W67PJIp9Ns963i7zvk34fu64Mpf41jL0EAAAA6AmRMQAwxmHoXQIAOEiGUv8SGQMAAADQIZEx\nADDGUHpmAAD6Yij1r942xrQ5AYueJG4WbSe5app8bZStra2p8zRNQjZK08Rpo1y4cGFi+v6J3a65\ndOnS1Ntpc/20OQZNk8ON0jRh2h/+w3945PLjx49Pva077rhj6jyjzsEi8tx+++1Tp99yyy1Tb2dj\nY2PqPG3uu65+NNpup6vy9fk5DAAAfdHbxhgAWLah9MwAAPTFUOpf5owBAAAA6JDIGACAQ2rU0MH9\ny5bd+zjr0MZZ8+/s7MyUp2n7k9JnLXvTuVtdXZ2Y3jSs/dZbb52Y3nTsRm3/uc997jc+Hzt2bGL+\n2267bWJ60zD2puPbNCT56NGjE9Obytc0hLsp/6jh8/uHcDcN3W46v03Xx8rK5D77tlMwzMOyh0TP\nct/Pw7Kf28yPxhgAGEOFh2UppawmeShJSbKb5AeSXEjy8N73zyZ5U611+tYEAOixodS/DFMCAOif\nP5sktdZXJHkwybuSvCfJg7XW+5IcSfLA8ooHAMxCZAwAjNEUpg2LUmv9v0opH9r7+i1JTiV5VZKP\n7y37cJLvSfLBJRQPABZmKPUvjTEAAD1Ua90upfyDJP9lkv8qyXfXWq9NRnA6yY2TSlxnZWXlhnDv\nprkimGxzc3PZRTiwXvva1y67CAfaC17wgmUXoRfaDGHZn8czcHpNcyzRjqMKAGMMZcwy/VVr/e9K\nKT+S5P9Nsn9G0eO5Gi0z0fWTrK6urubKlSvf+D7rNT7rRJaLnsC3af+mncB3c3MzFy9evOntT0pv\n2nbTure3tyemX7hwYWL62bNnJ6Y/9dRTE9OffvrpielPPvnkM76/9rWvza/+6q9+4/upU5Mv3zNn\nzkxMH9oEvi94wQvyu7/7u9/4PusEvuvr6xPTm45PU+TCrBMET0qf9rlx5MiRZ+SZ9d6bNX+TWSdH\nnnfdZW1t7RnPmy4aZoZS/xpG/A8AwAFSSnldKeVH976eS7KT5F+XUu7fW/aaJI8so2wAwOxExgDA\nGEPpmaGXfjXJ/1ZK+Y0k60l+MMnnkjxUStnY+/z+JZYPABZiKPUvjTEAAD1Taz2b5M+PSHrlNOsZ\nVaEdSiU3mX4Y0kHSdB6bhhJsbGxMTD9+/PhM6x81zOebvumbvvH5zjvvnJj/3LlzE9MvX748Mb1J\n0zCdpmFKTenHjh2bmN40zGjU+m+99dZvfG4ahtR0fpqGEXU9FOZ6k4b6zDpMaVazHptFD89sMqTf\ngL7TGAMAY6iwAAB0ayj1r04aY7pqWZ11Zu1F5mlqnR6X3tRrMUpTS/woTZPAjXLHHXdMnadpsrW7\n7777hmX7Jxq8WU29HaM0TaQ2yiLK9rznPW/k8qYelFHa7NM999zTSZ4TJ05Mnd7UCzVKm2vhMP4A\ndNU7PM+ep+Rqz92osnsTAgAAB5nIGAAYo+ltDwAAzNdQ6l/D2EsAAACAnhAZAwBjHMYhawAAfTaU\n+pfIGAAAAIAOiYwBgDGG0jMDANAXQ6l/aYwBADikRlVo51nJbVpX0xvWmt70Nu83tM1j/dPkWWT5\nm45901vnNjc3J6Y3TaDZ9MbPUW/3vPPOO7/xuelNnk1v4Jz1LYGz7t+s6U3Hf1T+/ce06fw2pTdd\nP03Hpyl91ufMpHun6b66Pn1lZWWq66XvDQGLfi7SHcOUAAAAADokMgYAxuh77xgAwGEzlPqXyBgA\nAACADomMAYAxhtIzAwDQF0Opf4mMAQAAAOiQyBgAGKPpbREAAMzXUOpfvW2MWfSrBmextjb/wzbu\n9XdtQrTavOrvypUrU+dpeiVhG89+9rNvWLa+vj71eo4fPz51nvPnz0+dp8011/SqwW/5lm8ZufyW\nW26ZelsnT56cOs9dd93VyXaa9mdU+tbW1tTbaXq15Cht7vE2PxpN9/c8QzS7+lFr8/zxikYAAIam\nt40xALBsfRqzXEr5rSRP7339d0neleThJLtJPpvkTbXW6VvDONRGXcPTXNeLbixtKsus25+10XvU\n9vfnaSrfIp8hszayN5WtqWOiqfF91LHZ33nTlL+po7Dp2DelNx2/pv1vSm/qfGuTvr+DadZru8sO\noVFmubd1/CzWrL8biyrDYaQxBgB6rpSyleRIrfX+fcv+SZIHa60fK6X8XJIHknxwSUUEAGAKGmMA\nYIwe9cx8e5JjpZSP5upv99uSvCTJx/fSP5zke6IxBgA44HpU/0qSlFJ+NMl/kWQjyc/kav3r4cwY\nnTyxMaaUsp7kfUnuTbKZ5J1J/u08NgwA3LRzSX4iyc8neUGuNr4cqbVei7s+nWT6yZsAABirlHJ/\nkj+R5BVJjiX5m0nekzlEJzcNNv3eJE/UWu9L8ieT/L19G74vyZG9DQPAoXPkyJHO/jX4fJL/vda6\nW2v9fJInktyzL/14klMLOgwAAJ3psv51E3WwVyf5N7na2PJPk3woN0Ynv6rNfjYNU/qVJO+/dkyS\nbI/YcGNY9Nra2sSdbPO2nMPmxIkTc1vXnXfeObd1de3Vr371souwdD/0Qz+07CL0wvOf//xlF2Hp\n2rwJatkW8dampkkOB+L1Sf5okr9aSnlukhNJPlpKub/W+rEkr0ny60ssHwDAYXRXkm9J8meSfGuS\nf5JkZR7RyRMbY2qtZ5KklHI8VxtlHkzyE9NueNIrkNfX13P58uWbLe9EbWbJbjMbd5s8k47BiRMn\n8vTTT49Ma3Nszp07N3Wes2fPTp3nqaeemjrPqVPjO25f/epX5yMf+cgNy5944om5bmecPrza+od+\n6IfyUz/1UyPT+vxq69tuu22ueZ7//Ofn0UcfvWH5sWPHpt7O5ubm1HnavNp63nk2NjZy6dKluWwn\nObivtl5dXR35Ro2uGmi6Om434ReSPFxK+USuDhN+fZLHkzxUStlI8rn8QecJAMCB1aP6V3I1Gvl3\naq2XktRSyoUkz9uX3jo6ubFWX0p5Xq5GvvxMrfWXSil/Zx4bBgBuzl4F4C+MSHpl12UBABiQTyR5\nSynlPUmek+SWJP9sHtHJTRP43pPko0n+Wq31n+0t/oywaACGoG+z+UPXmiJAF32PLHr9bSJcp8k/\nKX3WYztrelPP86zHZpStra2b/r+LPjdN+z9r+qzX7qj8+7fZ99+nRVw/s6x7mjzLfu41WfSzoQ/6\nVMZa64dKKd+Z5FO5Oufum5L8u8whOrkpMuZtSW5P8o5Syjv2lr0lyXuFRQMAAACHWa31rSMWzxyd\n3DRnzFtytfFl7hsGAAAAGKJezYwDAAAAcNi1ey3HlGYZT7tobcajtcnT9OaPceltjs0043Fn0eY4\nNL3G/O67775h2dGjR6fezqj1NGnzNqU2x6DpbTjf9m3fNnJ5m+PQ5lpos502bzlqKtuo9DZvRmq6\n5kZp86aeNrO+dzmmd9HjqxeZZ5m/EQAAsAidNMYAwEHUpwnkAACGYCj1L8OUAAAAADokMgYAxhhK\nzwwAQF8Mpf6lMQYA4JC6fs6lI0eOPGPZrHM2LXvOp1kr7LOWb5F/MMy67qa5zBZ97kaVv2nevKb8\nXWo6fsso3/4yLfre6vN8bU3HfsjHJln+vcPN0xgDAGOo0AAAdGso9S9zxgAAAAB0SGQMAIwxlJ4Z\nAIC+GEr9S2QMAAAAQIdExgDAGEPpmQEA6Iuh1L9ExgAAAAB0SGQMAIwxlJ4ZAIC+GEr9S2MMAACt\n7O7uDnr7TSb9QTFr2Wf9Y6Up/yL+GJpmnSsrkwP4F/3H2qKPT9P5n/X66Pu90WSW4zsq70H64/6g\nnztu3uAbY9rcmG3yNP2gjEtfXV2delubm5tT52mznTZ5NjY2JqbffvvtNyw7duzY1NvZ3t7uJE+b\nh2XTtfDc5z535PKmYzfK+vp6J3nalK0pz9bW1g3L2pRtbW36x1zTOZpXnjba/kB39cN+2CoQB6ny\nBgBwGAyl/mXOGAAAAIAOaYwBAAAA6JDGGAAAAIAOaYwBAAAA6NDgJ/AFgHGGMoEcAEBfDKX+JTIG\nAAAAoEMiYwBgjKH0zDBcTdf4rK+rnzX/ou/BpvKN2v40ZZq0/kXv26zrn/XcNWkq36zps25/1vyL\nPn6L1vd7dxbLfq7QrM/XzzyJjAEAAADokMgYABhjKD0zAAB9MZT6l8gYAAAAgA6JjAGAMYbSMwMA\n0BdDqX+JjAEAAADo0OAjY9q0ui2ipW7cOldXV6de18rK9G1sbfK0KdvGxsbE9OPHj9+w7OjRo1Nv\nZ2dnZ+o8V65cmTpPG03H+q677mqVb5Surp8222nKs76+Ppft9OUen5c213ZbfT4OXXEMAAC6NZT6\n1+AbYwAA6KemV8Qe5tfvzqrNa7unSW9jXq8Fn3ZdbdY/a/5lvxp80eVb9v4N2TLuXRZDYwwAjKFC\nAwDQraHUv8wZAwAAANAhkTEAMMZQemYAAPpiKPUvkTEAAAAAHdIYAwAAANAhjTEAAAAAHdIYAwAA\nANAhE/gCwBhDmUAO+mp3d3fZRZhomc+IWbe9jLLPc5tN18air51Fr39lZbl95k37t+jrZ5bj21S2\nvl8bTeUfQt1kCPuYiIwBAAAA6JTIGAAYYyg9MwAAfTGU+pfIGAAAAIAOdRIZ09W4t65a0NqM4Wwa\nOzhunV2NlW6zT22O9+rq6sT0ra2tG5ZduXJl6u20sbOz08l2mo7bLbfc0irfvPK0uebaXD9N18La\n2o2Pp0VsZ5SuniV9nwuhjTb71Ofejz6XDQDgMBpK/UtkDAAAAECHzBkDAGMMpWcGAKAvhlL/EhkD\nAAAA0CGRMQAwxlB6Zji8rp8PbXV19RnLln2NN80zNevcWovev1nW35R32fOKLWLOx2nmfpv12lj0\nXIBN25/12htV/j7du7Oa5fpa9r1x0C362p2HPpShCyJjAAAAADokMgYAxhhKzwz9VUp5VpJPJ/nu\nJNtJHk6ym+SzSd5Ua+3mVYAA0JGh1L9ExgAA9FApZT3J309yfm/Re5I8WGu9L8mRJA8sq2wAwGxE\nxgDAGEPpmaG3fiLJzyX50b3vL0ny8b3PH07yPUk+OGkFKysrN1zHq6ur8y3lwGxsbCy7CAfW2po/\nPWaxubm57CIcWOvr68suwoHW9e/GUOpfnogAAD1TSvm+JI/VWj9SSrnWGHOk1npt5sXTSU42rWfU\nBL5Xrlz5xvdZJ5FddnqTeVfoNzY2cunSpZte/yzlX/QkpbNO0DvtsV1bW8v29vZN//+hT+B7ff7N\nzYoCBX4AABVkSURBVM1cvHjxpte/6Htv0dfPLBP4Xp93fX09ly9fnphnnhb93Jo1fdrjd/3vhgb9\n+dEYAwDQP69PsltKeVWSP5bkHyZ51r7040lOLaNgAMDsNMYAwBhDCZOlf2qt33ntcynlY0l+IMnf\nLaXcX2v9WJLXJPn15ZQOABZnKPUvjTEAAAfDDyd5qJSykeRzSd7flGFUOPo0IfSLHiqzaMse5jQp\n/7KHmTRZxFCJlZWbf3fIoocZNZn1+C3i3tm/zr7fm7PeO8vcv2U3BCz62C17//gDGmNaWMQFPG6d\nbbbV5uHVl5ty1MRubSZ7a3MM2vzoL+K4zXNiwDbHoasfvzaVuMN2P8x7PP4kfb4WgMlqrffv+/rK\nZZUDAJgfr7YGAAAA6JDIGAAYoy9RgwAAQzGU+pfGGAAAAIAxSinPSvLpJN+dZDvJw0l2k3w2yZtq\nrVPPeTGxMaaUsp7kfUnuTbKZ5J1JvpTkQ0l+d++//Wyt9Zen3TAA9N1QemYAAPqib/WvvXaRv5/k\n/N6i9yR5sNb6sVLKzyV5IMkHp11vU2TM9yZ5otb6ulLKHUl+O8nfSvKeWutPTrsxAAAAgAPkJ5L8\nXJIf3fv+kiQf3/v84STfkwU0xvxK/uC1iUdyNRznJUlKKeWBXI2O+cFa6+lpNwwAfde3nhkAgMOu\nT/WvUsr3JXms1vqRUsq1xpgjtdZrrx09neRkm3VPbIyptZ7ZK8DxXG2UeTBXhyv9fK3106WUtyf5\nsSR/c+JG1tYmHtD19fUpi334OAZXbW1tLbsIS3fs2LFlF6EXjh49uuwiLF2b17ofRo4DtDfqFfX7\nl836Cvs+VZj7aNLxaTp2s56bWTWVr036/mVN+zfr8Vn08Z11+23WP89rYhHn96BY9L4v+tpqMuu5\nabp3B+j1SXZLKa9K8seS/MMkz9qXfjzJqTYrbqzhllKel6shNz9Ta/2lUspttdZrG/tgkp9uWsf2\n9vbYtPX19Vy+fPkmiztZny+SSTfVPI9B07bmaWdn6jmKJtra2sqFCxfmsq42x6DN/sz7mjt27FjO\nnTs3t/W1OQ5dXT+rq6tj044ePZrz58/fsHxlZWXq7bQ5R222M29ra2sTn53TWnalfpJJ52jcceiq\n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\n+mtdt0opx5PcnOQpSU4meXOS72RkY2FBP/wwIxoLSVJK2UlyY5KSyfP/6iQ/SY/jYSwLyHH0ibtW\nI1ZZjev7eoZ4PbzYlFIen+RrSa5Jcjb67sDO/3ya5C1p3H9jib/6rIx5SZJLaq3PSvKGJG/vsS29\nKKVckmSr1npq+m9MiZi/SPK+JJdMN70jyfW11l9LspXkxX21raU5/XBlknfMjIkj/eE7ycuS3DV9\n3n8ryd9mnGNhXj+MbSwkyYuSpNb67CTXZ3LxH+N4gC6MPu46LLHKWlzf1+N6uIZpMvDvk/zvdJO+\nO6AFn0/1X0f6TMZcneTTSVJr/XKSZ/TYlr5ckeTRpZTTpZTPllKu6rtBDX0/yW/P3L4yyeemf38q\nyfOat6gf8/rhhaWUz5dSbiqlXNpTu1r5SJIbpn9vZfLNxRjHwqJ+GNNYSK31E0n+cHrzyUl+nHGO\nB+iCuOvwxCqrc31fg+vh2t6W5L1J/nN6W98d3LzPp/qvI30mYy5Lcmbm9sOllN6mTfXk/kzeLH4z\nk/LDD42lD2qtH0vy0MymrVrr3vTve5Jc3r5V7c3ph39N8ue11uck+fckb+qlYY3UWu+ttd4zTTR8\nNJNvf0Y3Fhb0w6jGwjm11rOllA8keXeSD2WE4wE6Iu46JLHK6lzf1+d6uJpSyiuS/E+t9TMzm/Xd\nwV3w+TT6rzN9JmPuTjL7Te92rfVsX43pyZ1JPlhr3au13pnkriQ/23Ob+jI77/DSTL4BGKNba61f\nO/d3kqf32ZgWSilPSnJbkn+stX44Ix0Lc/phdGPhnFrry5M8LZP58o+auav5eNja2mr277BKKVul\nlP8opdw+/ffW6farSilfKaXcUUoZRRKPAxF3rW+U16dVub6vb0jXw4vIdUmuKaXcnuRXkvxDksfP\n3K/v9jfv8+kTZu5v0n8t468+16fpMxlzR5IXJJPAMcm3emxLX67LdM52KeWJmXxr9V+9tqg/3yil\nnJr+/fwkX+ixLX36TCnlV6d//3omC48dWaWUJyQ5neT1tdabp5tHNxYW9MOoxkKSlFKuLaX85fTm\n/ZkE7l8d23g4hKcm+frMvO5zfffeJL+XybSUZ04XBgdx1/pGd31alev7elwPV1drfU6t9bm11lNJ\nvpnk95N8St8d2LzPp6f1Xzf6LE+9NZOs5ZcymUs6msVrZ9yU5JZSyhczWZ36uhF/S/VnSW4spZxI\n8t1MSlrH6I+SvLuU8lCS/85P5wsfVW9M8rgkN5RSzs0tf22Sd41sLMzrhz9N8s4RjYUk+XiS95dS\nPp/keJLXZTIGvDfMd2WSnyul3JbJIoV/kklC/2St9ftJUkr5TCZzu7/RWysZCnHX+sQqB+f6vh7X\nw83y2j24Cz6fJvlR9F8ntvb29pb/LwAYoXvvvbfZRfKxj33swjrZUsofZJJsmfWaJI+vtX6klHJ1\nkncmeWmSj9Vanznd77okv1Brvb6jZgMAbFTL+CvZPwbrkoXbAGCBPucRz6q13pTJt1X/r5Ty6Ex+\noSS11i9Oy4nvySPXBTE3HgC4qAwl/upan2vGAACre1MmpesppVyR5Ie11jNJHiylPLWUspXJryGY\n2w0AMDAqYwDg4vRXST5YSnlhJhUyr5huP/dTlDtJTtdav9JP8wAAWMSaMQCwwH333dfsIvmYxzxm\nHDW5AAD7aBl/Jf3FYCpjAGCBscxZBgAYirHEX9aMAQAAAGhIMgYAAACgIckYAAAAgIYkYwAAAAAa\nsoAvACwwlgXkAACGYizxl8oYAAAAgIYkYwAAAAAakowBAAAAaMiaMQCwwFjmLAMADMVY4i+VMQAA\nAAANScYAAAAANCQZAwAAANCQZAwAAABAQ5IxAAAAAA35NSUAWGAsq/kDAAzFWOIvlTEAAAAADUnG\nAAAAADQkGQMAAADQkGQMAAAAQEMW8AWABcaygBwAwFCMJf5SGQMAAADQkGQMAAAAQEOSMQAAAAAN\nWTMGABYYy5xlAIChGEv8pTIGAAAAoCHJGAAAAICGJGMAAAAAGrJmDAAsMJY5ywAAQzGW+EtlDAAA\nAEBDkjEAAAAADUnGAAAAADRkzRgAWGAsc5YBAIZiLPGXyhgAAACAhiRjAAAAABoyTQkAAADgPKWU\n7STvSXJFkgeSvKrW+r1NHFtlDAAAAMCFXpLkklrrs5K8IcnbN3VglTEAsMBYFpADABiKgcVfVyf5\ndJLUWr9cSnnGpg6sMgYAAADgQpclOTNz++FSykaKWiRjAAAAAC50d5JLZ25v11rPbuLAkjEAAAAA\nF7ojyQuSpJRyVZJvberA1owBgAUGNmcZAODIG1j8dWuSa0opX0qyleSVmzrw1t7e3qaOBQBHyl7D\ni+TWwCIPAIA+tIy/kv5iMNOUAAAAABqSjAEAAABoyJoxALCAmUMAAG2NJf5SGQMAAADQkGQMAAAA\nQEOSMQAAAAANWTMGABYbx6RlAIDhGEX8pTIGAAAAoCHJGAAAAICGJGMAAAAAGpKMAQAAAGhIMgYA\nAACgIckYAAAAgIb+D/8HKKzupse3AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pylab as plt\n", "plt.figure(figsize=(20,10))\n", "plt.subplot(1,2,1)\n", "plt.imshow(pacs100_psf[1].data[centre100-radius100:centre100+radius100+1,centre100-radius100:centre100+radius100+1])\n", "plt.colorbar()\n", "plt.subplot(1,2,2)\n", "plt.imshow(pacs160_psf[1].data[centre160-radius160:centre160+radius160+1,centre160-radius160:centre160+radius160+1])\n", "plt.colorbar()\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Set XID+ prior class" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#---prior100--------\n", "prior100=xidplus.prior(im100,nim100,im100phdu,im100hdu, moc=Sel_func)#Initialise with map, uncertianty map, wcs info and primary header\n", "prior100.prior_cat(XID_MIPS['RA'][good],XID_MIPS['Dec'][good],'dmu26_XID+MIPS_CDFS-SWIRE_cat_20170901.fits',ID=XID_MIPS['help_id'][good])#Set input catalogue\n", "prior100.prior_bkg(0.0,5)#Set prior on background (assumes Gaussian pdf with mu and sigma)\n", "\n", "#---prior160--------\n", "prior160=xidplus.prior(im160,nim160,im160phdu,im160hdu, moc=Sel_func)\n", "prior160.prior_cat(XID_MIPS['RA'][good],XID_MIPS['Dec'][good],'dmu26_XID+MIPS_CDFS-SWIRE_cat_20170901.fits',ID=XID_MIPS['help_id'][good])\n", "prior160.prior_bkg(0.0,5)\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Divide by 1000 so that units are mJy\n", "prior100.set_prf(pacs100_psf[1].data[centre100-radius100:centre100+radius100+1,centre100-radius100:centre100+radius100+1]/1000.0,\n", " pind100,pind100)\n", "prior160.set_prf(pacs160_psf[1].data[centre160-radius160:centre160+radius160+1,centre160-radius160:centre160+radius160+1]/1000.0,\n", " pind160,pind160)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "----- There are 9778 tiles required for input catalogue and 18 large tiles\n" ] }, { "ename": "SystemExit", "evalue": "", "output_type": "error", "traceback": [ "An exception has occurred, use %tb to see the full traceback.\n", "\u001b[0;31mSystemExit\u001b[0m\n" ] } ], "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,prior100.sra,prior100.sdec,unique=True)\n", "order_large=6\n", "tiles_large=moc_routines.get_HEALPix_pixels(order_large,prior100.sra,prior100.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='./'\n", "outfile=output_folder+'Master_prior.pkl'\n", "with open(outfile, 'wb') as f:\n", " pickle.dump({'priors':[prior100,prior160],'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": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [default]", "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.0" } }, "nbformat": 4, "nbformat_minor": 2 }