{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# XID+PACS GAMA-09 Prior" ] }, { "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, which provide the same functionality instead.\n", " obj_type='module')\n" ] } ], "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+PACS 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." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Sel_func=pymoc.MOC()\n", "Sel_func.read('../../dmu4/dmu4_sm_GAMA-09/data/holes_GAMA-09_ukidss_k_O16_20180417.fits')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in CIGALE predictions catalogue" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "cigale=Table.read('../../dmu28/dmu28_GAMA-09/data/GAMA9_Ldust_prediction_results.fits')\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [ { "ename": "KeyError", "evalue": "'id'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcigale\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'id'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'help_id'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/astropy/table/table.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 1223\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__getitem__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\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 1224\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstr\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-> 1225\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1226\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minteger\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 1227\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mRow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/astropy/table/table.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 105\u001b[0m \"\"\"\n\u001b[1;32m 106\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstr\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--> 107\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mOrderedDict\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getitem__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 108\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minteger\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 109\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: 'id'" ] } ], "source": [ "cigale['id'].name = 'help_id'" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=1815905\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
bayes.dust.luminositybayes.dust.luminosity_errbest.omegacam_ubest.megacam_ubest.omegacam_gbest.suprime_gbest.decam_gbest.megacam_gbest.gpc1_gbest.suprime_rbest.gpc1_rbest.megacam_rbest.omegacam_rbest.decam_rbest.gpc1_ibest.megacam_ibest.omegacam_ibest.suprime_ibest.gpc1_zbest.vista_zbest.megacam_zbest.suprime_zbest.decam_zbest.gpc1_ybest.suprime_ybest.vista_ybest.ukidss_ybest.ukidss_jbest.vista_jbest.ukidss_hbest.vista_hbest.vista_ksbest.ukidss_k
mJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJymJy
float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64float64
1.7756811583627856e+391.8560994213383705e+390.00068496556488561830.00082135252155700160.00144183207848292250.00148516352541802970.00149180973988998040.00152484207857014890.00152236399700836850.00292362440638709250.00293234518063403920.00299420445507547670.0030719458064203980.0032099465633966430.005707273441516890.0058742737946880170.0061244234780503160.0065172637517158150.0120436680647017790.0123872369987689440.0127309395159098550.0128854969896216150.0138947607249935070.0156775037918902050.0159951505172147570.016815516042127920.0170408681250725470.0242142967251865080.024293806707667540.036244427460301660.036535208665191510.0533221895089589640.05449461857253117
2.7021265703371776e+372.4317979538966422e+360.057311043296728830.0562235789619064740.060337969800082660.060823180371505820.060957142558438820.0609625599188389350.061231688379549670.058328500684596550.058016174553835240.05741128606688290.057413361229067610.0569884758346066240.052826751004077250.0531286069587253440.053060341437870010.052672698673262630.0511368015528793350.0510961639642109750.0512045776455076350.051203983597635810.051222263858226060.051005429727486240.050894179958141780.0516693579822162450.0520356898121290960.0535853198261269160.053546050814717520.052349538754642760.0523398453256976250.0526552391408129160.0514389634370146
4.570194861817776e+372.8856447896428874e+370.0015627750245761930.00192418494454308180.0040734658399802230.0043894589370424630.0044453388134231050.00461453381606079850.0046177499790199160.0133383483064155650.0134180824496155160.0137568580712797670.0140218194493881080.014555858831578520.0210167471998255650.020949685854053120.021261661158678160.0218665518448490950.0274352226069256370.027938345791316930.028419946362771210.028734961161586780.0300696478972696280.0326876826713185240.033614673795777170.036542620737051720.037157440994212270.052331288433844680.05251727843077980.069359695661645780.069704946174251490.091281488542083840.09383798173773936
1.5495572578977246e+392.0426412306543896e+390.00071134580859206820.00086209982413078440.00146368041862101130.00151836539644895880.0015289079408294640.00156506147188516650.0015655048436877720.0034866665740640810.00349250734195561160.0035691249101196920.0037076329948321720.0039747552576064870.0095553734944528080.0095149781473160.0098344550873196560.010535626514521950.0170907148285270450.017723926542381130.0179956070582209530.0184064532071201370.019382606114241270.0212997145429069320.0220023922129320250.0245431099140953550.0252827344276157840.037328250998143910.0374210562826613540.0614497459670430150.062114079566647850.089682850759405170.09202998934088379
1.9836831174912827e+391.1247053696095027e+386.2980245359393166.1384272172285136.4788740441545416.4991293873765676.50546878227264456.5172732820288146.5246894892600275.8772948156656935.84752162294715655.7920112891633875.7828993794921325.74194490447400255.2579855301462335.2693621595854795.260620850482255.2227124946331595.054550013213865.0611777902486985.0701878660045475.0803110921272115.0703317820100345.020129052733815.0347700270353035.1520910104836065.1711817135965665.1504494803339115.1540957892483655.0510346870881095.05493386165174654.91507578592461154.793075837926555
9.008484458912574e+356.91995525495998e+350.072202515850522440.088802901094393720.206479724458550840.21057300677692740.211329060290224940.217344030318189660.216248401556824820.34347803062988110.3448695636894630.34923990293409260.35410501961629750.36232486320486910.444102665294985430.44468600185730150.44879336143566490.45561649934518140.53595161850867110.5466210110286940.55759715620997750.55522402784103770.58727935217967740.63833405635392090.653717529344740.6876831579582460.69682854315797050.76901336437755120.77016259835075980.92320930244699730.92858496921237950.81456396975194020.7928518585568228
3.601881487628594e+374.012016413741961e+370.0089971008415266640.0095012964831013360.0120266865906077420.0125693159293905140.0126668436478482830.0128097052739080520.0128880398694905790.0224156200521083150.0224088009004975580.0225878618333340380.0226883431317273020.022876224716019890.0249271020458233620.0249328462466669840.0250593415397735860.0252313734675724960.0266716960217619170.0267912011714223180.0270226325454957540.0270129464293779150.0274687610621849530.028256635184257280.0284737750751907040.02947645046359750.029641084452943340.034191872682741220.034264145985959540.036918962567375120.0369935286588238960.041395094857704770.04205066456324092
6.326384780716312e+363.877157504172003e+360.0296499549141997360.0308131251279834750.052166072386258120.0535517786040822160.053863161729444260.054546253879950870.0550694180372981660.070155532147996770.069934059425282580.069947552028599980.07055391123715370.071429318336122150.077355530501713290.077313363571040280.077542696585891610.077865678424051120.083039827686213150.083783395775440280.084310968359429490.08506530960130990.0862310036652750.088011150726368990.089047862597345870.092893375812085250.093800867812644340.102967178101202070.103120888857435370.110410426780287220.110666949112605470.11472251588960370.1119708009075359
2.049659370130672e+381.7284443198752115e+380.068894818764099970.108407355183625060.456404103744695030.47881007988947970.483258777291579570.50364704840274520.50282296256255841.28779092672418121.29450046296266461.3277794312785021.37011116288275671.44434413193171452.29489076373290372.30729693613332152.34916443588251322.43209926236917663.42355069564183363.543821729865113.66346259946524373.66474865083786974.0320761071665554.6868214078522584.9004394633541275.549227650893445.75934003304511858.1075058735558398.13994060005096312.4778292310771612.60065080693776813.80714234413594713.750692964949224
...................................................................................................
1.100216810929157e+375.896175988586009e+360.0185925796016240820.0209199254423335020.050019913263812160.0521504895143162850.052608872096007860.053558935390088910.054207675879794530.09169885245456780.091584831639791310.092636531240226150.094376550456044030.096809663588391190.120915909150837610.121389620512259020.122268709655857150.123819573531355140.14596352593855290.148862095757683670.150869035844760830.151630374182874620.157149810167776570.16735500287402960.170580263701373580.183657134361502330.186919258936709550.224204265124025970.224705142032469720.26288646656320540.26401640301725780.28333736053861130.27644285679340813
1.4206447502514093e+381.5785427761039392e+380.00109616367351763430.00127850543209384450.00255109256058291350.0026784092174178190.00269809357377723750.00283403588007381450.00279059331396376170.0089512429574551240.0090707217935387320.009390155870711780.0096542428759841310.0101764723596920680.0147861596888625120.0149002467434304670.0151263102549908670.0155110316649516390.020208769961933270.020595429106706860.020959258721604390.0210682217804026780.022169300930974430.023967110965466580.024586325496520580.0263402429892867770.0270294545156703860.037829889533544450.037990884588185080.0534075960124373650.053613259841748680.067954841219878960.07058803064886479
5.695247881763603e+371.1818187020180186e+370.483771292770790230.58952908880853681.59964565785182461.64871323642078241.65838741649235071.69426479453074761.70489171354476432.9854692989617742.99587748214641623.06299605486256173.1119443086977393.21091826013901834.1338436327752864.1243737132927414.16388736519258454.2421628290510415.0837483010496795.174854018487945.3014993510052545.3228514980988875.6497633385150666.17208611409398246.3821548607084156.8137239900097276.9102484573178478.0280706658603788.0465437925976359.8587620543656349.9194080098977979.5148601192913889.317719358284283
1.3552394175194585e+373.328740922492263e+360.0076032983272100550.009313186096129510.0296868637165382250.0313659116043019450.0317267461299174660.032432659157224820.032862980086909140.070747572347916720.070955063865094630.072271774036443840.074153525557258890.077130974296271660.108083334506258820.108966316699795050.11021142056784240.112728667279721750.144847801758927860.148738847532210640.151354918764162040.151649203434208540.160423683489096160.176595277081672520.181600969373172660.20156752823935380.206289744553508540.269160665931808150.26989630997953790.34483272265259660.34703709194087140.39227695979541110.3849792090702955
1.328833590853375e+381.1914099343470326e+380.00060226836666902460.00072429115626162520.0015828077930703640.00164511384432434430.00165799009500683880.0017058547086665050.00170704242710120620.0059808171404535470.0060232053266750740.0063171802140808130.0066271803174761830.00719096959138647560.012086587061421710.0121740521622864910.0123331100007052650.0126848232469049960.017448608807304580.0179617294752002430.0182330199582006680.0186228476718633650.0196686561251663250.0215276030570210540.022267212397117160.024279494120473370.0246489399328232920.035958337812931780.036226475415922310.057458300464140260.0577646067777182960.075505398042061770.07825585808166652
2.3710471636398194e+371.0020287258827178e+370.0025929974562662320.0031123990187370560.00610231124450728940.0065031264513885590.0065712822934928960.0067584272089566660.006793441556481390.0172052816561617870.0173383337045378770.0177030774814585750.0179891211479000260.0186436103600860250.0256345805744667040.0254775999461488050.0257862423957178480.026489580834868640.031930532219012460.03254883953528150.032986861931198090.0332928117432123650.034716808660007690.037204933469551440.0381895291821150030.0410535362428361140.041730143986205970.056489984656001380.0566757098949829540.070762050689109890.07103608737219390.090069822465356050.09165088082958911
1.5472336547762588e+381.5288694427606837e+380.003692560771955070.0046426223147524220.0119044220108892020.0127701841067671880.0129492817813163880.0131355961339088560.0134262046629441410.034661294120741460.0347731306345121440.035701985642958540.036535414365208040.038099491051528310.0547329807782486050.0547234435581805960.0553788899117576840.056811305149900060.070991968543848450.072281408487630410.074090120596668930.074220495801363850.079189963614296570.086746014522805110.089945791675801080.096054664564360490.097513700920863760.140241888302282260.140759507769644330.185750235457616930.18676130642423390.25189233273910290.2537738344197868
8.403366521447583e+376.959359922574835e+370.00302360943920453260.00384584425628863940.0107591431676656740.0114328029808031550.011583626276690890.0119217527677704970.012053613212690790.0318817356525083750.032035867155958450.0326278015452455060.03359402760885810.035098170059497160.0519435369305885560.051943725367547380.052575998527685250.054022264366598460.068138818407384260.069762064440646860.071636472372356550.071754673902955690.076567319159478980.085600226225152450.08774167655051910.094023723302224040.095744004383945560.140917978712036730.14127102759674990.18681945109912290.187769101431141140.25322601098211040.25316678423230976
1.617886580946589e+381.6853216553185113e+380.00200145309951384840.00232476398697761430.0037663470281749670.0038463833839598720.00386218734510955460.0039456239400476570.0039236876428000450.0080999550998376230.0081785188186486830.008436789997585940.0085981022084375360.0089304335142082540.0111996357141843810.011244080687274640.0113193473786605150.0114638545122171810.0132779237082612450.0134510528100525940.0135955041479701510.0136706177962689860.014094914929826680.0147562532051931530.0150433235038122080.0157566239537593920.0159153997055214640.0201705061974162130.020279724134281150.035672016013009250.035913395875771910.045467331923068320.04635943708894945
1.2800960529174906e+381.4743806275086965e+380.00237762533885046330.002499847434140640.0032016213020285540.00324620572651608760.0032540309747481860.0032763138962076750.00328121111057482540.0061681218661177980.0062082749677565410.0064509019758668530.0066174061160266330.0069774903113631350.0094751586624371720.0095311437543645140.0095803411327153310.0097124106551408840.011499724606206630.011701343629752420.0118043258531707950.0119677552726093280.0123452172903290230.0129972865550722120.0131709251738206230.0138689816883873480.014035873488276350.0176682054257035450.017755976914674490.0246158020592896940.0246872264931785570.02856868246812770.029216990406834058
" ], "text/plain": [ "\n", "bayes.dust.luminosity bayes.dust.luminosity_err ... best.ukidss_k \n", " ... mJy \n", " float64 float64 ... float64 \n", "---------------------- ------------------------- ... --------------------\n", "1.7756811583627856e+39 1.8560994213383705e+39 ... 0.05449461857253117\n", "2.7021265703371776e+37 2.4317979538966422e+36 ... 0.0514389634370146\n", " 4.570194861817776e+37 2.8856447896428874e+37 ... 0.09383798173773936\n", "1.5495572578977246e+39 2.0426412306543896e+39 ... 0.09202998934088379\n", "1.9836831174912827e+39 1.1247053696095027e+38 ... 4.793075837926555\n", " 9.008484458912574e+35 6.91995525495998e+35 ... 0.7928518585568228\n", " 3.601881487628594e+37 4.012016413741961e+37 ... 0.04205066456324092\n", " 6.326384780716312e+36 3.877157504172003e+36 ... 0.1119708009075359\n", " 2.049659370130672e+38 1.7284443198752115e+38 ... 13.750692964949224\n", " ... ... ... ...\n", " 1.100216810929157e+37 5.896175988586009e+36 ... 0.27644285679340813\n", "1.4206447502514093e+38 1.5785427761039392e+38 ... 0.07058803064886479\n", " 5.695247881763603e+37 1.1818187020180186e+37 ... 9.317719358284283\n", "1.3552394175194585e+37 3.328740922492263e+36 ... 0.3849792090702955\n", " 1.328833590853375e+38 1.1914099343470326e+38 ... 0.07825585808166652\n", "2.3710471636398194e+37 1.0020287258827178e+37 ... 0.09165088082958911\n", "1.5472336547762588e+38 1.5288694427606837e+38 ... 0.2537738344197868\n", " 8.403366521447583e+37 6.959359922574835e+37 ... 0.25316678423230976\n", " 1.617886580946589e+38 1.6853216553185113e+38 ... 0.04635943708894945\n", "1.2800960529174906e+38 1.4743806275086965e+38 ... 0.029216990406834058" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cigale" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in photoz" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "photoz=Table.read('../../dmu24/dmu24_GAMA-09/data/master_catalogue_gama-09_20171206_photoz_20180213_r_optimised.fits')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "photoz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Join CIGALE and photoz tables" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "prior=join(cigale,photoz,keys='help_id')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from astropy.cosmology import Planck15 as cosmo\n", "from astropy import units as u\n", "f_pred=prior['bayes.dust.luminosity']/(4*np.pi*cosmo.luminosity_distance(prior['z1_median']).to(u.cm))\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "prior=prior[np.isfinite(f_pred.value)][np.log10(f_pred.value[np.isfinite(f_pred.value)])>8.5]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "prior['DEC'].name='Dec'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in Maps" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "PACS_100='../../dmu18/dmu18_HELP-PACS-maps/data/GAMA-09_PACS100_v0.9.fits'\n", "PACS_160='../../dmu18/dmu18_HELP-PACS-maps/data/GAMA-09_PACS160_v0.9.fits'\n", "#output folder\n", "output_folder='./'" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from astropy.io import fits\n", "from astropy import wcs\n", "\n", "#-----100-------------\n", "hdulist = fits.open(PACS_100)\n", "im100phdu=hdulist[0].header\n", "im100hdu=hdulist[1].header\n", "im100=hdulist[1].data\n", "w_100 = wcs.WCS(hdulist[1].header)\n", "pixsize100=3600.0*np.abs(hdulist[1].header['CDELT1']) #pixel size (in arcseconds)\n", "nim100=hdulist[2].data\n", "hdulist.close()\n", "\n", "#-----160-------------\n", "hdulist = fits.open(PACS_160)\n", "im160phdu=hdulist[0].header\n", "im160hdu=hdulist[1].header\n", "\n", "im160=hdulist[1].data #convert to mJy\n", "w_160 = wcs.WCS(hdulist[1].header)\n", "pixsize160=3600.0*np.abs(hdulist[1].header['CDELT1']) #pixel size (in arcseconds)\n", "nim160=hdulist[2].data\n", "hdulist.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in PSF" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "pacs100_psf=fits.open('../../dmu18/dmu18_GAMA-09/dmu18_PACS_100_PSF_GAMA-09_20190131.fits')\n", "pacs160_psf=fits.open('../../dmu18/dmu18_GAMA-09/dmu18_PACS_160_PSF_GAMA-09_20190131.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" ] }, { "cell_type": "code", "execution_count": 13, "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": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n+X6SN9ZaL49ZvlauqofnJPlMkn/dW/03tdZ/GK9061VK2U5yV5JnJTmd5O1JfpCZtYUV9fAfmVFb\nSJJSylaSO5OU7J7/NyR5LCO2h7lMIMfJp9/Vj75KP+7vw0zxfnjclFKemuTbSW5NcjHq7sCu/n6a\n5B1pXH9z6X+NmRnz6iRnaq3PS/LWJO8asSyjKKWcSbJRaz2/929OgZg/S/LBJGf2Fr07ye211hcm\n2UjyqrHK1tKSerg5ybsX2sSJ/vKd5DVJHtg77y9L8r7Msy0sq4e5tYUkeWWS1Fqfn+T27N7859ge\nYB1m3+86LH2VQdzfh3E/HGAvGPi3Sf53b5G6O6AV30/V35qMGYx5QZLPJUmt9ZtJnjtiWcZyU5Kz\npZR7SylfKKXcMnaBGvq3JL+18PrmJF/e+/uzSV7SvETjWFYPv1FK+Uop5UOllOtHKlcrn0hyx97f\nG9l9cjHHtrCqHubUFlJr/XSSP9h7+cwkP8k82wOsg37X4emr9Of+PoD74WDvTPKBJP+591rdHdyy\n76fqb03GDMbckOTBhdeXSimjDZsayaPZ/bD49eymH35sLnVQa/3HJE8sLNqote7s/f1wkhvbl6q9\nJfXwz0n+tNb6oiT/nuQvRilYI7XWC7XWh/cCDZ/M7tOf2bWFFfUwq7ZwRa31YinlI0nem+RjmWF7\ngDXR7zokfZX+3N+Hcz/sp5Ty+0n+p9b6+YXF6u7grvl+GvW3NmMGYx5Ksvikd7PWenGswozkviR/\nX2vdqbXel+SBJD83cpnGsjju8PrsPgGYo3tqrd++8neS54xZmBZKKc9I8sUkH621fjwzbQtL6mF2\nbeGKWutrkzw7u+Pln7ywqnl72NjYaPYP1ky/a7hZ3p/6cn8fbkr3w2PktiS3llK+lOSXk/xdkqcu\nrFd3+1v2/fRpC+ub1F/L/teYfbAxgzFfT/KKJNlLf/reiGUZy23ZG7NdSnl6dp9a/deoJRrPd0sp\n5/f+fnmSr45YljF9vpTyK3t//1p2Jx47sUopT0tyb5K31Frv2ls8u7awoh5m1RaSpJTyu6WUP997\n+Wh2O+7fmlt7gDXR7xpudvenvtzfh3E/7K/W+qJa64trreeT/EuS30vyWXV3YMu+n96r/tZjzPTU\ne7IbtfxGdseSzmby2gUfSnJ3KeVr2Z2d+rYZP6X6kyR3llKelOSH2U1pnaM/TPLeUsoTSf47Px0v\nfFK9LclTktxRSrkytvxNSd4zs7awrB7+OMlfz6gtJMmnkny4lPKVJNtJ3pzdNuCzAYbT7xpOX+Xg\n3N+HcT88Wq7dg7vm+2mSH0f9rcXGzs5O9/8CgBm6cOFCs5vkuXPnjFUCAGavZf8rGa8PZuI2AFjB\nXC4AAG3Npf815pwxAAAAALMjGAMAAADQkGAMAAAAQEPmjAGAFeYyZhkAYCrm0v+SGQMAAADQkGAM\nAAAAQEOCMQAAAAANCcYAAAAANGQCXwBYYSoTyJVSNpO8P8lNSR5P8vpa6/3jlgoA4OhNpf+1bjJj\nAGD6Xp3kTK31eUnemuRdI5cHAIABBGMAYPpekORzSVJr/WaS545bHAAAhhCMAYDpuyHJgwuvL5VS\nDDUGADimdOQAYIUJjVl+KMn1C683a60XxyoMAMC6TKj/tVYyYwBg+r6e5BVJUkq5Jcn3xi0OAABD\nyIwBgOm7J8mtpZRvJNlI8rqRywMAwAAbOzs7Y5cBACbpsccea3aTPHPmzDxycgEA9tGy/5WM1wcz\nTAkAAACgIcEYAAAAgIbMGQMAK8xlNn8AgKmYS/9LZgwAAABAQ4IxAAAAAA0JxgAAAAA0JBgDAAAA\n0JAJfAFghblMIAcAMBVz6X/JjAEAAABoSDAGAAAAoCHBGAAAAICGzBkDACvMZcwyAMBUzKX/JTMG\nAAAAoCGZMQAAAABXKaVsJnl/kpuSPJ7k9bXW+49i3zJjAAAAAK716iRnaq3PS/LWJO86qh3LjAGA\nFeYyZhkAYCom1v96QZLPJUmt9ZullOce1Y5lxgAAAABc64YkDy68vlRKOZKkFsEYAAAAgGs9lOT6\nhdebtdaLR7FjwRgAAACAa309ySuSpJRyS5LvHdWOzRkDACtMbMwyAMCJN7H+1z1Jbi2lfCPJRpLX\nHdWON3Z2do5qXwBwoly6dKnZTXJra2tSPQ8AgDG07H8l4/XBDFMCAAAAaEgwBgAAAKAhwRgAAACA\nhkzgCwArTGwCOQCAE28u/S+ZMQAAAAANCcYAAAAANCQYAwAAANCQOWMAYIW5jFkGAJiKufS/ZMYA\nAAAANCQYAwAAANCQYAwAAABAQ+aMAYAV5jJmGQBgKubS/5IZAwAAANCQYAwAAABAQ4IxAAAAAA2Z\nMwYAVpvHoGUAgOmYRf9LZgwAAABAQ4IxAAAAAA0JxgAAAAA0JBgDAAAA0JBgDAAAAEBDgjEAAAAA\nDf0fZGKNM7PVbGYAAAAASUVORK5CYII=\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()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set XID+ prior class" ] }, { "cell_type": "code", "execution_count": 15, "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(prior_cat(prior['RA'] ,prior['Dec'] ,'GAMA09_Ldust_prediction_results.fits',ID=prior['help_id'])#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(prior_cat(prior['RA'] ,prior['Dec'] ,'GAMA09_Ldust_prediction_results.fits',ID=prior['help_id'])\n", "prior160.prior_bkg(0.0,5)" ] }, { "cell_type": "code", "execution_count": 16, "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": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "----- There are 2165 tiles required for input catalogue and 18 large tiles\n", "writing total_bytes=781068219...\n", "writing bytes [0, 781068219)... done.\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", "xidplus.io.pickle_dump({'priors':[prior100,prior160],'tiles':tiles,'order':order,'version':xidplus.io.git_version()},'Master_prior.pkl')\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": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total 1525656\n", "drwxr-xr-x@ 3 pdh21 pdh21 102B 14 Feb 16:33 \u001b[34mdata\u001b[m\u001b[m/\n", "-rw-rw-r-- 1 pdh21 pdh21 41K 15 Feb 11:16 XID+PACS_prior.ipynb\n", "-rw-rw-r-- 1 pdh21 pdh21 18K 15 Feb 11:25 Tiles.pkl\n", "-rw-rw-r-- 1 pdh21 pdh21 745M 15 Feb 11:25 Master_prior.pkl\n" ] } ], "source": [ "ls -ltrh" ] }, { "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 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.8" } }, "nbformat": 4, "nbformat_minor": 2 }