{ "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", "\n", "We will first look at a theoretical case, then go practical with an example drawn from the PACS observation of the the XMM-LSS.\n", "\n", "## 1) Theoretical example. \n", "\n", "Let us suppose we have a perfect telescope, without any central obscuration and spider to support the secondary. Diffraction theory gives us the shape of a PSF in this case, an Airy function. Let's compute it, and assume the resolution is 10\".\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": "code", "execution_count": 53, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Let us perform our computation with a 0.1\" resolution on a 5' field of view\n", "resol = 0.1\n", "size = 300.\n", "# wavelength\n", "wavelength = 250e-6\n", "# primary aperture = 3.6 m diameter\n", "aperture = 3.6 / 2." ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Ensure we have an odd number of points \n", "nbpix = np.ceil(size/resol) // 2 * 2 + 1\n", "xcen = int((nbpix - 1) / 2)\n", "ycen = int((nbpix - 1) / 2)\n", "x = y = (np.arange(nbpix) - xcen)*resol\n", "xv, yv = np.meshgrid(x, y, sparse=False, indexing='xy')\n", "r = np.sqrt(xv**2+yv**2)\n", "# avoid division by 0 problems in the center\n", "r[xcen,ycen] = 1e-6\n", "# coordinates in fourier\n", "q = 2 * np.pi / wavelength * aperture * np.sin(r/3600.*np.pi/180.)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": true }, "outputs": [], "source": [ "psf = (2*special.jn(1, q)/q)**2" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# put back the correct value at center\n", "psf[xcen, ycen] = 1.\n", "# and normalize the PSF\n", "psf = psf/(np.sum(psf)*resol**2)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "$\\int\\int$ psf dx dy = 1.0000000000000018\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(np.log10(psf))\n", "print(r'$\\int\\int$ psf dx dy = {}'.format(np.sum(psf)*resol**2))" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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+f3vf89vf/tbtm7dysSJEzl9+vSAP8O3336bHTt2kJ2djcfj4Te/+Q2ZmZk0NjaydOlSrr/+eh5++GF27drF9u3bAX8wDHj88ccB2LlzJ3v37uWzn/0s+/fvB/zB74MPPiAlJYV58+bxt3/7txQWFp5XhsGyGoUxUfLCe3WcaO1i7ar5JLo+/q/lShC+vWoex1rO8vy7R/vIYWwL1CoCgeKyyy7r3b/88ssjyuPaa68lJSWFKVOmkJeXx6lTp3jzzTe58cYbSUtLIz09nS984Qu88cYbgypja2srLS0tXHHFFQDcdtttvP76673nb7nlFgCWL1/OmTNnaGlpYdmyZdx777386Ec/oqWlhcTERF599VW+8pWvMHHiRACys7MHfO2rr766N52q8g//8A8sWrSIz3zmMxw7doxTp071e/2bb77JrbfeCsBFF13ErFmzegPFihUryMrKIjU1lbKyMg4fjmiuv4hZjcKYKPD5lH97vZaKwkksm5MTNs1fzZnCxYWTePatj7h16axhGwXV3yf/4RTop9i5cyfl5eUUFhby/e9/n8zMTG6//faI8khJSenddrlceDyePvt1EhMT8fnOzQAUjafSQ38nIsLatWu59tpr2bx5M0uXLuXVV19FVcP+/oLLFFqetLS03u3nnnuOhoYG3nvvPZKSkigqKhqw/P31b4X7uUWT1SiMiYKth07zUVMnt13edwAQEW5dOouDDR28Xds0wiUcfsuWLeOll14iOzsbl8tFdnY2LS0tvP3221x22WXnpc/IyOht7+/P8uXL+e1vf0tnZycdHR385je/4VOf+hT5+fnU19fT1NSE2+3mpZdeGjDvrKwsJk+e3Fsj+cUvftFbuwB6+0refPNNsrKyyMrK4uDBgyxcuJD777+fysrK3mafp59+ms7OToDepqeioiLee+89gH47oVtbW8nLyyMpKYktW7b01gD6+5ksX76c5557DoD9+/dz5MgR5s2bN+DPLxosUBgTBc+/e4SM1ESuKZ/Wb7rrFk0ja0ISz209MkIlGzkLFy7sbW8PPpaVlcWUKVPOS//pT3+a3bt3f6wzO5xLLrmEL3/5yyxZsoRLL72Ur371qyxevJikpCTWrVvHpZdeynXXXcdFF13Ue82Xv/xl7rrrrrCd2c8++yz33XcfixYtYvv27axb1/tIGJMnT+byyy/nrrvu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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(y[ycen-500:ycen+500], psf[ycen-500:ycen+500, xcen], label='Without obscuration')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us now suppose that we observe a point source, and our image reconstruction has a ...This will shows a a blurring of the image, with a gaussian of 10\" FWHM. Let's generate this blurring" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": true }, "outputs": [], "source": [ "fwhm = 10.\n", "sigma = fwhm / 2. / np.sqrt(2. * np.log(fwhm))\n", "sigmasq = sigma**2\n", "kernel_blur = 1./ 2./ np.pi / sigmasq * np.exp(-(r**2/2./sigmasq))" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9999999999999996" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Check our kernel is properly normalized\n", "np.sum(kernel_blur*resol**2)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# apply the blur\n", "psfblur = signal.convolve(psf, kernel_blur, mode='same')*resol**2" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 62, "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(y[ycen-500:ycen+500], psf[ycen-500:ycen+500, xcen], label='Original')\n", "plt.plot(y[ycen-500:ycen+500], psfblur[ycen-500:ycen+500, xcen], label='With blurring')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see the effect of blurring, the, observed PSF is wider, and we have lost some flux in the central core. Suppose now that we observed this psf with sources of unknown fluxes, so that we re unsure of its scaling, and that a background remain in our observation" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": true }, "outputs": [], "source": [ "psfobs = psfblur * 2. + 1e-4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The question is now how to recover the PSF that serve for our observation. For this, we will use the PSFs curve of growth. " ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0 212.10000000000002\n", "10.0 212.10000000000002\n", "20.0 212.10000000000002\n", "30.0 212.10000000000002\n", "40.0 212.10000000000002\n", "50.0 212.10000000000002\n", "60.0 212.10000000000002\n", "70.0 212.10000000000002\n", "80.0 212.10000000000002\n", "90.0 212.10000000000002\n", "100.0 212.10000000000002\n", "110.0 212.10000000000002\n", "120.0 212.10000000000002\n", "130.0 212.10000000000002\n", "140.0 212.10000000000002\n", "150.0 212.10000000000002\n", "160.0 212.10000000000002\n", "170.0 212.10000000000002\n", "180.0 212.10000000000002\n", "190.0 212.10000000000002\n", "200.0 212.10000000000002\n", "210.0 212.10000000000002\n" ] } ], "source": [ "radii = np.arange(0, np.max(r), resol)\n", "growth_psf = np.zeros(radii.shape)\n", "growth_psfobs = np.zeros(radii.shape)\n", "nbpix_psfobs = np.zeros(radii.shape)\n", "for i, radius in enumerate(radii):\n", " if ((i % 100) == 0):\n", " print(radius, np.max(radii))\n", " if i == 0:\n", " idj, idi = np.where(r <= radius)\n", " growth_psf[i] = np.sum(psf[idj, idi])*resol**2\n", " growth_psfobs[i] = np.sum(psfobs[idj, idi])*resol**2\n", " nbpix_psfobs[i] =len(idi)\n", " else:\n", " idj, idi = np.where((r > radii[i-1]) & (r <= radius))\n", " growth_psf[i] = growth_psf[i-1]+np.sum(psf[idj, idi])*resol**2\n", " growth_psfobs[i] = growth_psfobs[i-1]+np.sum(psfobs[idj, idi])*resol**2\n", " nbpix_psfobs[i] = nbpix_psfobs[i-1]+len(idi)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 65, "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, growth_psf, label='PSF')\n", "plt.plot(radii, growth_psfobs, label='Observed PSF')\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This strongly rising shape of the observed PSF is a sure sign of an non zero background. Let's determine it. " ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "execution_count": 66, "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(nbpix_psfobs, growth_psfobs)\n", "plt.xlabel('Number of pixels')\n", "plt.ylabel('Encircled flux')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When plotted as a function of the intergated area, there is a clear linear relation, that we will fit:" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": true }, "outputs": [], "source": [ "idx, = np.where(radii > 50)\n", "p = np.polyfit(nbpix_psfobs[idx], growth_psfobs[idx], 1)\n", "bkg = p[0]/resol**2" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Correct PSF and curve of growth\n", "psfcor = psfobs-bkg\n", "growth_psfcor = growth_psfobs - bkg*nbpix_psfobs*resol**2" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 69, "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, growth_psf, label='PSF')\n", "plt.plot(radii, growth_psfcor, label='Observed PSF')\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Let's have a look at the ratio of the two:" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Ratio of encircled flux')" ] }, "execution_count": 70, "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[1:], growth_psfcor[1:]/growth_psf[1:])\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Ratio of encircled flux')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Due to the different resolution, the ratio is not constant. Let's note the calibration $C(r)$. Let us assume that our observed 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. If we differentiate as a function of $r$:\n", "\n", "$E'(r) = \\alpha \\beta C'(r \\times \\beta)$\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# compute the derivatives\n", "deriv_growth_psf = (growth_psf[2:]-growth_psf[0:-2])/(radii[2:]-radii[0:-2])\n", "deriv_growth_psfcor = (growth_psfcor[2:]-growth_psfcor[0:-2])/(radii[2:]-radii[0:-2])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plt.plot(radii[1:-1], deriv_growth_psf)\n", "plt.plot(radii[1:-1], deriv_growth_psfcor)\n", "plt.xlim([0,60])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compared with the growth curve plot, the derivative show clear maxima and minima that are out of phase. Findind the positions of the these will tell us if our assumption of homothetical variation is correct." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Find the local minima and maxima of the two curves.\n", "# To find a local extremum, we will fit the portion of curve with a degree 3 polynomial, \n", "# extract the roots of its derivative and only retain the one that are between the bounds.\n", "# This is what the following function does.\n", "def local_max(xvalues, yvalues, lower_bound, upper_bound, check_plot=False):\n", " idx,=np.where((xvalues > lower_bound) & (xvalues < upper_bound))\n", " p = np.polyfit(xvalues[idx], yvalues[idx], 3)\n", " delta = (2.*p[1])**2 - 4.*3.*p[0]*p[2]\n", " r1 = (-2*p[1]+np.sqrt(delta))/(2*3*p[0])\n", " r2 = (-2*p[1]-np.sqrt(delta))/(2*3*p[0])\n", " result = r1 if ((r1 > lower_bound) and (r1 < upper_bound)) else r2\n", " if check_plot:\n", " plt.plot(xvalues[idx], yvalues[idx])\n", " plt.plot(xvalues[idx], p[0]*xvalues[idx]**3+p[1]*xvalues[idx]**2+\n", " p[2]*xvalues[idx]+p[3], '--')\n", " plt.plot(np.array([result, result]), np.array([np.min(yvalues), np.max(yvalues)]), '-')\n", " return result\n", " \n", " \n", "max_dpsf_1 = local_max(radii[1:-1], deriv_growth_psf, 3, 10, check_plot=True)\n", "max_dpsfcor_1 = local_max(radii[1:-1], deriv_growth_psfcor, 3, 10, check_plot=True)\n", "\n", "max_dpsf_2 = local_max(radii[1:-1], deriv_growth_psf, 14, 21, check_plot=True)\n", "max_dpsfcor_2 = local_max(radii[1:-1], deriv_growth_psfcor, 14, 21, check_plot=True)\n", "\n", "max_dpsf_3 = local_max(radii[1:-1], deriv_growth_psf, 21, 28, check_plot=True)\n", "max_dpsfcor_3 = local_max(radii[1:-1], deriv_growth_psfcor, 21, 28, check_plot=True)\n", "\n", "max_dpsf_4 = local_max(radii[1:-1], deriv_growth_psf, 28, 35, check_plot=True)\n", "max_dpsfcor_4 = local_max(radii[1:-1], deriv_growth_psfcor, 28, 35, check_plot=True)\n", "\n", "max_dpsf_5 = local_max(radii[1:-1], deriv_growth_psf, 35, 45, check_plot=True)\n", "max_dpsfcor_5 = local_max(radii[1:-1], deriv_growth_psfcor, 35, 45, check_plot=True)\n", "\n", "max_dpsf_6 = local_max(radii[1:-1], deriv_growth_psf, 40, 50, check_plot=True)\n", "max_dpsfcor_6 = local_max(radii[1:-1], deriv_growth_psfcor, 40, 50, check_plot=True)\n", "\n", "plt.xlabel('Radius [arcsec]')\n", "\n", "# Lets pack all of them, adding the r=0 point. \n", "max_dpsf = np.array([0, max_dpsf_1, max_dpsf_2, max_dpsf_3, max_dpsf_4, max_dpsf_5, max_dpsf_6])\n", "max_dpsfcor = np.array([0, max_dpsfcor_1, max_dpsfcor_2, max_dpsfcor_3, max_dpsfcor_4, \n", " max_dpsfcor_5, max_dpsfcor_6])\n", "\n", "print(max_dpsf,max_dpsfcor)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the plot, we can deduce that our homothetical assumption is not perfect: the spacing increases for the first three (don't forget the point at 0, 0, not shown), is very small for the 4th and 6th, and gets narrower for the 5th and 7th...\n", "Let's plot the situation" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "plt.plot(max_dpsf, max_dpsfcor, 'o-')\n", "p = np.polyfit(max_dpsf[0:3], max_dpsfcor[0:3], 1)\n", "plt.plot(max_dpsf, p[0]*max_dpsf+p[1])\n", "plt.xlabel('extremum position of theoretical psf [arcsec]')\n", "plt.ylabel('extremum position of observed blurred psf [arcsec]')\n", "\n", "\n", "print(p)\n", "print((max_dpsfcor[1]-max_dpsfcor[0])/(max_dpsf[1]-max_dpsf[0]))\n", "print((max_dpsfcor[2]-max_dpsfcor[0])/(max_dpsf[2]-max_dpsf[0]))\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Lets use the data before 20\", corresponding to the central core\n", "beta = (max_dpsfcor[2]-max_dpsfcor[0])/(max_dpsf[2]-max_dpsf[0])\n", "\n", "# lets interpolate at the scaled radius\n", "tckpsfcor = interpolate.splrep(radii, growth_psfcor, s=0)\n", "interp_growth_psfcor = interpolate.splev(radii*beta, tckpsfcor, der=0)\n", "\n", "# check interpolation\n", "plt.plot(radii*beta, growth_psf)\n", "plt.plot(radii, growth_psfcor)\n", "plt.plot(radii*beta, interp_growth_psfcor)\n", "plt.xlim([0,60])\n", "plt.xlabel('radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us check the ratio, using the psf with a corrected radius" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plt.plot(radii[1:]*beta, interp_growth_psfcor[1:]/growth_psf[1:])\n", "plt.xlabel('radius [arcsec]')\n", "plt.ylabel('Ratio of encircled flux')\n", "plt.xlim([0,60])\n", "idx, = np.where(((radii*p[0]) > 0) & ((radii*p[0]) < 60))\n", "scale_factor = np.median(interp_growth_psfcor[idx]/growth_psf[idx])\n", "print(\"alpha = {:.3f}\".format(scale_factor))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now have a much better looking ratio [compared with the cell where we computed the direct ratio](#the_ratio), and we have a decent determination of the psf scaling. The normalized PSF to use for our observations is then:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "psf_obs_norm = psfcor / scale_factor" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('\\int \\int psf_obs_norm dx dy = {}'.format(np.sum(psf_obs_norm)*resol**2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Indeed, let's look at the encircled energy in the core of our psf:\n", "In this example, we have used the derivative of the scale factor" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "idj, idi = np.where(r" ] }, "execution_count": 2, "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('../dmu18_HELP-PACS-maps/data/GAMA-09_PACS100_v0.9.fits')\n", "stackhd = fits.open('./data/output_data/GAMA09-100um-psffromstack.fits')\n", "psf = stackhd[0].data\n", "hd = stackhd[0].header\n", "plt.imshow(psf)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SIMPLE = T / conforms to FITS standard \n", "BITPIX = -64 / array data type \n", "NAXIS = 2 / number of array dimensions \n", "NAXIS1 = 22 \n", "NAXIS2 = 22 \n", "CTYPE1 = 'RA---TAN' \n", "CTYPE2 = 'DEC--TAN' \n", "CDELT1 = -0.0008333333535 \n", "CDELT2 = 0.0008333333535 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set the resolution of the psf. Because the map is in units of Jy/pixel, this turns out to be:\n", "* =1 if psf at same resolution of map\n", "* otherwise, should be in factor of map pixel size" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "resol= np.abs(stackhd[0].header['CDELT1'])/np.abs(stackhd_im[1].header['CDELT1'])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resol" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's build the growthcurve for our PSF." ] }, { "cell_type": "code", "execution_count": 6, "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)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "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['CDELT1'])*3600.\n", "yp = (yv-jmax)*np.abs(hd['CDELT2'])*3600.\n", "r = np.sqrt(xp**2 + yp**2)\n" ] }, { "cell_type": "code", "execution_count": 8, "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['CDELT1'])*3600.)**2)/4.25E10" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-3.0000000726000002" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hd['CDELT1']*3600." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "execution_count": 10, "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": "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": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5.3550044298172\n" ] } ], "source": [ "# This is clearly. \n", "print(np.median(psf[0:5,:]))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAEKCAYAAADq59mMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xd8lfX5//HXxd57yAob2SCGobSKGyeK+rVq1aotttpqf60V0LppRVu12lotWrVaFzIEJyjFXWUVM5iRGQh7jxCSXL8/zh09RghJyMmdk/N+Ph555JzPuc851x0Oeede18fcHRERkZKoEnYBIiISfxQeIiJSYgoPEREpMYWHiIiUmMJDRERKTOEhIiIlpvAQEZESU3iIiEiJKTxERKTEqoVdQCw0a9bMO3ToEHYZIiJxZf78+VvcvXlxlq2U4dGhQwfmzZsXdhkiInHFzFYXd1ntthIRkRJTeIiISIkpPEREpMQUHiIiUmIKDxERKTGFh4iIlJjCQ0RESkzhISJSScxI38Brc9eUy3tVyosERUQSyaZd2dw9PZ130zYwIKkRlx7fjipVLKbvqfAQEYlT7s7EeWv5w9uLyc7N53dnHcuokzrFPDhA4SEiEpdWbdnL2Cmp/HfFVgZ1bML4kX3o1Lxeub2/wkNEJI7k5uXzz09X8sj7y6hRtQp/vKgPPxoY+91UhSk8RETiRPr6nYyenELaul2c0bMl94/ozTENa4VSS8zOtjKzdmY228wWm1m6md0SjN9jZuvMbGHwdU7Uc8aaWYaZLTWzs6LGhwdjGWY2JlY1i4hURNkH83jwvSVc8LfP2LDzAH+/cgATrjo+tOCA2G555AK/dfcFZlYfmG9m7wePPeruf45e2Mx6Aj8CegGtgQ/MrFvw8BPAGUAmMNfMprv7ohjWLiJSIXyxYitjp6Sycste/i+5Lbef04NGdWqEXVbswsPds4Cs4PZuM1sMtCniKSOAV939ALDSzDKAQcFjGe6+AsDMXg2WVXiISKW1K/sgD7yzhFfmrKFdk9q89NPBDO3SLOyyvlEuxzzMrANwHPAlMBT4pZldDcwjsnWynUiwfBH1tEy+DZu1hcYHx7hkEZHQzEzfwJ3T0ti8+wA/+2FHfnPGsdSuUTXssr4j5leYm1k9YDLwa3ffBTwJdAb6E9kyebhg0UM83YsYL/w+o8xsnpnN27x5c5nULiJSnjbvPsBNLy1g1IvzaVynBlNvHMod5/ascMEBMd7yMLPqRILjJXefAuDuG6Mefxp4K7ibCbSLenpbYH1w+3Dj33D3CcAEgOTk5O+Fi4hIReXuTF6wjvvfWsT+nDxuPbMbN5zcmepVK24HqZiFh5kZ8E9gsbs/EjXeKjgeAnARkBbcng68bGaPEDlg3hWYQ2TLo6uZdQTWETmofkWs6hYRKU9rt+3j9qmpfLJ8C8ntGzP+4r50aVF+F/uVViy3PIYCVwGpZrYwGLsduNzM+hPZ9bQKuAHA3dPNbCKRA+G5wE3ungdgZr8EZgBVgWfdPT2GdYuIxFxevvPCf1fxpxlLMeC+Eb348eD25X6xX2mZe+Xbw5OcnOzz5s0LuwwRkUNavnE3oyensGDNDoYd25w/XNSHNo1qh10WZjbf3ZOLs6yuMBcRKSc5ufk89dHX/O0/GdSpWZVHL+vHhf3bENnLH18UHiIi5eCrtTsYPTmFJRt2c27fVtx7QS+a1asZdlmlpvAQEYmhfTm5PPr+Mv756Uqa16/J01cnc0bPlmGXddQUHiIiMfLp8i2MnZrC2m37uWJwEmPO7k6DWtXDLqtMKDxERMrYzn0HGff2Il6fn0mnZnV5bdQQBndqGnZZZUrhISJSht5Ly+LOaels25vDjcM6c/NpXalVveJdIX60FB4iImVg065s7pqWznvpG+jVugHP/WQgvds0DLusmFF4iIgchcLziI8e3p2f/rBjhW4tUhYUHiIipVR4HvEHRvahcznOIx4mhYeISAnl5uXz7GcreXhmuPOIh0nhISJSAovW72L05BRS1+3k9B4tGXdhePOIh0nhISJSDAdy8/jbfzJ48sOvaVSnOn+74jjO7dMqLluLlAWFh4jIEcxbtY3Rk1P4evNeRg5ow53n9qRx3fDnEQ+TwkNE5DB2Zx/kofeW8uIXq2nTqDbPXzuQYce2CLusCkHhISJyCLOXbOKOqalk7crm2qEduPXMY6lbU78yC+gnISISZdveHO57M503Fq6na4t6TPr5iRzfvnHYZVU4Cg8RESIX+72ZksU909PZtf8gN5/WlZtO6UzNapWvtUhZUHiISMLL2rmf309NY9aSTfRr25AHfzaY7sc0CLusCk3hISIJKz/feXnOGsa/u4Tc/Hx+f24Prh3akaoJdLFfaSk8RCQhrdi8hzFTUpmzchsndm7K+JF9SWpaJ+yy4obCQ0QSSm5ePk9/spJHP1hGzWpVeOjivlya3DZhL/YrLYWHiCSM9PU7GT05hbR1uzirV0vuG9Gblg0Sr7VIWVB4iEill30wj8dmLWfCxytoXKcGT145gLP7tAq7rLim8BCRSu3LFVsZOyWVFVv2cunxbbnj3B40qpPYrUXKgsJDRCqlXdkHGf/uEl7+cg1tG9fmxesH8cOuzcMuq9JQeIhIpTMzfQN3Tktj8+4D/PQHHfnNmd2oU0O/7sqSfpoiUmls3n2Ae6an83ZqFt2Pqc8/rkqmf7tGYZdVKSk8RCTuuTuT5mcy7u3F7M/J49YzuzHqpM7UqFa55xEPk8JDROLamq37uH1qKp9mbGFgh8Y8MLIvXVokxjziYYpZLJtZOzObbWaLzSzdzG4JxpuY2ftmtjz43jgYNzN73MwyzCzFzAZEvdY1wfLLzeyaWNUsIvEjL9955pMVnPWXj1m4dgf3j+jFa6NOUHCUk1hueeQCv3X3BWZWH5hvZu8DPwFmuft4MxsDjAFGA2cDXYOvwcCTwGAzawLcDSQDHrzOdHffHsPaRaQCW5y1izGTU/gqcyendW/B/Rf2pnWj2mGXlVBiFh7ungVkBbd3m9lioA0wAhgWLPYv4EMi4TECeMHdHfjCzBqZWatg2ffdfRtAEEDDgVdiVbuIVEzZB/P463+W84+PVtCwdnUev/w4zu+buPOIh6lcjnmYWQfgOOBLoGUQLLh7lpkVzOnYBlgb9bTMYOxw4yKSQOYG84iv0DziFULMw8PM6gGTgV+7+64i/kI41ANexHjh9xkFjAJISkoqXbEiUuHsOZDLg+8u4cUvVtO2cW1euG4QJ3XTxX5hi2l4mFl1IsHxkrtPCYY3mlmrYKujFbApGM8E2kU9vS2wPhgfVmj8w8Lv5e4TgAkAycnJ3wsXEYk//1mykTumprFhVzbXDe3Ib8/spnnEK4hYnm1lwD+Bxe7+SNRD04GCM6auAaZFjV8dnHU1BNgZ7N6aAZxpZo2DM7PODMZEpJLauucAt7z6P657fh71a1Vj8i9O5K7zeyo4KpBY/ksMBa4CUs1sYTB2OzAemGhm1wNrgEuDx94BzgEygH3AtQDuvs3M7gfmBsvdV3DwXEQqF3dn2sL13PtmOnsO5PLr07ty47AuutivArLIyU2VS3Jyss+bNy/sMkSkBNbt2M/vp6Yye+lmjktqxIMX96Vby/phl5VQzGy+uycXZ1ltA4pIqPLznRf+u4qHZizFHe46ryfXnNhB84hXcAoPEQnN8o27GT05hQVrdvDDrs3440V9aNdE84jHA4WHiJS7nNx8nvzwa56YnUGdmlV55P/6cdFxbXSxXxxReIhIufrfmu2MnpzCso17OL9fa+4+vyfN6tUMuywpIYWHiJSLfTm5/HnGMp77fCXHNKjFP69J5rQeLcMuS0pJ4SEiMffxss3cPjWVzO37uWpIe24bfiz1a1UPuyw5CgoPEYmZ7XtzuP/tRUxZsI5Ozevy+s9PYGCHJmGXJWVA4SEiZc7deTMli3unp7Nz/0F+dWoXbjqlC7WqVw27NCkjCg8RKVNZO/fz+6lpzFqyiX5tG/Lvnw6mR6sGYZclZUzhISJlIj/feWnOGh58dwm5+fn8/tweXDu0oy72q6QUHiJy1L7evIexk1OZs2obP+gSudgvqaku9qvMFB4iUmoH8/KZ8PEKHpu1nFrVqvDQJX259Pi2utgvASg8RKRU0tbt5LZJKSzK2sXZvY/h3hG9aFG/VthlSTlReIhIiWQfzOPRD5bxzCcraVK3Bk/9eADDe7cKuywpZ0cMDzPr6e6LCo0Nc/cPY1aViFRIX6zYytgpqazcspfLkttx+zk9aFhHF/slouJseUw0sxeBh4Bawfdk4IRYFiYiFceu7IOMf3cJL3+5hqQmdXjpp4MZ2qVZ2GVJiIoTHoOBB4HPgfrAS0RmCRSRBDAzfQN3Tktj8+4D/PQHHfnNmd2oU0N7vBNdcT4BB4H9QG0iWx4r3T0/plWJSOg27z7APW+m83ZKFt2Pqc+Eq5Lp165R2GVJBVGc8JgLTAMGAk2Bf5jZJe5+SUwrE5FQuDtTFqzjvrcWsT8nj9+e0Y0bTu6secTlO4oTHte7e8GE4BuAEWZ2VQxrEpGQrN22j9unpvLJ8i0c374xD17chy4tNI+4fF9xwmOTmSUVGvsoFsWISDjygnnE/zRjKQbce0EvrhrSnipqLSKHUZzweBtwwIgc8+gILAV6xbAuESknyzfu5rbJKfxvzQ5O7tacP1zUm7aN1VpEinbE8HD3PtH3zWwAcEPMKhKRcpGTm8/fP8zgidkZ1KtZjUcv68eF/TWPuBRPic+3c/cFZjYwFsWISPmInkf8gn6tuUvziEsJFecK899E3a0CDAA2x6wiEYkZzSMuZaU4Wx7Rp1rkEjkGMjk25YhIrHyyfDNjp0TmEf/xkCRGD++uecSl1IpzzOPe8ihERGJj576DjHt7Ea/Pz6RTs7pMvOEEBnXUPOJydA4bHmb2JpGzrA7J3S+ISUUiUmbeTc3izmnpbN+Xw43DOnPzaV01j7iUiaK2PP5cblWISJnatCubO6elMSN9I73bNOBf1w2kV+uGYZcllUhR/QbucvePgHPc/aPCX0d6YTN71sw2mVla1Ng9ZrbOzBYGX+dEPTbWzDLMbKmZnRU1PjwYyzCzMaVdUZFE4O5MnLuW0x/5iA+Xbmb08O68ceNQBYeUuaK2PFqZ2cnABWb2KpGLBL/h7guO8NrPA38DXig0/qi7f2erxsx6Aj8icuFha+ADM+sWPPwEcAaQCcw1s+mF5xcREVizNdJa5NOMLQzq2ITxI/vQqXm9sMuSSqqo8LgLGAO0BR7mu+HhwKlFvbC7f2xmHYpZxwjgVXc/AKw0swxgUPBYhruvAAhCbASg8BAJ5OU7z3++ij/PWErVKsa4C3tzxaAktRaRmDpseLj7JGCSmd3p7veX4Xv+0syuBuYBv3X37UAb4IuoZTKDMYC1hcYHl2EtInFt2cbd3DYphYVrd3DKsc35w0V9aN2odthlSQI4Yo/lMg6OJ4HOQH8gi8gWDRTaJVbw1kWMf4+ZjTKzeWY2b/NmXcMolVtObj6PfbCccx//hNVb9/KXy/rz7E8GKjik3JTrdGDuvrHgtpk9DbwV3M0E2kUt2hZYH9w+3Hjh154ATABITk4+7CnGIvFu4dodjJ6UwtKNu7mgX2vuPr8nTdVaRMpZuYaHmbVy96zg7kVAwZlY04GXzewRIgfMuwJziGx5dDWzjsA6IgfVryjPmkUqin05uTwycxnPfraSFvXVWkTCVdRFgkVeguru24p63MxeAYYBzcwsE7gbGGZm/YnselpF0J3X3dPNbCKRA+G5wE3unhe8zi+BGUBV4Fl3Ty/WmolUIp9lbGHMlBTWbtvPFYOTGHN2dxqotYiEyNwPvYfHzFby7XGHJGB7cLsRsMbdO5ZXkSWVnJzs8+bNO/KCIhXczn0H+cM7i5g4L5OOzerywMg+DOnUNOyypJIys/nunlycZYs626pj8GJPAdPd/Z3g/tnA6WVRqIgc3ntpG7hzWhrb9ubwi2GduUWtRaQCKc4xj4Hu/vOCO+7+rpmV5RlYIhJl0+5s7pmezjupG+jZqgHP/WQgvdvoCnGpWIoTHlvM7PfAv4nsxvoxsDWmVYkkIHdn0vxMxr29mP0H87ht+LH87IedqF71iGfUi5S74oTH5UQOdk8lEh4fB2MiUkbWbou0Fvlk+RYGdmjM+Iv70lmtRaQCK858HtuAW8ysnrvvKYeaRBJGXr7zwn9X8acZSzHg/hG9uHJwe7UWkQqvONPQngg8A9QDksysH3CDu98Y6+JEKrPlG3czenIKC9bs4ORuzfnjyD600RXiEieKs9vqUeAsIhfy4e5fmdlJMa1KpBLLyc3nqY++5m//yaBOzao8fGk/Rg5og5m2NiR+FOsKc3dfW+iDnRebckQqt+jWIuf1bcU9F/SimVqLSBwqTnisDXZduZnVAG4GFse2LJHKZV9OLg/PXMZzQWuRZ65O5vSeai0i8as44fFz4DEiLdIzgZnATbEsSqQyiW4tcuXgJEartYhUAsU522oLcGU51CJSqRRuLfLaqCEMVmsRqSSKaoz4Vw4zdwaAu98ck4pEKgG1FpHKrqgtD3UWFCmhTbuzuXtaOu+mqbWIVG5FNUb8V3kWIhLP3J3X52Uy7u1FZOfmq7WIVHrFuUjwfeBSd98R3G8MvOruZ8W6OJF4sGZrpLXIpxlbGNSxCeNH9qGTWotIJVecs62aFwQHgLtvN7MWMaxJJC7k5TvPfbaSP89cSrUqVRh3YW+uGJSk1iKSEIoTHnlmluTuawDMrD1FHEgXSQRLN+zmtskpfLV2B6d1b8G4i3rTqqFai0jiKE543AF8amYfBfdPAkbFriSRiutAbh5PzP6av8/OoEHt6jx++XGc37eVWotIwikyPCzyPyIdGAAMITIN7f8Lrv0QSSgL1mxn9KQUlm/aw4X9W3PX+b1oUrdG2GWJhKLI8HB3N7M33P144K1yqkmkQtmXk8ufZyzjuc9X0qpBLZ77yUBO6a7DfpLYirPb6gszG+juc2NejUgF88nyzYydkkrm9v1cfUJ7bhvenXo1i9VPVKRSK87/glOAG8xsNbCXyK4rd/e+Ma1MJEQ79uUw7u3FTJqfSadmdZl4wwkM6tgk7LJEKozihMfZMa9CpAJ5NzWLO6els31fDjcO68zNai0i8j1F9bZq4O67gN3lWI9IaDbtyubOaWnMSN9I7zYN+Nd1A+nVWq1FRA6lqC2Pl4HzgPlEruuIPhfRgU4xrEuk3Lg7E+etZdzbi8nJzWfM2d356Q86Uk2tRUQOq6jeVucF3zuWXzki5Wv11r2MnZLK519vZXDHJoy/uC8dm9UNuyyRCq84va0uAv7j7juD+42AYe7+RqyLE4mV6NYi1atU4Q8X9ebygWotIlJcxTlgfre7Ty244+47zOxuQOEhcWnJhl2MnpTCV5k7Ob1HC+6/UK1FREqqOOFxqB2/OtFd4k50a5GGtavz18uP4zy1FhEpleIcEZxnZo+YWWcz62RmjxI5iF4kM3vWzDaZWVrUWBMze9/MlgffGwfjZmaPm1mGmaWY2YCo51wTLL/czK4pzUqKzF+9nXMf/5THZy3n/H6tef83J3N+v9YKDpFSKk54/ArIAV4DXgeygZuK8bzngeGFxsYAs9y9KzAruA+Ra0m6Bl+jgCchEjbA3cBgYBBwd0HgiBTH3gO53PtmOpc89Tn7DuTy3LUDefSy/upJJXKUjrj7yd338u0v+WJz94/NrEOh4RHAsOD2v4APgdHB+Avu7kTaoTQys1bBsu+7+zb4ZmKq4cArJa1HEs/HyzZz+9RIa5FrTmjP79RaRKTMFOdsq27ArUCH6OXd/dRSvF9Ld88Knp8VNalUG2Bt1HKZwdjhxkUOa8e+HO5/azGTF2TSqXldXv/5CQzsoNYiImWpOH+GvQ48BTwD5MWojkPteC58YWL0+PdfwGwUwTwjSUlJZVeZxA135+3ULO6Zns6OfQf55Sld+OWpXdRaRCQGihMeue7+ZBm930YzaxVsdbQCNgXjmUC7qOXaAuuD8WGFxj881Au7+wRgAkBycrJmOkwwG3ZGWou8v2gjfds25IXrBtOzdYOwyxKptIpzwPxNM7vRzFoFZ0s1CQ5kl8Z0oOCMqWuAaVHjVwdnXQ0Bdga7t2YAZ5pZ4+BA+ZnBmAgA+fnOy1+u4YxHPuKT5Zu545weTPnFiQoOkRgrzpZHwS/730WNHbG3lZm9QmSroZmZZRI5a2o8MNHMrgfWAJcGi78DnANkAPuAawHcfZuZ3Q8UzCVyX8HBc5FVW/YyZkoKX6zYxgmdmjL+4j60b6rWIiLlwSInOFUuycnJPm/evLDLkBjJzcvn2c9W8vDMZdSoWoU7zu3BZQPb6ZoNkaNkZvPdPbk4yx52t5WZ3RZ1+9JCj/2x9OWJlN6i9bu46O+f88d3lvDDrs15/zcn86NBSQoOkXJW1DGPH0XdHlvoscIX/4nEVPbBPP40YwkX/O1T1u/Yz18vP46nrz6eYxrWCrs0kYRU1DEPO8ztQ90XiZm5q7YxenIKKzbvZeSANtx5bk8a6wpxkVAVFR5+mNuHui9S5nZnH+Sh95by4heradOoNv+6bhAnd2sedlkiQtHh0c/MdhHZyqgd3Ca4r30FElOzl27ijimpZO3K5tqhHbj1zGOpq9YiIhVGUTMJ6rJcKXfb9uZw35vpvLFwPV1b1GPyL05kQJJ6YYpUNPpTTioEd+fNlEhrkd3ZB7nltK7ceEpnalbT3zAiFZHCQ0KXtXM/d76RxgeLN9GvXSMeurgvxx5TP+yyRKQICg8JTX6+8/KcNYx/dwm5+fn8/tweXDu0I1U1j7hIhafwkFCs2LyHsVNS+XLlNk7s3JQHRqq1iEg8UXhIuTqYl8/Tn6zgLx8sp2a1Kjx0cV8uTW6rK8RF4ozCQ8pN2rqdjJ6cQvr6XQzvdQz3jehFiwY661skHik8JOayD+bx2KzlTPh4BU3q1uDJKwdwdp9WYZclIkdB4SExNWflNsZMTmHFlr38X3Jb7jinJw3rVA+7LBE5SgoPiYk9B3J58N0lvPjFato1qc2/rx/MD7o2C7ssESkjCg8pc9GtRa4b2pFbz+pGnRr6qIlUJvofLWVm294cxr21iCn/W6fWIiKVnMJDjpq7M/2r9dz35iJ27j/Izad24aZTu6i1iEglpvCQo7J+R6S1yKwlm+jXtiEv/Www3Y9pEHZZIhJjCg8plfx856U5a3hQrUVEEpLCQ0psxeY9jJmcypxV2xjapSkPXNSXpKZ1wi5LRMqRwkOKLbq1SK1qVXjokr5cerxai4gkIoWHFEv6+p3cNinSWuTs3sdw7wVqLSKSyBQeUqQDuXn8dVYGT370NY3rqLWIiEQoPOSw5q/ezujJKWRs2sMlx7flznPVWkREIhQe8j17D+TypxlL+dd/V9G6YW2ev3Ygw45tEXZZIlKBKDzkOz5cuok7pqaxfud+rjmhA7eedSz1aupjIiLfpd8KAsD2vTncH7QW6dKiHpN+fgLHt28SdlkiUkEpPBKcu/N2ahZ3T0tXaxERKbZQwsPMVgG7gTwg192TzawJ8BrQAVgF/J+7b7fIRQSPAecA+4CfuPuCMOqubDbuyubON9KYuWgjfds25N8/HUyPVmotIiJHFuaWxynuviXq/hhglruPN7Mxwf3RwNlA1+BrMPBk8F1Kyd15be5a/vDOYnJy8xl7dneu/0FHqlWtEnZpIhInKtJuqxHAsOD2v4APiYTHCOAFd3fgCzNrZGat3D0rlCrj3Oqtexk7JZXPv97KkE5NGD+yLx2a1Q27LBGJM2GFhwMzzcyBf7j7BKBlQSC4e5aZFZwb2gZYG/XczGBM4VECefnOc5+t5M8zl1K9ShUeGNmHy5LbUUWNDEWkFMIKj6Huvj4IiPfNbEkRyx7qt5t/byGzUcAogKSkpLKpspJYumE3t01O4au1Ozi9RwvGXdiHYxqqtYiIlF4o4eHu64Pvm8xsKjAI2FiwO8rMWgGbgsUzgXZRT28LrD/Ea04AJgAkJyd/L1wSUU5uPk/MzuDvH2ZQv1Z1Hr/8OM7v20qNDEXkqJX7EVIzq2tm9QtuA2cCacB04JpgsWuAacHt6cDVFjEE2KnjHUe2cO0OzvvrJzw2aznn9mnFB785mQv6tVZwiEiZCGPLoyUwNfglVg142d3fM7O5wEQzux5YA1waLP8OkdN0M4icqntt+ZccP/bn5PHwzKU8+9lKWjaoxbM/SebU7i3DLktEKplyDw93XwH0O8T4VuC0Q4w7cFM5lBb3/vv1VsZMSWH11n1cOTiJMWd3p34tNTIUkbJXkU7VlVLalX2QB95Zwitz1tC+aR1e+dkQTujcNOyyRKQSU3jEuVmLN3LH1DQ27c5m1Emd+H+nd6N2DbUWEZHYUnjEqW17c7j3zXSmLVzPsS3r89RVx9O/XaOwyxKRBKHwiDPuzpspWdwzPZ3d2Qe55bSu3HRKF2pUU2sRESk/Co84snFXNndMTeODxRvp17YhD14ymO7HqJGhiJQ/hUcccHcmzlvLuLcjjQxvP6c71w1VI0MRCY/Co4Jbu20fY6ek8mnGFgZ1bMKDF/eloxoZikjIFB4VVH6+8+IXq3nwvSUYcP+FvblyUJIaGYpIhaDwqIC+3ryHMZNTmLtqOyd1a84DI/vQplHtsMsSEfmGwqMCyc3L5+lPVvLoB8uoVa0Kf760HxcPaKN+VCJS4Sg8KojFWbu4bVIKqet2clavltw/ojctGqhtuohUTAqPkBW0TX9idgaN6lTniSsGcE6fY7S1ISIVmsIjRKmZO/ndpK9YsmE3F/ZvzV3n96JJ3RphlyUickQKjxBkH8zjsVnLmfDxCprVq8EzVydzek+1TReR+KHwKGfzV2/jd5NSWLF5L5clt+P2c3vQsLbapotIfFF4lJP9OXn8acZSnvt8Ja0b1ubF6wfxw67Nwy5LRKRUFB7lIHqSpqtPaM9tw7tTr6Z+9CISv/QbLIb2HMjlwXeX8OIXq2nftA6vjhrCkE6apElE4p/CI0Y+Xb6F0ZNTWL9zP9f/oCO3nnmsJmkSkUpD4VHGIlPCLuaVOWv12QIdAAAJ20lEQVTp1Lwuk35+Ase3bxJ2WSIiZUrhUYY+XLqJsVNS2bgrmxtOjkwJW6u6tjZEpPJReJSBnfsPMu6tRbw+P5OuLerx5I1DNSWsiFRqCo+jNHvJJsZMSWHLnhxuOqUzN5/WlZrVtLUhIpWbwqOUdmcfZNxbi3lt3lqObVmfZ64eSJ+2DcMuS0SkXCg8SuHzjC38blIKWTv3c+OwztxyurY2RCSxKDxKYH9OHg++t4TnP19Fp2Z1mfSLExmQ1DjsskREyp3Co5gWrNnObyd+xcote7l2aAduO6u7rtsQkYSl8DiCg3n5/OWDZTz54de0alibl382mBM7Nwu7LBGRUCk8irByy15uefV/pGTu5NLj23LX+T2pX0sdcEVE4iY8zGw48BhQFXjG3cfH8v0mzc/krmlpVK9ahSevHMDZfVrF8u1EROJKXISHmVUFngDOADKBuWY23d0XlfV77TmQy11vpDHlf+sY3LEJj17Wn9aNapf124iIxLW4CA9gEJDh7isAzOxVYARQpuGxdts+rnl2Dqu27uXXp3flV6d2pWoVzSUuIlJYvIRHG2Bt1P1MYHD0AmY2ChgFkJSUVKo3aV6/Jh2a1eWPI/uodbqISBHiJTwO9ee/f+eO+wRgAkBycrIfYvkjqlW9Ks/+ZGBpnioiklCqhF1AMWUC7aLutwXWh1SLiEjCi5fwmAt0NbOOZlYD+BEwPeSaREQSVlzstnL3XDP7JTCDyKm6z7p7eshliYgkrLgIDwB3fwd4J+w6REQkfnZbiYhIBaLwEBGRElN4iIhIiSk8RESkxMy9VNfTVWhmthlYXcqnNwO2lGE58UTrnpi07onpUOve3t2bF+fJlTI8joaZzXP35LDrCIPWXeueaLTupV937bYSEZESU3iIiEiJKTy+b0LYBYRI656YtO6J6ajWXcc8RESkxLTlISIiJabwiGJmw81sqZllmNmYsOspa2b2rJltMrO0qLEmZva+mS0PvjcOxs3MHg9+FilmNiC8yo+OmbUzs9lmttjM0s3slmA8Eda9lpnNMbOvgnW/NxjvaGZfBuv+WtCtGjOrGdzPCB7vEGb9ZcHMqprZ/8zsreB+Qqy7ma0ys1QzW2hm84KxMvvMKzwCUfOknw30BC43s57hVlXmngeGFxobA8xy967ArOA+RH4OXYOvUcCT5VRjLOQCv3X3HsAQ4Kbg3zYR1v0AcKq79wP6A8PNbAjwIPBosO7bgeuD5a8Htrt7F+DRYLl4dwuwOOp+Iq37Ke7eP+qU3LL7zLu7viLHfU4AZkTdHwuMDbuuGKxnByAt6v5SoFVwuxWwNLj9D+DyQy0X71/ANOCMRFt3oA6wgMgUzluAasH4N599ItMenBDcrhYsZ2HXfhTr3Db4JXkq8BaRWUkTZd1XAc0KjZXZZ15bHt861DzpbUKqpTy1dPcsgOB7i2C8Uv48gl0RxwFfkiDrHuy2WQhsAt4HvgZ2uHtusEj0+n2z7sHjO4Gm5VtxmfoLcBuQH9xvSuKsuwMzzWy+mY0KxsrsMx8383mUgyPOk55gKt3Pw8zqAZOBX7v7LrNDrWJk0UOMxe26u3se0N/MGgFTgR6HWiz4XmnW3czOAza5+3wzG1YwfIhFK926B4a6+3ozawG8b2ZLili2xOuuLY9vJeo86RvNrBVA8H1TMF6pfh5mVp1IcLzk7lOC4YRY9wLuvgP4kMhxn0ZmVvDHY/T6fbPuweMNgW3lW2mZGQpcYGargFeJ7Lr6C4mx7rj7+uD7JiJ/NAyiDD/zCo9vJeo86dOBa4Lb1xA5HlAwfnVwFsYQYGfB5m68scgmxj+Bxe7+SNRDibDuzYMtDsysNnA6kYPHs4FLgsUKr3vBz+QS4D8e7ASPN+4+1t3bunsHIv+f/+PuV5IA625mdc2sfsFt4EwgjbL8zId9UKcifQHnAMuI7BO+I+x6YrB+rwBZwEEif2lcT2Sf7ixgefC9SbCsETn77GsgFUgOu/6jWO8fENkETwEWBl/nJMi69wX+F6x7GnBXMN4JmANkAK8DNYPxWsH9jODxTmGvQxn9HIYBbyXKugfr+FXwlV7w+6wsP/O6wlxEREpMu61ERKTEFB4iIlJiCg8RESkxhYeIiJSYwkNEREpM4SGVhpm5mT0cdf9WM7unjF77eTO75MhLHvX7XBp0/51dgue8U3AtRyneb09pniei8JDK5AAw0syahV1ItKBjc3FdD9zo7qcU9wnufo5Hrh4XKTcKD6lMcolMrfn/Cj9QeMuh4C9uMxtmZh+Z2UQzW2Zm483symAOjFQz6xz1Mqeb2SfBcucFz69qZn8ys7nBPAg3RL3ubDN7mchFV4XruTx4/TQzezAYu4vIBY1PmdmfCi0/zMw+NrOpZrbIzJ4ysyrBY6vMrJmZDQxqqBVcYZxuZr2DZX4XVeO9h6inVfD6C4OafliyH70kGjVGlMrmCSDFzB4qwXP6EWkWuA1YATzj7oMsMmnUr4BfB8t1AE4GOgOzzawLcDWRVg4Dzawm8JmZzQyWHwT0dveV0W9mZq2JzBVxPJH5JGaa2YXufp+ZnQrc6u7zDlHnICJzzawG3gNGApMKHnT3uWY2HRgH1Ab+7e5pZnYmkXkaBhG5kni6mZ3k7h9HvfYVRFqT/yHYUqpTgp+fJCCFh1QqHumW+wJwM7C/mE+b60EfHzP7Gij45Z8KRO8+muju+cByM1sBdCfSM6hv1FZNQyK/qHOAOYWDIzAQ+NDdNwfv+RJwEvDGEeqc4+4rgue8QmQrZVKhZe4j0qctm8jPgKDGM4m0KQGoF9QYHR5zgWeDBpJvuPvCI9QiCU67raQy+guRYwd1o8ZyCT7vQaPEGlGPHYi6nR91P5/v/oFVuJePE/lL/lcema2tv7t3dPeC8Nl7mPoO2wv+CA71/oU1IRIO9Yn0aip4vweiauzi7v/8zgtFtkJOAtYBL5rZ1aWsURKEwkMqHXffBkzk2+lFITKr2vHB7RFA9VK89KVmViU4DtKJyGxrM4BfBH+xY2bdgi6mRfkSODk4TlEVuBz4qBjvPyjo+lwFuAz49BDLTADuBF7i22lUZwDXWWQ+E8ysjUXmePiGmbUnMvfF00Q6EMftvO1SPrTbSiqrh4FfRt1/GphmZnOIdBM93FZBUZYS+SXfEvi5u2eb2TNEjoUsCLZoNgMXFvUi7p5lZmOJtAY34B13n1bUcwL/BcYDfYjscpoa/WCwtZDr7i8HofS5mZ3q7jPNrAfw30iJ7AF+zLdzOUCk6+zvzOxg8Li2PKRI6qorEgcsMhPere5+Xti1iIB2W4mISCloy0NEREpMWx4iIlJiCg8RESkxhYeIiJSYwkNEREpM4SEiIiWm8BARkRL7/yQ0yN6dA6coAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(nbpix, encircled_flux)\n", "plt.xlabel('Number of pixels')\n", "plt.ylabel('Encircled flux')" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "75\n" ] } ], "source": [ "print(len(nbpix))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Lets do a linear fit to the outer part of the curve to determine the backgound\n", "p = np.polyfit(nbpix[30:], encircled_flux[30:], 1)\n", "bkg = p[0]/resol**2\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "57.0" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nbpix[10]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5.370215978591885\n" ] } ], "source": [ "print(bkg)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Lets correct the psf and encircled flux\n", "psf = psf - bkg\n", "encircled_flux = encircled_flux - bkg * nbpix*resol**2" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEKCAYAAAAB0GKPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xl8XXWd//HXJ/veNkvT0n0vUKBACmURWkAEBREGBURlUCwoLozjOMy4OzOOO6KMIktFfoOAoiguLIVpWYSWppRCgaR7abokadMszb58fn/cUwgxSW/T3HuS3Pfz8cgj55x77rkfDo/mfc/3+z3fY+6OiIjIoSSFXYCIiAwPCgwREYmKAkNERKKiwBARkagoMEREJCoKDBERiYoCQ0REoqLAEBGRqCgwREQkKilhFzCYCgsLferUqWGXISIybKxZs2avuxdFs++ICoypU6dSWloadhkiIsOGmW2Pdl81SYmISFQUGCIiEhUFhoiIREWBISIiUVFgiIhIVBQYIiISlZgNqzWzpcBFQJW7zwu2PQjMCXYZDdS6+/xe3rsNaAA6gQ53L4lVnSIiEp1Y3odxD3AbcO/BDe5+xcFlM/shUNfP+xe7+96YVScifapqaGFzVSNb9zaSnASXnzyJ5CQLuywJWcwCw92fMbOpvb1mZgZ8CDgnVp8vIm9bXl7FXc9uobPLSU1OIjnJSElKIiXJSEk2MlKTmZKfxa66Fu5/8c2/e/8Lm/fxgw+eQEqyWrETWVh3er8LqHT3jX287sATZubAL9z9jr4OZGZLgCUAkydPHvRCRYazrXsbuWXZBh5Zt4tJ+ZmMz8uksaODji6no9Pp6Oqio9NpaO2guqEVgMKcdK45bQrzJ49mWmE2f1i7kx88sYGmtk6+etExTMrPCvm/SsISVmBcBdzfz+tnuPsuMxsLLDOzMnd/prcdgzC5A6CkpMQHv1SR4adifxM/eWojv3tpJ2nJSdy4eAafPWcWGanJfb6nqa2DzNRkIg0Ab/vMObNIT0nme4+X8X9lVVwyfwKfWjSdmWNzY/2fIUNM3APDzFKAy4CT+9rH3XcFv6vM7GHgFKDXwBCRd3pk3S6++Jt1AHzstCl8etFMinLTD/m+rLS+/xx88qzpvO/48dzxzBYeWP0mv3upgoXT87n61Cm859hxpKWoqSoRhHGFcR5Q5u4Vvb1oZtlAkrs3BMvnA9+KZ4Eiw9mabTWkJBtPfuFsjhqdOWjHPWp0Jt94/7F89pyZPFi6g1+vepPP3r+Wwpw0jh6fR25GCgXZ6Sw5a7qarUaoWA6rvR9YBBSaWQXwdXe/G7iSHs1RZnYUcJe7vxcoBh4OLotTgF+7+2OxqlNkJNhY2cBj6/ewoeoAK7fsIz0laVDDoruCnHQ+vWgmN5w1g2c2VvPb0gp21jazu66Fiv1V/GHtTs47pphFc4o4e3YRo7PSYlLH4Wpq6+DJN6pISTJy0lPIyUiJ/E5PITcjhey0FJI0Eqxf5j5ymv1LSkpc05tLoqlramfRD5azv6mdiWMymV2cy3lHF/PhU+M/CGT7vkZufXIjKzZUU9PYRpLBBfPG8V8fOI4x2YcOjq4uZ0NVA8W5Ge/Yv7PL2V3XTMX+Zjo6nTNnFdLZ5Ty3aS9ZaclMK8ymIDvt7/pfuh/3k/eW8lRZVZ+fbQY5aZHwyM1IJScjsjynOJcrFkxielHO4Z+QYcDM1kR7r9uIeh6GSCL68VMbqGtu58+fPZN5E0aFWsuUgmx+dMV8OrucVypqefy1SpY+t5UNlS/wwJKFFOb8fV9KVX0Lz27cy7Mbq3lu0172HmijIDuNc+aOpWJ/MxW1TeyubaGj6+0vt1+96Bj+/Mou1r5Z+9a2vIwUphXlMKMwm2mF2YzJTsMMksx4bVcdT5VVcfOFc1k0p4gDLR00tHbQ0NJBY2sHDS3tHGjpoL6lgwMH11s72Hegjbs3buUXz2zhtOkFnDGzgPzsdPKzUxmdlUZ+dhpjstIYnZVKagIMOdYVhsgQt7+xjZd31JKbkcKozFRGZaaSl5lKRmoya9/czz/8/HmuOmUy/3XpcWGX2qsXNu/j2nteZGpBNg8sWfhWE9X2fY186aFXWLW1BoDCnDTOnFnIgmn53Pv8dvY3tTFxTCaT8rOYOCaTiWOymDA6k6/8YT1v1jQxJiuVf3vv0YzNTWdLdeQmwy17D7ClupHddS1/V8elJ07gRx86oc+rkL5UNbTw29IKHly9gzdrmvrcLy8jJRIg2WmMy8vgxsUzQw/waBzOFYYCQ2QIcndqm9pp7ejiQ794odc/VOnByKT87DQe/6ezyMtIjXeZUXt2YzWf+FUpM4tyOG1GAXXN7Ty2fg9JBtefPYNFc4o4elxeVH0IK7fsY9nrlXx60QwKerligUh/xYGWDhxwjzQ3jc1NP+yw6Km1o5PapnZqGtvY39hGTVPwu7Gd/U1tke1Nbby+q57a5nZOn1HA+FEZjMvLoHhUBuNHZVCcF1nP76cJLZ4UGCLDSGeX8+QblTy/aW+kCWZ/MxX7m2hs6wQgLSWJWz40n5yMFOqa26lrbqc++N3Y2sFVp0weFt9kn3qjkn968GU6u5y8zFSOHp/Hf3xgHhNi1Dkfprqmdn7wRDnrKmrZU9dC9YFWev6pTUtOYmxe+lthMi4IkjHZaW9dSR78GZ2V2u89NEdCgSEyDNQ2tfHg6h3c+8J2dtY2k52WzKT8rLeaYCaMzuRAawenTS/g1OkFYZc7KNx9SHyrjrf2zi6qG1rZU99CZV0Le+pb3rFcWd/K7rpmWtq7+jxGWkrSO0OkW/Pk2LzIyLWBUKe3yBD3/Ka9XHdvKU1tnSycns9XLzqG844eO+LnakrEsABITY4Mc+5vqLO7U9/SQW1T21tXku/4aXrn+p76Fsr2NFDf3E5ORsqAA+NwKDBE4qClvZMt1Y1sqj7ApqoDLH1uKxPHZHLrlSdy9Pi8sMuTIcDM3rp6OFxdXfFpKVJgiAxQW0cXO/Y3MS4vg+z03v8prd9Zxy//to0/rdtFW2ekuSHJYN6EUfzioyczftTIa7+X+IvXDYcKDJEBuvl3r/D7tTsBGJOVyoQxmUwcncWEMZkU5abz1BuVrN62n6y0ZD60YCILpxcwc2wOUwuyY9aBKRJLCgyRKD22fg+/Kd3BvKPySE9N5vdrd3JFySSmFGaxMxjdtKn6AE9vqKa5vZNJ+Zl85X1H88GSSQNqZhAZahQYIlHYWNnAlx5aR31LByvKq+hymDchj/+8dN7f3eHr7tQ1t5Obkaqn1MmIosCQhFTb1MZzm/bS0em0d3YFDxTqor3TaWjpoKqhheqGVqoaWqluaKWyvoX87DT++JkzKc5L5/Vd9UwrzO51OggzGzIT7okMJgWGJJyuLufDd67i9d31fe4zJiuVsbkZjM1LZ3pRNsV5GVy5YBJTCrIBKJmaH69yRYYMBYYknL+8upvXd9fzjYuP4azZRW8/4zrZSE1KIis9mfQUdUqL9KTAkBGrpb2Tb//1DXbVtjAmK/WtieEeePFNZhfn8NHTpqqPQeQwKDBkRGrt6ORT/7uG5eXVzB2Xy/qd7dQ0tdHWEbkX4q6PlSgsRA6TAkNGnJb2Tm687yWWl1fz7UuPe+tBQu5Oc3snLe1d5EfxMB8ReScFhowoTW0dLLl3Dc9t2st/fmDeO546Z2ZkpaWgAUwiA6PAkGHL3dld10JWWjK5Gak0t3fy8V+upnR7DT/44AlcfvLEsEsUGVEUGDJsuDvb9jXx/Oa9PL95H6u27GPvgTYg8oCctOQkOrqcW688kYtPOCrkakVGHgWGDGkdnV2s3FLDX17dzYryqrcevVmcl867ZhVx4uTRtHf6Ww8VOu/oYs6cVRhy1SIjU8wCw8yWAhcBVe4+L9j2DeCTQHWw27+7+197ee8FwK1AMnCXu38nVnXK0NPR2cWqrZGQeGz9Hmoa28hKS2bRnCI+M7OQ06YXMK0wO2GfrSASllheYdwD3Abc22P7Le7+g77eZGbJwP8A7wYqgNVm9oi7vx6rQmXo2FR1gKvvWkllfStZacmce3Qx7ztuPIvmFGmGV5GQxSww3P0ZM5s6gLeeAmxy9y0AZvYAcAmgwBjh2jq6uOnBtbR1dPHzq09i0ZyxZKYpJESGijCeB/kZM3vFzJaa2ZheXp8A7Oi2XhFs65WZLTGzUjMrra6u7ms3GQZ+8tRG1u+s578vO44LjxuvsBAZYuIdGD8HZgDzgd3AD3vZp7eG6T6fP+jud7h7ibuXFBUVDU6VEnc1jW38bMUmLjtpAhfMGx92OSLSi7gGhrtXununu3cBdxJpfuqpApjUbX0isCse9Ul4Gls76HI4fYZGOIkMVXENDDPr/tXxUmB9L7utBmaZ2TQzSwOuBB6JR30Sjpb2TlaUV4VdhogcQiyH1d4PLAIKzawC+DqwyMzmE2li2gZcH+x7FJHhs+919w4z+wzwOJFhtUvd/bVY1SnhKdtTzwMv7uDhtTupa25ncn4W8yeNCrssEemDuffZPTDslJSUeGlpadhlSD8OtHbw53W7uH/1DtbtqCUtOYn3zBvHlQsmcdr0ApI0g6xIXJnZGncviWZf3ektMefuvLyjlgdX7+BP63bR2NbJrLE5fPWiY7jsxAmM0cyxIsOCAkNiqnRbDV/5w3rK9jSQmZrMxSeM54oFkzlp8mjdqS0yzCgwJGbW76zjH3+5mvzsNL596XFcfMJ4cjNSwy5LRAZIgSExsXVvI9csfZFRmak8eP1Cxo/KDLskETlCYdzpLSPcnroWPnLXKhy49xOnKCxERggFhgyq2qY2PrZ0FbVNbfzq2lOYUZQTdkkiMkjUJCWDprPLue5XpWzb28Q9H1/AcRN1T4XISKLAkEHz4OodlG7fzw8/eIKm+BAZgdQkJYOirqmd7z9exinT8rnspD4nFxaRYUyBIYPilic3UNfczjcuPlb3V4iMUAoMOWKbqg7w/1Zu56pTJnPMUXlhlyMiMaLAkCO29G9bSUkyvvDu2WGXIiIxpMCQI1LX1M7DL+3kkvlHUZCTHnY5IhJDCgw5Ir9ds4Pm9k6uOX1q2KWISIwpMGTAOruce1/YzilT8zn2KN1zITLSKTBkwFaUV/FmTZOuLkQShG7ck8PW2eX8bk0F33u8jPGjMjj/2OKwSxKROFBgyGF5cWsN3/zTa7y2q56Tp4zhPy6ZR2qyLlRFEoECQ6Kyo6aJ7zxaxl9e3c1RozL4yVUncvHx43WTnkgCUWBIvxpbO/jZik3c+exWki1yr8Un3zWdzLTksEsTkTiLWWCY2VLgIqDK3ecF274PXAy0AZuBa929tpf3bgMagE6gI9oHlMvgWrllH5+9fy3VDa1cduIE/uWCOXq2hUgCi2Xj8z3ABT22LQPmufvxwAbg3/p5/2J3n6+wCEfptho+fs9q8jJSePjTp/OjK+YrLEQSXMwCw92fAWp6bHvC3TuC1ZXAxFh9vgzcKxW1XPvL1YzLy+D+JQs5cfKYsEsSkSEgzOEtHwce7eM1B54wszVmtiSONSW813fV89G7X2R0dir3ffJUxuZmhF2SiAwRoXR6m9mXgQ7gvj52OcPdd5nZWGCZmZUFVyy9HWsJsARg8uTJMak3UWyqauCjd68iKy2ZX1+3UE1QIvIOcb/CMLNriHSGX+3u3ts+7r4r+F0FPAyc0tfx3P0Ody9x95KioqJYlJwQtu1t5MN3riIpybjvulOZlJ8VdkkiMsTENTDM7ALgX4H3u3tTH/tkm1nuwWXgfGB9/KpMPBX7m7j6rlV0dDn3XXcq04tywi5JRIagmAWGmd0PvADMMbMKM/sEcBuQS6SZ6WUzuz3Y9ygz+2vw1mLgOTNbB7wI/MXdH4tVnYluT10LH75zFQ0t7fy/T5zC7OLcsEsSkSEqZn0Y7n5VL5vv7mPfXcB7g+UtwAmxqkveVt3QyofvWklNYxv/e92pmnFWRPp1yCsMMzuml22LYlKNxE1bRxcfvXsVu2tbWPqPC5g/aXTYJYnIEBdNk9RvzOxfLSLTzH4K/HesC5PYWr2thrI9Dfz3ZcdxyrT8sMsRkWEgmsA4FZgEPA+sBnYBZ8SyKIm95WVVpKUkaWpyEYlaNIHRDjQDmUAGsNXdu2JalcTc/5VXsXB6AVlpmn9SRKITTWCsJhIYC4AzgavM7KGYViUxtX1fI1uqG1k8R/etiEj0ovl6+Ql3Lw2W9wCXmNlHY1iTxNjysioAFs8ZG3IlIjKcRBMYVWbWc86Np2NRjMTH8vJqphdmM7UwO+xSRGQYiSYw/kJkMkAj0ocxDSgHjo1hXRIjzW2dvLBlHx85dUrYpYjIMHPIwHD347qvm9lJwPUxq0hi6vnNe2nr6GLxXPVfiMjhOeypQdz9JSId4DIMLS+vIistWfdeiMhhO+QVhpl9odtqEnASUB2ziiRm3J3lZdWcMbOQ9BQ9k1tEDk80Vxi53X7SifRpXBLLoiQ2yvY0sLO2WaOjRGRAounD+GY8CpHYu/3pzWSmJvMe3d0tIgPQZ2CY2Z+IjI7qlbu/PyYVSUxsqGzgkXW7uP6sGRTkpIddjogMQ/1dYfwgblVIzN365EayUpO5/qzpYZciIsNUf4HxNXc/18y+6+7/GreKZNC9vquev7y6m8+eM5Mx2WlhlyMiw1R/gTHezM4G3m9mDxC5ce8twfBaGQZueXIDuRkpXHemri5EZOD6vcIAbgYmAj/knYHhwDkxrEsGySsVtSx7vZIvvHs2o7JSwy5HRIaxPgPD3R8CHjKzr7r7f8SxJhkEB1o7WPrcVu58ZgtjslK59oypYZckIsNcNMNqFRbDSEt7J/+7cjs/W7GZmsY2zj+mmC9dMIfcDF1diMiR0dNzRoj2zi4eWlPBT57ayO66Ft41q5B/Pn+OntUtIoMmpoFhZkuBi4Aqd58XbMsHHgSmAtuAD7n7/l7eew3wlWD1P939V7Gsdbjq6nL+/Opublm2ga17Gzlx8mh++KETOH1GYdilicgI09+Ne/3OTufuNVEc/x7gNuDebttuBp5y9++Y2c3B+juG7Qaf/XWghEgH+xoze6S3YElU7s7/lVXx/cfLKdvTwNxxudx9TQnnzB2LmR36ACIih6m/K4w1vP0cjMnA/mB5NPAmkedi9MvdnzGzqT02XwIsCpZ/BaygR2AA7wGWHQwlM1sGXADcf6jPTAQrt+zje4+V8dKbtUwtyOLWK+dz8fFHkZSkoBCR2OlvlNQ0ADO7HXjE3f8arF8InHcEn1ns7ruDz9htZr3NhDcB2NFtvSLYlvA2VjZw1Z0rKc7N4L8vO47LT55IavJhz1IvInLYounDWODuNxxccfdHzSzWI6d6+6rc67xWZrYEWAIweXLPJ8mOPGt31OIOv/7kqUwvygm7HBFJINF8Nd1rZl8xs6lmNsXMvgzsO4LPrDSz8QDB76pe9qkAJnVbnwjs6u1g7n6Hu5e4e0lR0ch/ityGPQ2kpyQxpUDP4xaR+IomMK4CioCHg5+iYNtAPQJcEyxfA/yxl30eB843szFmNgY4P9iW8DZUHWBWcQ7J6q8QkTiL5sa9GuDzZpbj7gcO5+Bmdj+RDu5CM6sgMvLpO8BvzOwTRDrPPxjsWwLc4O7XuXtN0Oy1OjjUt6IclTXibdjTwOkzC8IuQ0QSUDSPaD0duAvIASab2QnA9e7+6UO91937uhI5t5d9S4Hruq0vBZYe6jMSSV1TO3vqW5hTnBt2KSKSgKJpkrqFyDDXfQDuvg44K5ZFSe82VDUAMHucAkNE4i+q8ZjuvqPHps4Y1CKHUL4nEhi6whCRMEQzrHZH0CzlZpYGfA54I7ZlSW82VDaQm57C+FEZYZciIgkomiuMG4Abidw4VwHMD9Ylzsr3NDCrOEdTf4hIKKIZJbUXuDoOtUg/3J0NlQ1cMG9c2KWISILqb/LBn9LH3dUA7v65mFQkvao+0Mr+pnZmq/9CRELS3xVGadyqkEPasCdyC4w6vEUkLP1NPqjnTwwhGyo1pFZEwnXITm8zW2Zmo7utjzEzTdMRZxsqGyjITqMwJz3sUkQkQUUzSqrI3WsPrgQPMeptSnKJofLKBvVfiEioogmMTjN7a95wM5tCP53hMvjcnQ17Gpij5igRCVE0N+59GXjOzJ4O1s8ieP6ExMfO2mYa2zqZVaznX4hIePoNDIvcIfYacBKwkMiDjf4puDdD4uRgh7dGSIlImPoNDHd3M/uDu58M/DlONUkP5cGQ2lkKDBEJUTR9GCvNbEHMK5E+bahsYPyoDEZlpoZdiogksGj6MBYD15vZdqCRSLOUu/vxMa1M3lK+RyOkRCR80QTGhTGvQvrU2eVsqj7AmbMKwy5FRBJcf3NJ5bl7PdAQx3qkh+37Gmnr6NIVhoiErr8rjF8DFwFriNx30X1ObQemx7AuCWiElIgMFf3NJXVR8Hta/MqRnsr3HMAMZo7VPRgiEq5o5pK61MxGdVsfbWYfiG1ZctCGygYm52eRmZYcdikikuCiGVb7dXevO7gSzCv19YF+oJnNMbOXu/3Um9lNPfZZZGZ13fb52kA/bzirbmjl+c17OWZ8XtiliIhENUqqt1CJ5n29cvdyIo95xcySgZ3Aw73s+uzBZrFE1NXlfPG362hq6+Sm82aHXY6ISFRXGKVm9iMzm2Fm083sFiId4YPhXGCzu28fpOONGEv/tpWnN1TzlYuO0aSDIjIkRBMYnwXagAeB3wItwI2D9PlXAvf38dppZrbOzB41s2P7OoCZLTGzUjMrra6uHqSywvVqRR3ffayM848p5iOnTj70G0RE4sDcw5mp3MzSgF3Ase5e2eO1PKDL3Q+Y2XuBW9191qGOWVJS4qWlw/vJso2tHVz00+doae/k0c+/i9FZaWGXJCIjmJmtcfeSaPY9ZF+Emc0GvghM7b6/u58z0AIDFwIv9QyL4Nj13Zb/amY/M7PCRJgl9+uPvMa2fY3c/8mFCgsRGVKi6bz+LXA7cBfQOYiffRV9NEeZ2TigMpgt9xQiTWf7BvGzh6Q/vryTh9ZU8LlzZrJwekHY5YiIvEM0gdHh7j8fzA81syzg3cD13bbdAODutwOXA58ysw6gGbjSw2o7i5M39zXxlYfXc/KUMXzu3EO2vomIxF00gfEnM/s0kaGvrQc3unvNQD/U3ZuAgh7bbu+2fBtw20CPP9y0d3bxuQfWgsGtV84nJTmasQgiIvEVTWBcE/z+l27bNJfUIPrxkxt4eUct//Phk5g4JivsckREenXIwNBcUrH1/Ka9/GzFZq4omcT7jh8fdjkiIn3qs+3DzL7UbfmDPV77diyLShQ1jW3c9ODLTCvM5uvvPybsckRE+tVfY/mV3Zb/rcdrF8SgloTi7nzpoXXUNrXz06tOJCttwLOtiIjERX+BYX0s97Yuh+neF7bz5BtV3HzhXI49atSh3yAiErL+AsP7WO5tXQ7DG7vr+a+/vsE5c8dy7RlTwy5HRCQq/bWDnGBm9USuJjKDZYL1jJhXNkI1t3Xy2fvXMiozle9ffjxmulgTkeGhvyfu6Yk9MfCXV3ezqeoAv7x2AQU56WGXIyISNd0hFmfLy6sYm5vOotlFYZciInJYFBhx1NHZxbMbqjl7dpGaokRk2FFgxNHaHbXUt3SweO7YsEsRETlsCow4Wl5WRXKSceaswrBLERE5bAqMOFpRXs3JU8aQl5EadikiIodNgREnlfUtvL67nsVz1BwlIsOTAiNOni6PPG980RyNjhKR4UmBESfLy6sYl5fB3HG5YZciIjIgCow4aO/s4rmNe1k8V8NpRWT4UmDEwZrt+2lo7eDs2eq/EJHhS4ERB8vLq0hNNs6YWXDonUVEhigFRhw8XV7Ngqn55Go4rYgMYwqMGNtV20zZngaNjhKRYS+0wDCzbWb2qpm9bGalvbxuZvYTM9tkZq+Y2Ulh1Hmknt4QGU6r+y9EZLgL+7mgi919bx+vXQjMCn5OBX4e/B5WlpdVMWF0JjPH5oRdiojIERnKTVKXAPd6xEpgtJmND7uow9HW0cXfNu1l0RwNpxWR4S/MwHDgCTNbY2ZLenl9ArCj23pFsO0dzGyJmZWaWWl1dXWMSh2Y0m01NLZ1qjlKREaEMAPjDHc/iUjT041mdlaP13v7Sv53zxJ39zvcvcTdS4qKhlbH8vLyKtKSkzhdw2lFZAQILTDcfVfwuwp4GDilxy4VwKRu6xOBXfGpbnCsKK/m1On5ZKWF3VUkInLkQgkMM8s2s9yDy8D5wPoeuz0CfCwYLbUQqHP33XEudcB21DSxseoAi9QcJSIjRFhffYuBh4OO4BTg1+7+mJndAODutwN/Bd4LbAKagGtDqnVAVmzQ7LQiMrKEEhjuvgU4oZftt3dbduDGeNY1mJ4ur2JyfhbTC7PDLkVEZFAM5WG1w1ZLeyd/27RPw2lFZERRYMTA6m01NLdrOK2IjCwKjBhYXlZNekoSC6drOK2IjBwKjBhYUV7FwukFZKYlh12KiMigUWAMsu37Gtmyt5HFGh0lIiOMAmOQPbx2JwCL56r/QkRGFgXGINp3oJU7n9nCBceOY0qBhtOKyMiiwBhEty3fRHN7J198z5ywSxERGXQKjEGyo6aJ/125nSsWTNKzL0RkRFJgDJIfPlFOcpLx+XNnh12KiEhMKDAGwWu76vjjul1ce8Y0xo3KCLscEZGYUGAMgu89Vk5eRio3nD0j7FJERGJGgXGEnt+8l6c3VHPj4hmMykwNuxwRkZhRYBwBd+e7j5Zx1KgMPnba1LDLERGJKQXGEXh0/R7WVdRx07tnk5GqaUBEZGRTYAxQe2cXP3i8nNnFOfzDSRPDLkdEJOYUGAP0m9IdbNnbyJfeM5fkJD3zQkRGPgXGADS1dXDrkxspmTKGc4/WnFEikhgUGAPwy79to6qhlZsvnKsn6olIwlBgHKb9jW3cvmIz5x1dTMnU/LDLERGJm7gHhplNMrPlZvaGmb1mZp/vZZ9FZlZnZi8HP1+Ld519+Z/lm2hs6+BLF2iCQRFJLCkhfGYH8M/u/pKZ5QJrzGyZu7/eY79n3f2iEOrrU8X+Ju59YTuXnzyR2cW5YZcjIhJXcb/CcPfd7v5SsNwAvAFMiHdZ7b6tAAAJeElEQVQdA3HLso1gcNN5mmBQRBJPqH0YZjYVOBFY1cvLp5nZOjN71MyOjWthvSjbU8/v11Zw7elTOWp0ZtjliIjEXRhNUgCYWQ7wO+Amd6/v8fJLwBR3P2Bm7wX+AMzq4zhLgCUAkydPjlm933+snNz0FD61SBMMikhiCuUKw8xSiYTFfe7++56vu3u9ux8Ilv8KpJpZYW/Hcvc73L3E3UuKiopiUu+qLft4qqyKTy2ayeistJh8hojIUBfGKCkD7gbecPcf9bHPuGA/zOwUInXui1+Vb3N3vvNYGcV56fzj6VPDKEFEZEgIo0nqDOCjwKtm9nKw7d+ByQDufjtwOfApM+sAmoEr3d1DqJUnXq9k7Zu1fOey48hM0wSDIpK44h4Y7v4c0O/t0e5+G3BbfCrqW0dnF997rIwZRdlcfrImGBSRxKY7vfvxu5cq2FzdyL+8Zy4pyTpVIpLY9FewDy3tndyybCMnTh7Ne44tDrscEZHQKTD6cM/z29hT38LNF2iCQRERUGD0qrapjZ8t38Q5c8dy6vSCsMsRERkSFBi9+PmKzTS0aoJBEZHuFBg97Kpt5pfPb+PSEycwd1xe2OWIiAwZCowefvzkBnD4wrs1waCISHcKjG42Vjbw0JoKPnraFCaOyQq7HBGRIUWB0c33Hi8nOy2FGxfPDLsUEZEhR4ERKN1Ww7LXK7n+7OnkZ2uCQRGRnhQYRCYY/O5jZRTlpvPxM6eFXY6IyJCkwACeeqOK1dv28/lzZ5GVFtojQkREhrSED4zOLud7j5cxrTCbKxZMCrscEZEhK+G/Tje3d3LipDEsmlNEqiYYFBHpU8IHRk56Ct+9/PiwyxARGfL0lVpERKKiwBARkagoMEREJCoKDBERiYoCQ0REoqLAEBGRqCgwREQkKgoMERGJirl72DUMGjOrBrYP8O2FwN5BLGc40jnQOQCdg4MS5TxMcfeiaHYcUYFxJMys1N1Lwq4jTDoHOgegc3CQzsPfU5OUiIhERYEhIiJRUWC87Y6wCxgCdA50DkDn4CCdhx7UhyEiIlHRFYaIiEQl4QPDzC4ws3Iz22RmN4ddT7yY2VIzqzKz9d225ZvZMjPbGPweE2aNsWZmk8xsuZm9YWavmdnng+0Jcx7MLMPMXjSzdcE5+GawfZqZrQrOwYNmlhZ2rbFmZslmttbM/hysJ9w5OJSEDgwzSwb+B7gQOAa4ysyOCbequLkHuKDHtpuBp9x9FvBUsD6SdQD/7O5HAwuBG4P//4l0HlqBc9z9BGA+cIGZLQS+C9wSnIP9wCdCrDFePg+80W09Ec9BvxI6MIBTgE3uvsXd24AHgEtCriku3P0ZoKbH5kuAXwXLvwI+ENei4szdd7v7S8FyA5E/FhNIoPPgEQeC1dTgx4FzgIeC7SP6HACY2UTgfcBdwbqRYOcgGokeGBOAHd3WK4JtiarY3XdD5I8pMDbkeuLGzKYCJwKrSLDzEDTFvAxUAcuAzUCtu3cEuyTCv4sfA18CuoL1AhLvHBxSogeG9bJNw8YSjJnlAL8DbnL3+rDriTd373T3+cBEIlfdR/e2W3yrih8zuwiocvc13Tf3suuIPQfRSgm7gJBVAJO6rU8EdoVUy1BQaWbj3X23mY0n8o1zRDOzVCJhcZ+7/z7YnHDnAcDda81sBZH+nNFmlhJ8wx7p/y7OAN5vZu8FMoA8IlcciXQOopLoVxirgVnBaIg04ErgkZBrCtMjwDXB8jXAH0OsJeaCduq7gTfc/UfdXkqY82BmRWY2OljOBM4j0pezHLg82G1EnwN3/zd3n+juU4n8Dfg/d7+aBDoH0Ur4G/eCbxU/BpKBpe7+XyGXFBdmdj+wiMiMnJXA14E/AL8BJgNvAh90954d4yOGmZ0JPAu8yttt1/9OpB8jIc6DmR1PpEM3mcgXyN+4+7fMbDqRQSD5wFrgI+7eGl6l8WFmi4AvuvtFiXoO+pPwgSEiItFJ9CYpERGJkgJDRESiosAQEZGoKDBERCQqCgwREYmKAkNERKKiwJARxcw6zexlM1tvZn86eFPaYbz/G2b2xWD5W2Z23hHWM9XMmoO5moYEM7simM7/z2HXIsOLAkNGmmZ3n+/u84jMxnvjQA/k7l9z9ycHoabNwVxNUQum3o8Jd38QuC5Wx5eRS4EhI9kLBDOMmlmOmT1lZi+Z2atm9tY09mb25eAhWk8Cc7ptv8fMLg+Wt5lZYbBcEsy5hJmdHVzRvBw8fCf3UEWZ2R/MbE3wwKIl3bYfCK5qVgGnmdkCM3s+eLjRi2aWa2bHBssvm9krZjYreO9Hum3/xcHAscgDwl4KjvHUkZ9SSWSJPvmgjFDBH8xzicwVBdACXOru9cEf/pVm9ghwEpH5g04k8u/hJWBNL4fsyxeBG939b8Gsty1RvOfj7l4TzN202sx+5+77gGxgvbt/LZjbrAy4wt1Xm1ke0AzcANzq7vcF+ySb2dHAFcAZ7t5uZj8DrjazR4E7gbPcfauZ5R/Gf5fI31FgyEiTGfQXTCXyh39ZsN2Ab5vZWUTmjZoAFAPvAh529yaAIEQOx9+AH5nZfcDv3b0iivd8zswuDZYnAbOAfUAnkZlzIXKls9vdVwMcnHbdzF4Avhw88Of37r7RzM4FTiYSPgCZRGbYXQg84+5bg2OMyPmwJH7UJCUjTXPQXzAFSOPtPoyrgSLg5OD1SiJTWUN0zzno4O1/Lwffh7t/h0h/QCaRq5a5/R0kmNzuPOC04LGoa7sdr8XdOw/u2ltd7v5r4P1ErjYeN7Nzgn1/FfTdzHf3Oe7+jb6OITJQCgwZkdy9Dvgc8MXgmRejiDwkp93MFhMJFIBngEvNLDPof7i4j0NuI/ItHuAfDm40sxnu/qq7fxcoBfoNjKCO/e7eFITLwj72KwOOMrMFwefkmllKMIPqFnf/CZFp2I8n8tzxy81sbLBvvplNIdKHc7aZTTu4/RC1ifRLTVIyYrn7WjNbR6SP4j7gT2ZWCrxM5A8y7v6SmT0YbNtOZLrz3nwTuNvMDk5/ftBNQQB1Aq8Djx6irMeAG8zsFaAcWNlH7W1mdgXw06Cvo5nIlckVwEfMrB3YA3wr6A/5CvCEmSUB7UT6VVYGneq/D7ZXAe8+RH0ifdL05iIxZJFnhf85GOY7ZHR/7kPYtcjwoSYpkdjqBEYNtRv3gJ8B+8OuRYYXXWGIiEhUdIUhIiJRUWCIiEhUFBgiIhIVBYaIiERFgSEiIlH5/7kV3UiXt5BzAAAAAElFTkSuQmCC\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": "markdown", "metadata": {}, "source": [ "Our PSF does now behaves correctly.\n", "\n", "Now let us compare our growth curve with the encircled energy curve provided by the instrument team. We use the standard growth curve for 100 Āµm PACS, taken with 20\"/s scan speed. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f = open('./data/EEF_grn_20.txt', 'r')\n", "lines = f.readlines()\n", "f.close()\n", "radiuseff = np.zeros(len(lines)-3)\n", "valeff = np.zeros(len(lines)-3)\n", "i = 0\n", "for line in lines:\n", " if line[0] != '#':\n", " bits = line.split()\n", " radiuseff[i] = float(bits[0])\n", " valeff[i] = float(bits[1])\n", " i = i+1" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "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(radiuseff, valeff, 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 10\" where our PSF is well behaved" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 21, "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(radiuseff, valeff, label='Calibration')\n", "plt.plot(radii, encircled_flux/np.max(encircled_flux), label='Our PSF')\n", "plt.xlim([0, 50])\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "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": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "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(radiuseff, valeff, label='Calibration')\n", "plt.plot(radii, encircled_flux/np.max(encircled_flux), label='Our PSF')\n", "plt.xlim([0, 50])\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rfactor = np.arange(1.,2., 1e-3)\n", "ffactor = np.arange(1.,2., 1e-3)\n", "# work with the data points between 2 and 10\"\n", "idx, = np.where((radii > 2 ) & (radii < 13))\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", " #print(i, rf)\n", " tck = interpolate.splrep(radiuseff*rf, valeff, s=0)\n", " yfit = interpolate.splev(xv, tck, der=0)\n", " for j, ff in enumerate(ffactor):\n", " resid[i, j] = np.sum((yv-yfit*ff)**2)\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 24, "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": "markdown", "metadata": {}, "source": [ "This shows a minimum, with some degeneracy. " ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rf = 1.201, ff = 1.056, residual = 0.010\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": 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(radiuseff*rfactor[rmin], valeff, label='Calibration')\n", "plt.plot(radii, encircled_flux/np.max(encircled_flux)/ffactor[fmin], label='Our PSF')\n", "plt.xlim([0, 100])\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8349122073682183" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The two curve overlap\n", "psfok = psf/np.max(encircled_flux)/ffactor[fmin]\n", "np.sum(psfok)" ] }, { "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" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Validation\n", "To check PSF is reasonable, lets look at a 100 micron source, e.g. `---`. We can see from `GAMA-09_PACS100_v0.9.fit` that it has a flux of -- mJy. Maximum value in our normalised PSF ---- \n" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from astropy.table import Table" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "ename": "FileNotFoundError", "evalue": "[Errno 2] No such file or directory: './data/GAMA-09_PACSxID24_v1.fits'", "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[0mPACScat\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTable\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'./data/GAMA-09_PACSxID24_v1.fits'\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;36mread\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2532\u001b[0m \u001b[0mpassed\u001b[0m \u001b[0mthrough\u001b[0m \u001b[0mto\u001b[0m \u001b[0mthe\u001b[0m \u001b[0munderlying\u001b[0m \u001b[0mdata\u001b[0m \u001b[0mreader\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;34m~\u001b[0m\u001b[0mastropy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mascii\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2533\u001b[0m \"\"\"\n\u001b[0;32m-> 2534\u001b[0;31m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mio_registry\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2535\u001b[0m \u001b[0;31m# For some readers (e.g., ascii.ecsv), the returned `out` class is not\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2536\u001b[0m \u001b[0;31m# guaranteed to be the same as the desired output `cls`. If so,\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/registry.py\u001b[0m in \u001b[0;36mread\u001b[0;34m(cls, format, *args, **kwargs)\u001b[0m\n\u001b[1;32m 500\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 501\u001b[0m \u001b[0mctx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_readable_fileobj\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'binary'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 502\u001b[0;31m \u001b[0mfileobj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__enter__\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 503\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mOSError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 504\u001b[0m \u001b[0;32mraise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.6/contextlib.py\u001b[0m in \u001b[0;36m__enter__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__enter__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 81\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mnext\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgen\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 82\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mStopIteration\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 83\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mRuntimeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"generator didn't yield\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/astropy/utils/data.py\u001b[0m in \u001b[0;36mget_readable_fileobj\u001b[0;34m(name_or_obj, encoding, cache, show_progress, remote_timeout)\u001b[0m\n\u001b[1;32m 191\u001b[0m \u001b[0mname_or_obj\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[0mshow_progress\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mshow_progress\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 192\u001b[0m timeout=remote_timeout)\n\u001b[0;32m--> 193\u001b[0;31m \u001b[0mfileobj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFileIO\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname_or_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'r'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 194\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_url\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 195\u001b[0m \u001b[0mdelete_fds\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileobj\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/GAMA-09_PACSxID24_v1.fits'" ] } ], "source": [ "PACScat=Table.read('./data/GAMA-09_PACSxID24_v1.fits')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "PACScat['HELP_ID']" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "PACScat[PACScat['HELP_ID']=='GAMA09-PACSxID24-1-69605']" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Max PSF = 0.0009 Jy/pix, off pixel Max PSF = 0.0002 Jy/pix\n" ] } ], "source": [ "cpix=np.int((hd['NAXIS1']+1)/2.0)\n", "\n", "print(\"Max PSF = {:.4f} Jy/pix, off pixel Max PSF = {:.4f} Jy/pix\".format(psfok[cpix-1,cpix-1]*0.027,psfok[cpix-2,cpix-2]*0.027))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "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('./data/input_data/GAMA09_PACS100_v0.9.fits')\n", "fig.recenter(PACScat[PACScat['HELP_ID']=='GAMA09-PACSxID24-1-69605']['RA'],PACScat[PACScat['HELP_ID']=='GAMA09-PACSxID24-1-69605']['Dec'], radius=0.004)\n", "fig.show_colorscale(vmin=0.0,vmax=1,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, as well as non-zero background, this seems reasonable.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rad=1\n", "plt.imshow(psfok[cpix-1-rad:cpix+rad:5,cpix-1-rad:cpix+rad:5]*0.358,vmin=0.0,vmax=0.08 ,cmap=cmap)\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create PSF fits fileĀ¶\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "stackhd[0].data=psfok\n", "stackhd.writeto('dmu18_PACS_100_PSF_GAMA09_20190131.fits',output_verify='fix+warn', overwrite=True)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.05330222505246956" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.max(psfok)" ] }, { "cell_type": "code", "execution_count": 34, "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": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "484" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(psfok.flatten())" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.mean(~np.isnan(psf))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python (herschelhelp_internal)", "language": "python", "name": "helpint" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }