{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# PSF normalization\n", "\n", "Let us assume that we have reduced an observation, for which we have determined the PSF by stacking the flux of point-like sources. The PSF we obtain will not be as high S/N as the instrumental PSF that has been determined by the instrument team. Moreover, it is likely to be fattened due to the some small pointing errors. We need to find out what fraction of a point-like flux the PSF we have determined represent. In order to do this, we use the growth curve of the theoretical PSF that has been determine by the instrument team, and compare it to the growth curve we determine from our PSF.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# import what we will need. \n", "%matplotlib inline\n", "import numpy as np\n", "from astropy.io import fits\n", "from astropy.table import Table\n", "from astropy.io import ascii as asciiread\n", "from matplotlib import pyplot as plt\n", "from scipy import interpolate \n", "from scipy import special\n", "from scipy import signal\n", "from scipy import fftpack" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2) Real data: MIPS observations\n", "\n", "We will look at a real stack of point sources in the MIPS ELAIS-N2 observations, and try to find its normalization factor. \n", "\n", "Let's load the stacked PSF:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "stackhd_im = fits.open('./data/60085400.60085400-0.MIPS.1.help.fits')\n", "stackhd = fits.open('./data/60085400.60085400-0.MIPS.1.help.psf.fits')\n", "psf = stackhd[1].data\n", "hd = stackhd[1].header\n", "cpix=np.int((hd['NAXIS1']+1)/2.0)\n", "rad=10\n", "plt.imshow(psf[cpix-rad-1:cpix+rad,cpix-rad-1:cpix+rad])\n", "plt.colorbar()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "resol= np.abs(stackhd[1].header['CD1_1'])/np.abs(stackhd_im[1].header['CD1_1'])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resol" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "hdp = stackhd[2].header" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in MIPS 24 $\\mathrm{\\mu m}$ Instrumental PSF\n", "We take the instrumental PSF from [Gonzalo J.Aniano's webpage](http://www.astro.princeton.edu/~ganiano/Kernels/Ker_2017/PSF_FITS_Files/)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [ { "ename": "FileNotFoundError", "evalue": "[Errno 2] No such file or directory: './data/PSF_Original_MIPS_24.fits.gz'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mFileNotFoundError\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[0minsthd\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfits\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'./data/PSF_Original_MIPS_24.fits.gz'\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 2\u001b[0m \u001b[0mpsf_inst_full\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minsthd\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mhdinst\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minsthd\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mheader\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/io/fits/hdu/hdulist.py\u001b[0m in \u001b[0;36mfitsopen\u001b[0;34m(name, mode, memmap, save_backup, cache, lazy_load_hdus, **kwargs)\u001b[0m\n\u001b[1;32m 149\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 150\u001b[0m return HDUList.fromfile(name, mode, memmap, save_backup, cache,\n\u001b[0;32m--> 151\u001b[0;31m lazy_load_hdus, **kwargs)\n\u001b[0m\u001b[1;32m 152\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 153\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/astropy/io/fits/hdu/hdulist.py\u001b[0m in \u001b[0;36mfromfile\u001b[0;34m(cls, fileobj, mode, memmap, save_backup, cache, lazy_load_hdus, **kwargs)\u001b[0m\n\u001b[1;32m 388\u001b[0m return cls._readfrom(fileobj=fileobj, mode=mode, memmap=memmap,\n\u001b[1;32m 389\u001b[0m \u001b[0msave_backup\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msave_backup\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcache\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 390\u001b[0;31m lazy_load_hdus=lazy_load_hdus, **kwargs)\n\u001b[0m\u001b[1;32m 391\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 392\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mclassmethod\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/io/fits/hdu/hdulist.py\u001b[0m in \u001b[0;36m_readfrom\u001b[0;34m(cls, fileobj, data, mode, memmap, save_backup, cache, lazy_load_hdus, **kwargs)\u001b[0m\n\u001b[1;32m 1037\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_File\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 1038\u001b[0m \u001b[0;31m# instantiate a FITS file object (ffo)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1039\u001b[0;31m \u001b[0mfileobj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_File\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmemmap\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmemmap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcache\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 1040\u001b[0m \u001b[0;31m# The Astropy mode is determined by the _File initializer if the\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1041\u001b[0m \u001b[0;31m# supplied mode was None\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/utils/decorators.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 501\u001b[0m \u001b[0;31m# one with the name of the new argument to the function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 502\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mnew_name\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[0mvalue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 503\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunction\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[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 504\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 505\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\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/io/fits/file.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, fileobj, mode, memmap, overwrite, cache)\u001b[0m\n\u001b[1;32m 176\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_open_fileobj\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moverwrite\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 177\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileobj\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--> 178\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_open_filename\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moverwrite\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 179\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 180\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_open_filelike\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moverwrite\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/io/fits/file.py\u001b[0m in \u001b[0;36m_open_filename\u001b[0;34m(self, filename, mode, overwrite)\u001b[0m\n\u001b[1;32m 552\u001b[0m \u001b[0mext\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msplitext\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 553\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 554\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_try_read_compressed\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmagic\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mext\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mext\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[0m\u001b[1;32m 555\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfileobj_open\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mIO_FITS_MODES\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mmode\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 556\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose_on_error\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\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/io/fits/file.py\u001b[0m in \u001b[0;36m_try_read_compressed\u001b[0;34m(self, obj_or_name, magic, mode, ext)\u001b[0m\n\u001b[1;32m 450\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 451\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'fileobj'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mobj_or_name\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 452\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgzip\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mGzipFile\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[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 453\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompression\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'gzip'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 454\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mext\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'.zip'\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mmagic\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstartswith\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mPKZIP_MAGIC\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~/anaconda3/lib/python3.6/gzip.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filename, mode, compresslevel, fileobj, mtime)\u001b[0m\n\u001b[1;32m 161\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m'b'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 162\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfileobj\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 163\u001b[0;31m \u001b[0mfileobj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmyfileobj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbuiltins\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;34m'rb'\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 164\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfilename\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0mfilename\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'name'\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[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: './data/PSF_Original_MIPS_24.fits.gz'" ] } ], "source": [ "insthd = fits.open('./data/PSF_Original_MIPS_24.fits.gz')\n", "psf_inst_full = insthd[0].data\n", "hdinst = insthd[0].header\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "#hdinst\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rad=1000\n", "cpix=np.int((hdinst['NAXIS1']+1)/2.0)\n", "\n", "plt.imshow(psf_inst_full[cpix-rad-1:cpix+rad,cpix-rad-1:cpix+rad])\n", "#psf_inst=psf_inst_full[hdinst['CRPIX1']-rad-1:hdinst['CRPIX1']+rad,hdinst['CRPIX2']-rad-1:hdinst['CRPIX2']+rad]\n", "psf_inst=psf_inst_full[cpix-rad-1:cpix+rad,cpix-rad-1:cpix+rad]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Normalise instrumental PSF such that integral=1" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "psf_inst=psf_inst/(np.sum(psf_inst))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's build the growthcurve for our PSFs." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# find the brightest pixel, it will be our center.\n", "jmax, imax = np.unravel_index(np.argmax(psf), psf.shape)\n", "jmax_inst, imax_inst = np.unravel_index(np.argmax(psf_inst), psf_inst.shape)\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# build the array of coordinates\n", "x = np.arange(hd['NAXIS1'])\n", "y = np.arange(hd['NAXIS2'])\n", "xv, yv = np.meshgrid(x, y, sparse=False, indexing='xy')\n", "xp = (xv-imax)*np.abs(hd['CD1_1'])*3600.\n", "yp = (yv-jmax)*np.abs(hd['CD2_2'])*3600.\n", "r = np.sqrt(xp**2 + yp**2)\n", "\n", "x_inst = np.arange(1+rad*2)\n", "y_inst = np.arange(1+rad*2)\n", "xv_inst, yv_inst = np.meshgrid(x_inst, y_inst, sparse=False, indexing='xy')\n", "xp_inst = (xv_inst-imax_inst)*np.abs(hdinst['CD1_1']*3600.0)\n", "yp_inst = (yv_inst-jmax_inst)*np.abs(hdinst['CD1_1']*3600.0)\n", "r_inst = np.sqrt(xp_inst**2 + yp_inst**2)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# build the growth curve\n", "radii = np.unique(r)\n", "encircled_flux = np.zeros(radii.shape)\n", "nbpix = np.zeros(radii.shape)\n", "for i, radius in enumerate(radii):\n", " idj, idi = np.where(r <= radius)\n", " nbpix[i] =len(idi)\n", " encircled_flux[i] = np.sum(psf[idj, idi])*resol**2\n", " #multiply by ((np.abs(hd['CDELT1'])*3600.)**2)/4.25E10 as map is in units of MJy/sr\n", " #encircled_flux[i] = np.sum(psf[idj, idi])*((np.abs(hd['CD1_1'])*3600.)**2)/4.25E10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Normally we run the code below for the instrumental PSF. This is slow and remains the same for each field so I just load up the result instead." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```python\n", "radii_inst = np.unique(r_inst)\n", "encircled_flux_inst = np.zeros(radii_inst.shape)\n", "nbpix_inst = np.zeros(radii_inst.shape)\n", "for i, radius in enumerate(radii_inst):\n", " if i % 1000 == 0:\n", " print(i,len(radii_inst))\n", " idj, idi = np.where(r_inst <= radius)\n", " nbpix_inst[i] =len(idi)\n", " encircled_flux_inst[i] = np.sum(psf_inst[idj, idi])\n", "``` " ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "inst_data=np.load('./data/MIPS_encircled_flux_inst.npz')\n", "encircled_flux_inst=inst_data['encircled_flux_inst']\n", "radii_inst=inst_data['radii_inst']" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEKCAYAAAAIO8L1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xl8VOXZ//HPBYEQgbDIHkBANgUBISLuiHtFca36oEWrpbbWqq11eWxrW21/2qePPtpalbphq6LghlQtiLssElbZ9yVsgbCEJftcvz/m0EYcQoTMnJnk+3698sqce87M+XJI5so59zn3be6OiIjI/uqEHUBERJKTCoSIiMSkAiEiIjGpQIiISEwqECIiEpMKhIiIxKQCISIiMalAiIhITCoQIiISU1rYAQ5HixYtvFOnTmHHEBFJKTNnztzq7i0Ptl5KF4hOnTqRk5MTdgwRkZRiZmuqsp5OMYmISEwqECIiEpMKhIiIxKQCISIiMalAiIhITHErEGb2nJnlmdn8/dpvNbMlZrbAzP5Yof1eM1sePHdevHKJiEjVxPMy1xeAvwAv7mswszOBYUAfdy82s1ZB+7HA1UAvoB3wgZl1d/fyOOYTEZFKxK1AuPunZtZpv+YfAQ+5e3GwTl7QPgwYE7SvMrPlwEBgarzyiYgks3Xb9rJldzE7C0spKCxld3EZxaURisrKKS6NMOCoZpze/aD3uh2WRN8o1x04zcx+DxQBd7r7DCALmFZhvdygTUSkRtpTXMZHS/LYvqeEnYWlzM3dydr8vRSXlbO5oJjC0spPoPxo8NE1rkCkAc2AQcAJwGtm1gWwGOt6rDcws5HASICOHTvGKaaISPXYsquY/D3FbNxRxJuz17Mmfw9FpRGWbN71tfUapafRt0MTWjRKJz2tDvXq1uHMHq1o1rA+TTLq0Sg9jQb16tCgXl3q161DnTqxPjarV6ILRC7whrs78KWZRYAWQXuHCuu1BzbEegN3HwWMAsjOzo5ZREREwrJiy24WbSygoLCMV2esZW7uzn8/V79uHU7s0pw2TerSs21jTu/WktO6t6BJRj3S0+qGmDq2RBeIt4AhwMdm1h2oD2wFxgMvm9kjRDupuwFfJjibiMi3tn1PCZMWbWZt/l7mrNvB58u3/vs5M/jpkK70aJNJs4b1OLplI1pnNggx7bcTtwJhZq8Ag4EWZpYL3A88BzwXXPpaAowIjiYWmNlrwEKgDLhFVzCJSDJyd2av20HO6m3My93JxAWbKSmPULeO0bJROj8afDTD+rWjYf00mhxRj8wG9cKOfMgs+vmcmrKzs12juYpIvJVHnNlrt/Pxki1MXLiJpZt3A5BWxxjcoxW3n92NY9pmUjcB/QLVwcxmunv2wdZL6eG+RUTiqai0nBemrGb0lNVs3FlE3TpG/45Neeiy4zi3VxuaHVEPs9QoCodCBUJEpILCknJemr6G9+dvYs66HZRFnBM6NePe7xzDGd1b0iQjdU8ZfVsqECJS60UizvwNO/l8+VbG5uSyausejm2byQ9O78LxHZpy9jGtE3JZabJRgRCRWm3dtr3c/fo8pqzIB6Bzi4Y8cElvrht0VMjJwqcCISK1zt6SMl6fmcvoqWtYnrebtDrG/Rcdy9A+7WjZOD3seElDBUJEao3S8gjvfrWRByYsYuvuYvq2b8Jd5/dgSM9W9GyTGXa8pKMCISI13t6SMv74/hLGz93Atj0lZDZI4+nrBnDusa1r9FVIh0sFQkRqrJKyCB8tyeP3/1xE7va9DO3TjqF92jKkZyvS6mq+tINRgRCRGsfdefbzVfzts5VsLigG4PFrjufivu1CTpZaVCBEpEZZunkXT3+yktdn5TKoS3MeGNabQUcfmdJDXoRFBUJEaoS8giLuen0eHy/ZAsB3jmvD41cfr1NJh0EFQkRSmrvzwaI8bh8zm6KyCD8d0pWrB3akXdOMsKOlPBUIEUlZc9bt4KH3FjFt5TY6HXkEj119PH07NA07Vo2hAiEiKWnyos3c9GIORzasz28v7sU1AztSP02nk6qTCoSIpJS1+Xu5c+xcvly9jWPaZjL25pNolK6PsnjQXhWRlBCJOG/MXs9v31nArqIyLuufxT0X9FRxiKO4HY+Z2XNmlhfMHrf/c3eamZtZi2DZzOxxM1tuZvPMrH+8colIavrNOwu4c+xc2mQ2YPxPTuGR7/ajVePUmb4zFcWz9L4A/AV4sWKjmXUAzgHWVmi+gOg81N2AE4Eng+8iUstNWb6VRyYtJWfNdi48ri2PXd1Pl64mSNz2srt/CmyL8dSjwF1AxblOhwEvetQ0oKmZtY1XNhFJDe9+tZH/emY6q/P3cPMZR/PQ5cepOCRQQk/emdnFwHp3n7vfAFlZwLoKy7lB28YExhORJFEecf7y4XL+8tEy+ndsyj9uOpEj6quvIdEStsfN7AjgPuDcWE/HaPMYbZjZSGAkQMeOHastn4gkh+17Srhz7FwmL85jYOfm/O26bBWHkCRyrx8NdAb2HT20B2aZ2UCiRwwdKqzbHtgQ603cfRQwCiA7OztmERGR1LRoYwHfe+5Ltu4u5oZTOvHrocdqOO4QJaxAuPtXQKt9y2a2Gsh2961mNh74iZmNIdo5vdPddXpJpBZZm7+X7z49lYb105hw66n0atck7Ei1Xjwvc30FmAr0MLNcM7uxktXfBVYCy4G/AT+OVy4RSS7uzjtzN3Dh459RXBrh6esGqDgkibgdQbj7NQd5vlOFxw7cEq8sIpK8nvtiNQ9MWEi3Vo0Y9b1sOrdoGHYkCajnR0RC849pa3jwnwsZ2Lk5L990oi5hTTL63xCRULwzdwO/fGs+Z/ZoxegbBqo4JCEdQYhIQpVHnAcmLOSFKavp26EpT183gHoqDklJBUJEEsbduef1eYydmcuwfu2454KeKg5JTAVCRBJm6sp8xs7M5ZJ+7Xj0qn66xyHJqUCISEI8+fEKnvx4OY0bpPHQ5X1UHFKAju1EJO4mzNvAw+8v5oj6aYz+/kAa1KsbdiSpAh1BiEhcTVuZz6/emk9mgzTeufVUWjZODzuSVJEKhIjEzd6SMn4wOoeIO2NvPlnFIcWoQIhIXLg7vxg7j13FZTx//Qkc2y4z7EjyLakPQkTi4uH3l/DPrzZy+9ndOLNnq4O/QJKOCoSIVLvnPl/FU5+s4PL+7bntrG5hx5FDpAIhItVq254SHnpvMad2bcEDl/TS5awpTAVCRKrV/05cQkl5hF9fdKxmgktxKhAiUm3yCop45cu1DOzUnO6tG4cdRw6TCoSIVIui0nIu/PPn1DHj9rPV71ATxHNGuefMLM/M5ldo+x8zW2xm88zsTTNrWuG5e81suZktMbPz4pVLRKpfUWk5t74ymy27inn0qn6c3LVF2JGkGsTzCOIF4Pz92iYBvd29D7AUuBfAzI4FrgZ6Ba/5q5npXnyRFPHbdxYwaeFmvnfSUQzt0zbsOFJN4lYg3P1TYNt+bRPdvSxYnAa0Dx4PA8a4e7G7ryI6N/XAeGUTkerz0vQ1vPLlOq4d1JHfDeutq5ZqkDD7IL4PvBc8zgLWVXguN2j7BjMbaWY5ZpazZcuWOEcUkcq4O098uJy+7Ztw1/k9w44j1SyUAmFm9wFlwEv7mmKs5rFe6+6j3D3b3bNbtmwZr4giUgX/98EyNuws4vpTOpHZoF7YcaSaJfwiZTMbAQwFznL3fUUgF+hQYbX2wIZEZxORqstZvY3HJi9jaJ+2DOsb84BfUlxCjyDM7HzgbuBid99b4anxwNVmlm5mnYFuwJeJzCYiVbdzbyk/eXk2zY6ox8OX96FOHfU71ERxO4Iws1eAwUALM8sF7id61VI6MCnoyJrm7je7+wIzew1YSPTU0y3uXh6vbCJy6ErLI/zstTlsKijiHzeeSMN03S1dU8Xtf9bdr4nR/Gwl6/8e+H288ohI9fjj+4uZvDiPey/oyanddL9DTaY7qUWkyj5aksffPltF11aNGHl6l7DjSJypQIhIlSzaWMCdr82lS8uGvH3LKbrfoRbQyUMROaidhaUMf2Y6xaXljLl2kPodagn9L4vIQf3t05Vs21PC328cSDeN0lpr6BSTiFSqqLSc0VNXc/YxrTmtm25OrU1UIETkgBZtLOCcRz9hV1EZ1wzscPAXSI2iAiEiMe0tKePOsXPZvLOYJ4f3Z0jPVmFHkgRTgRCRbygrj3DbmDks2FDA3Rf05ILj2uqqpVpIBUJEvmHszFwmLdzMFQPac+OpncOOIyFRgRCRr1m6eRe/ems+WU0zePCS3mHHkRAdtEAEs73t3zY4LmlEJHTPf7GKcneevT6bBvU0sWNtVpUjiNfM7G6LyjCzPwP/L97BRCSx3J03Z+fyypfrGNy9JT3bZIYdSUJWlQJxItG5GqYAM4jO03BKPEOJSOK9/OVa7nh1Ln3aN+G+C48JO44kgarcSV0KFAIZQANglbtH4ppKRBJqxZbdPDhhEad0PZK/f/9Eze8gQNWOIGYQLRAnAKcC15jZuLimEpGEWZO/h+89+yXp9erw4CXHqTjIv1WlQNzo7r9291J33+Tuw4C3D/YiM3vOzPLMbH6FtuZmNsnMlgXfmwXtZmaPm9lyM5tnZv0P/Z8kIlVVUhbh3Ec/Zf2OQv50RV86t2gYdiRJIlUpEHlm1rHiF/BJFV73AnD+fm33AJPdvRswOVgGuIDoNKPdgJHAk1UJLyKH58mPV1BcFuH+i47l7GNbhx1HkkxV+iD+CThgRPsgOgNLgF6VvcjdPzWzTvs1DyM6DSnAaOBjonNUDwNedHcHpplZUzNr6+4bq/SvEJFvbe66HTz1yQoGdm7ODafoZjj5poMWCHc/ruJycPrnh4e4vdb7PvTdfaOZ7RvcJQtYV2G93KBNBUIkDnbuLeWmF3NoklGPP1x63MFfILXSt76T2t1nEe2wrk6xesU85opmI80sx8xytmzZUs0xRGq+8ojz23cWsG1PCc+MyKZrq0ZhR5IkddAjCDP7WYXFOkB/4FA/mTfvO3VkZm2BvKA9l+i9Fvu0J3q/xTe4+yhgFEB2dnbMIiIisa3fUchVT08ld3shtw7pSu+sJmFHkiRWlSOIxhW+0on2SQw7xO2NB0YEj0fwn6uhxgPfC65mGgTsVP+DSPWKRJxfjJ1L7vZC7rmgJ3ec3T3sSJLkqtIH8dtDeWMze4Voh3QLM8sF7gceIjp0x43AWuDKYPV3ge8Ay4G9wA2Hsk0RObAXpqxmyop8rh3UkZvPODrsOJICDlggzOwdDtAPAODuF1f2xu5+zQGeOivGug7cUtn7icihKyot59EPljLgqGb8aug3xt8UiamyI4g/JSyFiMRNWXmEa5+Zzq6iMm47qxvpaRqhVaqmsgLxa3c/y8wedve7E5ZIRKrNnuIyHvznInLWbOe6QUdxStcWYUeSFFJZgWhrZmcAF5vZGPa7FDW43FVEklRpeYSL/vI5K7fs4fqTO3H/Rcdq2lD5Vio9giA6FEZ74H/5eoFwYEgcc4nIYXr6kxWs3LKHR77bl8v6tw87jqSgAxYIdx8HjDOzX7n7AwnMJCKH6Z25G/jTxKVkH9WMS4/PCjuOpKiD3geh4iCSWmav3c6dY+fSt30TnhjeX6eV5JBVZbA+EUkRpeUR7ntzPhn16/L8DQNp3rB+2JEkhX3rsZhEJDmVlEW44fkZLNxYwH9fcIyKgxy2ym6Ua17ZC919W/XHEZFDUVIWYcRzXzJ1ZT73X3Qs3z2hw8FfJHIQlZ1imsl/5oHoCGwPHjclOkyGBpAXSQJ7ist46L3FTF2Zz0/P6sb1J3cKO5LUEJVdxdQZwMyeAsa7+7vB8gXA2YmJJyKVcXd+8GIOU1bkc1V2B352jgbgk+pTlT6IE/YVBwB3fw84I36RRKSq9g3A96PBR/PQ5Zr4R6pXVa5i2mpmvwT+QfSU07VAflxTichBlUecZz9fRY/Wjbnz3B66nFWqXVWOIK4BWgJvBl8tgzYRCcncdTv4zmOfkbu9kOtP6UTdOioOUv2qMh/ENuA2M2vk7rsTkElEKrF1dzFXj5pGYWk5f7y8D1dmaxgNiY+DHkGY2clmthBYGCz3NbO/xj2ZiHzD0s27uOyvUygsLWfMyEF894QOOrUkcVOVU0yPAucR9Du4+1zg9MPZqJndYWYLzGy+mb1iZg3MrLOZTTezZWb2qpnpLh+RCiIR58bRM9hUUMSo6wYwqMuRYUeSGq5Kd1K7+7r9msoPdYNmlgX8FMh2995AXeBq4GHgUXfvRvSeixsPdRsiNdHjHy5j3bZChp/YkXN7tQk7jtQCVSkQ68zsZMDNrL6Z3QksOsztpgEZZpYGHAFsJDp8+Ljg+dHAJYe5DZEawd0Zm7OO//tgGecc25pfXagpQyUxqlIgbiY6X3QWkAv04zDmj3b39USnM11LtDDsJHrX9g53LwtWyw22J1LrPfXJSn4xbh69szJ5YFhv6uiKJUmQqlzFtBUYXl0bNLNmwDCiQ3XsAMYCF8Ta9AFePxIYCdCxY8fqiiWSlD5aksfD7y/mor7teOyqfioOklCVDdb3Zw7wIQ3g7j89xG2eDaxy9y3Bdt4ATgaamllacBTRHthwgO2OAkYBZGdnHzCfSKp7/otV/L93F9OqcTr/c0UfFQdJuMqOIHLitM21wCAzOwIoBM4KtvURcAUwBhgBvB2n7YskvZzV23hgwkJO69aSB4b1pkG9umFHklqossH6Rsdjg+4+3czGAbOAMmA20SOCfwJjzOzBoO3ZeGxfJNmt3LKb4c9Mp1XjBjx+zfE0yagXdiSppQ7aB2Fmk4Ar3X1HsNwMGOPu5x3qRt39fuD+/ZpXAgMP9T1FaoLisnLuGjeP0vIIz4zIVnGQUFXlKqaW+4oDgLtvB1rFL5JI7ZS/u5ibRueQs2Y7D1zSm95ZTcKOJLVcVUZzLTezju6+FsDMjqKSzmsR+fb+tWATP/rHTCIOPzyjC8NPPCrsSCJVKhD3AZ+b2SfB8ukEl5mKyOHbubeUP7y7iIjDaz88iYGdK53tVyRhKi0QFh0FbAHQHxhEdMrRO4J7I0TkMJWVR7hq1FTWbtvLyzedqOIgSaXSAuHubmZvufsAYEKCMonUGk9/upLFm3bxi/N6cHLXFmHHEfmaqnRSTzOzE+KeRKQWiUScP09exv/8awmtGqdz8xlHhx1J5Buq0gdxJvBDM1sD7CF6msndvU9ck4nUUGXlEX4xbh5vzl5P68x0xt18smaEk6RUlQIRa5wkETlEj09expuz13PbWd245cyu1E+r0qj7IglX2VhMme5eAOxKYB6RGqs84jz96Qoe/3A5fTs05Y5zuocdSaRSlR1BvAwMJToUtxM9tbSPA13imEukxhk9ZTV/fH8J5/VqzR8uPS7sOCIHVdlYTEOD750TF0ekZpqxehuPf7iMzi0a8tS1AzSPtKSEg578NLNLzaxJheWmZqbZ3kSqaOqKfK58aio79pby4CW9VRwkZVSld+x+d9+5byEYl2n/gfZEJIa356xnxHNf0uyIerx322mconsdJIVU5SqmWEWkKq8TqbXKyiM8+M9FvDBlNVlNM3jjxyfTOrNB2LFEvpWqHEHkmNkjZna0mXUxs0eJdlyLyAGMm5nLC1NWc3Hfdrz9k1NUHCQlVaVA3AqUAK8SnT+6CLglnqFEUlneriL+NHEpLRql8+hV/WjRKD3sSCKH5KCnitx9D3BPdW7UzJoCzwC9iV4y+31gCdEi1AlYDXw3mHtCJGVMmLeBByYsJH9PMU/8V3/dIS0prSpXMXU3s1FmNtHMPtz3dZjbfQx43917An2BRUSL0GR37wZMppqLkki8Pff5Kn7y8mzc4dWRJ/Gd49qGHUnksFSls3ks8BTRv/jLD3eDZpZJdE6J6wHcvQQoMbNhwOBgtdHAx8Ddh7s9kUR4ZOISHv9wOd1bN+IfN51Iq8bqc5DUV5UCUebuT1bjNrsAW4Dnzawv0Q7v24DW7r4RwN03mlnMaU3NbCTBhEUdO3asxlgih+aduRv480fLGdyjJU9fN4D0tLphRxKpFlXppH7HzH5sZm3NrPm+r8PYZhrRCYiedPfjiY4QW+XTSe4+yt2z3T27ZcuWhxFD5PC9lrOOW1+ZTZvMBjw5XMVBapaqHEGMCL7/okLb4YzFlAvkuvv0YHkc0QKx2czaBkcPbYG8Q3x/kYR4fWYud42bR2aDNF75wSAy6qs4SM1SlauYqnUsJnffZGbrzKyHuy8BzgIWBl8jgIeC729X53ZFqou78+cPl/PIpKUMOKoZf79xIEfU172jUvMc8BSTmd1V4fGV+z33h8Pc7q3AS2Y2D+gH/IFoYTjHzJYB5wTLIkmlqLSc28bM4ZFJS7ns+CxeuulEFQepsczdYz9hNsvd++//ONZyWLKzsz0nJyfsGFJL7C4u4/Yxs/lgUR53n9+Tm8/oooH3JCWZ2Ux3zz7YepX96WMHeBxrWaTGu+H5L5mxejs/ObMrPxqsOaSl5qusQPgBHsdaFqmxdheXMeqTFcxYvZ3TurXgzvN6hB1JJCEqKxB9zayA6NFCRvCYYFl3AUmtMGvtdm55aRYbdxZx8tFH8r9X9g07kkjCVDajnK7Zk1pt9trtXDNqGo3S03j9Rycx4KjDuf1HJPXo8guRGGat3c61z0ynVWY6T/xXf/q0bxp2JJGEU4EQ2c/GnYXc+vJs0uoYr/3wJNo2yQg7kkgoVCBEAu7O/05cylOfrKAs4jw5vL+Kg9RqKhAiQCTiPP7hMv7y0XLO79WGu87vQZeWjcKOJRIqFQip9dbm7+XeN+fxxfJ8+rRvwhPDNdGPCKhASC1XWh7hxy/PZPXWvfzivB7ceGpnFQeRgAqE1Frrtu3lptE5LNm8iz9d2ZcrBrQPO5JIUlGBkFrps2Vb+O83vyJ/dwmjrhvAub3ahB1JJOmoQEitUlhSzm1jZjNx4Waymmbw8g8G0a+D7nEQiUUFQmqVX709n4kLN3PdoKP45dBjNAOcSCVUIKRW2FNcxlOfrGDczFwuPT6L3w3rpaG6RQ4itAJhZnWBHGC9uw81s87AGKA5MAu4zt1LwsonNcecdTu4e9w8lmzeRc82jfnlhceoOIhUwQFnlEuA24BFFZYfBh51927AduDGUFJJjfL3qau55Ikv2FRQxO8v7c37t5/OkY3Sw44lkhJCKRBm1h64EHgmWDZgCDAuWGU0cEkY2aRmiEScJz5azv3jF9A7K5PP7z6T4SceFXYskZQS1imm/wPuAhoHy0cCO9y9LFjOBbLCCCapr6i0nDtencN78zcxpGcrfn9pbxo3qBd2LJGUk/AjCDMbCuS5+8yKzTFWjTlrnZmNNLMcM8vZsmVLXDJK6tq0s4gfvJjDe/M3cXzHpjw7IlsD7okcojCOIE4BLjaz7xCdmS6T6BFFUzNLC44i2gMbYr3Y3UcBowCys7M19akA0ZFYn/pkJY9+sBR355cXHsONp3ZWZ7TIYUh4gXD3e4F7AcxsMHCnuw83s7HAFUSvZBoBvJ3obJKaikrLueH5GUxdmQ/AxDtOp3vrxgd5lYgcTJhXMe3vbuBnZracaJ/EsyHnkRTg7vzk5dlMXZnP5f3bM/+356k4iFSTUG+Uc/ePgY+DxyuBgWHmkdTh7rwzbyPjZuby6dIt3DqkKz8/t0fYsURqFN1JLSlnV1Epv3prPm/N2UBW0wx+elY37ji7W9ixRGocFQhJKZsLirjsr1NYv6OQHw8+mp+f20PzN4jEiQqEpIz1Owr5/vMz2LizkKeu7c/5vduGHUmkRlOBkKRXWFLO8GemMXvdDtzhj5f3UXEQSQAVCElq4+duYNSnK5i/voALerfhF+f1oEvLRmHHEqkVVCAkaT31yQoeem8xzRvW5+7ze3LzGV1045tIAqlASNIpK4/wp4lLeeqTFZx89JH87XvZNEzXj6pIoum3TpLGrqJS3p6zgfFzNvDl6m1cld2BBy/tTb26yXQ/p0jtoQIhSWFN/h5ueH4GK7fuoXnD+vzpyr5cMaB92LFEajUVCAndum17ufgvX7CrqJTnrz+BwT1aqq9BJAmoQEho8gqKeO6L1Yyespq0OsarPzyJEzo1DzuWiARUICQUz3y2kgf/uQgzuLhvO247q5suXxVJMioQklBz1+3gdxMWMnPNdk7t2oLfXNyLrq1UGESSkQqEJIS7868Fm7j5H7PIqFeXu87vwXWDjtJUoCJJTAVC4srdeW/+Jh6dtJRlebvp0DyDu87ryUV924UdTUQOQgVC4mbTziJuGzOb6au20a5JA+69oCc3ntqZNN3XIJISEl4gzKwD8CLQBogAo9z9MTNrDrwKdAJWA9919+2JzieHz91Znb+Xa0ZNI39PMb+/tDdXDuhA/TQVBpFUEsYRRBnwc3efZWaNgZlmNgm4Hpjs7g+Z2T3APUSnIZUU4e58tCSPP76/hMWbdgHohjeRFJbwAuHuG4GNweNdZrYIyAKGAYOD1UYTnYpUBSJF5BUUMfLvM5mzbgcdmmfwwLBeHNe+Kf06NA07mogcolD7IMysE3A8MB1oHRQP3H2jmbU6wGtGAiMBOnbsmJigckDb9pQwZsZaXvhiNbuLy/jj5X245PgsnU4SqQFCKxBm1gh4Hbjd3QuqOrSCu48CRgFkZ2d7/BJKZTbtLOKjJXk8MmkpW3YVk9U0g1dHnsRx7ZuEHU1EqkkoBcLM6hEtDi+5+xtB82YzaxscPbQF8sLIJpUrLY/w6ox1PDBhIcVlEXq0bswLN5xAr3YqDCI1TRhXMRnwLLDI3R+p8NR4YATwUPD97URnkwNzd75Yns8DExayZPMu+rZvwu8vPY5e7TI1sJ5IDRXGEcQpwHXAV2Y2J2j7b6KF4TUzuxFYC1wZQjbZT2l5hGc+W8U/pq1h/Y5CAH554THceGpnFQaRGi6Mq5g+Bw70yXJWIrNI5ebl7uCucfNYvGkXp3Vrwa1DujKkZytaZTYIO5qIJIDupJavKSot52+frmTKinymrsynZeN0Rl03gHN7tQk7mogkmAqEANGrkt6es56xM3NZnreb3lmZDD+xI7ed3Y1WjXXEIFIbqUDUciVlEd79aiO3vxrtDureuhGjvz8CahIGAAAMg0lEQVSQM7q3DDmZiIRNBaIWcnemrMjn5elr+WTpFnYXl5HZII0/XHYcQ/tolFURiVKBqEVKyyNsLijiZ6/N5ctV22jRqD4X9W3L+b3bclrXFtSpo6uSROQ/VCBqOHdn1trt/H3qGj5btpX8PSUA3HLm0dw6pBsN6tUNOaGIJCsViBqqtDzC9JXb+N2EBSzdvJvG6WkM7NycU7q2oEebxpx89JG6j0FEKqUCUYOUR5zZa7czaeFmJszbyPodhaSn1eGsnq146PI+tGycHnZEEUkhKhA1wPY9JYyZsY5nPltJ/p4S6tU1BnU5ktvO7saZPVqpMIjIIVGBSEGRiDN5cR4fLNzMpEWb2Rb0K5zZoyWX9W/PGT1aktmgXsgpRSTVqUCkiPKIM3HBJuZv2MknS7cwf30BGfXqckb3lmR3asax7TI5qYv6FUSk+qhAJDF359nPVzF5UR4rt+5mc0ExaXWMzi0a8vDlx3F5//ak1dXEPCISHyoQSSR/dzHjZuaycGMBK7fsYVneLopKI3Rt1YiBnY/kjO4tubhvO83WJiIJoQIREndn8aZd5KzZzqadhazO38vEBZsoLXeymmbQpWVDrj6hI72zmnDZ8Vm6iU1EEk4FIgF2FpaydPMuFm/axdJNu1iyaReLNxVQUFQGQN06RpvMBpzbqw23DulKzzaZIScWEUnCAmFm5wOPAXWBZ9z9oZAjVVl5xFm1dTdfrd/Jqi17yN1eyNK8XcxfX/DvdRqnp9G9TWOG9m3HsW0zGdyjJW2bZFBXRwgikmSSqkCYWV3gCeAcIBeYYWbj3X1huMmiIhFnV3EZBYWlLMvbxYL1BeRuLyR3x17WbStkw45CyiIOQB2Dtk0yyGqWwc/P6U7vrCZ0b9OYdk0a6EojEUkJSVUggIHAcndfCWBmY4BhQNwKhLtTXBZhZ2EpOwtL2bCjkPU7Ctmxt5SColJ2FZWxaGMBy/N2s7u4DPevv75Fo3Q6NM+gX4emDO3Tls4tGtKnfVM6t2iozmQRSWnJViCygHUVlnOBE6t7Ix8tyeOBCQspKCyloLCMkvJIzPXqp9WhUXoanVs05LLjs2hyRH0yG6SRmVGP9k0zOL5jMzLqa7A7EamZkq1AxDr38rW/2c1sJDASoGPHjoe0kSYZ9TimTSaZGfXIzEijSUY9mmTUI7NBPdo2aUBWswyaN6xPepo+/EWk9kq2ApELdKiw3B7YUHEFdx8FjALIzs7e74RP1fTv2Iz+w5sdakYRkVoh2U6SzwC6mVlnM6sPXA2MDzmTiEitlFRHEO5eZmY/Af5F9DLX59x9QcixRERqpaQqEADu/i7wbtg5RERqu2Q7xSQiIklCBUJERGJSgRARkZhUIEREJCYVCBERicl8/8GFUoiZbQHWHOLLWwBbqzFOPClrfChrfChr9avunEe5e8uDrZTSBeJwmFmOu2eHnaMqlDU+lDU+lLX6hZVTp5hERCQmFQgREYmpNheIUWEH+BaUNT6UNT6UtfqFkrPW9kGIiEjlavMRhIiIVKJWFggzO9/MlpjZcjO7J+w8FZlZBzP7yMwWmdkCM7staG9uZpPMbFnwPSkmtDCzumY228wmBMudzWx6kPPVYNj20JlZUzMbZ2aLg317UhLv0zuC//v5ZvaKmTVIlv1qZs+ZWZ6Zza/QFnM/WtTjwe/ZPDPrnwRZ/yf4GZhnZm+aWdMKz90bZF1iZueFnbXCc3eamZtZi2A5Yfu11hUIM6sLPAFcABwLXGNmx4ab6mvKgJ+7+zHAIOCWIN89wGR37wZMDpaTwW3AogrLDwOPBjm3AzeGkuqbHgPed/eeQF+imZNun5pZFvBTINvdexMd9v5qkme/vgCcv1/bgfbjBUC34Gsk8GSCMu7zAt/MOgno7e59gKXAvQDB79jVQK/gNX8NPisS5QW+mRUz6wCcA6yt0Jyw/VrrCgQwEFju7ivdvQQYAwwLOdO/uftGd58VPN5F9IMsi2jG0cFqo4FLwkn4H2bWHrgQeCZYNmAIMC5YJVlyZgKnA88CuHuJu+8gCfdpIA3IMLM04AhgI0myX939U2Dbfs0H2o/DgBc9ahrQ1MzaJiZp7KzuPtHdy4LFaURnrdyXdYy7F7v7KmA50c+K0LIGHgXu4utTLydsv9bGApEFrKuwnBu0JR0z6wQcD0wHWrv7RogWEaBVeMn+7f+I/vBGguUjgR0VfgGTZd92AbYAzwenw54xs4Yk4T519/XAn4j+xbgR2AnMJDn36z4H2o/J/rv2feC94HHSZTWzi4H17j53v6cSlrU2FgiL0ZZ0l3KZWSPgdeB2dy8IO8/+zGwokOfuMys2x1g1GfZtGtAfeNLdjwf2kASnk2IJzt8PAzoD7YCGRE8p7C8Z9uvBJOvPA2Z2H9HTuS/ta4qxWmhZzewI4D7g17GejtEWl6y1sUDkAh0qLLcHNoSUJSYzq0e0OLzk7m8EzZv3HUYG3/PCyhc4BbjYzFYTPU03hOgRRdPg1Agkz77NBXLdfXqwPI5owUi2fQpwNrDK3be4eynwBnAyyblf9znQfkzK3zUzGwEMBYb7f67zT7asRxP9I2Fu8DvWHphlZm1IYNbaWCBmAN2Cq0LqE+2YGh9ypn8LzuM/Cyxy90cqPDUeGBE8HgG8nehsFbn7ve7e3t07Ed2HH7r7cOAj4IpgtdBzArj7JmCdmfUIms4CFpJk+zSwFhhkZkcEPwv7sibdfq3gQPtxPPC94KqbQcDOfaeiwmJm5wN3Axe7+94KT40HrjazdDPrTLQD+MswMgK4+1fu3srdOwW/Y7lA/+BnOXH71d1r3RfwHaJXMKwA7gs7z37ZTiV6uDgPmBN8fYfo+f3JwLLge/Ows1bIPBiYEDzuQvQXazkwFkgPO1+Qqx+QE+zXt4BmybpPgd8Ci4H5wN+B9GTZr8ArRPtGSol+aN14oP1I9FTIE8Hv2VdEr8wKO+tyoufv9/1uPVVh/fuCrEuAC8LOut/zq4EWid6vupNaRERiqo2nmEREpApUIEREJCYVCBERiUkFQkREYlKBEBGRmFQgREQkJhUISXlmVm5mc4Lhsd+pOIRzFV//GzO7M3j8OzM7+zDzdDKzQjObczjvU53M7KpgeOgJYWeR1KECITVBobv38+jw2NuAWw71jdz91+7+QTVkWuHu/b7NC+I5vLS7vwrcFK/3l5pJBUJqmqkEI1uaWSMzm2xms8zsKzP797DuZnZfMDHMB0CPCu0vmNkVwePVFSZpyTazj4PHZwRHLHOC0WEbHyyUmb1lZjMtOhHQyArtu4OjlunASWZ2gplNMbO5ZvalmTU2s17B4znBBDHdgtdeW6H96X0FxqITYs0K3mPy4e9Sqa3SDr6KSGoIPiDPIpj3ASgCLnX3guCDfpqZjSc6UN/VRIdSTwNmER1Su6ruBG5x9y+CUXeLqvCa77v7NjPLAGaY2evunk90tNb57v7rYGywxcBV7j4jmMeiELgZeMzdXwrWqWtmxwBXAae4e6mZ/RUYbmbvAX8DTnf3VWbW/Fv8u0S+RgVCaoKM4Hx/J6If9JOCdgP+YGanE52zIgtoDZwGvOnBYG1B0fg2vgAeMbOXgDfcPbcKr/mpmV0aPO5AdDC4fKCc6Mi9ED2S2ejuMwA8GObdzKYC91l0gqY33H2ZmZ0FDCBabAAyiI6iOgj41KOT3uDusSahEakSnWKSmqAwON9/FFCf//RBDAdaAgOC5zcDDYLnqjIIWRn/+R3Z9zrc/SGi5/MziB6V9KzsTcxsMNFhvE9y977A7ArvV+Tu5ftWjZXL3V8GLiZ6NPEvMxsSrDs66Hvp5+493P03B3oPkUOhAiE1hrvvJDqf853BnBpNiE5qVGpmZxItIACfApeaWUbQf3DRAd5yNdG/0gEu39doZkd7dDjmh4mOEFtpgQhybHf3vUExGXSA9RYD7czshGA7jc0szcy6ACvd/XGiQz33ITpq6hVm1ipYt7mZHUW0D+aMYMhqdIpJDodOMUmN4u6zzWwu0T6Gl4B3zCyH6NDOi4N1ZpnZq0HbGuCzA7zdb4Fnzey/iU77us/tQcEpJzpXw3uxXlzB+8DNZjaP6FDS0w6QvcTMrgL+HPRVFBI98rgKuNbMSoFNwO+C/oxfAhPNrA7RYaJvcfdpQSf4G0F7HtFJ70W+NQ33LVLNLDqX+ITgstukEZzqutPdh4adRVKDTjGJVL9yoEmy3SgH/BXYHnYWSR06ghARkZh0BCEiIjGpQIiISEwqECIiEpMKhIiIxKQCISIiMf1/MeNbNzoejH4AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(radii, encircled_flux)\n", "\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at the shape of the encircled flux, it looks like the background level of our PSF is not zero. Let's check" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.022899685\n" ] } ], "source": [ "# This is clearly. \n", "print(np.median(psf[0:5,:]))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEKCAYAAAAIO8L1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3XecVOXZ//HPRe+9l6UJ0lFZmkZFsYtiwdhiiwkafWLKoxTR2BU1sSQmUSyoiZWO2I0SiA1BYZe29LLSQTosW67fH+fsk5XfsCywM2d29/t+vfY159xzZs53l2GvvU+5b3N3REREDlQu6gAiIpKcVCBERCQmFQgREYlJBUJERGJSgRARkZhUIEREJCYVCBERiUkFQkREYlKBEBGRmCpEHeBoNGjQwFu3bh11DBGREmX27Nmb3b3hobYr0QWidevWzJo1K+oYIiIlipmtKsp2OsQkIiIxqUCIiEhMKhAiIhKTCoSIiMSkAiEiIjHFrUCY2UtmttHM5h3Q/mszyzCz+Wb2WIH2EWa2NHzu7HjlEhGRoonnZa4vA88Ar+Y3mNlpwCCgu7tnmVmjsL0zcAXQBWgGfGJmHdw9N475RESkEHHrQbj7dGDrAc2/Aka5e1a4zcawfRDwprtnufsKYCnQO17ZRERKquzcPP762VLmrNkW930l+ka5DsDJZvYQsA+43d2/AZoDXxXYLjNsExGR0Jw12xg+Po1F63eyKyuH41rWiev+El0gKgB1gb5AL+BtM2sLWIxtPdYbmNkQYAhASkpKnGKKiCSPXVk5/OmjDF7+YiWNa1Zh9DU9OatLk7jvN9EFIhOY4O4OzDSzPKBB2N6ywHYtgLWx3sDdRwOjAVJTU2MWERGR0uLTRRu4a+I81u3YxzV9W3HH2cdSs0rFhOw70QViEnA6MM3MOgCVgM3AFOB1M3uC4CR1e2BmgrOJiCSNTTuzuO+d+UxNW0eHxjUYd1U/eraql9AMcSsQZvYG0B9oYGaZwD3AS8BL4aWv+4Hrwt7EfDN7G1gA5AC36gomESmL3J23Z63hoXcXsi87j9+f2YGbT21HpQqJv23Ngt/PJVNqaqprNFcRKS2Wb9rFnRPT+Wr5Vnq3rsfDl3TjmEY1in0/Zjbb3VMPtV2JHu5bRKQ02J+Tx+jpy/jzp0upXKEcj1zSjctTW1KuXKzrdxJHBUJEJELfrf6B4ePTydiwk/O6NeHeC7rQqFaVqGMBKhAiIpHYlZXDHz/M4JUvg0tXn782lTM7N4461o+oQIiIJNgnCzZw9+R5rN+xj2v7tuL2BF66ejhUIEREEmT99n3c98583p+3ng6Na/DMVSfSs1XdqGMdlAqEiEic5eY5//xqFY9/mEF2bh53nH0svzy5bSSXrh4OFQgRkTiav3Y7d05IZ27mdk5u34AHL+pKq/rVo45VJCoQIiJxsHd/Lk/9azEvzFhB3WoV+fOVx3NB96aYRXvp6uFQgRARKWbTF29i5KR01mzdyxW9WjLi3E7UrpZ8J6EPRQVCRKSYbNmVxYPvLmTid9/TtmF13hzSl75t60cd64ipQIiIHCV3Z/y33/PguwvYnZXDbQPac0v/dlSpWD7qaEdFBUJE5Cis2rKbOyem8/nSLaS2qssjl3SjfeOaUccqFioQIiJHIDfPGfP5Cv74UQYVy5XjwYu6clXvlMjHTypOKhAiIocpY/1Oho5PY+6abZzRqREPXtSNJrWTY/yk4qQCISJSRFk5ufzts2X8bdpSalWpyF+uPJ6BJezS1cOhAiEiUgTfrf6BYePTWLxhFxcf35y7B3amXvVKUceKq7jd521mL5nZxnD2uAOfu93M3MwahOtmZn82s6VmlmZmJ8Qrl4jI4dizP4cHpi7gkr9/wa59OYy5vhdPXn5cqS8OEN8exMvAM8CrBRvNrCVwJrC6QPO5BPNQtwf6AH8PH0VEIvOfJZsZMTGNNVv3ck3fVgw9JzlHXY2XuBUId59uZq1jPPUkMBSYXKBtEPBqOD/1V2ZWx8yauvu6eOUTETmY7Xuyeei9Bbw9K5O2Darz9k396N2mXtSxEi6h5yDM7ELge3efe8BJnebAmgLrmWGbCoSIJNQH89Zz9+R5bN29n1v6t+O2Ae1L/A1vRyphBcLMqgEjgbNiPR2jzQ/yPkOAIQApKSnFlk9EyraNO/dx75T5vJe+ns5NazHm+l50bV476liRSmQPoh3QBsjvPbQAvjWz3gQ9hpYFtm0BrI31Ju4+GhgNkJqaGrOIiIgUVf4wGQ9MXcDe7FyGnhPM1VCxfHLP1ZAICSsQ7p4ONMpfN7OVQKq7bzazKcD/mNmbBCent+v8g4jE25qte7hzYjozlmymV+u6jLq0O+0a1og6VtKIW4EwszeA/kADM8sE7nH3Fw+y+XvAecBSYA9wQ7xyiYjk5jn/+HIlj32YgQEPDOrC1X1alaphMopDPK9iuvIQz7cusOzArfHKIiKSb+nGnQwdl8a3q7fR/9iGPHRxN5rXqRp1rKSkO6lFpEzIzs3j2WnL+MunS6leuTxPXt6Di45rXmqHySgOKhAiUuqlZW5j6Lg0Fq3fyQU9mnHPBZ1pUKNy1LGSngqEiJRae/fn8tQni3l+xnIa1qzM89emcmbnxlHHKjFUIESkVPpy2RZGTEhj5ZY9XNk7hRHndaRWGRomozioQIhIqbJjXzaj3l/E61+vplX9arz+yz6c2K5B1LFKJBUIESk1PlmwgbsmzWPjzn0MOaUtvzujA1Urlc1hMoqDCoSIlHhbdmVx3zsLmDJ3LR2b1OS5a3rSo2WdqGOVeCoQIlJiuTuT56zlvnfmsysrh9+f2YGbT21HpQoaJqM4qECISIm0dtteRk5M57OMTRyfUofHLu1O+8Y1o45VqqhAiEiJkpfnvPb1Kka9v4g8h3su6My1/VpTXsNkFDsVCBEpMZZt2sWI8enMXLmVk9s34OGLu9GyXrWoY5VaKhAikvSyc/N4fsZynvpkCVUqlOPxwd0Z3LOFhsmIMxUIEUlq877fzrDxacxfu4NzuzbhvkFdaFSzStSxygQVCBFJSvuyc/nzv5bw3PTl1K1Wib9ffQLndmsadawyRQVCRJLONyu3MmxcGss37+ayni246/zO1K6mYTISTQVCRJLGrqwcHvtgEa9+uYoWdavyjxt7c3L7hlHHKrPiOaPcS8BAYKO7dw3bHgcuAPYDy4Ab3H1b+NwI4EYgF7jN3T+MVzYRST6fZWxk5IR01u3Yx89PasP/ntWB6pX1N2yU4nm74cvAOQe0fQx0dffuwGJgBICZdQauALqEr/mbmWkAFZEyYOvu/fzurTncMOYbqleuwLibT+QPF3RWcUgC8ZxydLqZtT6g7aMCq18Bg8PlQcCb7p4FrDCzpUBv4Mt45RORaLk7U9PWce+U+Wzfm81tA9pz62ntqFxBfxsmiyhL9M+Bt8Ll5gQFI19m2CYipdD67fu4a9I8Plm4ge4tavPPX/ShU9NaUceSA0RSIMxsJJADvJbfFGMzP8hrhwBDAFJSUuKST0Tiw91585s1PPzuQrLz8hh5XiduOKk1FcprcL1klPACYWbXEZy8HuDu+UUgE2hZYLMWwNpYr3f30cBogNTU1JhFRESSz8rNuxkxIZ0vl2+hb9t6jLqkO60bVI86lhQioQXCzM4BhgGnuvueAk9NAV43syeAZkB7YGYis4lIfOTk5jHm85X86eMMKpYrxyOXdOOKXi01TEYJEM/LXN8A+gMNzCwTuIfgqqXKwMfhh+Mrd7/Z3eeb2dvAAoJDT7e6e268solIYixav4Nh49KYm7mdMzo15sGLutKktobJKCnsv0d5Sp7U1FSfNWtW1DFE5ABZObn89dOl/G3aMmpXrch9g7pwfrem6jUkCTOb7e6ph9pOFxqLSLGaveoHho1PY+nGXVxyfHPuHtiZutUrRR1LjoAKhIgUi91ZOfzxowxe/mIlTWtVYcwNvTjt2EZRx5KjoAIhIkdtxpJNjJiQTuYPe7m2XyuGntORGroTusTTv6CIHLHte7J58N0FjJ2dSdsG1Xn7pn70blMv6lhSTFQgROSIfDBvHXdPns/W3fu5pX87bhvQnioVNUxGaaICISKHZePOfdwzeT7vz1tPl2a1GHN9L7o2rx11LIkDFQgRKRJ3Z9zsTB6YuoB9OXkMO6cjvzi5DRU1TEappQIhIoe0Zuse7pyYzowlm+nduh6PXNqNdg1rRB1L4kwFQkQOKjfPeeWLlTz+YQblDB64qCtX906hXDnd8FYWqECISExLNuxk6Pg0vlu9jf7HNuShi7vRvE7VqGNJAh2yQJhZZ3dfcEBbf3efFrdUIhKZ/Tl5PPvvZTzz6VKqVy7PU5cfx6DjmmmYjDKoKD2It83sH8BjQJXwMRXoF89gIpJ4c9dsY9j4NBat38kFPZpxzwWdaVCjctSxJCJFKRB9gEeBL4CaBJP8nBTPUCKSWHv35/LkJ4t5YcZyGtaszPPXpnJm58ZRx5KIFaVAZAN7gaoEPYgV7p4X11QikjBfLNvMiAnprNqyh6v6pDD83I7UqlIx6liSBIpSIL4BJgO9gPrAc2Y22N0HxzWZiMTVjn3ZPPLeIt6YuZpW9avxxi/70q9d/ahjSRIpSoG40d3zJ11YDwwys2vimElE4uzjBRu4a1I6m3ZmcdMpbfntGR2oWknDZMiPFaVAbDSzlAPa/n2oF5nZSwRzT290965hWz3gLaA1sBL4qbv/YMHlEU8D5wF7gOvd/duifhMiUjSbd2Vx75T5TE1bR8cmNXn+2lS6t6gTdSxJUkUpEO8CDhjBOYg2QAbQ5RCvexl4Bni1QNtw4F/uPsrMhofrw4BzCeahbk9wUvzv4aOIFAN3Z9Kc77nvnQXsycrlf8/swE2ntqNSBQ2TIQd3yALh7t0KrpvZCcBNRXjddDNrfUDzIIJ5qgFeAaYRFIhBwKsezH/6lZnVMbOm7r7uUPsRkcJ9v20vIyemMy1jEyek1OHRS7vTvnHNqGNJCXDYd1K7+7dm1usI99c4/5e+u68zs/zpppoDawpslxm2qUCIHKG8POe1r1cx6v1F5Dncc0Fnru3XmvIaJkOKqCh3Uv++wGo54ARgUzHniPWJ9YPkGQIMAUhJOfDUiIgALNu0i+Hj0/hm5Q+c3L4BD1/cjZb1qkUdS0qYovQgCvZFcwjOSYw/wv1tyD90ZGZNgY1heybQssB2LYC1sd7A3UcDowFSU1NjFhGRsio7N4/nZyznqU+WULVief54WQ8uPaG5hsmQI1KUcxD3FeP+pgDXAaPCx8kF2v/HzN4kODm9XecfRA7PvO+3M3RcGgvW7eC8bk2498IuNKpZJepYUoIdtECY2Tsc5DAPgLtfWNgbm9kbBCekG5hZJnAPQWF428xuBFYDl4Wbv0dwietSgstcbyj6tyBStu3LzuXpfy1h9PTl1KteiWd/dgLndG0adSwpBQrrQfzxaN7Y3a88yFMDYmzrwK1Hsz+Rsmjmiq0MH5/G8s27+WlqC0ae15na1TRMhhSPwgrEH9x9gJk96u7DEpZIRA5px75sHn1/Ea99vZoWdavyzxv78JP2DaKOJaVMYQWiqZmdClwYnhv40Vku3eksEo2P5q/n7snz2LQzixt/0ob/PasD1Spp7i8pfoX2IAjudG4B/IkfFwgHTo9jLhE5wPrt+7hnyjw+nL+Bjk1qMvqaVHq01DAZEj8HLRDuPg4YZ2Z3u/sDCcwkIgXk3/D26AcZZOfmMfScY/nlyW2pWF7DZEh8FeUyVxUHkYhkrN/JiAlpfLt6Gz85pgEPXdyVVvWrRx1LyggduBRJQvuyc/nLp0t47t/LqVW1Ik9e3oOLjtMNb5JYKhAiSeaLpZu5c2I6K7fs4dITWjDy/E7Uq14p6lhSBhV2o1y9wl7o7luLP45I2fXD7v08/N5Cxs7OpFX9arz2iz6cdIwuXZXoFNaDmM1/54FIAX4Il+sQ3AXdJu7pRMoAd2fK3LXc/84Ctu3N5lf92/GbAe2pUlEzvEm0CruKqQ2AmT0LTHH398L1c4EzEhNPpHRbs3UPIyfNY/riTfRoWYd/XtKNTk1rRR1LBCjaOYhe7n5z/oq7v29murJJ5Cjk5OYx5vOVPPHxYsoZ3HtBZ67RXA2SZIpSIDab2V3APwkOOf0M2BLXVCKl2MJ1Oxg2Po20zO0M6NiIBy7qSrM6VaOOJfL/KUqBuJJgJNaJBAVietgmIochKyeXv366lL9NW0btqhX5y5XHM7B7U126KkmrKDfKbQV+Y2Y13H1XAjKJlDqzV21l2Ph0lm7cxSXHN+fugZ2pq0tXJckVZcrRE4EXgBpAipn1AG5y91viHU6kpNudlcPjH2bwypcraVa7Ki/f0Iv+xzY65OtEkkFRDjE9CZxNMOsb7j7XzE6JayqRUuCzRRu5a9I81m7fy7V9W3HHOR2pUVn3pkrJUaRPq7uvOeA4ae7R7NTMfgf8guCcRjrBDHJNgTeBesC3wDXuvv9o9iMShU07s7h/6gLembuW9o1qMO7mfvRsVeh9pyJJqSgFYk14mMnNrBJwG7DwSHdoZs3D9+js7nvN7G3gCoIpR5909zfDey9uBP5+pPsRSTR3Z+zsTB56dyF79+fy+zM7cPOp7ahUQaOuSslUlAJxM/A00BzIBD7i6KcHrQBUNbNsoBqwjmB+iavC518B7kUFQkqIlZt3M3JSOp8v3ULv1vV4+JJuHNOoRtSxRI5KUa5i2gxcXVw7dPfvzeyPBMN17CUoOLOBbe6eE26WSVCQRJJadm4eL8xYwVOfLKZS+XI8dHFXruyVQjnd8CalQGGD9f2F4BxBTO5+25Hs0MzqAoMIxnLaBowFzo21i4O8fggwBCAlJeVIIogUi7TMbQwbn87CdTs4p0sT7hvUhca1qkQdS6TYFNaDmBWnfZ4BrHD3TQBmNgE4EahjZhXCXkQLYG2sF7v7aGA0QGpq6kELmEi87Nmfw58+WsyYz1fQsGZlnrumJ2d3aRJ1LJFiV9hgfa/EaZ+rgb5mVo3gENMAgmL0GTCY4Eqm64DJcdq/yBGbsWQTIyakk/nDXn7WN4Wh53SkVpWKUccSiYtDXl5hZh+bWZ0C63XN7MMj3aG7fw2MI7iUNT3MMBoYBvzezJYC9YEXj3QfIsVt+95sho6byzUvzqRShXKMvbkfD17UTcVBSrWiXMXU0N235a+4+w9mdlS3grr7PQTjOxW0HOh9NO8rEg8fzV/PXZPmsWX3fm7p347bNFeDlBFFKRC5Zpbi7qsBzKwVhZy8FiktNu/K4t4p85mato5OTWvx0vW96Nq8dtSxRBKmKAViJPAfM/t3uH4K4VVEIqWRuzN5zlrue2c+u7Nyuf2sDtx0ajsqltcNb1K2FFogLBhfYz5wAtCXYMrR34X3RoiUOuu272XkxHl8umgjx6fU4bFLu9O+cc2oY4lEotAC4e5uZpPcvScwNUGZRBLO3Xlj5hoeeW8hOXnO3QM7c/2JmuFNyraiHGL6ysx6ufs3cU8jEoFVW3YzfHw6Xy7fwont6jPqku6k1K8WdSyRyBWlQJwG3GRmq4DdBIeZ3N27xzWZSJzl5jljPl/BHz/KoGK5coy6pBuX92qpGd5EQkUpELGGwRAp0RZv2MnQcWnMWbONAR0b8eDFXWlaW/NCixRU2FhMtdx9B7AzgXlE4io7N4+/T1vGM58upUaVCjx9xXFc2KOZeg0iMRTWg3gdGEgw0qoTHFrK50DbOOYSKXbpmdu5Y9xcFq3fyQU9mnHvBZ2pX6Ny1LFEklZhYzENDB/bJC6OSPHbl53LU58s4fkZy6lfvRLPX5vKmZ0bRx1LJOkd8hyEmV0MfOru28P1OkB/d58U73AiR+ublVsZNi6N5Zt3c3lqS+48vxO1q2r8JJGiKMpJ6nvcfWL+irtvM7N7ABUISVq7snJ4/INFvPrVKlrUrcprv+jDScc0iDqWSIlSlAIRa3yBorxOJBLTFwdDcq/dvpfrT2zNHWcfS7VK+siKHK6i/K+ZZWZPAH8lODn9a4IT1yJJZfuebB54dwHjZmfSrmF1xt3cj56t6kUdS6TEKkqB+DVwN/AWwZVMHwG3xjOUyOH6YN567p48j62793Prae349ekaklvkaB2yQLj7bmB4ArKIHLZNO4Mhud9NX0fnprUYoyG5RYpNUa5i6gDcDrQuuL27n36kOw2vhHoB6Epw2OrnQAZBL6U1sBL4qbv/cKT7kNLN3Zn43ffcP3UBe7JyuePsYxlySlsNyS1SjIpyiGks8CzBL/TcYtrv08AH7j7YzCoB1YA7gX+5+ygzG07QaxlWTPuTUmTttr3cOTGdaRmb6NmqLo9e2p1jGtWIOpZIqVOUApHj7n8vrh2aWS2CSYeuB3D3/cB+MxsE9A83ewWYhgqEFJCX57w+czWj3l9Ebp5zzwWdubafhuQWiZeiFIh3zOwWYCKQld/o7luPcJ9tgU3AGDPrQXBF1G+Axu6+LnzvdUc777WULis372bY+DS+XrGVk44JhuRuWU9DcovEU1EKxHXh4x0F2o5mLKYKBDPU/drdvzazpzmMk+BmNoRwytOUlJQjjCAlRW6e8+J/lvOnjxZTqUI5Hr20Gz9N1ZDcIolQlKuYinsspkwg092/DtfHERSIDWbWNOw9NAU2HiTPaGA0QGpqqhdzNkkiGet3MnR8GnPXbOOMTo156OKuNK5VJepYImXGQS/5MLOhBZYvO+C5h490h+6+HlhjZseGTQOABcAU/ttbuQ6YfKT7kJJtf04eT368mIF/mUHm1j38+crjef7anioOIglWWA/iCuCxcHkEwdVM+c4huOroSP0aeC28gmk5cANBsXrbzG4EVgOXFfJ6KaXmrNnGsHFpZGzYyUXHNeMPF3ShXvVKUccSKZMKKxB2kOVY64fF3ecAqTGeGnA07ysl1979uTzxcQYv/mcFjWtV4aXrUzm9o4bkFolSYQXCD7Ica13kiH2xbDPDx6ezeuseru6TwvBzO1KziobkFolaYQWih5ntIOgtVA2XCdd1MFiO2o592Tzy3iLemLma1vWr8eaQvvRtWz/qWCISKmxGOY10JnHzyYINjJyUzqadWdx0Slt+e0YHqlbSR04kmWiQfEmoLbuyuO+dBUyZu5aOTWry/LWpdG9RJ+pYIhKDCoQkhLszZe5a7ntnATv3ZfP7Mztw86ntqFRBg+uJJCsVCIm7DTv2MXLiPD5ZuIHjWtbhscHd6dC4ZtSxROQQVCAkbtydt75Zw0PvLSQ7N4+7zu/EDSe10eB6IiWECoTExeotexgxMY3Pl26hT5t6PHppd1o3qB51LBE5DCoQUqxy85yXv1jJHz/MoHw546GLu3JlrxTKqdcgUuKoQEixWbIhGFzvu9XbOO3Yhjx0cTea1akadSwROUIqEHLUsnPzeHbaMv7y6VKqVy7PU5cfx6DjmmlIbpESTgVCjsq877dzx7g0Fq7bwcDuTbn3wi40qFE56lgiUgxUIOSI7MvO5alPlvD8jOXUr16J0df05KwuTaKOJSLFSAVCDtvMFVsZPj6N5Zt3c3lqS+48vxO1q2pwPZHSRgVCimxXVg6PfbCIV79cRYu6VfnnjX34SfsGUccSkThRgZAi+ffiTdw5IZ212/dyw0mtuf2sY6leWR8fkdIssv/hZlYemAV87+4DzawN8CZQD/gWuMbd90eVTwI79mXz4NQFvD0rk3YNqzPu5n70bFUv6lgikgBRjpT2G2BhgfVHgSfdvT3wA3BjJKnk/0zL2MjZT05n3OxMftW/He/edrKKg0gZEkmBMLMWwPnAC+G6AacD48JNXgEuiiKbwPY92dw+di7Xj/mG6pUrMOGWkxh2TkeqVNR8DSJlSVSHmJ4ChgL5Q3rWB7a5e064ngk0j/VCMxsCDAFISUmJc8yy56P56xk5aR5bd+/n1tPacduA9lSuoMIgUhYlvECY2UBgo7vPNrP++c0xNo0577W7jwZGA6Smpmpu7GKyZVcW976zgHfCiXzGXN+Lrs1rRx1LRCIURQ/iJOBCMzuPYG7rWgQ9ijpmViHsRbQA1kaQrcxxd6amreOeKfM1kY+I/EjCC4S7jwBGAIQ9iNvd/WozGwsMJriS6TpgcqKzlTUbd+zj7snz+HD+Bnq0qM1jg/tybBNN5CMigWS6kH0Y8KaZPQh8B7wYcZ5Sy92Z8O333D91AXuzcxlxbkdu/EkbKpRXr0FE/ivSAuHu04Bp4fJyoHeUecqCddv3MmJCOtMyNpHaqi6PDu5Ou4Y1oo4lIkkomXoQEkfuzthZmTwwdQHZeXn8YWBnrj+xtSbyEZGDUoEoA9Zu28vwCelMX7yJPm3q8djg7rSqr+k/RaRwKhClmLvz5jdreOjdheS5c/+gLvysTyv1GkSkSFQgSqnMH/YwYkI6M5Zspl/b+jx6aXdS6leLOpaIlCAqEKWMu/P6zNU8/G4wzNWDF3Xlqt4p6jWIyGFTgShF1mzdw7DxaXyxbAsnHVOfUZd0p2U99RpE5MioQJQCeXnOa1+v4pH3F1HOjIcv7saVvVsSjIEoInJkVCBKuNVb9jB0/Fy+Wr6Vk9s3YNSl3Wlep2rUsUSkFFCBKKHy8pxXv1zJox9kUKGc8eil3fhpqnoNIlJ8VCBKoJWbdzN0fBozV2zl1A4NeeSSbjRTr0FEipkKRAmSl+e8/MVKHvtwERXLl+Pxwd0Z3LOFeg0iEhcqECXE8k27GDoujVmrfuD0jo14+OJuNKldJepYIlKKqUAkudw8Z8znK3j8wwwqVyjHEz/twcXHN1evQUTiTgUiiS3btIs7xs7l29XbOKNTYx6+uCuNaqnXICKJoQKRhHLznBdmLOdPHy+mWqXyPH3FcVzYo5l6DSKSUCoQSWbpxp3cPjaNOWu2cVbnxjx4cVca1VSvQUQSL+EFwsxaAq8CTYA8YLS7P21m9YC3gNbASuCn7v5DovNFJSc3j+dnrODJTxZTvVJ5/nzl8VzQval6DSISmSh6EDnA/7r7t2ZWE5htZh8D1wP/cvdRZjYcGE4wDWmpt3jDTu4YO5e5mds5t2sT7h/UlYY1K0cdS0TKuIQXCHdfB6wLl3ea2UKgOTAI6B9u9gpgpTw4AAAM4UlEQVTBVKSlukDk5Obx3PTlPP3JEmpUqcAzVx3PwO7Noo4lIgJEfA7CzFoDxwNfA43D4oG7rzOzRgd5zRBgCEBKSkpigsbBovU7uGNsGunfb+f87k25/8Iu1K+hXoOIJI/ICoSZ1QDGA7919x1FPdbu7qOB0QCpqakev4TxkZ2bx98+W8Yzny2hVpWK/O3qEzivW9OoY4mI/H8iKRBmVpGgOLzm7hPC5g1m1jTsPTQFNkaRLZ7mr93O7WPTWLhuBxf2aMa9F3ahXvVKUccSEYkpiquYDHgRWOjuTxR4agpwHTAqfJyc6Gzxsj8nj2c+XcLfpi2jTrVKPHdNT87u0iTqWCIihYqiB3EScA2QbmZzwrY7CQrD22Z2I7AauCyCbMUuPXM7d4yby6L1O7nk+Ob84YLO1KmmXoOIJL8ormL6D3CwEw4DEpklnrJycnn6kyU8N305DWpU4sXrUhnQqXHUsUREikx3UsfBnDXbuGPsXJZs3MVlPVtw18DO1K5aMepYIiKHRQWiGO3LzuXJTxbz/PTlNK5VhTE39OK0Y2NerSsikvRUIIrJt6t/4I6xc1m2aTdX9GrJned3olYV9RpEpORSgThK+7JzeeLjxbwwYzlNalXh1Z/35pQODaOOJSJy1FQgjsKslVsZOi6N5Zt3c1WfFEac25Ga6jWISCmhAnEE9u7P5fEPMxjzxQqa1a7KP2/sw0/aN4g6lohIsVKBOEwzV2xl6Li5rNyyh2v6tmLYuR2pUVk/RhEpffSbrYj27M/hsQ8yeOXLlbSoW5XXf9mHE9up1yAipZcKRBF8uWwLw8ansXrrHq7r14qh53SkunoNIlLK6bdcIXZn5TDq/UX846tVtKpfjTeH9KVv2/pRxxIRSQgViIP4z5LNDBufxtrte/n5SW24/ewOVKukH5eIlB36jXeA7Xuzefjdhbw1aw1tG1Rn7E39SG1dL+pYIiIJpwJRwEfz13PXpHls2b2fX/Vvx28GtKdKxfJRxxIRiYQKBLB5Vxb3TpnP1LR1dGpaixev60W3FrWjjiUiEqkyXSDcnclz1nLfO/PZnZXL7Wd14KZT21GxfLmoo4mIRK7MFoj12/dx58R0Pl20kRNS6vDY4O4c06hm1LFERJJG0hUIMzsHeBooD7zg7qOKex+fZWzktje+Izs3j7sHdub6E1tTvtzB5jASESmbkqpAmFl54K/AmUAm8I2ZTXH3BcW5nzb1q3N8Sl3uv7ALrRtUL863FhEpNZKqQAC9gaXuvhzAzN4EBgHFWiBaN6jOqz/vXZxvKSJS6iTb2djmwJoC65lh2/8xsyFmNsvMZm3atCmh4UREypJkKxCxTgT4j1bcR7t7qrunNmyoiXlEROIl2QpEJtCywHoLYG1EWUREyrRkKxDfAO3NrI2ZVQKuAKZEnElEpExKqpPU7p5jZv8DfEhwmetL7j4/4lgiImVSUhUIAHd/D3gv6hwiImVdsh1iEhGRJKECISIiMZm7H3qrJGVmm4BVh/myBsDmOMSJl5KWF5Q5EUpaXih5mUtaXih65lbufsj7BEp0gTgSZjbL3VOjzlFUJS0vKHMilLS8UPIyl7S8UPyZdYhJRERiUoEQEZGYymKBGB11gMNU0vKCMidCScsLJS9zScsLxZy5zJ2DEBGRoimLPQgRESmCMlMgzOwcM8sws6VmNjziLC+Z2UYzm1egrZ6ZfWxmS8LHumG7mdmfw9xpZnZCgddcF26/xMyui2Pelmb2mZktNLP5ZvabEpC5ipnNNLO5Yeb7wvY2ZvZ1uP+3wjG/MLPK4frS8PnWBd5rRNieYWZnxytzuK/yZvadmU0tIXlXmlm6mc0xs1lhWzJ/LuqY2TgzWxR+nvsled5jw59t/tcOM/ttwjK7e6n/IhjXaRnQFqgEzAU6R5jnFOAEYF6BtseA4eHycODRcPk84H2CodD7Al+H7fWA5eFj3XC5bpzyNgVOCJdrAouBzkme2YAa4XJF4Oswy9vAFWH7s8CvwuVbgGfD5SuAt8LlzuHnpTLQJvwclY/jZ+P3wOvA1HA92fOuBBoc0JbMn4tXgF+Ey5WAOsmc94Ds5YH1QKtEZY7rN5QsX0A/4MMC6yOAERFnas2PC0QG0DRcbgpkhMvPAVceuB1wJfBcgfYfbRfn7JMJpoUtEZmBasC3QB+Cm4gqHPi5IBggsl+4XCHczg78rBTcLg45WwD/Ak4Hpob7T9q84fuv5P8vEEn5uQBqASsIz70me94Y+c8CPk9k5rJyiOmQM9Ulgcbuvg4gfGwUth8seyTfU3go43iCv8iTOnN4uGYOsBH4mOCv6W3unhNj//+XLXx+O1A/wZmfAoYCeeF6/STPC8GEXh+Z2WwzGxK2Jevnoi2wCRgTHsZ7wcyqJ3HeA10BvBEuJyRzWSkQh5ypLokdLHvCvyczqwGMB37r7jsK2zRGW8Izu3uuux9H8Jd5b6BTIfuPNLOZDQQ2uvvsgs2F7DspfsbASe5+AnAucKuZnVLItlFnrkBwaPfv7n48sJvg8MzBRJ33v0GCc08XAmMPtWmMtiPOXFYKREmYqW6DmTUFCB83hu0Hy57Q78nMKhIUh9fcfUJJyJzP3bcB0wiOydYxs/xh7gvu//+yhc/XBrYmMPNJwIVmthJ4k+Aw01NJnBcAd18bPm4EJhIU4mT9XGQCme7+dbg+jqBgJGvegs4FvnX3DeF6QjKXlQJREmaqmwLkX1lwHcFx/vz2a8OrE/oC28Mu5YfAWWZWN7yC4aywrdiZmQEvAgvd/YkSkrmhmdUJl6sCZwALgc+AwQfJnP+9DAY+9eBg7RTgivCqoTZAe2Bmced19xHu3sLdWxN8Pj9196uTNS+AmVU3s5r5ywT/nvNI0s+Fu68H1pjZsWHTAGBBsuY9wJX89/BSfrb4Z473iZVk+SI4u7+Y4Dj0yIizvAGsA7IJKvuNBMeP/wUsCR/rhdsa8NcwdzqQWuB9fg4sDb9uiGPenxB0R9OAOeHXeUmeuTvwXZh5HvCHsL0twS/MpQTd9cphe5VwfWn4fNsC7zUy/F4ygHMT8Pnoz3+vYkravGG2ueHX/Pz/V0n+uTgOmBV+LiYRXNGTtHnDfVUDtgC1C7QlJLPupBYRkZjKyiEmERE5TCoQIiISkwqEiIjEpAIhIiIxqUCIiEhMKhBS4piZm9mfCqzfbmb3FtN7v2xmgw+95VHv57JwNNHPDuM17+Xf23EE+9t1JK+Tsk0FQkqiLOASM2sQdZCCzKz8YWx+I3CLu59W1Be4+3ke3BUukhAqEFIS5RBMrfi7A584sAeQ/5ezmfU3s3+b2dtmttjMRpnZ1RbMGZFuZu0KvM0ZZjYj3G5g+PryZva4mX0TjrN/U4H3/czMXie4MenAPFeG7z/PzB4N2/5AcPPhs2b2+AHb9zez6WY20cwWmNmzZlYufG6lmTUws15hhirh3czzzaxruM0dBTLeFyNP0/D954SZTj68H72UJRUOvYlIUvorkGZmjx3Ga3oQDNi3lWA8/BfcvbcFEyD9GvhtuF1r4FSgHfCZmR0DXEswbEEvM6sMfG5mH4Xb9wa6uvuKgjszs2bAo0BP4AeCUU8vcvf7zex04HZ3nxUjZ2+CeR1WAR8AlxCMGwSAu39jZlOAB4GqwD/dfZ6ZnUUwtEZvgjtqp5jZKe4+vcB7X0UwZPhDYY+n2mH8/KSMUYGQEsndd5jZq8BtwN4ivuwbD4dINrNlQP4v+HSg4KGet909D1hiZsuBjgRj13Qv0DupTfDLeD8w88DiEOoFTHP3TeE+XyOYLGrSIXLOdPfl4WveIOhtjDtgm/sJxhjbR/AzIMx4FsEQIwA1wowFC8Q3wEsWDL44yd3nHCKLlGE6xCQl2VMEx/KrF2jLIfxch4MMVirwXFaB5bwC63n8+I+lA8efyR8u+dfuflz41cbd8wvM7oPkizXEclHE2v+B6hEUgJoE4zLl7++RAhmPcfcXf/RGQW/iFOB74B9mdu0RZpQyQAVCSix330owJeeNBZpXEhzSARhEMN3o4brMzMqF5yXaEgx69yHwq/Avb8ysQziCaWG+Bk4NzxuUJxiR899F2H9vC0YeLgdcDvwnxjajgbuB1wgOYxFm/LkF83ZgZs3NrFHBF5lZK4J5J54nGKH3BEQOQoeYpKT7E/A/BdafByab2UyCUS4P9td9YTIIfpE3Bm52931m9gLBuYlvw57JJuCiwt7E3deZ2QiCIbsNeM/dJxf2mtCXwCigG8HhoYkFnwz/6s9x99fDwvOFmZ3u7h+ZWSfgyyAiu4Cf8d+5AiAYKfYOM8sOn1cPQg5Ko7mKJBEz609w8npg1FlEdIhJRERiUg9CRERiUg9CRERiUoEQEZGYVCBERCQmFQgREYlJBUJERGJSgRARkZj+Hx9abkoEwBFNAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(nbpix[10:], encircled_flux[10:])\n", "plt.xlabel('Number of pixels')\n", "plt.ylabel('Encircled flux')" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "len: 777\n", "373.0\n" ] } ], "source": [ "print('len:' , len(nbpix))\n", "print(nbpix[50])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Lets do a linear fit to the outer part of the curve to determine the backgound\n", "p = np.polyfit(nbpix[50:], encircled_flux[50:], 1)\n", "#bkg=p[0]/(((np.abs(hd['CD1_1'])*3600.)**2)/4.25E10)\n", "bkg = p[0]/resol**2" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.02320506763625044\n" ] } ], "source": [ "print(bkg)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "#print(nbpix[100:])" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Lets correct the psf and encircled flux\n", "psf = psf - bkg\n", "encircled_flux = encircled_flux - p[0]* nbpix" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(radii, encircled_flux)\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our PSF does now behaves correctly.\n", "\n", "Now let us compare our growth curve with the encircled energy curve from the instrumental PSF. " ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(radii_inst, encircled_flux_inst, label='Calibration')\n", "plt.plot(radii, encircled_flux/np.max(encircled_flux), label='Our PSF')\n", "plt.xlim([0, 100])\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will work below 30\" where our PSF is well behaved" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(radii_inst, encircled_flux_inst, label='Calibration')\n", "plt.plot(radii, encircled_flux/np.max(encircled_flux), label='Our PSF')\n", "plt.xlim([0, 20])\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that while the calibration curve still rises beyond 30\", our PSF has reached a plateau. Let's note the calibration $C(r)$. Our PSF encirled energy is of the form:\n", "\n", "$E(r) = \\alpha C(r \\times \\beta)$\n", "\n", "Where $\\beta$ is the fattening of the PSF.\n", "\n", "We could take the derivative, but this too noisy. Instead we do a brute force approach" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Seb's suggestion.. look at derivative!! Also see how correction parameters change as a function of where I do correction" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(radii_inst, encircled_flux_inst, label='Calibration')\n", "plt.plot(radii, encircled_flux/np.max(encircled_flux), label='Our PSF')\n", "plt.xlim([0, 20])\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rf = 2.790, ff = 0.740, residual = 0.000\n", "0.055927344\n", "rf = 0.800, ff = 0.500, residual = 0.001\n", "0.08277247\n", "rf = 0.800, ff = 0.500, residual = 0.001\n", "0.08277247\n" ] } ], "source": [ "rfactor = np.arange(0.5,3., 1e-2)\n", "ffactor = np.arange(0.5,3., 1e-2)\n", "# work with the data points between 3 and 25\"\n", "for r in np.arange(3,6):\n", " idx, = np.where((radii > 2) & (radii < r))\n", " xv = radii[idx]\n", " yv = encircled_flux[idx]/np.max(encircled_flux)\n", " resid = np.zeros((len(rfactor), len(ffactor)))\n", " for i, rf in enumerate(rfactor):\n", " tck = interpolate.splrep(radii_inst*rf,encircled_flux_inst , s=1)#changed s=0 to 1 as I was getting NaNs\n", " yfit = interpolate.splev(xv, tck, der=0)\n", "\n", " for j, ff in enumerate(ffactor):\n", " resid[i, j] = np.sum((yv-yfit*ff)**2)\n", " imin = np.argmin(resid)\n", " rmin, fmin = np.unravel_index(imin, resid.shape)\n", " print(\"rf = {:.3f}, ff = {:.3f}, residual = {:.3f}\".format(rfactor[rmin], ffactor[fmin], resid[rmin, fmin]))\n", " print(np.max((psf/np.max(encircled_flux)/ffactor[fmin])))\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This shows a minimum, with some degeneracy. " ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(np.log(resid))" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rf = 0.800, ff = 0.500, residual = 0.001\n" ] } ], "source": [ "imin = np.argmin(resid)\n", "rmin, fmin = np.unravel_index(imin, resid.shape)\n", "print(\"rf = {:.3f}, ff = {:.3f}, residual = {:.3f}\".format(rfactor[rmin], ffactor[fmin], resid[rmin, fmin]))" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEKCAYAAAAFJbKyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xl8FdX9//HXJzuEsIOyBRBREJAAUay4gCtS6762WqkL1dali37bauvWX62trbX9fm0VFZcWd4tF64aKVasgQUEBZVG2iBAWWUPW+/n9MZNwgSz3klySXN7Px+M+7syZMzNnuA/mk3POzDnm7oiIiMQqpakLICIiLYsCh4iIxEWBQ0RE4qLAISIicVHgEBGRuChwiIhIXBQ4REQkLgocIiISFwUOERGJS1pTF6Axde7c2fv06dPUxRARaTFmz569zt27xLNPUgWOPn36UFBQ0NTFEBFpMcxsebz7qKlKRETiosAhIiJxUeAQEZG4JFUfh4i0TOXl5RQWFlJSUtLURUlaWVlZ9OzZk/T09AYfS4FDRJpcYWEhOTk59OnTBzNr6uIkHXdn/fr1FBYW0rdv3wYfL2FNVWbWy8ymm9mnZjbfzK6rIY+Z2V/MbImZfWxmw6O2XWJmi8PPJYkqp4g0vZKSEjp16qSgkSBmRqdOnRqtRpfIGkcF8FN3/9DMcoDZZjbN3RdE5TkF6B9+RgJ/A0aaWUfgFiAf8HDfqe7+dQLLKyJNSEEjsRrz3zdhNQ53/8rdPwyXtwCfAj12yXY68JgHZgDtzawbcDIwzd03hMFiGjA2UWUVEZHY7ZWnqsysDzAMmLnLph7Ayqj1wjCttvSajj3BzArMrGDt2rWNVWQR2cesXr2aCy64gH79+nHIIYcwbtw4Fi1aVGv+Nm3aALBq1SrOOeccAB555BGuvvrqBpXjnnvuobi4uHp93LhxbNy4sUHHbGwJDxxm1gZ4DviRu2/edXMNu3gd6bsnuk9093x3z+/SJa635kVEgKDz+Mwzz2T06NF8/vnnLFiwgDvuuIM1a9bUu2/37t159tln4zpXJBKpdfuugeOll16iffv2MR9/b0ho4DCzdIKgMdnd/1lDlkKgV9R6T2BVHekiIo1u+vTppKenc+WVV1an5eXlMWzYMI4//niGDx/OkCFD+Ne//rXbvsuWLWPw4MHV6ytXrmTs2LEcfPDB3HbbbdV5Bg4cyA9+8AOGDx/OypUrueqqq8jPz2fQoEHccsstAPzlL39h1apVjBkzhjFjxgDBUErr1q0D4O6772bw4MEMHjyYe+65Z6djX3HFFQwaNIiTTjqJ7du3J+YfKpSwznELemIeAj5197tryTYVuNrMniToHN/k7l+Z2avAHWbWIcx3EvCLRJVVRJqP216Yz4JVuzZONMwh3dtyy7cG1bp93rx5jBgxYrf0rKwspkyZQtu2bVm3bh1HHHEEp512Wp0dzR988AHz5s2jdevWHHbYYXzzm9+kc+fOLFy4kIcffpi//vWvAPzmN7+hY8eOVFZWcvzxx/Pxxx9z7bXXcvfddzN9+nQ6d+6803Fnz57Nww8/zMyZM3F3Ro4cybHHHkuHDh1YvHgxTzzxBA888ADnnXcezz33HBdddNEe/mvVL5E1jlHAxcBxZjYn/IwzsyvNrCqsvwR8ASwBHgB+AODuG4BfA7PCz+1hmojIXuPu3HjjjRx66KGccMIJfPnll/U2X5144ol06tSJVq1acdZZZ/Huu+8C0Lt3b4444ojqfE8//TTDhw9n2LBhzJ8/nwULFtR2SADeffddzjzzTLKzs2nTpg1nnXUW77zzDgB9+/YlLy8PgBEjRrBs2bIGXHX9ElbjcPd3qbmvIjqPAz+sZdskYFICiiYizVhdNYNEGTRoUI39FJMnT2bt2rXMnj2b9PR0+vTpU++7ELvWRqrWs7Ozq9OWLl3KH/7wB2bNmkWHDh0YP358vccNbpc1y8zMrF5OTU1NeFOVxqoSkX3ecccdR2lpKQ888EB12qxZs1i+fDldu3YlPT2d6dOns3x5/SOQT5s2jQ0bNrB9+3aef/55Ro0atVuezZs3k52dTbt27VizZg0vv/xy9bacnBy2bNmy2z7HHHMMzz//PMXFxWzbto0pU6Zw9NFH7+EVN4wCh4js88yMKVOmMG3aNPr168egQYO49dZbGTduHAUFBeTn5zN58mQGDBhQ77GOOuooLr74YvLy8jj77LPJz8/fLc/QoUMZNmwYgwYN4tJLL90puEyYMIFTTjmlunO8yvDhwxk/fjyHH344I0eO5PLLL2fYsGENv/g9YHVVf1qa/Px810ROIi3Pp59+ysCBA5u6GEmvpn9nM5vt7rtHtzqoxiEiInFR4BARkbgocIiISFwUOEREJC4KHCIiEhcFDhERiYsCh4gIwfS1p59+Ov3796dfv35cd911lJWVNeiY48ePrx4OZPjw4bz//vsAzJgxg5EjR5KXl8fAgQO59dZbgWBY9i5dupCXl0deXh7f/e53G3pZCaHAISL7PHfnrLPO4owzzmDx4sUsWrSIrVu3ctNNN8V1nMrKyt3S7rrrLubMmcOdd97J97//fQAuueQSJk6cyJw5c5g3bx7nnXdedf7zzz+fOXPmMGfOHB577LGGXViCKHCIyD7vzTffJCsri+9973tAMN7Tn/70JyZNmkRxcfFuEzSdeuqpvPXWW0AwodPNN9/MyJEjq2sUNTnmmGNYsmQJAEVFRXTr1q36XIccckiCriwxEjnnuIhI/F7+Oaz+pHGPuf8QOOXOWjfPnz9/t2HV27ZtS25ubvXNvjbbtm1j8ODB3H777XXme+GFFxgyZAgAP/7xjzn44IMZPXo0Y8eO5ZJLLiErKwuAp556qnpE3euuu646mDUnqnGIyD7P3WucY6O29GipqamcffbZtW6/4YYbyMvLY+LEiTz00EMA3HzzzRQUFHDSSSfx+OOPM3bs2Or80U1VzTFogGocItLc1FEzSJRBgwbx3HPP7ZS2efNmVq5cSb9+/Zg7d+5O071GD4GelZVFampqrce+6667quckj9avXz+uuuoqrrjiCrp06cL69esb4Ur2joTVOMxskpkVmdm8WrbfEDXB0zwzqzSzjuG2ZWb2SbhNoxaKSEIdf/zxFBcXV3dGV1ZW8tOf/pTx48fTunVr+vTpw5w5c4hEIqxcuZIPPvigQef797//XT2/xuLFi0lNTW1284rXJZFNVY8AY2vb6O53uXueu+cRTAv7n11m+RsTbo9r1EYRkXhVDav+zDPP0L9/fw466CCysrK44447ABg1ahR9+/ZlyJAhXH/99QwfPrxB5/v73//OwQcfTF5eHhdffDGTJ0+us9bS3CR0WHUz6wO86O6D68n3ODDd3R8I15cB+e6+Lp7zaVh1kZZJw6rvHUkzrLqZtSaomUQ3MDrwmpnNNrMJTVMyERGpSXPoHP8W8N9dmqlGufsqM+sKTDOzz9z97Zp2DgPLBIDc3NzEl1ZEZB/X5DUO4ALgiegEd18VfhcBU4DDa9vZ3Se6e76753fp0iWhBRWRxEmm2Uibo8b8923SwGFm7YBjgX9FpWWbWU7VMnASUOOTWSKSHLKysli/fr2CR4K4O+vXr69+ybChEtZUZWZPAKOBzmZWCNwCpAO4+31htjOB19x9W9Su+wFTwpdu0oDH3f2VRJVTRJpez549KSwsZO3atU1dlKSVlZVFz549G+VYCX2qam/TU1UiIvFpkU9ViYhIy6LAISIicVHgEBGRuChwiIhIXBQ4REQkLgocIiISFwUOERGJiwKHiIjERYFDRETiosAhIiJxUeAQEZG4KHCIiEhcFDhERCQuChwiIhIXBQ4REYmLAoeIiMQlYYHDzCaZWZGZ1Tjtq5mNNrNNZjYn/NwctW2smS00syVm9vNElVFEROKXyBrHI8DYevK84+554ed2ADNLBe4FTgEOAS40s0MSWE4REYlDwgKHu78NbNiDXQ8Hlrj7F+5eBjwJnN6ohRMRkT3W1H0c3zCzuWb2spkNCtN6ACuj8hSGaSIi0gykNeG5PwR6u/tWMxsHPA/0B6yGvF7bQcxsAjABIDc3NxHlFBGRKE1W43D3ze6+NVx+CUg3s84ENYxeUVl7AqvqOM5Ed8939/wuXboktMwiItKEgcPM9jczC5cPD8uyHpgF9DezvmaWAVwATG2qcoqIyM4S1lRlZk8Ao4HOZlYI3AKkA7j7fcA5wFVmVgFsBy5wdwcqzOxq4FUgFZjk7vMTVU4REYmPBffq5JCfn+8FBQVNXQwRkRbDzGa7e348+zT1U1UiItLCKHCIiEhcFDhERCQuChwiIhIXBQ4REYmLAoeIiMRFgUNEROKiwCEiInFR4BARkbgocIiISFwUOEREJC71Bo6apm01s9EJKY2IiDR7sdQ4njazn1mglZn9L/DbRBdMRESap1gCx0iCiZXeI5grYxUwKpGFEhGR5iuWwFFOMF9GKyALWOrukYSWSkREmq1YAscsgsBxGHAUcKGZPZvQUomISLMVS+C4zN1vdvdyd1/t7qcD/6pvJzObZGZFZjavlu3fMbOPw897ZjY0atsyM/vEzOaYmWZmEhFpRmKZOrbIzHJ3SftPDPs9Avwf8Fgt25cCx7r712Z2CjCRoD+lyhh3XxfDeUREZC+KJXD8G3DACPo4+gILgUF17eTub5tZnzq2vxe1OgPoGUNZRESkidUbONx9SPS6mQ0Hvt/I5bgMeDn6tMBrZubA/e4+sbYdzWwCMAEgN3fXipGIiDS2WGocO3H3D83ssMYqgJmNIQgcR0Ulj3L3VWbWFZhmZp+5+9u1lGciQTMX+fn53ljlEhGRmtUbOMzsJ1GrKcBwYG1jnNzMDgUeBE5x9/VV6e6+KvwuMrMpwOFAjYFDRET2rlieqsqJ+mQS9Hmc3tAThx3u/wQudvdFUenZZpZTtQycBNT4ZJaIiOx9sfRx3LYnBzazJ4DRQGczKwRuAdLDY94H3Ax0Av5qZgAV7p4P7AdMCdPSgMfd/ZU9KYOIiDS+WgOHmb1A0EldI3c/ra4Du/uF9Wy/HLi8hvQvgKG77yEiIs1BXTWOP+y1UoiISItRV+C42d2PN7PfufvP9lqJRESkWasrcHQzs2OB08zsSYIXAKu5+4cJLZmIiDRLddY4gJ8TvNH9R3YOHA4cl8ByiYhIM1Vr4HD3Z4FnzexX7v7rvVgmERFpxup9j0NBQ0REosXyAqCIiEg1BQ4REYlLXS8AdqxrR3ff0PjFERGR5q6up6pms2Mejlzg63C5PbCCYF4OERHZx9TaVOXufd39AOBV4Fvu3tndOwGnEgxOKCIi+6BY+jgOc/eXqlbc/WXg2MQVSUREmrNYJnJaZ2a/BP5B0HR1EbC+7l1ERCRZxVLjuBDoAkwJP13CNBER2QfFMh/HBuA6M2vj7lv3QplERKQZq7fGYWZHmtkCYEG4PtTM/prwkomISLMUS1PVn4CTCfs13H0ucEwsBzezSWZWZGY1Tv1qgb+Y2RIz+9jMhkdtu8TMFoefS2I5n4iIJF5Mb467+8pdkipjPP4jwNg6tp8C9A8/E4C/QfXLh7cAI4HDgVvMrEOM5xQRkQSKJXCsNLMjATezDDO7Hvg0loO7+9tAXW+Ynw485oEZQHsz60ZQw5nm7hvc/WtgGnUHIBER2UtiCRxXAj8EegCFQF643hh6ANG1mcIwrbb03ZjZBDMrMLOCtWvXNlKxRESkNrE8VbUO+E6Czm81pHkd6bsnuk8EJgLk5+fXmEdERBpPXYMc/i+13KwB3P3aRjh/IdArar0nsCpMH71L+luNcD4REWmgumocBXvh/FOBq8M5zUcCm9z9KzN7FbgjqkP8JOAXe6E8IiJSj7qmjn20oQc3sycIag6dzayQ4Emp9PD49wEvAeOAJUAx8L1w2wYz+zUwKzzU7RrGXUSkeai3j8PMpgHnuvvGcL0D8KS7n1zfvu5e59Ak7u7U0tHu7pOASfWdQ0RE9q5YBjnsUhU0ANz9azPrmsAyiYhIDCIRp9KdyohTEXEqK52KSGTHevV3pHo9EoGKSISIO5WRPTtvLIGj0sxy3X0FgJn1po5OcxGRZOXubC+vZGtJBVtLKyguq6SkvJLSigilFZWUVUTC5Uj1ctku22pe35FetVweiYSBYEcAiOwUECJEGnAnzrMl/CTtmT3aN5bAcRPwrpn9J1w/huAtbxGRFqO0opItJRVsLalgS0kFG7eXBeulwfqWknK2lFSweXt5dXrVZ1vU957erNNTjYzUFDLTU8PvlJ2+M9JSaN86g4y0YDkzNYXUFKv+pKUYqSkppKVGr0elV61HbU8xIz01hRSLMGDRRNbvN4qS9v3pP+9P9Fj8D8paddmja6kzcJiZAfOB4cARBO9X/Dh8t0NEJOEiEWdr2Y4b/tbScjZXLUfd8LeWVrC5pLw635bSqOWSCspiaJfJzkglJyudnKw0crLSaNsqne7ts8jOSKNNVhptMoNPdvjdOiOVVhmpZKalkhne8DPSUqqXq9NTU0hJqen1tN0uFlJiGglqZ2sXwra1UL4dyouD77JtULY9WC78ABa/Bl+9AJXlsPlLOPwKMo/7Ffy8XdynqzNwuLub2fPuPgJ4Mf6rEZFk4O6UVQZNKGUVkerl8sodzSxV6eWVOze/lFVGKI/ap6wiQmllhPIKp6yysjpt2fpi2rVKD2sA5dWBYWtZBV7PX/kpBm0y03a66XfNyeKAzmnh+o70nKw02mSm0zYrjXat04P9MtNpk5VGaiw390T55Fn45wTI2R869Nnxad8bcvaDitIgGJQXQ1lxGCCKYdVHQVCoS1pW8P31UugyEC57DXodvsdFjaWpaoaZHebus+rPKiIN4R60YVfdlKtvwFE36uibb9VydXrUPuU13Ohru/nXdZ4gGDRut2ZV00xG2o5mmvRUY9XG7fTfrw1d2rQJbvDhTb9t+Nd+VQBok5UWpgXrrTNSCRpIWqht64Obv1dCn6Ng40r4fDpsWVX/vq07wXG/gp6HQXpryGgN6a2C5arv1HQo2QSlWyGn257VaqLEEjjGAN83s+XANoLmKnf3Qxt0ZpFmrKwiUt2uvb086ADdXlZJSUWEknC9tDxCSUXVtkh1vrJabuiltdzkd72x1/fXdTzSUiy8Ke+4SVc1o0SntW6dttNNfKcbe5g3c5f0+o5Z1WSTvkuQSE+1ln2TbyyVFTD7YZj/PKx4DzwC+w2BM+7bcWMvL4GNK2BbEaS1CoNC6x0BIq1V7EEgq13waQSxBI5TGuVMIgnm7mzaXs7qzSVsLalgW1nlTp2axWWV1cvbSoNt28rCp2NKw21lwfY9+Qs7PdXICjs+d/9rOvjOyUqL++Zb2w09PWqfmtLTw85VaWbcgyanV34GH/0Dug6Co6+HAd+EbkMhOqimZ0GXg4JPM1LXWFVt3X0zsGUvlkekTu7Oqk0lLFy9mS/WbmPlhmIKv97Oyq+D7+KyuqeKSU81sjPTyM5IIzsztbqTc7+cLFpnpu7W8VmVNys9haz0VLLSgw7PquXgO5WstBTSUhtW/Zck9dm/4e27oHgDlG6Gks1BkxTAMf8Dx93UtOXbA3XVOB4HTgVms/uItQ4ckMByiQDw5cbtLFqzhfc/X8+Hy79m4ZotbCmpqN6ek5lGz46t6dMpm1EHdqZH+1Z0a9cqfAImNSpIBIEiMy21Ca9G9hmVFfDlbFj4Erz3F+h8EOQeAZltdzQZdewLA05t6pLukbrGqjo1/O6794oj+7rKiPPZ6s28u3gdz8wuZEnR1upth/Zsx+l53Tl4/7YM2D+HA7u0oUN2RhOWVpKeOxSvh6+XBZ/i9VBREvQ9VJRApDzI45Edn82rYOnbQe3CUoLgcOZ9kJHd1FfTaGIZq+pM4E133xSutwdGu/vziS6c7BvcnTc/K+KR95bxwdINlFYEz9sf3qcjvzr1EIb2bEefztl0bpPZxCWVZmvTl/DFW7D2MxgxHjr1i/8YX82F5e/B18th4/IwWCyH8m01509Jh5Q0SEkNAgQW9E+0ag+DzoR+x0HfY6B1xz2/rmYqls7xW9x9StWKu280s1sABQ5pkK82bee1+Wt46N2lrNhQTEZqCgfvn8PFR/TmG/060atj66YuojRXJZth2btBsPhiOqxbtGPbrAch7zvQPhfadod2PYPvnG7BY6m7+mouTP8tLHo5WE/Phg69g3co+h4bLLcP19vsF3RYp2ZCaiy3z+QUy5XX1OO37/6LSYMtXrOF65+Zy9zCTQAc0q0tPzqhPz8YfSAZaepgll1EKuGrOfDlh8HLbl9+COsWBs1Caa2gzygY/l04YAy06gAvXQ9zn4CyrbscyIIbf9vuOwLJ6k9g5Yygz2HML4PjtOm685NNsptYAkCBmd0N3EvQKX4NQYe5SMwqI85/FhXx+MwVvPFZEZlpKfz0xIM4cdB+DNi/bVMXT/amyvKgaSclhgcVVs6CF66DovnBeuvO0GM4HHJ6EDB6jYS0XZowL3wi+C7ZFPQ3bP4yaMravAo2Fwbf65cE/RDte8PxN8NhlzfaOw77glgCxzXAr4CnCJ6seo1a5tDYlZmNBf4MpAIPuvudu2z/E8ELhgCtga7u3j7cVgl8Em5b4e6nxXJOaX7e/GwNv37xU5au20bnNplc8o0+fG9UH3p3Sp7Own1W8QZYORNWzAi+txYFncDRn/So5Y0rYNErwfhJWe2Ct55bdwy+W3UMlzsGy8vegXnPQdsecPpfoe/R0K5X7LWBqqeXug5M7L/BPqjewOHu24Cfx3tgM0slqKWcSDCH+Cwzm+ruC6KO/eOo/NcAw6IOsd3d8+I9rzQfC1dv4f/9ewHvLF5H5zYZ/PasIZwzoifpDXnfIRKBsi3B0AmlW4LmiNItdSxvDZc3B+P1DD4HDjktGIpB9kx5Cfz3Hpj3z6DJCIKO4u55wQts5cXBC27FG2BTYTjY3tZgfKXMHBh6AWR3CbYXr4ftG4JawOp5wXJ5cXDMtFbBi3FH/SjYT5qNWJ6qOgi4HugTnd/dj6tn18OBJe7+RXicJ4HTgQW15L+QYGpZaeHe/3w997/9OW8tXEtainHxEb355akD9+wdikgE1nwSNCssfSd46qUshndSU9Ihs01ww8nICZa/Xg5TJsBLNwQ3OZzq8T3cd6x7BCIVUFkW9SkPBpmrLAuepGnXE9r3gna5QSds+17BX8Ptc4OnahqLe9DGbyl1Dy0RiUDRAti0MgyWUUGzbFvwV3pKetA5nJIedOxWr6dFpe+y7pVBk0/0Z9GrsH5x0Kcw9HzodUTQfNRYwbh8exBUMrIb999SGk0sTVXPAPcBDwJ1v5a7sx7Ayqj1QmBkTRnDyaH6Am9GJWeZWQFQAdypx3+bP3fn968u5G9vfU7rjFR+cuJBfHtkbvyP0W5bB/OnBE/MLHsXSsIJKDsdCEPOCb4zw2CQkRO1HAaKzJzd270huLku/y/MmQwbvqD68cno75QUsDRIyYbUjOAGmpoRHK9qubIs+Et67UJY/DpUbN/5PJltg7bz3JHQ7/igI7bqBl62Nbyhbwv+ui76NLjhlxUHwSpSHgSKSMWOT5XUjOCv8PSsoPaU3ir4TssK2uyLa5ntIL11GIDKdz7enshoEwTHi56DA09o2LFqk94K2vVIzLGlUcQSOCrc/W97cOyaGiJrGwDoAuBZd48OTLnuvsrMDgDeNLNP3P3z3U5iNoFwYqnc3Nw9KKY0VFlFhEfeW8rzH61iwVebOemQ/fjjeUPJyarh0cfaRCKw5HX46DFY+HJwg2vfGwaeGjwS2eeo4AbcECkpQTt536MbdpxoVS+IbVwRfDatDEY23fA5zHkieDS0Vgad+8P+hwZ/WaekRX1Sd16PVAYvnFWUBH+R7/rd7zjoNwa6DAhrWW2CYJqevXNNxT2sTZUHgaQyDFY1rlcENZ2sdpDVHrLa1vw4q+xzYgkcL5jZD4ApQGlVortvqGe/QqBX1HpPoLYxgi9glw53d18Vfn9hZm8R9H/sFjjcfSIwESA/P19T2u5l732+jp899zErN2xnRO8O/PKbA/neqL7xDa5XvAGeuww+fzN4ambklTDsopbRqWkG2Z2DT4/hO2+rKIWVHwT9KxltdtzMqzuO2+z9G7FZWHNSAJA9F0vguCT8viEqLZaxqmYB/c2sL/AlQXD49q6ZzOxgoAPwflRaB6DY3UvNrDMwCvh9DGWVvWTZum28/ukafvfKZ3RoncF9Fw1n7OBu8R9o1Ufw1Hdh62oY9wcYfgmkJckwImmZjVu7EWkmYnmqao/GqnL3CjO7GniV4HHcSe4+38xuBwrcfWqY9ULgSfedZiEYCNxvZhGCFxDvjH4aS5rO5pJyHp+5gjtf/gyAAzpn8/fLR9KjfQwdo5FK2LJ6R5NO0afw/r3BC1eXvgI9RiS49CLSGMxrmTXGzP7H3X8fLp/r7s9EbbvD3W/cS2WMWX5+vhcUFDR1MZLWwtVbuPIfs1m6bhu5HVvzx/OGkt+7w86T8mzfGHT2VrX5b1wetPlvXBF0KEfKdz7ogSfCmfdDdqe9ezEiAoCZzXb3/Hj2qavGcQE7mod+QfB0VZWxQLMLHJIY20oreOKDFfzhtYVkpadyz/l5nJ7XPQgYpVtg+fuwLHxcdvXHweOsVdrsHzyF02MEDDojfHQ1N+j4btdT71OItEB1BQ6rZbmmdUlCW0rK+cU/P+HFj78CYMzBXfjttw5g/41z4Y0HgkCx6qPgWf/UjGDO42P+B3odBh36Bm/8pmc18VWISGOrK3B4Lcs1rUuSmbNyIxc9OJOy0u3cPmQzozM/o9em2dhfZwfNTSlpQS3iqB8HHcC9Rqr2ILKPqCtwDDWzzQS1i1bhMuG6/oxMUpNnLuex95ZTuKaISzOnc1Xbl2m9eH3wPH+3PPjGD8NAcUTwaKmI7HPqmgFQc2zuQ95aWMRf3ljMkhVfcn37tzgv50WyyjdBz9Fw+ITgBTyNHioiaF6NfdqmrcV8MGsGK+e9h635mBtTljK09XLSS0rh4HFw9E+hZ1wPW4jIPkCBI5lEIsG4TtvWwba1Oz7F66PW1+Fb17J942raVW7mxHDXsoy8KZecAAAT8ElEQVRWRPYbQnrvE4LZ0/Yf3KSXIiLNlwJHS1VRBm/eHgxFXRUoitfVOohdpFVHtqS046uKNnxe3J713puOXboxeMgweg8+kozO/WObWEdE9nkKHC3VKz+DgknQfXjwPkT3vGCOg/Dj2Z1ZG2nLrLUp/KcwwtMfrgYgt2NrjjusK4O6t+WU4T3jG1NKRAQFjpZp1oNB0Bj1Izjxturk8soIC1dv4cWPv+Lfn6xi5YYgWGSmpTDm4C5cfdyBDM/d5U1vEZE4KXC0NEvfgZd/Bv1PpvjoG/niy028vXgtby9ay+zlX1Ne6aQYHNmvM5eO6suw3A4M6dFONQsRaTQKHC3J18uoePJiNmb04PtrL2X2ra9XbxrYrS3fG9WX/l3bMGZA1/gnTxIRiZECRzNXURnhP4vWMvOzFVz4yeV0rCzl/PLr2K9Te35yYicO6JLNYX06sl9bvZMpInuHAkczVbSlhHcXr+OuVxeyelMx92f+md62ghcP/QvPjj2fDtlJMmeFiLQ4ChzNzHtL1nHXawv5aEUwz3aH1ulMGz6DAxfMgpPv4LRvXNzEJRSRfZ0CRzOxfmsp97y+mL/PWA7Aefk9ObfXFoYUTSVr9v3BS3lH/KCJSykikuDAYWZjgT8TzAD4oLvfucv28cBdBFPLAvyfuz8YbrsE+GWY/v/c/dFElrWpRCLO83O+5PYXF7CxuJzxQ7P5abe55Hx2J8z7OBiFdsi5cOqfgvmiRUSaWMICh5mlAvcCJwKFwCwzm1rDFLBPufvVu+zbEbgFyCcYwn12uO/XiSpvU5izciO3Tp3PpyuLGN/5M67YfyadFr2NLayE7sPglN/D4LMhu3NTF1VEpFoiaxyHA0vc/QsAM3sSOB2IZe7wk4Fp7r4h3HcawayDTySorHvdtPmruW/yE1yc9R7fyplBxtbNYN3gyGtg6AXQdWBTF1FEpEaJDBw9gJVR64XAyBrynW1mxwCLgB+7+8pa9u2RqILuTWtXLGLZ9EkcvHQKz2WsxlNbYwO/FQSLvsdqvCgRafYSGThqapDfdebAF4An3L3UzK4EHgWOi3Hf4CRmE4AJALm5uXte2kQq2QwL/kVxwT/osmoGXYA5aYeSOuoGehx5PmTmNHUJRURilsjAUQj0ilrvCayKzuDu66NWHwB+F7Xv6F32faumk7j7RGAiQH5+fvOb0nbuk/DCj6BiO0W+Py/YBYw47UqOHD6sqUsmIrJHEhk4ZgH9zawvwVNTFwDfjs5gZt3c/atw9TTg03D5VeAOM+sQrp8E/CKBZU2Mos+CoNE9j99WfJvJX3bltR8dS/f2mptbRFquhAUOd68ws6sJgkAqMMnd55vZ7UCBu08FrjWz04AKYAMwPtx3g5n9miD4ANxe1VHeYlSUwnOXU5HWmp/xE577opxrjz9AQUNEWjxzb36tO3sqPz/fCwoKmroYgVduhBn38rPMm3i1PI/vjMzlmuP6k5Wuzm8RaT7MbLa7xzVHtN4cT4Qlb8CMe3m7/Rk8tXoQfzz3EM4e0bOpSyUi0igUOBrbtnX4lKtYarlcu/5sLj6iN6cO7dbUpRIRaTQKHI3JHf71Q7xkIz8ouY2bzh7Gufm96t9PRKQFSWnqAiSVWQ/ColeY3PYyPvNchuV2qH8fEZEWRjWOxlL0Kf7qLylIG8Fv1h3NTeMGcGDXNk1dKhGRRqfA0RjKS9gy+buUVmTyE5/A/RcfxrEHdWnqUomIJIQCR2N4/VZyNi3it61v5vErTqNXx9ZNXSIRkYRRH0dDLZ4GM//GwxUnM+CYsxU0RCTpqcbREFuL4Pmr+DKjLw+ljeeNw/QElYgkP9U49lT46G1k+yZ+GrmWwb33IzNNb4WLSPJT4NhDPvN+WPwat5ZeyMJITy46ondTF0lEZK9QU9WeWDOfytd+xX8qh1E27DLeP32wxqASkX2GAke81n+OP/kdNntr/rHfDUw6+1DMapp3SkQkOampKh7L34MHj6dk60YuK/kxY0YMUtAQkX2OAkes5j4Jj55GZevOnFp8C50GHMVFI9WvISL7HgWO+rjDm7+BKd+H3t9g6ohH+LyyK5cf3ZeUFNU2RGTfk9DAYWZjzWyhmS0xs5/XsP0nZrbAzD42szfMrHfUtkozmxN+piaynLUqL4HnLoe3fw/DLmbxiY/yP/9ewdBe7RnRWwMYisi+KWGd42aWCtwLnAgUArPMbKq7L4jK9hGQ7+7FZnYV8Hvg/HDbdnfPS1T56rVtHTz5bVg5E064ldKR13DHPz4kMy2Vh8cfRnqqKmsism9K5FNVhwNL3P0LADN7EjgdqA4c7j49Kv8M4KIElid2axfC5HNh6xo491HW5p7Ct//3vywu2spN4wbSMTujqUsoItJkEvlncw9gZdR6YZhWm8uAl6PWs8yswMxmmNkZte1kZhPCfAVr165tWIkBvngLHjwRyrfD+JeoGHAa1zzxISs2FPPw+MO44pgDGn4OEZEWLJE1jpp6jr3GjGYXAfnAsVHJue6+yswOAN40s0/c/fPdDug+EZgIkJ+fX+PxY/bhY/Dij6FTf/jO09A+l2c/WMGMLzbwx3OHMmZA1wYdXkQkGSSyxlEIRI/61xNYtWsmMzsBuAk4zd1Lq9LdfVX4/QXwFjAsYSWNRGDaLTD1Guh7LFz2KrTPBeA/i9bSo30rzhpeV2VJRGTfkcjAMQvob2Z9zSwDuADY6ekoMxsG3E8QNIqi0juYWWa43BkYRVTfSKMqK4ZnLoH/3gP5l8G3n4asdgBMX1jEawvWMGZAF73oJyISSlhTlbtXmNnVwKtAKjDJ3eeb2e1AgbtPBe4C2gDPhDfmFe5+GjAQuN/MIgTB7c5dnsZqHFvWwBMXwKqP4OTfwhFXQRgg5q7cyA8nf8iA/XP4+SkDG/3UIiItlbk3rFugOcnPz/eCgoLYMq9ZAI+fB8Xr4eyHYMC4HZs2lzDuz+/QOjOV5646kq45WQkqsYhI0zKz2e6eH88+++Ygh0teh6fHQ2Yb+N7L0H3n10XueX0Rm0vKeer7RyhoiIjsYt97i23WgzD5POjQBy5/Y7eg8fnarTxdUMh3RvbmwK45TVNGEZFmbN+pcUQq4bVfwYx74aCxQfNUZpvdsv359cW0Sk/lmuMObIJCiog0f/tG4CjdCv+8Aha+BCOvgpN/Aym7T7xUVhHhjU/XcMawHnRqk9kEBRURaf6SP3BsXgWPnw9r5sG4P8DhV9SYrawiwt/e+pxtZZUcc1CXvVxIEZGWI7kDx1dzg6BRuiV4P6P/iTVmW72phIsfmsnioq0cN6ArxypwiIjUKnkDx8KX4dnLoFUHuPRV2H9wjdk2Fpfx3UkzWbVxOw9+N58TDtlvLxdURKRlSb7A4Q4z/gav3gjdhsK3n4Kc/WvMWhlxLnu0gGXrinnk0sM4sl/nvVxYEZGWJ8kCh8NL1weP3A44Fc6aCBnZteYuWLaB2cu/5o4zhyhoiIjEKLkCx4YvYNYSOPJaOOE2SKn7NZVX5q8mIy2F0/K676UCioi0fMkVOEq2wLcehBHj6826ckMxzxQUcvyArrTJTK5/BhGRREquO2anfvUGjUVrtvDQO0uZMudL0lOMG8dpAEMRkXgkV+DIrHuIkHlfbuKMe/9LWqpxzoieXH5UX3p1bL2XCicikhySK3DU46F3l5KVnsr060fTJUdvhouI7Il9YpBDd+ethUW8+PEqzhnRU0FDRKQBkr7G8eZna/jTtMV88uUmurfL4vKj+zZ1kUREWrSE1jjMbKyZLTSzJWb28xq2Z5rZU+H2mWbWJ2rbL8L0hWZ2crzn3rS9nJ8+PZdLHylgS0k5vzt7CG/dMIaeHdSnISLSEAmrcZhZKnAvcCJQCMwys6m7TAF7GfC1ux9oZhcAvwPON7NDCOYoHwR0B143s4PcvbKuc5ZVRHj4v0t587MiZn6xgYpIhGuPO5Brju9Peuo+0SonIpJwiWyqOhxY4u5fAJjZk8DpQHTgOB24NVx+Fvg/CyYfPx140t1LgaVmtiQ83vt1nXDhmi3c9sICDuiSzXe/0ZszhvVgcI92jXpRIiL7ukQGjh7Ayqj1QmBkbXncvcLMNgGdwvQZu+zbo6aTmNkEYAJA5x59+c8No+ndqfZhRkREpGES2X5jNaR5jHli2TdIdJ/o7vnunt97/44KGiIiCZbIwFEI9Ipa7wmsqi2PmaUB7YANMe4rIiJNIJGBYxbQ38z6mlkGQWf31F3yTAUuCZfPAd50dw/TLwifuuoL9Ac+SGBZRUQkRgnr4wj7LK4GXgVSgUnuPt/MbgcK3H0q8BDw97DzewNBcCHM9zRBR3oF8MP6nqgSEZG9w4I/8JNDfn6+FxQUNHUxRERaDDOb7e758eyjlxtERCQuChwiIhIXBQ4REYmLAoeIiMQlqTrHzWwLsLCpy5EgnYF1TV2IBNL1tWy6vpbrYHevexa8XSTbsOoL4306oKUws4JkvTbQ9bV0ur6Wy8zifhRVTVUiIhIXBQ4REYlLsgWOiU1dgARK5msDXV9Lp+trueK+tqTqHBcRkcRLthqHiIgkWFIEjvrmNm/pzGyZmX1iZnP25AmI5sbMJplZkZnNi0rraGbTzGxx+N2hKcvYELVc361m9mX4G84xs3FNWcY9ZWa9zGy6mX1qZvPN7LowPSl+vzquL1l+vywz+8DM5obXd1uY3tfMZoa/31PhiOa1H6elN1WFc5svImpuc+DCXeY2b9HMbBmQ7+5J8Ry5mR0DbAUec/fBYdrvgQ3ufmcY/Du4+8+aspx7qpbruxXY6u5/aMqyNZSZdQO6ufuHZpYDzAbOAMaTBL9fHdd3Hsnx+xmQ7e5bzSwdeBe4DvgJ8E93f9LM7gPmuvvfajtOMtQ4quc2d/cyoGpuc2mm3P1tgmH0o50OPBouP0rwn7VFquX6koK7f+XuH4bLW4BPCaZ1Torfr47rSwoe2BqupocfB44Dng3T6/39kiFw1DS3edL80CEHXjOz2eEc68loP3f/CoL/vEDXJi5PIlxtZh+HTVktsiknmpn1AYYBM0nC32+X64Mk+f3MLNXM5gBFwDTgc2Cju1eEWeq9hyZD4Ih5fvIWbJS7DwdOAX4YNoVIy/I3oB+QB3wF/LFpi9MwZtYGeA74kbtvburyNLYari9pfj93r3T3PIIpuQ8HBtaUra5jJEPgSPr5yd19VfhdBEwh+LGTzZqwfbmqnbmoicvTqNx9TfgfNgI8QAv+DcO28eeAye7+zzA5aX6/mq4vmX6/Ku6+EXgLOAJob2ZVQ1DVew9NhsARy9zmLZaZZYeddJhZNnASMK/uvVqk6PnnLwH+1YRlaXRVN9XQmbTQ3zDsXH0I+NTd747alBS/X23Xl0S/Xxczax8utwJOIOjHmQ6cE2ar9/dr8U9VAYSPxt3DjrnNf9PERWo0ZnYAQS0DgkEpH2/p12dmTwCjCUYcXQPcAjwPPA3kAiuAc929RXYw13J9owmaORxYBny/qk+gJTGzo4B3gE+ASJh8I0E/QIv//eq4vgtJjt/vUILO71SCisPT7n57eJ95EugIfARc5O6ltR4nGQKHiIjsPcnQVCUiInuRAoeIiMRFgUNEROKiwCEiInFR4BARkbgocIiISFwUOCSpmFllOOz1PDN7oeplpzj2v9XMrg+XbzezExpYnj5mtj0cG6hZMLPzwykIXmzqskjLpMAhyWa7u+eFw5lvAH64pwdy95vd/fVGKNPn4dhAMQunC0gId38KuDxRx5fkp8Ahyex9wlE+zayNmb1hZh9aMClW9dD7ZnaTBROBvQ4cHJX+iJmdEy4vM7PO4XK+mb0VLh8bNbnPR1XDw9TFzJ4PRzqeHz3asZltDWs5M4FvmNlhZvZeOOnOB2aWY2aDwuU54Uit/cN9L4pKv78q8FgwydmH4THeaPg/qUgwhIVI0glvnMcTjDsEUAKc6e6bwwAww8ymAsMJxjcbRvD/4UOCyXtidT3wQ3f/bziiakkM+1zq7hvCsYJmmdlz7r4eyAbmufvN4bhrnwHnu/ssM2sLbAeuBP7s7pPDPKlmNhA4n2AU5XIz+yvwHTN7mWBAvmPcfamZdYzjukRqpcAhyaZV2J/QhyAATAvTDbgjHJI+QlAT2Q84Gpji7sUAYTCJx3+Bu81sMsEMaoUx7HOtmZ0ZLvcC+gPrgUqCUVkhqPl85e6zAKqGLjez94GbzKxneL7FZnY8MIIgCAG0Ihid9gjgbXdfGh6jxY0dJc2Tmqok2WwP+xN6Axns6OP4DtAFGBFuXwNkhdtiGbCtgh3/X6r2w93vJOgvaEVQixlQ10HMbDTBiKTfcPehBAPKVR2vxN0rq7LWVC53fxw4jaD28aqZHRfmfTTs28lz94Pd/dbajiHSUAockpTcfRNwLXB9OL9CO6AobMoZQxBYAN4GzjSzVmH/xLdqOeQygr/qAc6uSjSzfu7+ibv/DigA6gwcYTm+dvfiMMgcUUu+z4DuZnZYeJ4cM0sLRzH9wt3/QjCU+aHAG8A5ZtY1zNvRzHoT9PEca2Z9q9LrKZtITNRUJUnL3T8ys7kEfRiTgRfMrACYQ3Bjxt0/NLOnwrTlBENq1+Q24CEzqxpCvMqPwkBUCSwAXq6nWK8AV5rZx8BCYEYtZS8zs/OB/w37QrYT1FTOBy4ys3JgNXB72F/yS4LphVOAcoJ+lxlh5/s/w/Qi4MR6yidSLw2rLpJAFsxb/WL4eHCzETaZXe/upzZ1WaTlUVOVSGJVAu2a2wuAwF+Br5u6LNIyqcYhIiJxUY1DRETiosAhIiJxUeAQEZG4KHCIiEhcFDhERCQu/x/OtF51mVtAJwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(radii_inst*rfactor[rmin],encircled_flux_inst, label='Calibration')\n", "plt.plot(radii, encircled_flux/np.max(encircled_flux)/ffactor[fmin], label='Our PSF')\n", "plt.xlim([0, 30])\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.5800571" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The two curve overlap\n", "rad=20\n", "psfok = (psf/np.max(encircled_flux)/ffactor[fmin])\n", "cpix=np.int((hd['NAXIS1']+1)/2.0)\n", "#np.sum(psfok[cpix-rad-1:cpix+rad,cpix-rad-1:cpix+rad])*((np.abs(hd['CD1_1'])*3600.)**2)/4.25E10\n", "np.sum(psfok[cpix-rad-1:cpix+rad,cpix-rad-1:cpix+rad])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "psfok is the PSF that a source of flux 1 Jy has in our data, and is to be used for source extraction.\n", "## As units of map in MJy/sr, divide by 1E6" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.08277247" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.max(psfok)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(psfok.flatten(),bins=np.arange(-0.01,0.05,0.0005));\n", "plt.yscale('log')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#psfok=psfok/1.0E6" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Validation\n", "To check PSF is reasonable, lets look at a 24 micron source (Spitzer index 201233 in spitzer-cat-full-master-mips24.fits) that has a flux of 812.65 microJy. Maximum value in our normalised PSF gives a peak below. Since PSF is double resolution of map, it could also be off centre. Map has value of 0.5315 MJy/sr but does appear to be off centre. " ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Max PSF = 67.21125 uJy/pix, off pixel Max PSF = 33.16857 uJy/pix\n" ] } ], "source": [ "print(\"Max PSF = {:.5f} uJy/pix, off pixel Max PSF = {:.5f} uJy/pix\".format(psfok[cpix-1,cpix-1]*8.12E2,psfok[cpix-2,cpix-2]*8.12E2))" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "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", "WARNING: hdu=0 does not contain any data, using hdu=1 instead [aplpy.core]\n", "WARNING: FITSFixedWarning: CRVAL1_0= 268.505483000 /CRVAL1 at Wed Jun 20 00:36:54 2018By: sjo \n", "keyword looks very much like CRVALia but isn't. [astropy.wcs.wcs]\n", "WARNING: FITSFixedWarning: CRVAL2_0= 66.6353010000 /CRVAL2 at Wed Jun 20 00:36:54 2018By: sjo \n", "keyword looks very much like CRVALia but isn't. [astropy.wcs.wcs]\n", "WARNING: Cannot determine equinox. Assuming J2000. [aplpy.wcs_util]\n", "WARNING: Cannot determine equinox. Assuming J2000. [aplpy.wcs_util]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm4AAAInCAYAAAAh/9W3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3WtAVWW+x/HfBoIuBIpnkDp5anRSSx2rmcZIxUSBFAlBsam0rIxmvKCRlreaLpqNOuWczkyTXe2ilqRQaqZCqZWkozZYqd3GxJRtY+Bdgc1zXhBbYe8NVsL2aX8/b3I/az1r/dezFvBrXfZyGGOMAAAAcNoL8ncBAAAAODkENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENx+hNWrVyspKUkJCQmaPXu2v8sJSLt379aQIUPUp08fJScna86cOf4uKaC5XC71799fd955p79LCVj79+9XVlaWrr32WvXp00ebNm3yd0kB6YUXXlBycrL69eun7OxsHTt2zN8lBYQJEyYoNjZW/fr1c7eVlZXp1ltvVWJiom699Vbt27fPjxWeOgS3H8jlcumhhx7SM888oyVLlmjx4sX64osv/F1WwAkODtb48eP11ltv6dVXX9XcuXPZD3704osvqk2bNv4uI6BNnTpV3bt317Jly5SXl8f+8AOn06kXX3xRr7/+uhYvXiyXy6UlS5b4u6yAkJ6ermeeeaZW2+zZsxUbG6vly5crNjb2Z3OiheD2AxUVFenCCy9Uq1atFBoaquTkZOXn5/u7rIATHR2tDh06SJLCw8PVunVrOZ1OP1cVmEpKSvTuu+9q4MCB/i4lYB08eFDr169374PQ0FBFRET4uarA5HK5dPToUVVWVuro0aOKjo72d0kB4corr1RkZGSttvz8fPXv31+S1L9/f61cudIfpZ1yBLcfyOl0KiYmxv25ZcuWBAY/27lzp7Zs2aLOnTv7u5SA9Mgjj2jcuHEKCuLXib8UFxcrKipKEyZMUP/+/TVp0iQdPnzY32UFnJYtW+q2225Tz5491a1bN4WHh6tbt27+Litg7d271x2co6Oj9d133/m5olOD37Q/kLc3hDkcDj9UAkk6dOiQsrKyNHHiRIWHh/u7nIDzzjvvKCoqSh07dvR3KQGtsrJSn376qW644Qbl5ubqrLPO+tlcFrLJvn37lJ+fr/z8fK1Zs0ZHjhxRXl6ev8vCzwzB7QeKiYlRSUmJ+7PT6eRUuJ9UVFQoKytLKSkpSkxM9Hc5AWnjxo0qKChQfHy8srOzVVhYqLFjx/q7rIATExOjmJgY91nna6+9Vp9++qmfqwo8H3zwgS644AJFRUXpjDPOUGJiIg+J+FGLFi20Z88eSdKePXsUFRXl54pODYLbD9SpUydt375dxcXFKi8v15IlSxQfH+/vsgKOMUaTJk1S69atdeutt/q7nIB19913a/Xq1SooKNBjjz2mq666SjNnzvR3WQHnF7/4hWJiYvTVV19JktauXcvDCX5w/vnn61//+peOHDkiYwz7wc/i4+OVm5srScrNzVWvXr38XNGpEeLvAmwTEhKi+++/X8OGDZPL5dKAAQN08cUX+7usgLNhwwbl5eWpbdu2Sk1NlSRlZ2erR48efq4M8I/77rtPY8eOVUVFhVq1aqVp06b5u6SA07lzZyUlJSktLU0hISG65JJLdP311/u7rICQnZ2tdevWqbS0VHFxcRo1apQyMzM1ZswY5eTk6LzzztNf//pXf5d5SjiMt5u2AAAAcNrhUikAAIAlCG4AAACWILgBAABYguAGAABgCYIbAACAJQhuP8Grr77q7xIg9sPpgv3gf+yD0wP74fTwc90PBLef4Od6UNiG/XB6YD/4H/vg9MB+OD38XPcDwQ0AAMASfAHvT/D7G9O1f/8Br9M8BrWeYTZe/lXvstyLPJll/sBlm7off8g6ak852SPLnPQnzwn1reJk90FDZXqd3uD6G9gOU8+0k1n/SdXgZRkNzNzQuk5qXh8z1D+/9435oeuot/lkt/2H/Eb8Ies/2WWf7Bic1LJ+1A+hZ/OPGpMfOjgnM2+dn6smqesnHPwnW585PvPJl3EKD+iTPk4a+mt1wpQfc+DWqaPBv2MNrKNN24u0ZMkS3+uzFK+8+gn27z+omU9MrNVWE6aqPH7BVFW3m5ofzir3tONttfvUtFeZqlrtNfMdn173YK/yaGtwHe6wVf/0WsuqO2+dunxPV+12Yzy2ybNuzz5e5//+v8YYr+upXlbdddSeXqPmY5U8pxsffU5cv7d1eOt3vK12vTUfj49n3e2Rj3bP+evOe7LLch/PJwbNBpblc3vqmb9mPXUO9QbX4XN6VcN9PNqrvI+z++9QlZc+Dcxb9zhwf/S2nXXq8OjjZRu9FXG83XP9qvLaxfNgdzfXbq+1PF/rP37g1llYTX0+/rBXGc966y7LY1t9LMvLQWjqtvn4IfCswcsBXfd3nK+D3WNf1rPu73ec5z6r5yA/iRrMiQeue1l1/qaY2u11j0EZz351+xxvr6q1LuPjh9pbu5GPZfnoU3e6u72quj0sLEw/R1wqBQAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASIf4uwN+OHTumm266SeXl5XK5XEpKSlJWVpaMMZo1a5aWLVumoKAg3XDDDbr55pv9XS4AAAhgAR/cQkNDNWfOHJ1zzjmqqKjQjTfeqLi4OH355ZfavXu33nrrLQUFBWnv3r3+LhUAAAS4gL9U6nA4dM4550iSKisrVVlZKYfDoXnz5mnEiBEKCqoeohYtWvizTAAAAIKbJLlcLqWmpurqq6/W1Vdfrc6dO6u4uFhLly5Venq6hg0bpu3bt/u7TAAAEOAIbpKCg4OVl5enVatWqaioSJ999pnKy8sVFhamhQsXatCgQZo4caK/ywQAAAGO4HaCiIgIdenSRWvWrFHLli2VmJgoSUpISNC2bdv8XB0AAAh0AR/cvvvuO+3fv1+SdPToUX3wwQdq3bq1evfurcLCQknSunXrdNFFF/mxSgAAAJ4q1Z49ezR+/Hi5XC4ZY3TttdeqZ8+e+s1vfqOxY8dqzpw5OvvsszV16lRJ0ubNmzV//nz3ZwAAgKYS8MGtffv2ys3N9WiPiIjQ7NmzPdo7deqkTp06NUVpAAAAtQT8pVIAAABbENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsEeLvAvzt2LFjuummm1ReXi6Xy6WkpCRlZWWpuLhY2dnZ2rdvny699FJNnz5doaGh/i4XAAAEsIA/4xYaGqo5c+bojTfeUG5urtasWaOPPvpIM2fO1NChQ7V8+XJFREQoJyfH36UCAIAAF/DBzeFw6JxzzpEkVVZWqrKyUg6HQ4WFhUpKSpIkpaWlKT8/359lAgAAENwkyeVyKTU1VVdffbWuvvpqtWrVShEREQoJqb6SHBMTI6fT6ecqAQBAoCO4SQoODlZeXp5WrVqloqIiffXVVx7zOBwOP1QGAABwHMHtBBEREerSpYs++ugj7d+/X5WVlZKkkpISRUdH+7k6AAAQ6AI+uH333Xfav3+/JOno0aP64IMP1KZNG3Xp0kVvv/22JGnRokWKj4/3Z5kAAAB8HciePXs0fvx4uVwuGWN07bXXqmfPnvrVr36lu+66S7NmzdIll1yijIwMSVJ+fr4+/vhjjR492s+VAwCAQBPwwa19+/bKzc31aG/VqpXXrwDp1auXevXq1RSlAQAA1BLwl0oBAABsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEgQ3AAAASxDcAAAALEFwAwAAsATBDQAAwBIENwAAAEsQ3AAAACxBcAMAALAEwQ0AAMASBDcAAABLENwAAAAsQXADAACwBMENAADAEiENzbB3715t3LhRe/bsUVhYmNq2bauOHTsqKIjMBwAA0JR8BrfCwkI9/fTTKisr06WXXqqoqCiVl5dr5cqVKi4uVlJSkm677TaFh4c3Zb0AAAABy2dwW7VqlR5++GGdf/75HtMqKyv17rvv6v3331dSUlKjFggAAIBqPoPbvffe67tTSIh69+7dKAUBAADAu3rvcVuzZo1Wrlwpp9Mph8Oh6Oho9erVS3FxcU1VHwAAAL7nM7hNnTpV27dvV//+/dWyZUtJktPp1EsvvaTVq1dr8uTJTVYkAAAA6gluq1ev1ttvv+3R3rdvX+5rAwAA8AOf3+kRGhqqoqIij/bNmzcrLCysUYsCAACAJ59n3B599FE98MADOnTokGJiYiRJu3fvVnh4uKZNm9ZkBQIAAKCaz+DWoUMHLViwQN9++62cTqeMMYqJidEvfvGLpqwPAAAA36v3qdIDBw5o/fr1tZ4q7datmyIiIpqqPgAAAHzP5z1uubm5SktL04cffqgjR47o8OHDKiwsVHp6unJzc5uyRgAAAKieM25PPvmkFi5c6HF2bd++fRo0aJD69+/f6MUBAADguHrfFO9wODw7BAXJGNNoBQEAAMA7n2fc/vCHPygtLU1du3bVeeedJ0natWuXPvjgAw0fPrzJCgQAAEA1n8EtLS1N8fHxeu+999xPlXbp0kV33323IiMjm7JGAAAAqIGnSiMjI9WlS5daT5US2gAAAPzDZ3DbsmWL/vSnP+nAgQOKiYmRMUYlJSWKiIjQn/70J3Xo0KEp6wQAAAh4PoPb+PHj9dBDD6lz58612j/66CNNmDBBb7zxRqMXBwAAgON8PlV65MgRj9AmSZdddpmOHDnSqEUBAADAk88zbnFxccrMzFT//v3d7yotKSlRbm6uunfv3mQFAgAAoJrP4DZ58mStWrVK+fn52rNnj4wxatmypW666Sb16NGjKWsEAACAGniqtEePHj/7kLZ7927dc889+s9//qOgoCANGjRIt9xyi3v6s88+q+nTp2vt2rWKioryY6UAACDQ+bzHzeVyaf78+Zo1a5Y2btxYa9rf//73Ri+sqQQHB2v8+PF666239Oqrr2ru3Ln64osvJFWHug8++EDnn3++n6sEAACoJ7jdf//9Wr9+vZo1a6YpU6Zo2rRp7mkrVqxokuKaQnR0tPurTcLDw9W6dWs5nU5J0rRp0zRu3Divr/4CAABoaj6DW1FRkf7yl79o6NCheu2113T48GGNHDlS5eXlP9t3le7cuVNbtmxR586dlZ+fr+joaLVv397fZQEAAEiqJ7hVVFS4/x0SEqKHH35Y7du3180336zDhw83SXFN6dChQ8rKytLEiRMVHBysf/zjHxo9erS/ywIAAHDzGdw6duyo1atX12obOXKkBgwYoG+++abRC2tKFRUVysrKUkpKihITE7Vjxw7t3LlTqampio+PV0lJidLT0/Xtt9/6u1QAABDAfD5VOnPmTK/tGRkZysjIaLSCmpoxRpMmTVLr1q116623SpLatWuntWvXuueJj49XTk4OT5UCAAC/8hncli9f7rNTaGioWrVqpTZt2jRKUU1pw4YNysvLU9u2bZWamipJys7O9vk1KJs3b9b8+fM1derUpiwTAADAd3B75513fHaqrKzUl19+qSuuuEKTJ09ulMKaym9/+1tt27at3nkKCgrc/+7UqZM6derU2GUBAAB48BncTvz6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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import aplpy\n", "import seaborn as sns\n", "sns.set_style(\"white\")\n", "cmap=sns.cubehelix_palette(8, start=.5, rot=-.75,as_cmap=True)\n", "fig=aplpy.FITSFigure('./AKARI-NEP/data/60096211.60096211-8.MIPS.1.help.fits')\n", "fig.recenter(268.94,66.64, radius=0.004)\n", "fig.show_colorscale(vmin=0.0,vmax=10.0,cmap=cmap)\n", "fig.add_colorbar()\n", "fig.colorbar.set_location('top')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In summary, the PSF is within 10% of this source, and given noise and shape of source will add additional uncertianty this seems reasonable." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Create PSF fits file" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": true }, "outputs": [], "source": [ "stackhd[1].data=psfok\n", "stackhd.writeto('./AKARI-NEP/data/output_data/dmu17_MIPS_AKARI-NEP_20100204.fits',overwrite=True)" ] }, { "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 }