{ "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": null, "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": null, "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": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "psf = (2*special.jn(1, q)/q)**2" ] }, { "cell_type": "code", "execution_count": null, "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": null, "metadata": {}, "outputs": [], "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": null, "metadata": {}, "outputs": [], "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": null, "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": null, "metadata": {}, "outputs": [], "source": [ "# Check our kernel is properly normalized\n", "np.sum(kernel_blur*resol**2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# apply the blur\n", "psfblur = signal.convolve(psf, kernel_blur, mode='same')*resol**2" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "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": null, "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": null, "metadata": {}, "outputs": [], "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": null, "metadata": {}, "outputs": [], "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": null, "metadata": {}, "outputs": [], "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": null, "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": null, "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": null, "metadata": {}, "outputs": [], "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": null, "metadata": {}, "outputs": [], "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/Bootes_PACS160_v0.9.fits')\n", "stackhd = fits.open('./data/output_data/160um/psf_native.fits')\n", "psf = stackhd[1].data\n", "hd = stackhd[1].header\n", "plt.imshow(psf)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "XTENSION= 'IMAGE ' / Image extension \n", "BITPIX = -32 / array data type \n", "NAXIS = 2 / number of array dimensions \n", "NAXIS1 = 201 / \n", "NAXIS2 = 201 / \n", "PCOUNT = 0 / number of parameters \n", "GCOUNT = 1 / number of groups \n", "IMG_TYPE= 'wgls ' \n", "CTYPE1 = 'RA---TAN' / \n", "CTYPE2 = 'DEC--TAN' / \n", "CRPIX1 = -5.26831200000 / \n", "CRPIX2 = -4.35937500000 / \n", "CRVAL1 = 0.00000000000 / R.A. (degrees) of reference pixel \n", "CRVAL2 = 0.00000000000 / Declination of reference pixel \n", "CDELT1 = -0.000277777784500 / \n", "CDELT2 = 0.000277777784500 / \n", "MAPCENT1= 217.8539124 \n", "MAPCENT2= 34.38236618 \n", "CROTA2 = 0.00000 / \n", "MAPMAKER= 'UniMap 7.1.0 - University of Rome Map Maker' \n", "HOMEPAGE= 'http://infocom.uniroma1.it/unimap' \n", "CONTACT = 'Lorenzo Piazzo - lorenzo.piazzo@uniroma1.it' \n", "DATE_MAP= '08-Jun-2017 map creation date' \n", "BUNIT = 'MJy/sr ' \n", "INSTRUME= 'PACS RED' \n", "EXTNAME = 'IMAGE ' / \n", "CHECKSUM= 'ULjAaIg4UIgAaIg3' / HDU checksum updated 2018-02-06T12:28:50 \n", "DATASUM = '758427999' / data unit checksum updated 2018-02-06T12:28:50 \n", "CRVAL1_0= 217.853912400 /CRVAL1 at Mon Jan 21 12:56:10 2019By: mc741 \n", "CRVAL2_0= 34.3823661800 /CRVAL2 at Mon Jan 21 12:56:10 2019By: mc741 \n", "EQUINOX = 2000.00 / Equinox of Ref. Coord. \n", "LONPOLE = 180.000000000 / Native longitude of Celestial pole \n", "LATPOLE = 90.0000000000 / Celestial latitude of native pole \n", "HISTORY Original Astrometry preserved with HERMES_FIX_ASTROM \n", "HISTORY Mon Jan 21 12:56:10 2019 \n", "HISTORY By: mc741 \n", "HISTORY HCONGRID:Jan 21 12:56:10 2019 Original Image Size Was 4455 by 4577 \n", "HISTORY HCONGRID:Jan 21 12:56:10 2019 Bilinear Interpolation \n", "HISTORY HEXTRACT: Mon Jan 21 13:01:07 2019 \n", "HISTORY Original image size was 13365 by 13731 \n", "HISTORY Extracted Image: [6682:6882,6865:7065] \n", "HISTORY PUTAST: Jan 21 13:01:07 2019 World Coordinate System parameters written " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stackhd[1].header" ] }, { "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": {}, "outputs": [], "source": [ "# Convert units MJy/sr to mJy/pixel: http://coolwiki.ipac.caltech.edu/index.php/Units\n", "psf=psf*2.35045e-2*(np.abs(stackhd[1].header['CDELT1'])*3600)**2\n", "#print(psf)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(psf.flatten(),bins=np.arange(-0.01,0.05,0.0005));\n", "plt.yscale('log')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "resol= np.abs(stackhd[1].header['CDELT1'])/np.abs(stackhd_im[1].header['CDELT1'])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.3333333333333333" ] }, "execution_count": 8, "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": 9, "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": 10, "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['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": 11, "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": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-1.0000000242" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hd['CDELT1']*3600." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "execution_count": 13, "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": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.001295783\n" ] } ], "source": [ "# This is clearly. \n", "print(np.median(psf[0:5,:]))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "execution_count": 15, "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, encircled_flux)\n", "plt.xlabel('Number of pixels')\n", "plt.ylabel('Encircled flux')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "#Lets do a linear fit to the outer part of the curve to determine the backgound\n", "p = np.polyfit(nbpix[1000:], encircled_flux[1000:], 1)\n", "bkg = p[0]/resol**2" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9085.0" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nbpix[1000]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0014242705481232465\n" ] } ], "source": [ "print(bkg)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2.70124628e-03 1.32591112e-02 2.35823111e-02 ... 6.88598082e+00\n", " 6.88711251e+00 6.88767327e+00]\n" ] } ], "source": [ "print(encircled_flux)" ] }, { "cell_type": "code", "execution_count": 20, "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": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Encircled flux')" ] }, "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(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 160 µm PACS, taken with 20\"/s scan speed. " ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f = open('./data/EEF_red_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": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEKCAYAAADjDHn2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xl8VNXZwPHfk8m+k4UtISQgm8hqECiIKC6AFKul7uurUlv7ulTta221bm1tbdXaalutuNW1rlg3bMUFFUhQWYIiW4AkkED2fZk57x9nAgGzETK5mcnz/Xz4ZO6dO3eejON9cs655zlijEEppZRqT5DTASillOr9NFkopZTqkCYLpZRSHdJkoZRSqkOaLJRSSnVIk4VSSqkOabJQSinVIU0WSimlOqTJQimlVIeCnQ7gcCUlJZn09HSnw1BKKb+yZs2afcaY5K6+3u+SRXp6OtnZ2U6HoZRSfkVEdhzJ67UbSimlVIc0WSillOqQJgullFId8rsxi9Y0NjaSl5dHXV2d06EErPDwcFJTUwkJCXE6FKWUAwIiWeTl5RETE0N6ejoi4nQ4AccYQ3FxMXl5eWRkZDgdjlLKAT7rhhKRJSJSJCIb2nheRORBEdkiIutEZHJX36uuro7ExERNFD4iIiQmJmrLTak+zJdjFk8Ac9t5fh4wwvtvMfDXI3kzTRS+pZ+vUn2bz7qhjDEfiUh6O4ecATxl7LquK0UkXkQGGWN2+yompZTymcZa2LocqgqhNBcaqqH/GNi9FlIzQVwQ5ILwOHssBsLi7E9jICwGUiYDAiLg6l3jg06OWaQAu1ps53n3fStZiMhibOuDtLS0HgmuK/bs2cN1111HVlYWYWFhpKen88ADDzBy5MhWj4+OjqaqqoqCggKuueYaXnrpJZ544gmys7P5y1/+0uU4HnjgARYvXkxkZCQA8+fP59lnnyU+Pr7L51RKHaK6GLa+D5uXwfYPoaoIMK0f+/mTnTypHDhH0igYMBYkCKZcDmnTbRJxiJPJorXfutVP2hjzCPAIQGZmZhv/NZxljOHMM8/kkksu4fnnnwfgyy+/pLCwsM1k0Wzw4MG89NJLh/VexhiCglrvRXzggQe48MIL9yeLt956q9PnVkq1weOGTW/DV0th1yrbegCITIKMWZA4HIZMg+SRYDwQFGJ/hkRAY419XFdhWxzhcfa19ZWAscdWFULB5+AKg8L1kLsCcl6xx23wXh9GnAaDJsCQqTBkyoHz9AAnk0UeMKTFdipQ4FAsR2z58uWEhIRw1VVX7d83ceJEqqqqmDNnDqWlpTQ2NnL33XdzxhlnHPTa3NxcFixYwIYN9l6AXbt2MXfuXLZv387555/Pr371K3Jzc5k3bx4nnngin332Ga+99hr33HMPWVlZ1NbWsmjRIu644w4efPBBCgoKOPHEE0lKSmL58uX7S6QkJSVx3333sWTJEgCuuOIKrrvuuv3nnjlzJp9++ikpKSm8/vrrRERE9NwHqFRvtGc9fPMu7PwMdq6EhioIjoCRp8Lki2HYbBg0Cdr4w+2wjZ7/7X3V+2DV36A8D/KyYfO7B56LGwLpx9vEMXACJA6DiH7dE8shnEwWS4GfiMjzwFSgvDvGK+54I4eNBRVHHFxLRw+O5VffHdvuMRs2bODYY4/91v7w8HBeffVVYmNj2bdvH9OmTWPhwoXtDhivXr2aDRs2EBkZyZQpUzj99NNJSkpi06ZNPP744zz88MMA/PrXvyYhIQG3282cOXNYt24d11xzDffddx/Lly8nKSnpoPOuWbOGxx9/nFWrVmGMYerUqZxwwgn069ePzZs389xzz/Hoo49y9tln8/LLL3PhhRd24dNSyo95PLD2Wch5zbYcijfb/bGpMOFc2xV01MkQ0YNdulFJcNIvD2xXF0N+NhRugJ2rYNNbNmawXVaJR9mWx8BxMGoexHdP173PkoWIPAfMBpJEJA/4FRACYIz5G/AWMB/YAtQAl/kqFicZY7jlllv46KOPCAoKIj8/n8LCQgYOHNjma0455RQSExMBOOuss1ixYgXf+973GDp0KNOmTdt/3IsvvsgjjzxCU1MTu3fvZuPGjYwfP77N865YsYIzzzyTqKio/ef++OOPWbhwIRkZGUycOBGAY489ltzc3G747ZXyE6W5kL0E1r4AVXvsvqNOgSlXwPizITLB0fAOEpUII0+z/8AOjpftgD0bIH8N7FoNOa/CF0/D2z+D5NEHjj0Cvrwb6rwOnjfA1d39vh21AHxl7NixrY47PPPMM+zdu5c1a9YQEhJCenp6h/MVDm11NG83X+QBtm/fzh/+8AeysrLo168fl156aYfntR9568LCwvY/drlc1NbWtnsupfyeuwlyP4J3fg57v7b7Rp0OI06B0adDdH9n4+ssEeiXbv+NWWD3edy222zbcvjkQfjkT0f8NlobqpucdNJJ1NfX8+ijj+7fl5WVxY4dO+jfvz8hISEsX76cHTs6rhL83nvvUVJSQm1tLa+99hozZsz41jEVFRVERUURFxdHYWEhb7/99v7nYmJiqKys/NZrZs2axWuvvUZNTQ3V1dW8+uqrHH/88V38jZXyQ8bYv8CfWAB3JcLTZ0JdOUy6CH68Cs57FjIv859E0ZYgF6TPsN1XtxbBuc8d8SkDotxHbyAivPrqq1x33XXcc889hIeHk56ezu23384111xDZmYmEydOZPTo0R2ea+bMmVx00UVs2bKF888/n8zMzG91C02YMIFJkyYxduxYhg0bdlBCWbx4MfPmzWPQoEEsX758//7Jkydz6aWXctxxxwF2gHvSpEna5aQCW10FrH8Rir6CHZ9BUY7dP+I0mHg+jDgVQiOdjdHXWhs4P0zSXtdEb5SZmWkOXfzoq6++YsyYMQ5F1Hfo56x6jYYaO7GtrgxqS70/y6CiwO6vLoKCL6Fkq32+2aCJ9i6m0adDTNvjhoFIRNYYYzK7+nptWSilep/qYjtYW7IVKnfbW1gLN9rulZoSaOpgTC0k0k5oG3umvRso5VgYOsO+XnWJJgullLPqq6BoI+z4xE56K94CNcUHnhcXJI+CpBG2JEbCMPA0QXg8JGTYeQXhcfZnVDKExYJLL23NjDE0uo+8B0k/UaVUzyrZDnvW2fIYG1+H3I8PPJc0CgZPtjOiB4yFgeMhMrH7Jr05yBhDfZOHukY3dY3en01uahu8201u6hvd1LZ4vvlxfaObukY39U0e6ps8NDR5qG86sF3fZI9pcHuob/R4f9rnG9weumO0QZOFUqr7edy2lEVQMGz/yE4iK91hu5UKvjhwXMxgmPUzGHiMnfDWw3chuT2G2sbmC7Z7/4W8tvHAdm2jm3rvxbyu0U1tw4HH+y/6rby2OTG03O7qRTssOIjwEBdhwUGEhQQRFuwi1NX8OIi4iBDCYsIICw4iNNg+HxYctP9faHAQ//u7I/usNFkopY5MfZVNArkroNg7oPz1m+CuP/i46IEQMwAShsOZf4f4IRDVv81WgzGGBreHugYPNY1N1Da4qfFe1Gsa3Psv8rWNLfc3UdvgobbF8S2Pa3l8baObhiZPl37lEJcQHuwiPNRFeEiQfRziIiLERUx4MMkxYd5te5EPD3ERHhxkj/ceG+59LiLERVjzccEuIg45Z1hwEEFBR15A8H+P8PWaLJRSh6dqL+xZa2smbXobyg8Uj3aH98MTFII7ahBFqachNSUUxE9mS8Jsytyh1DQ0UV3vpnplE7WNBdQ27DrkYn/wRd3tObw/xV1BQmSIveBGhNoLcUSoi8hQF/GRIYSH2Md2fzAR3u1w776DLvyh9i/05gt7RPNFP8SFqxsu3v5Gk0U3ycvL4+qrr2bjxo14PB4WLFjAvffeS2hoaJfPeemll/Lhhx8SFxdHUFAQDz30ENOnT2flypVce+211NfXU19fzznnnMPtt9/OE088wU033URKSgoA48eP56mnnuquX1EFCI/HUNXQRFVdE9X1TVQ3uO3P+iZqGtxU1TdR09BEVb2bGu/zruo9pFWsYWLlhxxbtxIXHpoI4n2msL5pOps9g9lohrKzbsCBNypq+a7bAXsxjwp1ERUWvP8iHhHiIjYihAGxYUSGBh9yQXftv6AfevG3xwUfdFxosP+PbfRWmiy6gTGGs846ix/96Ee8/vrruN1uFi9ezC9+8QvuvffeTp/H7Xbjch18a9+9997LokWLWLZsGT/84Q9Zt24dl1xyCS+++CITJkzA7XazadOm/cefc845R7QWhvLyuO1AbMlWW466bKe9f79yN1QW2rLTEmT75cNiIDjUdsfEDLQDsq5Q+1zVHnuHjsdtX1+8BYLD7N07rlA7ezhuCJRss3f8FG6wA7tDZ9rbPDNOgLhU25cvgttjqKxrpLKuiYq6Rqrqmqisa6Ky3u5r3t/8uHL/4wP7quqbOvz1w2hghOQxLWQblwf9h6PYCUB5UBzvxi5iU+x0KqKHQ1QSUaHBTAgL5jth9uId7f0ZFRZMVJiLKO/jyFDbpaKrLvonTRbd4P333yc8PJzLLrO1EF0uF/fffz8ZGRnccccdvPjiiwctaLRgwQJuvPFGZs+eTXR0ND/96U959913+eMf/8jMmTNbfY9Zs2axZcsWAIqKihg0aND+9zr66KN74LfsA0p32Dtzdq6EjUuhvvzAc/FDbVIIjYIhxwHGXvyDgm3SqC21pasba22/vbsBmurtGgaIve+/cretBGo8eIKC8VTsoTFiIE11jTSFDaLfNu9s+20f2H8tlBFDA8GUeqJY6xlOCbHsM7HkmoFsNwOJpYZqwqk0kQQHBxEVFkJkWCixYUGMDKmCuHgiBoQRFRZGUEwaMeGhxIQFER0ixIQY4hv30K9qC1F1u4ks3UTYptcQjzepJB4Fk+6AYbOJGzCW+a4Qjnw+sPI3gZcs3r7ZTuDpTgPHwbx72nw6JyfnW+XJY2NjSUtL23+Bb0t1dTXHHHMMd955Z7vHvfHGG4wbNw6A66+/nlGjRjF79mzmzp3LJZdcQnh4OAAvvPACK1asAODaa6/dn8BUG8rzYMPLtkpn8106YbG2SmfGCfbe/sQRttJnO5rcHkprGimurqe4qoHi6gaKq5of17OvqoHisHqKixoormpo96/7IIEB4W5ODPuaqFAX6a69ZJg8MiveIypEGNX4Yce/lxtby7mmtSdbrMbWmuAImHCeLcU9cJwtUKeT2fq8wEsWDjDGtNq0bmt/Sy6Xi+9///ttPn/TTTdx9913k5yczGOPPQbAbbfdxgUXXMCyZct49tlnee655/jggw8A7YbqlKYGW40z6zHY8h8wbntv/yl32YqjSaMgKAhjDFX1TRRV1lO0p5iiyjqKKuopqqyj0PuzOTGU1jS0elukK0hIiAolMSqUpOgwhiREkhAVSkJkKPGRIcRFhhIfEUJ8ZAjxEaHERYYQExbsvftl4bfOt38ErLHWtmZ2r7OlLsJi7QpsTbW2NWM8tmhe9T7btTXiVDuRzd1gXxMeaye1Bbls6ygsBtKm2S6vsFhHl+9UvVPgJYt2WgC+MnbsWF5++eWD9lVUVLBr1y6GDx/O2rVr8XgO3KLXspR4eHj4t8YpWmoeszjU8OHD+dGPfsSVV15JcnIyxcXFrbxaHaSuHFbcb9ctqCvHHTWAvWP/h42DzmJz0wAKS+op+k8tRRWrbGKorKemwf2t04QFB9E/Noz+MeEMT47muIxQEqPDSIoOJTEqjMTo0P2P4yJCuuW2x28JibD/Ygd3/7mVakXgJQsHzJkzh5tvvpmnnnqKiy++GLfbzQ033MCll15KZGQk6enpPPzww3g8HvLz81m9evURvd+bb77J/PnzERE2b96My+UiPr4HV+7q5YwxlNU0kldaS0F5LeW7tzLji5sYUL2JYJrIkvH8o/EUPigeR31xKFAKlBIZ6mJAbDjJMWEckxJH/5hwBsSG7U8MA2LDSI4JJzY8WAdpVZ+jyaIbNJcn//GPf8xdd92Fx+Nh/vz5/OY3vwFgxowZZGRkMG7cOI455hgmT558RO/39NNPc/311xMZGUlwcDDPPPNMu62TQOTxGAor68jdV8POkmp2FNewo6SGHcX2cWVdE5HUcVXwUn7kegODsDp4Iu/En0fVgExGxEUwKz6cwfERDI6LYFB8OLHhIU7/Wkr1WlqiXHWaE59zdX0TW4qq+Kawks1FVWzbW0VucQ07S2oOmn0bHCSk9IsgLSGS9IRITvCs5Phv7iGsfh8N6bMJOf1eJHlkj8auVG+iJcpVQKhtcLN1bxWb9lTyTVElmwttgsgrPVCKOjQ4iIzEKIYlRXHiqGTSEqNIT4xkaEIUg+PDCXYF2dLWb91g724aOA7mPkno0Bk6YKvUEdJkoXpcaXUDOQUV5BSUs6Gggpz8crYXV++/myjEJQxLimbikHjOzhzCyAExjBwQTVpCpE0IrfG44fOnYNmtUF8Bs2+B438KLu1aUqo7BEyy6MxtqqrrutpdWVRZR05+BRvyy9lQUM6G/Aryyw60FlLiIzgmJZaFEwfvTwpDE6MIaSsptKZiN7xypZ1QN3gSLLjf/lRKdZuASBbh4eEUFxeTmJioCcMHjDEUFxfvn/jXltLqBtbnl7Mur4x1eeWsyytnT8WB24SHJUUxeWg/Lp4+lLGD4xg7OJZ+UV2vnUVDDWQ9Ch/eayucnvRLmPlTnUCmlA8ERLJITU0lLy+PvXv3Oh1KwAoPDyc1NXX/dlV9E+vzylmfX8bavHLW55Wzs+TAdOFhSVFMG5bAuNR4xqXEMWZQDDHdebdR7ifwxrVQvBnSvgPzf2/HKJRSPhEQySIkJISMjAynwwhYdY1ucgoq+GB1HuvzylmbV8a2fQfGGFL7RTA+NY7zp6YxPiWOY1LjfHcbasGX8MkD8NUbtgDf+f+ys661RamUTwVEslDdK7+sluzcErJyS1izo4xvCiv3ryuQHBPGhNQ4zpiYwvjUOMalxJEYHeb7oOor4Y3rYMNLgMCUy+HEX0Bkgu/fWymlyaKvc3sMm/ZUkr2jhKzcUrJzS9hdbscZosOCmZQWz5zRwxmfGsf41HgGxrU/btHtakog+zF4/267PfZMmPs7u+KaUqrHaLLog4oq6vjwm718+M1eVmzZR1lNIwADY8PJTO/HlPQEMtP7MXpgrHMrgjXWweq/wwf3QGMNjDgNjlsMI052Jh6l+jhNFn3EjuJq3tmwh3dy9vDFzjLAdinNGT2AmSMSmZKeQEp8hPN3k5XnwYe/s2MStaU2SZz8K7sgkFLKMZosAlh5TSNL1xXw8po8vtxlE8S4lDhuOm0UJ43uz+iBMc4nB7CltPOyYO1z8MUz9jbYUafD1MUwbLbT0Sml0GQRkDbkl7Pkk+38e91uGpo8jBoQwy3zRzN/3CBS+0U6HZ5lDOzbbAes170IpdvtojvjFsHxN0DicKcjVEq14NNkISJzgT8BLuAfxph7Dnk+DXgSiPcec7Mx5i1fxhSojDEs31TE3z7YxurcEiJDXZw7ZQhnZw5h7ODY3tGCqK/0Lhn6IWx8HaqLAIGM42HWTTDmu3ZRHqVUr+OzZCEiLuAh4BQgD8gSkaXGmI0tDvsl8KIx5q8icjTwFpDuq5gCkTGGjzfv4773vuHLXWWkxEfwy9PHcPaUIb2j5HbFbrsq3Rf/hB2f2H3BEXDUHPtv5DyIHeRsjEqpDvmyZXEcsMUYsw1ARJ4HzgBaJgsDNP8pGQcU+DCegLOlqIo73sjh4837GBwXzm/PGseiY1MPr66SLzTWwfYP4dM/23pNAJFJMHwOTPsxZMyC4CMo86GU6nG+TBYpwK4W23nA1EOOuR1YJiL/C0QBel9kJ9Q0NHH/e9/w+Ce5RIS6uHXB0Vw4LY2wYIdrItWWwooH4PMn7eOIBDtxbuRcGHAMBDmcxJRSXebLZNFaJ/mhpUvPA54wxvxRRKYDT4vIMcYYT8uDRGQxsBggLS3NJ8H6i1XbirnppXXsLKnh3ClDuOm0UT0zg7o91ftg5V/t2ta1JbZrKfMyGDoDwqKdjU0p1S18mSzygCEttlP5djfT5cBcAGPMZyISDiQBRS0PMsY8AjwCdqU8XwXcm9U3ufnd25tY8sl20hIieWHxNKYOS3Q2qIYaOyci6x924lz6TJj1MztgrZQKKL5MFlnACBHJAPKBc4HzDzlmJzAHeEJExgDhgJaOPcSO4mp+8uwXrM8v56JpQ/n5/NFEhjp413PVXljzOKx82HY3DZsN8+4FXbZUqYDlsyuOMaZJRH4CvIu9LXaJMSZHRO4Eso0xS4EbgEdF5HpsF9Wlxt8WBfexd3P2cOOLaxGBRy46llPHDnQumIYae8vr0v8FTyOkHw+zbtSJc0r1AT7989Q7Z+KtQ/bd1uLxRmCGL2PwVx6P4c/vb+H+/3zDhNQ4HrpgsnMT6txN8MXT8N877ZhEbCqc9Xfb7aSU6hN0BncvVNfo5oYX1/Lm+t2cNSmF35w1jvAQB+50cjfCuhfgoz/YGdapU2D6/TB6Abj0q6NUX6L/x/cypdUNXPlUNmt2lnLL/NFcefywnp997W60cyRW/tXOsh40Ac55BkafrosMKdVHabLoRfJKa7h4yWrySmv5y3mTOX18D89sbmqwg9bLf2OL+Q2ZCmc8pCvRKaU0WfQWW/dWcdE/VlFV38Q/L5/KcRk9uAKcxwMbXob3boXK3TB4Eow7G6b/uOdiUEr1aposeoGNBRVc9NgqAJ5bPI2xg+N65o2bGuCrpfDBb6F4CyQeZde0Hnlqz7y/UspvaLJw2JodpVz2+GqiwoL55xVTGZ7cQzOeCzfCqz+EPesgoh+c9ait+hoS0TPvr5TyK5osHPTpln1c8VQ2/WPC+OcVU3vm1tjd6+D9u2DLf2ztpu/+CSZeqHc3KaXapVcIh3y6dR//82QWaQmR/PPyqfSPDfftGxpjy3K8/X92sHrm9bYCbFSSb99XKRUQNFk4YNW2Yi5/Ipu0hEieu3Ka7wsB7vgM3rwBinIgLBbOfxGGTvfteyqlAoomix6WnVvCZU9kMTg+nGeu8HGiaKiBt26EL5+BkCh7G+yE8yDI4VLmSim/o8miB63ZUcolS1YzMDac566cRnKMDxPFjk9tl9OedbaG06LHITrZd++nlApomix6yJe7yrh0yWqSY8J49sppvh2j+PiPto5T9AA783rMAt+9l1KqT9Bk0QPW55Vz0WOr6BcVynOLpzEwzkeJongrLLsVNr0J434A330QQh0qPqiUCiiaLHxs694qLnl8NbHhITx75VQGxfloHkPOa/DS/9h5EtN+DKfcpbfDKqW6jV5NfKiwoo6LH1uNgO/mUVTt9ZYPvwOSRsIFL0G/od3/PkqpPk2ThY+U1zZyyZLVlNU08Pzi6WQkRXX/m5TtgufOg8L1MHgynP8CRPfv/vdRSvV5mix8oK7RzZVPZrN1bxWPX3oc41J9UOspbw08MR+a6uDk2+0kO6WU8hFNFt3MGMMtr65ndW4JD543iZkjunmGtMcNW9+Hf11mWxHfXwJDpnTveyil1CE0WXSzpz7bwSuf53PdySNYOGFw9568tgz+eRbkr7HjExe/DrHd/B5KKdUKTRbdaNW2Yu7690ZOHtOfa04a0b0nb6iG58+Hgi/gtN/CpAsgvIdKmSul+jxNFt1kd3ktVz/7OWkJkdx3zkSCgrpxZbn1L8F/7oCKPFj4F5solFKqBwV1dICIHN3Kvtk+icZPeTyG657/ktoGN49cfCyx4SHdc2JjIPtxePlyO7nu4qWaKJRSjuhMy+JFEXka+D0Q7v2ZCWjZUq9nVu1g1fYSfv/98RzVP6Z7TurxwJvXw5onIGmUHZ+IGdg951ZKqcPUYcsCmAoMAT4FsoACYIYvg/Inu0pq+O3bX3P8iCR+kJnaPSct2Q5/n2UTRdp0uGqFJgqllKM607JoBGqBCGzLYrsxxuPTqPyEMYafv7IeAX571jhEumGcYlcWPLXQzp844WaYfbNdrEgppRzUmZZFFjZZTAFmAueJyEs+jcpPvJi9ixVb9nHz/DFHXsrDGFvf6fF5tr7TVSvgxJ9rolBK9QqdaVlcbozJ9j7eA5whIhf5MCa/UFHXyO/e2cRx6QlccFzakZ2srgJeWQzfvA0Jw+CE/4MBY7snUKWU6gadSRZFInLo1fBDXwTjT/76wVZKqhu49bKjj+w22eKt8PrVkJcFp/0Gpl6lK9kppXqdziSLNwEDCHbMIgPYBPTZP333lNexZMV2zpyU0vW6T8bA1/+GFy602/PuhamLuy9IpZTqRh0mC2PMuJbbIjIZ+KHPIvIDD3+wBbfH8NNTRnbtBI21dm3sL/4JcUNg0RIYclz3BqmUUt3osGdwG2M+F5E+W7lud3ktz6/exQ8yUxmS0IVB7fJ8eGYRFG2ESRfaRYoiE7o/UKWU6kYdJgsR+WmLzSBgMrC3MycXkbnAnwAX8A9jzD2tHHM2cDu2q2utMeb8zpzbKY98tA2PMVx94lGH/+LPHoZlvwTjtrfFnvjz7g9QKaV8oDMti5ZTkpuwYxgvd/QiEXEBDwGnAHlAlogsNcZsbHHMCODnwAxjTKmI9OqVe8prGnkhaxcLJw4+vFtlG6rhw9/DJw/A6AVw2q+hX7rP4lRKqe7WmTGLO7p47uOALcaYbQAi8jxwBrCxxTFXAg8ZY0q971XUxffqEc+s3kFNg5srZg7r/Iu2Loenv2cfj1kIix7XtbGVUn6nzauWiLyB7RpqlTFmYQfnTgF2tdjOw5YOaWmk970+wXZV3W6MeaeD8zrC7TE8/dkOZhyVyNGDYzv3og/ugY/uhdAYOO1umHyJTrJTSvml9v7E/cMRnru1q+KhyScYGAHMBlKBj0XkGGNM2UEnElkMLAZISzvCCXBd9PHmvewur+PWBd8qwvtt7kZ4+/8g+zHIOAHO/JsuUqSU8mvtJYvbjDFzROR3xpj/68K587AFCJulYosQHnrMSmNMI7BdRDZhk0dWy4OMMY8AjwBkZma22drxpX+tySM+MoQ5YzoYVsldAW9cB8WbYegM+N5fNVEopfxee8likIicACz0jjcc1FIwxnzewbmzgBEikgHkA+cCh97p9BpwHvCEiCQ+eSUhAAAX7ElEQVRhu6W2HUb8PaKspoH3cgo5f2oaYcHtzK5uqIEXLoLwWDjveRg5V7udlFIBod2WBXAztkXwRw5OFgY4qb0TG2OaROQnwLvY8YglxpgcEbkTyDbGLPU+d6qIbATcwE3GmOIu/zY+8vqXBTS4PZydOaTtgza/B/+5HWpL4NxnYOh3eiw+pZTyNTGm/V4dEbnVGHNXD8XToczMTJOdnd3xgd3o9Ac/BuDNa45v/YDsx+Hf10FIJMy6CWZery0KpVSvIiJrjDGZXX19Z26d7TWJwgk5BeXkFFRwx8I2SmEV5sDbP4PBk+yyp+GdvFNKKaX8SGfWs+jT3ly3G1eQsHBCK4PU1cXwr8vs+hOLlmiiUEoFLJ0d1oFlGwuZmpFAv6jQg58wxnY97dsEC/9s16FQSqkA1d6kvHar2xljSro/nN5l694qthRVceHUQ+Z2GGNrPH21FGbfApMvdiZApZTqIe21LNZwYB2LNKDU+zge2Ild1yKgLcspBODUsQMPfmLTW/DZX+xCRSf8zIHIlFKqZ7U5ZmGMyTDGDMPe3vpdY0ySMSYRWAC80lMBOundnD2MS4ljcHzEgZ2NdbD0GkgeDaferXc9KaX6hM4McE8xxrzVvGGMeRs4wXch9Q6FFXV8uauM08YOOPiJ3BVQsw9Ovh1cIU6EppRSPa4zA9z7ROSXwD+x3VIXAr1u4lx3W7axlS6oykJYcZ8tDDjsRIciU0qpnteZlsV5QDLwqvdfsndfQPvvV4WkJ0Yyon/0gZ1PLoC8LDjlDggJdy44pZTqYZ2ZlFcCXCsi0caYqh6IyXH1TW5Wbivm3ClpSPOYxOb3YN83MO/3MOVyZwNUSqke1mHLQkS+463dtNG7PUFEHvZ5ZA5ak1tKXaOH40ckHdj57i2QPEZvk1VK9Umd6Ya6HzgN7ziFMWYtMMuXQTnto837CHEJ04Yl2h1lO22rYvLFdra2Ukr1MZ0q92GM2XXILrcPYuk1Pt68l8lp/YgK8/bS5a6wP4fNdiokpZRyVGeSxS4R+Q5gRCRURG4EvvJxXI7ZV1VPTkEFs0Ym2x3GwDfvQGg0JI9yNjillHJIZ5LFVcDV2DW184CJ3u2A9MmWfQAHxiv+eydsfB2m/hCC2ln4SCmlAlhn7obaB1zQA7H0Ch99s49+kSGMHRxnWxVZ/4Ax34WTbnU6NKWUckx7hQT/jJ2E1ypjzDU+ichhK7cVM314Iq4gsZPw6isg/Xgt66GU6tPaa1n07HJ0vUB+WS35ZbVceby3RmKOtwRW4nDnglJKqV6gzWRhjHmyJwPpDbJzbdX1zPQE2LsJ3vk5DD8JMgK+FJZSSrWrM5Py3hOR+Bbb/UTkXd+G5YzV20uIDgtmzKBYyHoMXKFw1qNaMFAp1ed15m6oZGNMWfOGMaYU6O+7kJyTnVvK5KH97HjFvk0wcBxEJXX8QqWUCnCdSRZuEdm/VJyIDKWdgW9/VVbTwKbCSo5L72d31JZBZLuLBSqlVJ/RmRLlvwBWiMiH3u1ZwGLfheSMNTtKAe94hbsJqoogaaTDUSmlVO/QbrIQW3I1B5gMTMMuq3q9d+5FQFmdW0KIS5g4JB4+/RNUFsDI05wOSymleoV2k4UxxojIa8aYY4F/91BMjsjOLWVcShzhwUHw+VN2bsW4RU6HpZRSvUJnxixWisgUn0fioLpGN+vyypiSkQCbl0HpdphwrtNhKaVUr9GZMYsTgR+KyA6gGtsVZYwx430aWQ9au6uMRrdhakokvHWTHasYd7bTYSmlVK/RmWQxz+dROCzLOxlvqvkCynbA+f+C4FCHo1JKqd6jvdpQscaYCqCyB+NxxJodpYzoH01UTY7dkXKsswEppVQv017L4llgAbAGO6+iZSU9AwzzYVw9xhjDurxyThzdH0q22XUrdH6FUkodpL3aUAu8PzN6Lpyel19WS3F1AxNS42D9Ghg8SSvMKqXUITpTG+pMEYlrsR0vIt/rzMlFZK6IbBKRLSJyczvHLRIRIyKZnQu7+6zLKwdg/OAY2LPeJgullFIH6cyts78yxpQ3b3jrRP2qoxeJiAt4CDtAfjRwnogc3cpxMcA1wKrOBt2d1uWVE+ISRicY8DRC7GAnwlBKqV6tM8mitWM6cxfVccAWY8w2Y0wD8DxwRivH3QX8HqjrxDm73bq8MsYMiiWswZsPI3S8QimlDtWZZJEtIveJyHARGSYi92MHvTuSAuxqsZ3n3befiEwChhhj2p0dLiKLRSRbRLL37t3bibfuHI/HsD6vnHEpcXZwGyCiX7edXymlAkVnksX/Ag3AC8C/sC2AqzvxutZGifdXqxWRIOB+4IaOTmSMecQYk2mMyUxOTu7EW3fO9uJqKuubOC7ZDa/9GGJTYUhAT1ZXSqku6bA7yRhTDbQ5ON2OPGBIi+1UoKDFdgxwDPCBrVfIQGCpiCw0xvTIkq7r8uwyHd8pfwOqi+CqFdqyUEqpVnSYLERkJHAjkN7yeGPMSR28NAsYISIZQD5wLnB+i9eXA/tXFhKRD4AbeypRgB3cjgoRkjY9B8Nm28WOlFJKfUtnBqr/BfwN+Afg7uyJjTFNIvIT4F3ABSwxxuSIyJ1AtjFmaVcC7k7r8sr5XnIBUpIPp9zpdDhKKdVrdSZZNBlj/tqVkxtj3gLeOmTfbW0cO7sr79FVTW4POQXlnD+iBkqA/t+6q1cppZRXZwa43xCRH4vIIBFJaP7n88h87JvCKuoaPYyMqrE7ogc4G5BSSvVinWlZXOL9eVOLfX5fG6p5cHuoJ8/Wg9KBbaWUalNn7oYKyNpQ6/LLiQ13EbNruR3cDupMI0sppfqmNq+QIvKzFo9/cMhzv/FlUD1hXV4Z8weUIRV5MOJUp8NRSqlerb0/p1uuK/rzQ56b64NYekx9k5tNeyr5Tkyh3ZE2zdmAlFKql2svWUgbj1vb9iubC6todBuOiqi2O2IGOhuQUkr1cu0lC9PG49a2/UpOgS0amBJcDsHhEBbrcERKKdW7tTfAPUFEKrCtiAjvY7zb4T6PzIdyCiqIDnMRW/AxDDhGFztSSqkOtLdSnqsnA+lJOQUVnJRcgRTmwLx7nQ5HKaV6vT53v6jHY/hqdwXHR++2O3RwWymlOtTnkkVucTU1DW7GBu8CcUHyKKdDUkqpXq/PJYucAjv0kla7EZJGQHCYwxEppVTv1yeTxZTgzUTnfwLHLHI6HKWU8gudqQ0VUHIKyrkmYhmEJMK0HzkdjlJK+YU+1bIwxvB1finHutfCqHkQFu10SEop5Rf6VLIoqqxnUO03RHqqYNiJToejlFJ+o08li5yCcmYE5diNjBOcDUYppfxI30oW+RWMCtqJJy4NopOdDkcppfxG30oWBRWkhlQTFKOr4iml1OHoU8li4+4KBgZXQpS2KpRS6nD0mWRRUdfIzpIaEkw5RCU5HY5SSvmVPpMsNhZUkCaFRDYWQ/IYp8NRSim/0meSRU5BBScFfWE3Rvn1Qn9KKdXj+lCyKGde6JeQNBIShjkdjlJK+ZU+kyxy8/dwrNkII7VVoZRSh6tPJIu6RjeD9n1GME2aLJRSqgv6RLL4prCSE+QLGkLiYMhUp8NRSim/0yeSxYb8CsYFbcOdMgVcfa7QrlJKHbE+kSw25hdzVFAB4SnjnA5FKaX8Up/4M7ts50ZCcMOAo50ORSml/JJPWxYiMldENonIFhG5uZXnfyoiG0VknYj8V0SGdncMjW4PIcVf243+miyUUqorfJYsRMQFPATMA44GzhORQ6/WXwCZxpjxwEvA77s7js2FVQwzO/GIy665rZRS6rD5smVxHLDFGLPNGNMAPA+c0fIAY8xyY0yNd3MlkNrdQWwoKGeU7KIpfhgEh3X36ZVSqk/wZbJIAXa12M7z7mvL5cDb3R1ETn45I4MKCBmoXVBKKdVVvhzgllb2mVYPFLkQyARaXb5ORBYDiwHS0tIOK4gNBRUMDCpF4rq90aKUUn2GL1sWecCQFtupQMGhB4nIycAvgIXGmPrWTmSMecQYk2mMyUxO7vxaFG6PYXtBEeGmTsuSK6XUEfBlssgCRohIhoiEAucCS1seICKTgL9jE0VRdwewfV8VkU2ldiO6f3efXiml+gyfJQtjTBPwE+Bd4CvgRWNMjojcKSILvYfdC0QD/xKRL0VkaRun65IN+RUkUWE3dHU8pZTqMp9OyjPGvAW8dci+21o8PtmX778hv5zZIRvsRr8MX76VUkoFtIAu97FzZy4/dL0BoxdA8kinw1FKKb8VsMnC7TFMK3yWUNMAJ9/hdDhKKeXXAjZZbNtbxYlmNUX9Z0DSUU6Ho5RSfi1gk8WWr9aSEVRI8KhTnQ5FKaX8XsAmC8/mZQAkTlzgcCRKKeX/AjZZDC76mPzgIQQl6l1QSil1pAIyWdTXVjG2YR15STOdDkUppQJCQCaL7Vu+JlSaCBsy2elQlFIqIARksti1YysAKUPSnQ1EKaUCREAmi8KCnQAkDer2hfeUUqpPCshkUb7XLqMhMQMdjkQppQJDwCWLPeV1hNUW0RQUDmGxToejlFIBIeCSRVZuCamyD3f0IJDW1l9SSil1uAIuWWTnljA+aDshqROdDkUppQKGT0uUO+GbbdsYLPsg9VinQ1FKqYARUC2LirpGTi95AoNARqvLeSullOqCgEoWuZ+9yoWu/1Iw5nIYNN7pcJRSKmAETrKoq2DYpzfztRlCv+/e6XQ0SikVUAInWRR8QXRjMa8mXElkZJTT0SilVEAJmGRRU2RLfAwcPsHhSJRSKvAETLIoyN1Ekwli/NijnQ5FKaUCTsAki6o9W9lDIuPTkpwORSmlAk5AJAtjDK7yHVRFpBDiCohfSSmlepWAuLKuzytjoKeQsORhToeilFIBKSCSRe7Hz5Es5fQfoyvjKaWUL/h/sqgrZ8bme9kWchRRUy9xOhqllApIfp8sipfeSrynlI3H3gWugCt1pZRSvYJ/J4vyPPpt/CfPeU5hxvEnOx2NUkoFLL9OFu7Vj2EwfDXsUvpFhTodjlJKBSz/7bdprKMp63E+dE9izvRMp6NRSqmA5p8tC2Mwy35JWEMpy6LPYPbI/k5HpJRSAc2nyUJE5orIJhHZIiI3t/J8mIi84H1+lYikd+rEb/8MyXqUR5pOZ+pJZxIUpMunKqWUL/msG0pEXMBDwClAHpAlIkuNMRtbHHY5UGqMOUpEzgV+B5zT7onL82D1I5jpP2HssOuYkpHoo99AKaVUM1+2LI4DthhjthljGoDngTMOOeYM4Env45eAOSLSfjOhei9M/wly6t3MGJFMaLB/9qQppZQ/8eWVNgXY1WI7z7uv1WOMMU1AOdB+UyG6P5x6N3SQU5RSSnUfXyaL1q7mpgvHICKLRSRbRLL31odqolBKqR7my2SRBwxpsZ0KFLR1jIgEA3FAyaEnMsY8YozJNMZkJicn+yhcpZRSbfFlssgCRohIhoiEAucCSw85ZinQXNBpEfC+MeZbLQullFLO8tndUMaYJhH5CfAu4AKWGGNyROROINsYsxR4DHhaRLZgWxTn+ioepZRSXefTGdzGmLeAtw7Zd1uLx3XAD3wZg1JKqSOn950qpZTqkCYLpZRSHdJkoZRSqkOaLJRSSnVI/O1OVRGpBDY5HUcvkQTsczqIXkI/iwP0szhAP4sDRhljYrr6Yn9cz2KTMUYXsABEJFs/C0s/iwP0szhAP4sDRCT7SF6v3VBKKaU6pMlCKaVUh/wxWTzidAC9iH4WB+hncYB+FgfoZ3HAEX0WfjfArZRSquf5Y8tCKaVUD/OrZNHRmt6BSkSGiMhyEflKRHJE5Frv/gQReU9ENnt/9nM61p4iIi4R+UJE/u3dzvCu477Zu657qNMx9gQRiReRl0Tka+/3Y3pf/V6IyPXe/z82iMhzIhLel74XIrJERIpEZEOLfa1+F8R60HstXScikzs6v98kixZres8DjgbOE5GjnY2qxzQBNxhjxgDTgKu9v/vNwH+NMSOA/3q3+4prga9abP8OuN/7WZRi13fvC/4EvGOMGQ1MwH4mfe57ISIpwDVApjHmGGyl63PpW9+LJ4C5h+xr67swDxjh/bcY+GtHJ/ebZEHn1vQOSMaY3caYz72PK7EXhBQOXsP8SeB7zkTYs0QkFTgd+Id3W4CTsOu4Qx/5LEQkFpiFLfWPMabBGFNGH/1eYOeNRXgXUosEdtOHvhfGmI/49uJxbX0XzgCeMtZKIF5EBrV3fn9KFp1Z0zvgiUg6MAlYBQwwxuwGm1CA/s5F1qMeAH4GeLzbiUCZdx136DvfjWHAXuBxb5fcP0Qkij74vTDG5AN/AHZik0Q5sIa++b1oqa3vwmFfT/0pWXRqve5AJiLRwMvAdcaYCqfjcYKILACKjDFrWu5u5dC+8N0IBiYDfzXGTAKq6QNdTq3x9sWfAWQAg4EobFfLofrC96IzDvv/GX9KFp1Z0ztgiUgINlE8Y4x5xbu7sLnp6P1Z5FR8PWgGsFBEcrFdkSdhWxrx3u4H6DvfjTwgzxizyrv9EjZ59MXvxcnAdmPMXmNMI/AK8B365veipba+C4d9PfWnZNGZNb0DkrdP/jHgK2PMfS2earmG+SXA6z0dW08zxvzcGJNqjEnHfgfeN8ZcACzHruMOfeez2APsEpFR3l1zgI30we8FtvtpmohEev9/af4s+tz34hBtfReWAhd774qaBpQ3d1e1xa8m5YnIfOxfkc1rev/a4ZB6hIjMBD4G1nOgn/4W7LjFi0Aa9n+WHxhjDh3gClgiMhu40RizQESGYVsaCcAXwIXGmHon4+sJIjIRO9AfCmwDLsP+EdjnvhcicgdwDvbuwS+AK7D98H3ieyEizwGzsZV2C4FfAa/RynfBm1D/gr17qga4zBjTbqFBv0oWSimlnOFP3VBKKaUcoslCKaVUhzRZKKWU6pAmC6WUUh3SZKGUUqpDmiyUUkp1SJOF8ksi4haRL73lqN8QkfjDfP3tInKj9/GdInLyEcaTLiK1IvLlkZynO4nIOd4S1P92Ohbl/zRZKH9Va4yZ6C1HXQJc3dUTGWNuM8b8pxti2mqMmXg4L/CW3vcJY8wL2IlpSh0xTRYqEHyGt2KmiESLyH9F5HMRWS8i+8vYi8gvxC6e9R9gVIv9T4jIIu/jXBFJ8j7OFJEPvI9P8LZkvvRWeI3pKCgReU1E1ngX5FncYn+VtzWzCpguIlNE5FMRWSsiq0UkRkTGeh9/6V2cZoT3tRe22P/35mQjdmGwz73n+O+Rf6RKHSy440OU6r28F8s5eNd0AOqAM40xFd6L/koRWYotsHcutrx7MPA5toR1Z90IXG2M+cRb/beuE6/5H29phQggS0ReNsYUYyuibjDG3Oatc/Y1cI4xJsu7RkUtcBXwJ2PMM95jXCIyBlvOYoYxplFEHgYuEJG3gUeBWcaY7SKScBi/l1KdoslC+asI7/hAOvai/553vwC/EZFZ2DpaKcAA4HjgVWNMDYA3gRyOT4D7ROQZ4BVjTF4nXnONiJzpfTwEuypZMeDGVhAG28LZbYzJAmguPS8inwG/8C709IoxZrOIzAGOxSYegAhsFdFpwEfGmO3ecwR8HSjV87QbSvmrWu/4wFBsEb3mMYsLgGTgWO/zhUC497nOFEJr4sD/F82vwxhzD7b/PwLbWhnd3km8RQ5PBqYbYyZgi9g1n6/OGONuPrS1uIwxzwILsa2Md0XkJO+xT3rHaiYaY0YZY25v6xxKdSdNFsqvGWPKsWsv3+hd8yMOuzhSo4iciE0mAB8BZ4pIhHe84bttnDIX+9c7wPebd4rIcGPMemPM74BsoN1k4Y2j1BhT400s09o47mtgsIhM8b5PjIgEe6vobjPGPIgtJz0eu4byIhHp7z02QUSGYsdsThCRjOb9HcSm1GHTbijl94wxX4jIWuyYxDPAGyKSDXyJvRhjjPlcRF7w7tuBLfnemjuAx0SkuQR8s+u8yceNXSfh7Q7Cege4SkTWAZuAlW3E3iAi5wB/9o5t1GJbJOcAF4pII7AHuNM7/vFLYJmIBAGN2HGUld4B9Fe8+4uAUzqIT6nDoiXKleoGYtdG/7f3Vt5eo+WaH07HovybdkMp1T3cQFxvm5QHPAyUOh2L8n/aslBKKdUhbVkopZTqkCYLpZRSHdJkoZRSqkOaLJRSSnVIk4VSSqkO/T9/jRAXnZ0U1wAAAABJRU5ErkJggg==\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 30\" where our PSF is well behaved" ] }, { "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.plot(radiuseff, valeff, label='Calibration')\n", "plt.plot(radii, encircled_flux/np.max(encircled_flux), label='Our PSF')\n", "plt.xlim([0, 30])\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": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "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(radiuseff, valeff, label='Calibration')\n", "plt.plot(radii, encircled_flux/np.max(encircled_flux), 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": 26, "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 3 and 10\"\n", "idx, = np.where((radii > 2) & (radii < 7))\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": 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.imshow(np.log(resid))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This shows a minimum, with some degeneracy. " ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rf = 1.076, ff = 1.000, residual = 0.002\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": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 29, "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, 200])\n", "plt.xlabel('Radius [arcsec]')\n", "plt.ylabel('Encircled flux')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7.5654035" ] }, "execution_count": 30, "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": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "# As units of map in MJy/sr, divide by 1E6\n", "#psfok=psfok/1.0E6" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Validation\n", "To check PSF is reasonable, lets look at a 160 micron source, e.g. `BOO-PACSxID24-Bootes-HerMES-1-29596`. We can see from `Bootes_PACS160_v0.9.fits` that it has a flux of 11.5 mJy. Maximum value in our normalised PSF gives a peak below. Since PSF is double resolution of map, it could also be off centre. \n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from astropy.table import Table" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "PACScat=Table.read('./data/Bootes-HerMES_PACSxID24_v1.fits')" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<Column name='HELP_ID' dtype='bytes35' length=74562>\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
BOO-PACSxID24-Bootes-HerMES-1-00001
BOO-PACSxID24-Bootes-HerMES-1-00002
BOO-PACSxID24-Bootes-HerMES-1-00003
BOO-PACSxID24-Bootes-HerMES-1-00004
BOO-PACSxID24-Bootes-HerMES-1-00005
BOO-PACSxID24-Bootes-HerMES-1-00006
BOO-PACSxID24-Bootes-HerMES-1-00007
BOO-PACSxID24-Bootes-HerMES-1-00008
BOO-PACSxID24-Bootes-HerMES-1-00009
BOO-PACSxID24-Bootes-HerMES-1-00010
BOO-PACSxID24-Bootes-HerMES-1-00011
BOO-PACSxID24-Bootes-HerMES-1-00012
...
BOO-PACSxID24-Bootes-HerMES-1-74551
BOO-PACSxID24-Bootes-HerMES-1-74552
BOO-PACSxID24-Bootes-HerMES-1-74553
BOO-PACSxID24-Bootes-HerMES-1-74554
BOO-PACSxID24-Bootes-HerMES-1-74555
BOO-PACSxID24-Bootes-HerMES-1-74556
BOO-PACSxID24-Bootes-HerMES-1-74557
BOO-PACSxID24-Bootes-HerMES-1-74558
BOO-PACSxID24-Bootes-HerMES-1-74559
BOO-PACSxID24-Bootes-HerMES-1-74560
BOO-PACSxID24-Bootes-HerMES-1-74561
BOO-PACSxID24-Bootes-HerMES-1-74562
" ], "text/plain": [ "\n", "BOO-PACSxID24-Bootes-HerMES-1-00001\n", "BOO-PACSxID24-Bootes-HerMES-1-00002\n", "BOO-PACSxID24-Bootes-HerMES-1-00003\n", "BOO-PACSxID24-Bootes-HerMES-1-00004\n", "BOO-PACSxID24-Bootes-HerMES-1-00005\n", "BOO-PACSxID24-Bootes-HerMES-1-00006\n", "BOO-PACSxID24-Bootes-HerMES-1-00007\n", "BOO-PACSxID24-Bootes-HerMES-1-00008\n", "BOO-PACSxID24-Bootes-HerMES-1-00009\n", "BOO-PACSxID24-Bootes-HerMES-1-00010\n", "BOO-PACSxID24-Bootes-HerMES-1-00011\n", "BOO-PACSxID24-Bootes-HerMES-1-00012\n", " ...\n", "BOO-PACSxID24-Bootes-HerMES-1-74551\n", "BOO-PACSxID24-Bootes-HerMES-1-74552\n", "BOO-PACSxID24-Bootes-HerMES-1-74553\n", "BOO-PACSxID24-Bootes-HerMES-1-74554\n", "BOO-PACSxID24-Bootes-HerMES-1-74555\n", "BOO-PACSxID24-Bootes-HerMES-1-74556\n", "BOO-PACSxID24-Bootes-HerMES-1-74557\n", "BOO-PACSxID24-Bootes-HerMES-1-74558\n", "BOO-PACSxID24-Bootes-HerMES-1-74559\n", "BOO-PACSxID24-Bootes-HerMES-1-74560\n", "BOO-PACSxID24-Bootes-HerMES-1-74561\n", "BOO-PACSxID24-Bootes-HerMES-1-74562" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "PACScat['HELP_ID']" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=1\n", "\n", "\n", "\n", "\n", "\n", "
XIDRADecF_PACS_100__A4F_PACS_100__A5F_PACS_100__A6F_PACS_100__A7F_PACS_100__A8F_PACS_100__A10F_PACS_100Ferr_PACS_100__A4Ferr_PACS_100__A5Ferr_PACS_100__A6Ferr_PACS_100__A7Ferr_PACS_100__A8Ferr_PACS_100__A10Ferr_PACS_100F_PACS_100__SKYF_PACS_160__A4F_PACS_160__A5F_PACS_160__A6F_PACS_160__A7F_PACS_160__A8F_PACS_160__A10F_PACS_160Ferr_PACS_160__A4Ferr_PACS_160__A5Ferr_PACS_160__A6Ferr_PACS_160__A7Ferr_PACS_160__A8Ferr_PACS_160__A10Ferr_PACS_160F_PACS_160__SKYHELP_ID
degdegmJymJymJymJymJymJymJymJymJymJymJymJymJymJymJy / pixmJymJymJymJymJymJymJymJymJymJymJymJymJymJymJy / pix
int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32bytes35
61476217.556635.15445310.395599.1598327.587965511.14749315.0203216.32218220.63888412.97944511.79046911.58840911.69566212.2691813.7872458.4472920.022.0522624.61328329.68615730.62503829.6285623.0408311.53027218.32568615.44810414.35449813.56882313.19767713.57039810.5943070.0BOO-PACSxID24-Bootes-HerMES-1-29596
" ], "text/plain": [ "\n", " XID RA Dec ... F_PACS_160__SKY HELP_ID \n", " deg deg ... mJy / pix \n", "int32 float32 float32 ... float32 bytes35 \n", "----- -------- --------- ... --------------- -----------------------------------\n", "61476 217.5566 35.154453 ... 0.0 BOO-PACSxID24-Bootes-HerMES-1-29596" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "PACScat[PACScat['HELP_ID']=='BOO-PACSxID24-Bootes-HerMES-1-29596']" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Max PSF = 0.0004 My/pix, off pixel Max PSF = 0.0004 Jy/pix\n" ] } ], "source": [ "cpix=np.int((hd['NAXIS1']+1)/2.0)\n", "\n", "print(\"Max PSF = {:.4f} My/pix, off pixel Max PSF = {:.4f} Jy/pix\".format(psfok[cpix-1,cpix-1]*0.0115,psfok[cpix-2,cpix-2]*0.0115))" ] }, { "cell_type": "code", "execution_count": 37, "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: Cannot determine equinox. Assuming J2000. [aplpy.wcs_util]\n", "WARNING: Cannot determine equinox. Assuming J2000. [aplpy.wcs_util]\n", "/home/mc741/anaconda3/lib/python3.6/site-packages/aplpy/normalize.py:115: RuntimeWarning: invalid value encountered in less\n", " negative = result < 0.\n" ] }, { "data": { "image/png": "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XdFHRUVFOpUkvNO2e/duvfPOO6qpqdGZZ56pwYMH68ILL1SnTvxnCgAAAB3FNbRt2rRJv/jFL1RXV6dvfOMb6t27t0KhkNauXasdO3YoMzNTkydPjvidawAAAEgO19C2bt063X///c4vum2tsbFRr732mt544w1lZmYmtUAAAAC0Edruuusu90EpKRo1alRSCgIAAECsNj/TtmHDBq1du1bBYFAej0der1fp6enOtzQBAADQMVxD209/+lNVVVUpNzfX+RUXwWBQv/71r7V+/Xrdc889HVYkAADA6c41tK1fv15r1qyJaR8zZgyfYwP3EGvTAAAgAElEQVQAAOhgrr+3IzU1VZWVlTHt77//vs4888ykFgUAAIBIrnfaFi5cqLlz52r//v3y+XySpF27dqlr16568MEHO6xAAAAAtBHaLrjgAhUWFurvf/+7gsGgjDHy+Xw655xzOrI+AAAAKMG3R/fu3au333474tujw4cPV/fu3TuqPgAAAKiNz7SVlJQoLy9Pmzdv1sGDB3XgwAFt2rRJ48ePV0lJSUfWCAAAcNpzvdP2zDPPqKioKOauWn19vb773e8qNzc36cUBAADgsDb/13ePxxM7oFMnGWOSVhAAAABiud5pu/HGG5WXl6dhw4apX79+kqS//e1vevPNN3XTTTd1WIEAAABoI7Tl5eXJ7/fr9ddfd749OnToUN15553q0aNHR9YIAABw2mvz26M9evTQ0KFDI749SmADAADoeK6hbdu2bbrvvvu0d+9e+Xw+GWNUXV2t7t2767777tMFF1zQkXUCAACc1lxD2+zZszV//nxdcsklEe1btmzR3Xffrd///vdJLw4AAACHuX579ODBgzGBTZIuvfRSHTx4MKlFAQAAIJLrnbaRI0dq6tSpys3Ndf7v0erqapWUlGjEiBEdViAAAADaCG333HOP1q1bp/LyctXU1MgYo759++qHP/yhrr766o6sEQAA4LTX5rdHr776agIaAADAScD1M21NTU36r//6Lz322GN65513IrY9/fTTSS8MAAAALVxD25w5c/T222+rZ8+eWrBggR588EFn26uvvtohxQEAAOAw19BWWVmphx9+WJMmTdJLL72kAwcO6JZbblEoFOL/HgUAAOhgrqHt888/d35OSUnR/fffr/PPP1/XXXedDhw40CHFAQAA4DDX0HbhhRdq/fr1EW233HKLJkyYoL/+9a9JLwwAAAAtXL89umjRorjt+fn5ys/PT1pBAAAAiOUa2srKylwHpaamqn///ho4cGBSigIAAEAk19D2pz/9yXVQY2OjPvnkE11++eW65557klIYAAAAWriGtta/4iOecDis7Ozs414QAAAAYrl+EWHlypUKh8OuA3fu3Kl58+YlpSgAAABEcr3TVldXp9zcXF1wwQW68MIL1atXL4VCIf3f//2f3n77bfXq1Ut33nlnR9YKAABw2nINbT/60Y90zTXXaNOmTXrnnXf0l7/8RWeeeaYGDhyohx56SOeee25H1gkAAHBaa/M/jO/cubOGDRumYcOGdVQ9AAAAiMP1M20AAAA4eRDaAAAALEBoAwAAsEDC0PbII4+ooaHBeVxfX69HH300qUUBAAAgUsLQtn79enXv3t153KNHj5j/SB4AAADJlTC0NTU1KRQKOY8PHToU8RgAAADJ1+av/JCkcePG6Uc/+pHGjx8vj8ejl19+Wbm5uR1RGwAAAI5IGNpuuOEGDRkyRBs3bpQxRjfddJNGjBjREbUBAADgiIShTZIGDhyolJQUXXXVVTp48KD27dunrl27Jrs2AAAAHJHwM20vvfSSpk+frjlz5kiSgsGgbr755qQXBgAAgBYJQ9uLL76o3/72t86dta9+9avas2dP0gsDAABAi4ShLTU1Vampqc7jxsbGpBYEAACAWAk/0/bNb35TP//5z3Xo0CG98cYb+s1vfiO/398RtQEAAOCIhHfaZs6cqd69e2vw4MH63e9+p6uvvlozZszoiNoAAABwRMI7bZ06ddKoUaM0atQo9e7duyNqAgAAQBTX0GaM0ZNPPqkXXnjBedypUyddc801uuWWWzqsQAAAALTx9uivfvUrvfPOO1qxYoU2b96st956S4WFhXr33Xe1bNmyDiwRAAAArqGtpKREDz/8sPr37++09e/fX//5n/+pkpKSDikOAAAAh7mGtsbGxrifYevduze/9gMAAKCDuYa2M844w3VQW9sAAABw/Ll+EeHDDz/U5ZdfHtNujFEoFEpqUQAAAIjkGtq2bdvWkXUAAACgDQl/uS4AAABOPEIbAACABQhtAAAAFiC0AQAAWIDQBgAAYAFCGwAAgAUIbQAAABYgtAEAAFiA0AYAAGABQhsAAIAFCG0AAAAWILQBAABYgNAGAABg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3GlDhG9+85vq0aNHu/vX1NRoypQpysjI0EMPPeS07du3T5dddpk8Ho9yc3NVXl4uSSovL1dubq4kKTc3V2vXrpV0+F+0d911lyZPniy/36+ysjI99NBDys7O1pQpU/T555/LGKNNmzYpMzNTkpSXl+fMW1FRoby8PElSZmamNm7cGPMvycrKSg0YMED9+/dXamqqsrKyVF5e3ua8r7zyisaOHatx48bphz/84TEd02jV1dV67bXXNHHixIR9T6fj0haPx6MuXbpIkhobG9XY2CiPx+Na3+zZs3Xffffp2muvVXp6ut566y3dfffdGj16tGbPni3p2M7T1l5//XUNGzZMPXv2VI8ePTRs2DBt2LChzXmXL1+uMWPGKDs7W7fffntyD5qO7nouKirSTTfdpBtvvFF+v18vvPCCfvnLXyo3N1ff/e53VVdXJ8n92DS3ezweXXrppWpoaFBNTU3EPo7lmL/11lvOXcHc3Fzt27cvKcfkwQcf1KxZs+TxeCLaP/74Y+c8Wr58uaRju2Y4J3E88Mt10S4vvviiSkpKdOGFF2r27NnOi962bdtUUlKi1NRUfec739G1116rf/zjH/L5fM5Yn8+nYDAoSdq9e7e8Xq8kyev1Om9DSNL27du1fPlyffLJJ/q3f/s3PfHEE/qP//gP3XzzzVq3bp0uv/xyde/eXSkpKTHzBoNB9evXT5KUkpKibt26qba2Vr1793bmDwaDEXX17dtXlZWVqq2tdZ336aef1nPPPae+ffuqoaHhuBzLBx54QLNmzdL+/fsj2h999FE99dRTSktL08yZM5WamnpaHZdEmpqaNH78eG3fvl0/+MEP1L9/f9f6JKmhoUHLly9XeXm5brzxRv32t7/VoEGDNHHiRG3btk2NjY3HdJ42i3fcgsFgTHvreZcuXaqKigqlpqZ22HGLx+16/uijj1RcXKxQKKRAIKCZM2eqpKREDzzwgEpKSjRp0iTXY+O27ua+bfWR3I/5888/rzlz5uiKK67Q/v37deaZZx7341FeXi6v16vzzz8/Ztunn36q5cuXa9++fRo9erS+//3vH9M1I3FO4ovjThsS+v73v69XX31VK1eulNfr1cKFC51taWlp6tatm84880wNHDhQf/3rX+N+ViL6X6/xjBw5UmeccYYGDx6spqYmjRw5UpI0ePBg189iNc/bnn0eTV3N7Zdddplmz56tl1566bj8FzB/+tOf1Lt375ivod9xxx364x//qJdffln19fURn5E5HY5Le3Tu3FkrV67UunXrVFlZqf/93/91rU+Svv3tb8vj8WjIkCH68pe/rCFDhqhTp07653/+5y90njZzG9/WvEOGDNHMmTO1cuVKde7cud37Op7aup6HDh2qrl27qnfv3urWrZv8fr+kw+faX//61zbnPd7nWrPLL79cCxcu1PLly7V3714nEB0vBw8e1M9//nPddtttcbdfffXVSk1NVe/evdW7d2/t3r37mK4ZiXMSXxyhDQl9+ctfVufOndWpUyfl5+fr/fffd7Y13w2SWv5vO5/Pp+rqaqe9urra+Rdinz59nLdMampqIu74NM/VqVMnnXHGGc6LSqdOndTU1KRevXqpoaFBjY2NMfP6fD7t2rVL0uG3z/bu3auePXtGrCO6rua7AG3NO3/+fM2YMUO7du1Sbm6uamtrj/k4StI777yjiooK+f1+3XHHHdq0aZNmzpwpr9crj8ej1NRUjR8/Pu4xPpWPy9Ho3r27hg4dqi1btrjWJ7Uct+bj2qxTp07OHY1jOU+buR23tuZdunSpfvCDH+iDDz7Q+PHjndo7Unuv5+bzrfnn5nDudmzaWnezYznmU6dO1YIFC3To0CF997vf1SeffHJ8DsQR27dv186dO5WTkyO/36/q6mqNHz9ef//73yXFvsbFO3fac820notzEseK0IaEWn8uZe3atRo0aFCb/b1er7p06aItW7bIGKOSkhKlp6dLkvx+v0pKSiQpor09PB6Phg4dqjVr1kg6/C2p5jsBfr/f+abUmjVrdOWVV8b8C/Wiiy5SVVWVduzYoVAopNLSUvn9/jbn3b59uy655BLddttt6tWrV8QL37G48847tX79elVUVOiRRx7RlVdeqUWLFjnH2BjTrmN8qh2XRPbs2eO8dXPo0CG9+eabGjhwoGt97fFFz9Phw4fr9ddfV319verr6/X6669r+PDhrvOGw2Ht2rVLV155pWbNmqW9e/fqwIEDX/TQHLWjvZ6juR2b5nZjjLZs2aJu3brFhLZjOebbt2/XkCFDNHXqVF144YX69NNPj23hLoYMGaKNGzeqoqJCFRUV8vl8Kvr/7d1fSFN9HMfxdxH9A2deVBOTCrrQSJAIJgSWo5OVybAUuuhihPQXYYaLApMM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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('../dmu18_HELP-PACS-maps/data/Bootes_PACS100_v0.9.fits')\n", "fig.recenter(PACScat[PACScat['HELP_ID']=='BOO-PACSxID24-Bootes-HerMES-1-29596']['RA'],PACScat[PACScat['HELP_ID']=='BOO-PACSxID24-Bootes-HerMES-1-29596']['Dec'], radius=10)\n", "fig.show_colorscale(vmin=-0.001,vmax=0.003,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": 38, "metadata": {}, "outputs": [], "source": [ "stackhd[1].data=psfok\n", "stackhd.writeto('dmu18_PACS_160_PSF_Bootes_20190125.fits',output_verify='fix+warn', overwrite=True)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "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": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.038935207" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.max(psfok)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "40401" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(psfok.flatten())" ] }, { "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 }