From 90177c9c4fe1a8b64c01817d8ff9c3b3a4ab109d Mon Sep 17 00:00:00 2001 From: Gagandeep Anand <30330521+gsanand@users.noreply.github.com> Date: Tue, 14 Nov 2023 10:10:01 -0500 Subject: [PATCH 1/7] added acs_focus_diverse_epsfs for review acstools 3.7.0 is now available, so the notebooks is ready for review --- .../acs_focus_diverse_epsfs.ipynb | 572 ++++++++++++++++++ .../acs_focus_diverse_epsfs/requirements.txt | 7 + 2 files changed, 579 insertions(+) create mode 100644 notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb create mode 100644 notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt diff --git a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb new file mode 100644 index 000000000..788d441fe --- /dev/null +++ b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb @@ -0,0 +1,572 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a9d01468", + "metadata": {}, + "source": [ + "This notebook highlights how to use the focus_diverse_psfs module within acstools to retrieve empirical, focus-diverse ePSFs for ACS/WFC data. Please see the [webtool](https:https://acspsf.stsci.edu/) (update link when live) and [ACS ISR 2018-08](https://ui.adsabs.harvard.edu/abs/2018acs..rept....8B/abstract) for more details." + ] + }, + { + "cell_type": "markdown", + "id": "133fe01a", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a81500b6", + "metadata": {}, + "outputs": [], + "source": [ + "from astropy.io import fits\n", + "from astroquery.mast import Observations\n", + "\n", + "import ipywidgets as widgets\n", + "import matplotlib.colors as colors\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.patheffects as PathEffects\n", + "import numpy as np\n", + "\n", + "# import the focus_diverse_psfs functions from acstools \n", + "from acstools.focus_diverse_epsfs import psf_retriever, multi_psf_retriever, interp_epsf" + ] + }, + { + "cell_type": "markdown", + "id": "a319cda8", + "metadata": {}, + "source": [ + "## Downloading and Examining a Single Focus-Diverse ePSF file" + ] + }, + { + "cell_type": "markdown", + "id": "c5ce3a38", + "metadata": {}, + "source": [ + "Let's begin with downloading the focus-diverse ePSF FITS file that matches a single observation of our choosing. For this example, we will aim to retrieve the ePSF file for the observation rootname \"jds408jsq\", from GO-15445 (PI W. Keel). \n", + "\n", + "Please note that only IPPPSSOOT formats will work (e.g. jds408jsq), and the tool does not support inputs in the form of association IDs or product names (e.g. jds408010 or jds408011).\n", + "\n", + "\n", + "Make sure to change the variable \"download_location\" to an existing folder on your local machine." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f2529639", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 150 ms, sys: 32.5 ms, total: 182 ms\n", + "Wall time: 5.06 s\n" + ] + } + ], + "source": [ + "%%time \n", + "\n", + "# example of a single retrieval\n", + "\n", + "# provide an existing file location for download \n", + "download_location = '/Users/User_Name/Documents/ePSF_Downloads/'\n", + "\n", + "# call the psf_retriever function with observation rootname\n", + "retrieved_download = psf_retriever('jds408jsq', download_location)" + ] + }, + { + "cell_type": "markdown", + "id": "bdd9632d", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "id": "6791eb95", + "metadata": {}, + "source": [ + "The direct return of the psf_retriever function is the retrieved file name. The name has the format %ROOTNAME-STDPBF_ACSWFC_%FILTER_%SM_%F.fits, where the variables are:\n", + "\n", + "%ROOTNAME- this is the image rootname that you passed to psf_retriever, which is appended to allow for easier bookkeeping of retrieved files\n", + "\n", + "%FILTER- this is the ACS/WFC filter that was used in the observation\n", + "\n", + "%SM- Short for \"Servicing Mission\", SM3 or SM4, depending on when the observation was taken.\n", + "\n", + "%F- Best fit focus group that the individual exposures lies within." + ] + }, + { + "cell_type": "markdown", + "id": "cb0ea63d", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "id": "e8e695f8", + "metadata": {}, + "source": [ + "We can now examine the retrieved FITS file." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9bddab16", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filename: /Users/ganand/Desktop/jds408jsq-STDPBF_ACSWFC_F606W_SM4_F11.2.fits\n", + "No. Name Ver Type Cards Dimensions Format\n", + " 0 PRIMARY 1 PrimaryHDU 35 (101, 101, 90) float32 \n" + ] + } + ], + "source": [ + "# give path to downloaded file\n", + "retrieved_filepath = (retrieved_download)\n", + "\n", + "# open the file with astropy.io\n", + "hdu = fits.open(retrieved_filepath)\n", + "hdu.info() # display basic information about the file" + ] + }, + { + "cell_type": "markdown", + "id": "edcf4f10", + "metadata": {}, + "source": [ + "With the output above, we can see that the dimensions of the file are 101 x 101 x 90. This corresponds to a total of 90 ePSFs, each one with x,y dimensions of 101 x 101. The 90 ePSFs span the range of the two WFC chips and correspond to a 9 x 10 spatial grid (see Figure 1 in [ACS ISR 2018-08](https://ui.adsabs.harvard.edu/abs/2018acs..rept....8B/abstract)). \n", + "\n", + "We show these ePSFs below in a widget which allows you to quickly scroll through and get a sense of the spatial differences. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5a434e3c", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "765849df4a4b466090bb47b2f50e0680", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(IntSlider(value=44, description='grid_index', max=89), Output()), _dom_classes=('widget-…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# # First, lets grab the image data from the retrieved FITS file\n", + "ePSFs = fits.getdata(retrieved_filepath, ext=0)\n", + "\n", + "def show_ePSF(grid_index):\n", + " plt.imshow(ePSFs[grid_index], cmap = 'viridis', norm = colors.LogNorm(vmin = 1e-4), origin = 'lower')\n", + " cbar = plt.colorbar()\n", + " cbar.set_label('Fractional Energy')\n", + " \n", + "widgets.interact(show_ePSF, grid_index = (0,89,1))" + ] + }, + { + "cell_type": "markdown", + "id": "c4038320", + "metadata": {}, + "source": [ + "## Batch Downloads" + ] + }, + { + "cell_type": "markdown", + "id": "fe76b86a", + "metadata": {}, + "source": [ + "Here we show how to perform batch downloads for a large set of input rootnames, via two separate methods." + ] + }, + { + "cell_type": "markdown", + "id": "782eba8b", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "id": "3c205482", + "metadata": {}, + "source": [ + "### via an Input Text File" + ] + }, + { + "cell_type": "markdown", + "id": "b063b257", + "metadata": {}, + "source": [ + "With an input text file of one rootname per line, we can use the multi_psf_retriever function with the \"fromTextFile\" parameter set to True to batch download the desired focus-diverse ePSFs." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "7f05f8ff", + "metadata": {}, + "outputs": [], + "source": [ + "# specify the name of the input text file (with one rootname per line),\n", + "# as well as the desired download location for our focus-diverse ePSFs\n", + "\n", + "input_list = 'input_ipsoots.txt'" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "8d0a5472", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[########################################] | 100% Completed | 17.13 s\n", + "# of matching files: 10\n", + "CPU times: user 237 ms, sys: 107 ms, total: 344 ms\n", + "Wall time: 17.4 s\n" + ] + } + ], + "source": [ + "%%time \n", + "\n", + "# use the multi_psf_retriever function to retrieve our ePSFs\n", + "retrieved_downloads = multi_psf_retriever(input_list, download_location)\n", + "\n", + "print('# of matching files: ', len(retrieved_downloads))" + ] + }, + { + "cell_type": "markdown", + "id": "1bb2de4e", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "id": "78c17035", + "metadata": {}, + "source": [ + "### via *astroquery*" + ] + }, + { + "cell_type": "markdown", + "id": "713cd3ef", + "metadata": {}, + "source": [ + "Alternatively, we can use *astroquery* to simply grab the rootnames for all ACS/WFC images within a given HST proposal and retrieve the corresponding focus-diverse ePSFs. \n", + "\n", + "Here we provide an example of using astroquery and the multi_psf_retriever function to grab all matching focus-diverse ePSFs for observations of the Leo P galaxy from GO-13376 (PI K. McQuinn)." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "68519edf", + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# # use astroquery to grab ACS/WFC observations from GO-13376 (PI K. McQuinn)\n", + "obsTable = Observations.query_criteria(obs_collection = 'HST', proposal_id=\"13376\", \n", + " instrument_name = \"ACS/WFC\", provenance_name = \"CALACS\")\n", + "\n", + "# retrieve the data products for the above observations\n", + "dataProducts = Observations.get_product_list(obsTable)\n", + "\n", + "# filter the data products for just the FLC files from HST, and not the Hubble Advanced Products (HAP) project\n", + "dataProducts = dataProducts[(dataProducts['productSubGroupDescription'] == 'FLC') &\n", + " (dataProducts['type'] == 'S')]\n", + "\n", + "# create a list of corresponding rootnames\n", + "obs_rootnames = list(dataProducts['obs_id'])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "00e3296a", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[########################################] | 100% Completed | 22.09 s\n", + "# of matching files: 34\n", + "CPU times: user 275 ms, sys: 133 ms, total: 408 ms\n", + "Wall time: 22.7 s\n" + ] + } + ], + "source": [ + "%%time\n", + "\n", + "# use the multi_psf_retriever function to retrieve our ePSFs \n", + "retrieved_downloads = multi_psf_retriever(obs_rootnames, download_location)\n", + "\n", + "print('# of matching files: ', len(retrieved_downloads))" + ] + }, + { + "cell_type": "markdown", + "id": "91ab33c5", + "metadata": {}, + "source": [ + "# Further Spatial Interpolations" + ] + }, + { + "cell_type": "markdown", + "id": "9c6a35bc", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "id": "7bf751ae", + "metadata": {}, + "source": [ + "Users may be interested in further interpolating the provided ePSF array to any arbitrary (x,y) coordinate. The function interp_epsf() allows us to retrieve this (using bi-linear interpolation)." + ] + }, + { + "cell_type": "markdown", + "id": "ea152867", + "metadata": {}, + "source": [ + "For example, we can retrieve the ePSF loaded from its FITS file above and interpolate to x,y = (2000,2000) on WFC1, which is near the middle of the detector along the x-axis, and near the top of the WFC1 chip (and the detector overall). " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "6fbeebf6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAGzCAYAAABZzq+8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABqZklEQVR4nO2de3gU1f3/37ObO+QiIAmRW/SLXwQ0KDdRnwqaliJarXh9UCPyA6tBRR5RsQqFqqC2FFGUahXUqlhboV6+Yi1YqS0ioNgiilpRqJogIgQCJNmd8/sD2ZzzmcxsNrtJNrPvl8887sycOXPm7IWTz/tzsZRSCoQQQghJKQJtPQBCCCGEtD5cABBCCCEpCBcAhBBCSArCBQAhhBCSgnABQAghhKQgXAAQQgghKQgXAIQQQkgKwgUAIYQQkoJwAUAIIYSkIFwAJDlLliyBZVn4/PPPPdv17t0bV155ZauMKVFYloVf/OIXbT0MIrj22mvxwx/+sK2HkXJccskluOiii9p6GCSF4AKARJg4cSIsy8LZZ5/d6PkXX3wRJ510ErKystCzZ0/MnDkToVDI0W7Dhg04++yzUVRUhI4dO+KEE07AggULEA6HW/oREsZDDz2EJUuWtPUwWp2tW7fid7/7HW677bbIse3bt2PWrFkYOnQojjjiCHTp0gUjRozAX//610b72L17NyZNmoQjjzwSHTp0wMiRI/Huu+822rapn6lY+ozGD3/4Q1iWhcmTJzd6/rHHHsNxxx2HrKws9OnTBw888EBcfe7Zswc333wz+vTpg+zsbPTq1QsTJkzAtm3bjHa33HIL/vSnP+H9999v1nMREjOKJDWhUEgdOHBA2bbt2a5Xr16qvLy82fdZt26dSktLU1lZWWrMmDGO8//3f/+nLMtSI0eOVI888oi67rrrVCAQUD/72c+MduvXr1cZGRmqf//+at68eWrRokXq3HPPVQDU9ddfb7Q9cOCAqq+vb/aYW5L+/fur008/va2H0erccMMN6thjjzWOPfDAAyo7O1tdeuml6sEHH1Tz589XJ510kgKgHn/8caNtOBxWp5xyiurQoYP6xS9+oR588EHVr18/lZubqz7++GOjbVM/U7H0GY0//elPqkOHDgqAqqiocJxftGiRAqDGjh2rHnnkEXX55ZcrAGru3LnN6jMcDqshQ4aoDh06qGnTpqlHH31U3XLLLSo3N1cdddRRqrq62mg/dOhQdfnll8f0TIQ0Fy4AfEI8CwDbttXw4cPVVVddpXr16tXoAqBfv36qtLTU+Af75z//ubIsS3344YeRYxMnTlQZGRnq22+/Na7/wQ9+oPLy8po1vrYgFRcAdXV1qkuXLur22283jm/atEl98803xrGDBw+qvn37qu7duxvHn3vuOQVAPf/885FjO3bsUAUFBerSSy812jb1MxVLn14cOHBA9e7dW82ePbvRf6z379+vOnfu7Pj8jxs3TnXo0EHt2rUr5j7/8Y9/KADqwQcfNI4//vjjCoB64YUXjOO/+tWvVIcOHdTevXub/FyENBdKAEmO9AFQSuHOO+9E9+7dkZOTg5EjR+KDDz5wXFdfX49Zs2ahT58+yMrKQufOnXHaaafh9ddfd7R96qmnsGnTJtx1112NjmHz5s3YvHkzJk2ahLS0tMjxa6+9Fkop/PGPf4wcq66uRlZWFgoKCow+unXrhuzsbOOY9AHYu3cvpkyZgt69eyMzMxNdu3bFD3/4Q4ep95FHHsExxxyD7OxsDB06FH//+98xYsQIjBgxotHx6yxevBhnnHEGunbtiszMTPTr1w8PP/yw0aZ379744IMP8Oabb8KyLFiW5dn3zJkzEQgEsHLlSuP4pEmTkJGR4WnSLS8vR5cuXVBfX+8496Mf/Qj/+7//G/WZEsVbb72FnTt3oqyszDjev39/dOnSxTiWmZmJs846C//973+xd+/eyPE//vGPKCwsxPnnnx85duSRR+Kiiy7Cn//8Z9TW1gKI7TPV1D6jce+998K2bdx0002Nnn/jjTfw7bff4tprrzWOV1RUoKamBq+88krMfVZXVwMACgsLjePdunUDAMd34oc//CFqamoa/Z4Skmi4AGhnzJgxA3fccQdKS0tx33334eijj8aPfvQj1NTUGO1+8YtfYNasWRg5ciQefPBB/PznP0fPnj0d/5ju3bsXt9xyC2677TYUFRU1es/33nsPADB48GDjeHFxMbp37x45DwAjRoxAdXU1rr76anz44Yf44osvsGjRIrzwwguYPn2657P97Gc/w8MPP4yxY8fioYcewk033YTs7Gx8+OGHkTaPPfYYrr76ahQVFeHee+/Fqaeeip/85CfYvn179MkD8PDDD6NXr1647bbb8Otf/xo9evTAtddei4ULF0bazJ8/H927d0ffvn3x1FNP4amnnsLPf/5z1z5vv/12DBw4EBMmTIj8Y/jaa6/h0UcfxYwZM1BaWup67eWXX45vv/0Wr732mnG8srISq1atwmWXXeb5PPv378fOnTujbt99913UufnnP/8Jy7Jw4oknRm17eIw5OTnIycmJHHvvvfdw0kknIRAwf1qGDh2K/fv34+OPP460A5r2mWpqn15s27YNc+fOxT333OP4R1e/T2NjGjRoEAKBgDGmpvY5ePBgdOjQAXfccQdWrVqFL7/8Em+++SZuvvlmDBkyxLHY6tevH7Kzs/GPf/wj6jMREjdtbIEgUVi8eLECoLZu3ap27NihMjIy1JgxYwyfgNtuu00BMCSA0tLSRk35kptuukmVlJSogwcPKqVUoxLAfffdpwCobdu2Oa4fMmSIOvnkkyP7oVBITZ48WaWnpysACoAKBoPq4YcfdlwLQM2cOTOyn5+f36gue5i6ujrVtWtXNXDgQFVbWxs5/sgjjygATTLZ79+/33Fs1KhR6uijjzaOxSoB/Pvf/1YZGRnq//2//6e+++47ddRRR6nBgwdH9XEIh8Oqe/fu6uKLLzaOz5s3T1mWpT777DPP62fOnBmZZ6+tV69eUZ/hsssuU507d47aTimlPvnkE5WVleXQqzt06KCuuuoqR/tXXnlFAVArVqxQSsX2mWpqn15ccMEF6pRTTonsoxFzfUVFhQoGg41ef+SRR6pLLrkk5j6VUurll19W3bp1M96PUaNGuZr5jz32WDV69Oioz0RIvDTY3kjS89e//hV1dXW47rrrYFlW5PiUKVNw9913G20LCgrwwQcf4JNPPkGfPn0a7e/jjz/G/fffj2effRaZmZmu9z1w4AAANNomKysrYuYEgGAwiGOOOQajRo3ChRdeiKysLDz77LO47rrrUFRUhPPOO8/1PgUFBVi7di2++uorFBcXO86vX78eO3bswOzZs5GRkRE5fuWVV2LatGmu/erof6nt2bMH9fX1OP300/Haa69hz549yM/Pb1I/kgEDBmDWrFmYPn06/vWvf2Hnzp34y1/+Ypi3GyMQCGDcuHFYsGAB9u7di9zcXADA008/jVNOOQUlJSWe119xxRU47bTToo7P7S9UnW+//RZHHHFE1Hb79+/HhRdeiOzsbMydO9c4d+DAAdfPyeHz+v+b8plqap9uvPHGG/jTn/6EtWvXerY7cOCA8bmS99Lv09Q+gUNyxYknnojJkyejf//+2LhxI+69916MHz8ezz//vKP9EUccgZ07d0btl5B44QKgHfHFF18AgOMf9COPPNLxwz179myce+65OPbYYzFgwAD8+Mc/xuWXX44TTjgh0uaGG27AKaecgrFjx3re9/A/Ho1prQcPHjT+cZk7dy7uv/9+fPLJJ+jYsSMA4KKLLsLIkSNRUVGBs88+2/UfxXvvvRfl5eXo0aMHBg0ahLPOOgtXXHEFjj76aM/nT09Pj7SJxj/+8Q/MnDkTa9aswf79+41z8SwAAGDatGlYunQp3nnnHdx9993o169fk6674oorcM8992DZsmW44oorsGXLFmzYsAGLFi2Keu3RRx/d5GdvCkopz/PhcBiXXHIJNm/ejFdffdWxUMvOznb9nBw+r/+/KZ+ppvbZGKFQCNdffz0uv/xyDBkyxPPZsrOzUVdX1+g5fUyx9PnZZ59h5MiRePLJJyPfs3PPPTeSt+PVV1/F6NGjjWuUUsYCn5CWgj4APuUHP/gB/vOf/+Dxxx/HgAED8Lvf/Q4nnXQSfve73wEAVq1ahRUrVuCGG27A559/HtlCoRAOHDiAzz//PPJX2GGHpa+//tpxn6+//tr4R+Chhx7CGWecEfnH/zA/+clP8NVXX3kmNLrooovw2Wef4YEHHkBxcTHuu+8+9O/fH6+++mq80wEA+M9//oMzzzwTO3fuxLx58/DKK6/g9ddfx4033ggAsG07rv4/++wzfPLJJwCAf//7302+rl+/fhg0aBB+//vfAwB+//vfIyMjo0lJYfbt24fKysqo2zfffBO1r86dO0f1FZg4cSJefvllLFmyBGeccYbjfLdu3Vw/JwAin5VYPlNN7bMxnnzySWzZsgVXX3218TkHDvm/fP7555GFYLdu3RAOh7Fjxw6jj7q6Onz77beR+8TS55IlS3Dw4EFHbo2f/OQnANCo1v/dd985nC4JaQm4AGhH9OrVCwAi/8gc5ptvvmn0h7tTp04YP348nn32WWzfvh0nnHBCxOv+cBKS888/HyUlJZHtyy+/xKpVq1BSUoLHH38cADBw4EAAh0zwOl999RX++9//Rs4DQFVVVaMJfw57uTeW5EWnW7duuPbaa7F8+XJs3boVnTt3jkQnuD1/fX09tm7d6tkvALz00kuora3Fiy++iKuvvhpnnXUWysrKGv0LMta/wGzbxpVXXom8vDzcdtttePbZZ/HCCy80+forrrgCq1atwtdff41nnnkGY8aMaZI5/le/+hW6desWdYv2lyoA9O3bF9999x327NnT6Plp06Zh8eLF+M1vfoNLL7200TYDBw7Eu+++61hMrV27Fjk5OTj22GMj7YCmfaaa2mdjbNu2DfX19Tj11FONzzlw6B/ykpIS/OUvf/Ec0/r162HbduR8LH1WVVVBKeX4Trh9H0KhELZv347jjjvO9ZkISRht7INAoiCdANPT05vkBLhz505HXxdeeKHq0qWLUkqpL774Qi1btsyxHXnkkWrw4MFq2bJl6tNPP41c27dvX1VaWqpCoVDk2O23364sy1KbN2+OHBswYIDq1KmTcf9QKKQGDRqkcnNzVV1dXeQ4NCfAUCikdu/e7RjzkCFD1ODBg5VSh5wAjzzyyGY7AS5YsEABUJ9//nnk2O7duyMOWlu3bo0cHzZsmCotLfXsT+ewU9uLL74YSVzTtWtXR/y8Gzt27FBpaWnqwgsvVADUn/70pyZd95///Ee9/vrrUbe33noral8rV65UANTKlSsd5+69914FQN12222efSxdutQRs//NN9+ogoICh6NjUz9TsfQp+fDDDxv9nANQZ511llq2bJn66quvlFKHHEQ7deqkzj77bKOPyy67TOXk5ERyW8TS569+9SsFQC1evNjoc/78+QqAWrp0qXH8/fffj+n9JyQeuABIcvQFgFJKTZ8+PfJD8+CDD6oJEyao4uJi1aVLF2MB0LVrV3XRRRepe+65Rz366KPq6quvVpZlqeuuu87zfm6JgF566SVlWZY644wz1COPPKKuv/56FQgE1MSJE412v//97xUAdcwxx6h77rlHLViwQA0fPlwBUHfeeafRVl8AfPfdd6pDhw6qvLxczZs3Tz3yyCPqoosuUgDUr3/968g1v/3tbxUAdeqpp6oFCxaoG2+8URUUFKijjz466gLgo48+UhkZGer4449XDz74oJo7d6465phjVGlpqWMBcO211yrLstQvf/lL9eyzzzb6j+JhNm/erLKystSVV14ZOfbxxx+rnJwcdeGFFxptTz/9dOW27j777LMVAFVQUBCJymhNamtrVefOndX06dON4y+88IICoPr06aOeeuopx1ZZWRlpGwqF1Mknn6w6duyoZs2apRYuXKj69++vcnNz1UcffWT029TPVCx9lpeXO97LxoCLx/7ChQsVAHXBBReoRx99VF1xxRUKgLrrrruizl9jfe7cuVMVFRWpjIwMdf3116vf/va36uqrr1bBYFD179/fWMgqdWjBkJOT48gQSEhLwAVAkiMXAOFwWM2aNUt169ZNZWdnqxEjRqhNmzY5MgHeeeedaujQoaqgoEBlZ2ervn37qrvuusv4C7wx3BYASim1bNkyNXDgQJWZmam6d++ubr/99kb7W7FihTr99NNVly5dIv/gLlq0yNFOXwDU1taqadOmqdLSUpWbm6s6dOigSktL1UMPPeS47qGHHlIlJSUqMzNTDR48WK1evVqdfvrpTQrbe/HFF9UJJ5ygsrKyVO/evdU999wTycqm/6NRWVmpxowZo3Jzcz2tC6FQSA0ZMkR1797dYcG4//77FQD13HPPRY4NGjRIFRUVNdrXH/7wBwVATZo0KepztBTXX3+9+p//+R/jWLRQwzfeeMNov2vXLjVhwgTVuXNnlZOTo04//XS1bt26Ru/X1M9UU/scO3asys7OVt99953nc7otAJQ6ZFH63//9X5WRkaGOOeYY9Zvf/CZqKm6vPv/73/+qq666SpWUlKiMjAzVrVs3NXHixEatQ8OGDVOXXXZZ1HsRkgi4AEhyfve73ykAavv27W09lIQSCoUUAPXLX/4yIf01dQHQllRXV6u0tDRHWtjDLF++XAFQq1evbuWRNfCf//xHpaenq7/+9a9tNoZ46Nq1q7rpppvaehjN4r333lOWZan33nuvrYdCUgQ6ASY5X3/9NSzLQqdOndp6KAnlsAd3Knk7r169GkcddRQmTpzY6PlHH30URx99dJPi+luKo48+GhMmTHDE97cHPvjgAxw4cAC33HJLWw+lWcydOxcXXHCB4QBJSEvCPABJSlVVFf74xz9i0aJFGD58uJFutb3zxz/+EU8++SQsy8LIkSPbejitxpgxYzBmzBjH8aVLl+Jf//oXXnnlFdx///1tHgMuayO0F/r3728kEGpvLF26tK2HQFIMLgCSlA8//BDTpk3D0KFD8eijj7b1cBLKzTffDMuy8Nhjj7VqsZtk5dJLL0XHjh0xYcIERyEaQghpKSyloqT+IoQQQojvoA8AIYQQkoLEvABYvXo1zjnnHBQXF8OyLCxfvtw4r5TCjBkzIvXfy8rKHJnbdu3ahXHjxiEvLw8FBQWYMGEC9u3bF9eDEEIIIaTpxOwDUFNTg9LSUlx11VU4//zzHefvvfdeLFiwAE888QRKSkpwxx13YNSoUdi8eXOkete4cePw9ddf4/XXX0d9fT3Gjx+PSZMm4ZlnnmnSGGzbxldffYXc3Nw2d5gihBASO0op7N27F8XFxQgEWsYYffDgQdcCT7GSkZER+TfMN8QTQwhALVu2LLJv27YqKipS9913X+TY7t27VWZmpnr22WeVUoeypgEwkni8+uqryrIs9eWXXzbpvtu3b29SDXRu3Lhx45bcW0vlODlw4IAq6hpM2DiLiorUgQMHWmSsbUVCowC2bt2KyspKlJWVRY7l5+dj2LBhWLNmDS655BKsWbMGBQUFGDx4cKRNWVkZAoEA1q5di5/+9KeOfmtra41yoOp7v8Xt27cjLy8vkY8QE+fmX9Hsa/+858kEjsSfxDO/scD3Ijot9V4kw9zH8mzJMF6/UF1djR49eiA3N7dF+q+rq0PljjC2buiFvNz4LAzVe22UDPoCdXV1vrICJHQBUFlZCQAoLCw0jhcWFkbOVVZWomvXruYg0tLQqVOnSBvJnDlzMGvWLMfxvLy8Nl0ApFnpzb62LcfdXohnfmOB70V0Wuq9SIa5j+XZkmG8fqOlZdy83EDcCwC/0i7yAEyfPh1Tp06N7B9eORJCSEvyuv18Ww+BxElY2Qir+PvwIwldABQVFQE4lMWuW7dukeNVVVWR9JZFRUXYsWOHcV0oFMKuXbsi10syMzORmZmZyKESQghJAWwo2IhvBRDv9clKQu0iJSUlKCoqwsqVKyPHqqursXbtWgwfPhwAMHz4cOzevRsbNmyItFm1ahVs28awYcMSORxCCCEpjp2g//xIzBaAffv24dNPP43sb926FRs3bkSnTp3Qs2dPTJkyBXfeeSf69OkTCQMsLi7GeeedBwA47rjj8OMf/xgTJ07EokWLUF9fj8mTJ+OSSy5BcXFxwh6sJfhh4MJmX0tTYuzIOYtn/r36jYVEjSHZSOXPp/7sLfX+Rus3leeftB0xLwDWr19vFHA5rM2Xl5djyZIluPnmm1FTU4NJkyZh9+7dOO2007BixQrDc/Lpp5/G5MmTceaZZyIQCGDs2LFYsGBBAh6HEEIIaSCsFMJxZryP9/pkJeYFwIgRIyJheI1hWRZmz56N2bNnu7bp1KlTk5P+EEIIIc2FPgDuMDaCEEIISUHaRRhga+JXjbc1ae4cJqMOmiqfB/mcLfVeJON7rJPs42vv6J+zkKpvlXvaUAjTAtAoXAAQQgjxLZQA3KEEQAghhKQgtAAQQgjxLYwCcCflFwB+1nhbK/Y4UXMYTYf2Gm8sY/Dze54oWisePlU091R5zsZo6++b/f0Wbx9+hBIAIYQQkoKkvAWAEEKIfwknIAog3uuTlZRcALSFSaq1TJ+JMoXHMr6WStkbC8kwBhI7+vuUDGbyRH5ukuF52oJk++6FFRJQDTAxY0k2UnIBQAghJDWgD4A79AEghBBCUhBaAAghhPgWGxbCsOLuw4+kxAIg2TQpwF/pciWJKq/qq5AxS/yAWJrxzQ637lgISSDJ+PuqY6tDW7x9+BFKAIQQQkgKkhIWAEIIIalJOAESQLzXJytcABBCCPEtXAC4wwVAO6O19LZE6e+JjM9Pdq3RQSAYeWmlm181K9hwDrYZZGTXiTKpKeIj0FY+H62R9rhd+68kEH0eqqurkZ+f34ajIVwAEEII8S22smCrOKMA4rw+WaETICGEEN9yWAKId0tGfvrTn+KII47ABRdc0KzraQEgLUq7M9snEN3sH8jMNE/qEoAyJYBAwFyX2/v3J3xs7YFESQLJ8Bn0VUirwE/P0t644YYbcNVVV+GJJ55o1vW0ABBCCPEtYQQSsiUjI0aMQG5ubrOvT86nIoQQQhKA+t4HIJ5NNcMHYPXq1TjnnHNQXFwMy7KwfPlyR5uFCxeid+/eyMrKwrBhw/DOO+8k4ImbDiUAQgghvqWtwgBrampQWlqKq666Cueff77j/HPPPYepU6di0aJFGDZsGObPn49Ro0Zhy5Yt6Nq1KwBg4MCBCIVCjmv/8pe/oLi4OPYHEaTEAiAWjSoZ9MJkxCukiXPWOEaonwgDRJr7V8+yTMOcFW4IA1S1tQkZW3vET58zP/sE+Jnq6mpjPzMzE5nSv+d7Ro8ejdGjR7v2NW/ePEycOBHjx48HACxatAivvPIKHn/8cdx6660AgI0bNyZm4C5QAiCEEOJbwiqQkA0AevTogfz8/Mg2Z86cZo2prq4OGzZsQFlZWeRYIBBAWVkZ1qxZk5DnbgopYQEghBCSmtiwYMf5t66NQ9WAtm/fjry8vMhxt7/+o7Fz506Ew2EUFhYaxwsLC/HRRx81uZ+ysjK8//77qKmpQffu3fH8889j+PDhTb6eCwBCCCGkCeTl5RkLgLbmr3/9a1zXt+sFwLn5VyDNSo/aLhZ9raX0ba8xtDdts72Nt83QSwBraYEBwPLwAVCi9qiVkdFwLoV9AAhpDslYC6BLly4IBoOoqqoyjldVVaGoqCih9/KCPgCEEEJ8SyJ9ABJFRkYGBg0ahJUrV0aO2baNlStXxmTCj5d2bQEghBBCWoshQ4YgGAyioqICFRUVnm337duHTz/9NLK/detWbNy4EZ06dULPnj0xdepUlJeXY/DgwRg6dCjmz5+PmpqaSFRAa5ASC4BkCLnxGkO08bSUyV2/L836LYCe0jdguZ8TWGmmXKCHDErpQDUSI0wIaeCQE2CcxYC+v37dunVN9gFYv349Ro4cGdmfOnUqAKC8vBxLlizBxRdfjG+++QYzZsxAZWUlBg4ciBUrVjgcA1uSlFgAEEIISU3sBKTyPRwFEAsjRoyAUt7XTZ48GZMnT27usOKGPgCEEEJICkILACGEEN+SCCe+cJS/5NsrXACkMNT9E4wM9Qs2/OhYUvPXfQIsoU8q4QOg90MfAKIRz3c4VdIP2wgkLBGQ36AEQAghxLeElZWQDTgUBdCvXz8sXLiwjZ8qMdACQAghhDSBWKIA2gNcABBCCPEt4QREAYR9KgGk5AIgGUrbUn/3H5Ys+auXA/aI+4d0MPKpwxFJDIn67UiG/Citga0CsON0ArR9+p2kDwAhhBCSgqSkBYAQQkhqQAnAnZRcAHiZutpKEiDtH0eFPxEW6Iqo/gfbNvc182O0zGKkfZIMvzNe0mh7xgYiXvzx9AHEVgugPZCSCwBCCCEkVhgFQAghhLQTEpMIyJ/uclwAEEII8S2JSQXMBQAhRENq/o4wQFkCWEfq/l7obWO5jiScVCmh3RolyEnbwwUAIYQQ32LDgo14nQDjuz5Z4QKAEEKIb6EE4A4XAIQQQnxLYvIAcAHQbolHd0oVza/dI0vqWtoXVrnH1cdFUMT5W838kYglFbB8FtKq8DcgPvT5C6n6NhxJ82AeAEIIIaSdYCsLdryJgL6/nnkACCGEkHaCnQAJgHkASFxSAk2HicWRdleY4y1NEpDpc1VdnXltMyUBS8oO0jzvFbLXXBmiuTIDIW2E2+9mdXU18vPzW3k0RIcLAEIIIb4lMeWA/bnw5gKAEEKIbwnDQjjOOP54r09W/LmsIYQQQogntACQ5EFo6pYMs9P2HWl4ZVs9DW/YO3RO1dY2fYz6dULHt6Tmr/sEyBK/Afe1t6Pkb1uE/rVFWCVJWtpzCl9KAO5wAUAIIcS3hBG/CT+cmKEkHf5c1hBCCCEJZsiQIejXrx8WLlzY1kNJCLQAEEII8S2JlACYCKgdImPw27Oe5TsCDdp9ICPdPCdj+/Vyuw7N390HwApHMeBp2r2qr/No6H4d0IhPgH5O+ABYWluH5h8Kmf3WN+yraM8SC5rOb6WJuReljL3yKkCMSYnxE9KWsBiQOymxACCEEJKaqASUA1YMA2wa4XAYd9xxB0pKSpCdnY1jjjkGv/zlL42/GpRSmDFjBrp164bs7GyUlZXhk08+SfRQCCGEEOJCwi0A99xzDx5++GE88cQT6N+/P9avX4/x48cjPz8f119/PQDg3nvvxYIFC/DEE0+gpKQEd9xxB0aNGoXNmzcjKysr0UNy0BppeSkzNA3DrJ9umqEtKQlooX+WDKOTkoCOR8ids6250tfN74fua7m2daCbyqVcAP2cMOuLe8ZkUtfN+lJC8UqfLObIkebYGJC3BKCHDKqQqPjGkMF2SXuWUSkBuJPwBcA///lPnHvuuRgzZgwAoHfv3nj22WfxzjvvADj01//8+fNx++2349xzzwUAPPnkkygsLMTy5ctxySWXJHpIhBBCUpREVgP0Gwlf1pxyyilYuXIlPv74YwDA+++/j7feegujR48GAGzduhWVlZUoKyuLXJOfn49hw4ZhzZo1jfZZW1uL6upqYyOEEEJI80m4BeDWW29FdXU1+vbti2AwiHA4jLvuugvjxo0DAFRWVgIACgsLjesKCwsj5yRz5szBrFmzEj1UQgghPiecgHLA8V6frCR8AfCHP/wBTz/9NJ555hn0798fGzduxJQpU1BcXIzy8vJm9Tl9+nRMnTo1sl9dXY0ePXokasgtAsv/uuCR7tehUct0v/q+wwfA4wsq7+nhP+DwO5D6tleJX+mHoN/XK31uNM1fu6dD18/KNPf1OUoX8+kRKun5XIAxfkvq+Lb7+6TqzLm2Dx70vg9pF+i/b8nuD0AJwJ2ELwCmTZuGW2+9NaLlH3/88fjiiy8wZ84clJeXo6ioCABQVVWFbt26Ra6rqqrCwIEDG+0zMzMTmZmZjZ4jhBBCSOwk3K6xf/9+BMRfWMFgEPb3iVBKSkpQVFSElStXRs5XV1dj7dq1GD58eKKHQwghJIWxEUjIBjAVcFTOOecc3HXXXejZsyf69++P9957D/PmzcNVV10F4FB40ZQpU3DnnXeiT58+kTDA4uJinHfeeYkeDiGEkBQmrCyE4zThH76eqYCj8MADD+COO+7Atddeix07dqC4uBhXX301ZsyYEWlz8803o6amBpMmTcLu3btx2mmnYcWKFTHnAPjznicbfTOovycvjrK9XvHmjou1tlLzd5Sv1eP1RVuZsldq5TqylLB+rfQPUB6pgT18CRzpfWXaYO1ZpeYPIY1ZGRkNO2lR5trIUyCe0+u5RVuZ5hhhbbwypbCco2aWYibJQ3N/b0OqPnoj0qIkfAGQm5uL+fPnY/78+a5tLMvC7NmzMXv27ETfnhBCCIlAJ0B3WAuAEEKIb1EJqAaomAkw+Tg3/wqkWemO47GEpVAuaGWsGL5IMjTNK42sMG8rXSKQpm8v+cDLTC73Q6bp3pJpg72q+MmwQGN8ItRPM+tbOdlmN9mmBKC0MEaV5j3XVtj9WaRkYennw+6VDQ8d0CoHynuK0E5KAKSlCcNCOM5iPvFen6z4c1lDCCGEEE/atQWAEEII8cJW8Wv40fJktVe4ACCEEOJb7AT4AMR7fbLCBQBpWaSmHq2EblP78tL8ATP0T4TDSW1c6W2DUcan6eaWowyuR8hbSITk6el+ZSle8Sx66J/KMUNlVY70AdDS8EZ5FiukpfetF/cU+0ovM2x5hy1Cac8qwwmJL0hE+t/q6mrk5+cnYDSkuXABQAghxLfYsGDH6cQX7/XJChcAhBBCfEsiMwH6DX8KG4QQQgjxxJcWABnbn+zlKv2Mo3ytwyfAYw0q/QW84vVlP5rur9Kj+QBoceuOHAFiV3cHFplMjbh6wIitlyWIlV6CWOZGkGWRMxvyACjtNQDYmWmu+ypN5jQwdwP1Dfp8IEr+A0vT9ZU8B4Hloft75XIgpAWgE6A7/nwqQgghBN/7AKg4t++XuawGSAghhKQgrAboM6Q8wNTACUaat6UkoJvcZfibNOvrpnopD4hrdTO/DIeT1xptvWQHALD0qniisp1MvavJEDIFrhE6J/qxMsz01kqrVijlDDtD7jeMwU6TYYnmEAzbvTDNB0TYoiFvyPfFK0uKSHnsSIlMSAujEhAFoBgFQAghhLQvWA3QHS4ACCGE+BY6Abrjz6cihBBCiCcpYQFgWGAb4lX2FjB9BKS/gNSavcIAPe8RJR2xZ3ihuWtogdLvwCulb7r5VfMcvUhdDL3Eb7q4p9jXdX+H74OU6m0tva/Dp0Jca6QCjmHu5U39WlUlxYjFV6qtf28pAbiTEgsAQgghqQlTAbtDCYAQQghJQWgBIIQQ4lsoAbjDBQBpUZRe9haNxMNH8xEwLvbQ6mPRpSWGTh2lH91mJptK3VzE7BvoOr8cu/AtsDPc8wA4chro+9GmJBDDfOpD8ronhI9APO8L8QVu/gIhVd/o8UTDBYA7lAAIIYSQFIQWAEIIIb6FFgB3uAAQMDVwy6LCwuSv7VvpaD5eVeZElT5L5MTVQ9yc/Ygvvj58y9sUDs1cr4IecoC0w4lwQlsL9bNlGGAwlpA8sZ+okDwvCUOmfhbhkKq+LjFjIMQFLgDcoQRACCGEpCC0ABBCCPEtCvHH8fs1fRUXAIQQQnwLJQB3fLkASGTqSa++6B/QDJob9tfYvud9Gtbsli1K0pqRiYYOZjtz/5q7HiV0neFx7rq/8iptLH0LNJ0/muavuzfIqbZk2WHb/Rxsj/fJESIoSzFrZZAzMsy22VlmV3UNPgAyZJSQRMAFgDv0ASCEEEJSEC4ACCGE+JbDFoB4NwAYMmQI+vXrh4ULF7bxUyUGX0oAhBBCCJBYCWDdunXIy8tLxLCSgna9APjznidb/M2gzp9gZFy4FjNuiRS4siyuMuLLvY1XlhH7L/Rty13vDihxzzSPksQC5fBZ0M7J0sFp7j4Ajt8q6SPg1VbzSwhIHwCRDyGg52Rw+AC43tJZ9tgjD4CcE+ejafOw/4A5hIO1Ykxh90ERQmKmXS8ACCGEEC+UsqDitADEe32ywgUAIYQQ32LDijsPQLzXJytcAJCWRZqAZTVAfV+eE6ZmYz9aSKAeoifSD1vSpK485AQZ6qebt6UMIfo1UvhmiPS+MYT26TjC9aS6oZ+P0lY381teqZQBc+7FY9vyPdb7khURRSpgPTWwlZlpnqs1JQBVq4UM1pkphFW9CCGkXEBIVLgAIIQQ4luYB8AdLgAIIYT4FvoAuMM8AIQQQkgKQgsAaVFkKljHfrpWA1iG/Yl9r3A4B7ruL/XtsIfeHWWlr+v+Suj64UxzvOEM3QdA+AcYYYDeQ9CjFp2hfGbbQL2WAjkk2taL2D7tvo5wPRH+qLQ5dKQulr4PHv4ZgZDwx8jQfABqzXrQ1kGxn3awYQwyrNIS/gIhbX6jlT1WHp8V0u6hBOAOFwCEEEJ8CyUAd7gAIIQQ4ltUAiwAfl0A0AeAEEIISUFoARDEk/o3ljLEXveJp5xxMqQuttIbdH5HOVgZ66+nBpZx/17lgOU5r/K1jgHKcrvBRl8DgJ1pjjec1bAfyjHbhrLNfsOZDfthhw+Adv8oy3DTB8DsJ1Bvtg1qPgDBOlPPDta6lxmWPwS2xx88Dv1d5jHwutYWaYTrG/YDwu8g4JVfQMnSxua+7rNgydTPDrT3UcnS0SxR3N5RiN+1w6+eIVwAEEII8S02LFjMBNgolAAIIYSQFIQWgDYiHjN/mxMQFf1EeteAntJVpnfNMEO79NSwUcP+vNL/OirSeVTQkyFuWrpaafIP5Yj9jg1t63PMfuqlBJDVsG8LJcSQAMRjOwfc8DIgLNJSAghoGXKlyT8t3TRkph10r0gYrBOSim59TxNSQrRqhvr4ZBijV2hn2PysBEINMY9WyIx/lKZ6K6ydD4u2Uj4wPjtShhKflZA24QwZbBcwCsAdLgAIIYT4FltZsJgHoFEoARBCCCEpCC0AhBBCfItSCYgC8Knak/ILgGQIm2sP6KVanel9RcpWPb1vutD8vdL9eoX9wZmu1sARiqbr28LQleaewjecJUL7Opr7dR0brq3vYN4zlCP2sxpe22IaVJqeWtc853A41uT4gAgDtGQYYJ2H34EYg56OWEZn2nXiPrqMLqspe/kwyB9OR1Rdw8M7QvlCYmJ0XxPhd4J6WWa4YcByCFFLH+tt5WfHGJ+YfL/+K9HOoQ+AO5QACCGEkBQk5S0AhBBC/AstAO5wAUAIIcS3MArAnZRYALSWzq/fp7Xi/Fvr2SxNJLYyhQ+AiPU3YvulVis1VT0OPIoPgCFYBbzT0Rple9NFel+PMr4hEdtf10HE+nfUXgsfgHC2OdxwVoMm7NTfNR+AKHkALM0HwFEOOGSOwdZi/x33TBdt0/XX5nMGa+V9tDFEk7r1NLzRMjTrzyZSDDtKEuvvY5rMRWE+rNJi/73SBB8ag0c5YK8U0yJHAJSozeyZt0Jey5LELQWdAN2hDwAhhBCSgqSEBYAQQkhqcsgCEK8PQIIGk2RwAdBCSNN8e6/wp5vcLRkzJsIADbO/TO/rZRYVOML+9NA+YR62M2QVPy20T5r8s6QEoIX2iXS+jlA/TQII5ZjDC2WZvxK2LgFkClNyUM/vK35dZJidXppPhAHaQgIIpOthgNLk716R0BbpfdOEfKCnHLaEpVum97W08crUxfKHVJc/HCmGZdVB7T13pJQWqYEtLY2wIwxQVvjTP1cibbAD5SEJyBTZWmVJKW84utUmRtXVyZPeYyKe0AnQHUoAhBBCSDtj+/btGDFiBPr164cTTjgBzz8f+x+ZtAAQQgjxLQpOK1Bz+kg20tLSMH/+fAwcOBCVlZUYNGgQzjrrLHTo0KHpfbTg+AghhJA2xa8SQLdu3dCtWzcAQFFREbp06YJdu3ZxAZCMJIWOHwdGydSgRzpfQJT4leVVpcCtGn8NOEP9tL5k2V6ZwlfX+UPZZj+hTJmyt2E/LHwAHDp/jv7aHG8429SHlab7W5mmthxIbzgXCESJldN+fMJh4ftQL/wZtPfClmF0MvJM199lSV8RVhnUZOlAvQirqxd+CLrE7hD9zV1LG4Mt7mmJ0EQrrDWW4ZBKlJ3WX8vPkQzB03wC5M+8I2TQuFb4HcjSxvq+DH8V3wMjPbH8fkmfBdIuWL16Ne677z5s2LABX3/9NZYtW4bzzjvPaLNw4ULcd999qKysRGlpKR544AEMHTo05ntt2LAB4XAYPXr0iOk6+gAQQgjxLypBW4zU1NSgtLQUCxcubPT8c889h6lTp2LmzJl49913UVpailGjRmHHjh2RNgMHDsSAAQMc21dffRVps2vXLlxxxRV45JFHYh5jiywAvvzyS1x22WXo3LkzsrOzcfzxx2P9+vWR80opzJgxA926dUN2djbKysrwySeftMRQCCGEpDLfSwDxbIetcNXV1cZWW1vretvRo0fjzjvvxE9/+tNGz8+bNw8TJ07E+PHj0a9fPyxatAg5OTl4/PHHI202btyITZs2Obbi4mIAQG1tLc477zzceuutOOWUU2KemoQvAL777juceuqpSE9Px6uvvorNmzfj17/+NY444ohIm3vvvRcLFizAokWLsHbtWnTo0AGjRo3CwYMHEz0cQgghKczhTIDxbgDQo0cP5OfnR7Y5c+Y0a0x1dXXYsGEDysrKIscCgQDKysqwZs2aJj6XwpVXXokzzjgDl19+ebPGkXAfgHvuuQc9evTA4sWLI8dKSkoir5VSmD9/Pm6//Xace+65AIAnn3wShYWFWL58OS655JJED4k0BxHTbOiSjnS+7ml5Y/IBcIzBPdbfUbY3W+xrKX11jR8AwiJzseEDkCXPyX2ltRWav9gPZDVot+mZpo6brpWrTYviA6DnIQ/bIjVxvXjutIa+7KDwk5Dvk7avRH5fp09Aw+ugPOeRG1imAjZyGoh+ZUpkmbfA8sqZLPwHAobPivAlkJ9fzY9C1Zslfj1dv6Tmb3t8lr1SCpN2w/bt25GXlxfZz5Rp0JvIzp07EQ6HUVhYaBwvLCzERx991KQ+/vGPf+C5557DCSecgOXLlwMAnnrqKRx//PFNHkfCFwAvvvgiRo0ahQsvvBBvvvkmjjrqKFx77bWYOHEiAGDr1q2orKw0Vj75+fkYNmwY1qxZ0+gCoLa21jC1VFdXJ3rYhBBCfEgiowDy8vKMBUBbctppp8GOc2GZcAngs88+w8MPP4w+ffrgtddewzXXXIPrr78eTzzxBACgsrISABpd+Rw+J5kzZ45hdonV05EQQkiKcljDj3dLIF26dEEwGERVVZVxvKqqCkVFRQm9lxcJtwDYto3Bgwfj7rvvBgCceOKJ2LRpExYtWoTy8vJm9Tl9+nRMnTo1sl9dXc1FQAtjySp+uhnVK9wJgNLkApnO1dFWN9VKdSAoJQA9tM/d5A+YZv2QrNInwgB1SSBsFjqEnSnS+2ZoKVszzHMy1E83+2dnmqblzPSGcxlB7/SzhgQgfohqRVrmg8GGFLh1YurDQtYx1ASvyouAqNooRyhM9Zop3LLdzwHCMp4uO3aXj5wShZQ3tHTEUoYKSEmgoa0jDFCG6+n3FeGPjnA97VmVo1Kg+99eyktKIL4gIyMDgwYNwsqVKyOhgbZtY+XKlZg8eXKrjSPhFoBu3bqhX79+xrHjjjsO27ZtA4DI6iaWlU9mZmbE9JJMJhhCCCHJTSKdAIcMGYJ+/fq5hvbp7Nu3Dxs3bsTGjRsBHJK/N27cGPm3cOrUqXj00UfxxBNP4MMPP8Q111yDmpoajB8/vqWmwkHCLQCnnnoqtmzZYhz7+OOP0atXLwCHHAKLioqwcuVKDBw4EMChv+jXrl2La665JtHDIYQQksokMBfwunXrmvwH6Pr16zFy5MjI/mErdnl5OZYsWYKLL74Y33zzDWbMmIHKykoMHDgQK1ascMjjLUnCFwA33ngjTjnlFNx999246KKL8M477+CRRx6JJCmwLAtTpkzBnXfeiT59+qCkpAR33HEHiouLHVmSCCGEkPbIiBEjnJkkBZMnT25Vk78k4QuAIUOGYNmyZZg+fTpmz56NkpISzJ8/H+PGjYu0ufnmm1FTU4NJkyZh9+7dOO2007BixQpkZWV59Nx02nva3TZBljLNEGK4HgYoU5UGZcigexig1G6NtuKcLVLB6mV9wyK0z5neV7vOQ/M/1K92T+kDIL4hhu6fYXrgpmWYGrCu+3fINEu8dkhv2E8XPgABEVan+wCERBigrvkDQFqwYUwHgub4agNm23qtDHHYkmWbZfpc46TZVv7GaY2l5m+FpU+Adpn4sbTlfbRd5RF6Kvelf4BHMKFjvM5Uxtp+2JxfS/gLKG1iHLq+Mn1CPO9J4sKvtQASQYvUAjj77LNx9tlnu563LAuzZ8/G7NmzW+L2hBBCSANcUzUKawEQQgghKQgXAIQQQnxLvHUAdAkhliiA9gDLAacymu4fyDD1YUvEl1vpDecd5X+l/qrp/o54bQ+fAJUmfQDEfoYWD58hdH2p3adbHufMfaXt2yK2X+4rrYxvUMT9Z2WZuq6u+xdkHTDOdUxvyGyZEfAu92prdXxDSvoAmNdmavvSt2CfTNmr7YeExBl2SJ6a/4U0pzpi/bV+pOYvLjZSBQudNSDstmE9tl+E1Ts+Zx55C6yw+dkOhrRB1IlUwA5dXzsncw9AfIfkIPW2IZkjmTbqFqONogDaA1wAEEII8TEWolR1aGIf/oMSACGEEJKCtGsLwLn5VyDNSo/eMJUwUuu6pzwFTDO/I+xPSAJIM8rBGaccIVnGGDxMszDN/nYwigSgtxVygSwUZ+yLZa6wosMOKtdzKk3YDtMb9oNpQgJIN83xHTMazPx56Wap61xtPzOKBBDSHqZWmK+lmTwgy+81kQPC/F4vzPq2Zsp3hPKJj44eHWeJR5PRb0rrS4bKyTBAXcGwpVlf/imjnxdvqiUqKAbqtH0hb0kJwPP7JVMO698TR6pl8fmt1yZKiffQI20wbO800gQJlQD8RrteABBCCCGecAHgCiUAQgghpAkwCoAQQghpLySinO/31zMKgLQtMmWvTK2r64VS85c6pBbaJzV/PewPEKF/QvNPmB3JodULHTqonxPXyuy0zf2+y+sc06v5AIhUuzLsLidNCwPMMMMAO6XXRF5nBUxhXOr6tarha7pfxDRWh2T67IZ9W0yS1NT1FMO2cj8HAGEtTtAWMYOWkKEDelvhSiJTK+s+ArIfB9q0OMr0yhBH5e6z4AhF1fYt+dmWaa71+sXynAeOsFqRRtgoJRwWE2GLtkY64igliYlRzS+ePvwIJQBCCCEkBaEFgBBCiH+hE6ArXAAQQgjxLwn0AfAbXAC0FZqWb6ULfdARM+yh1Mi2Htc5fQC0PABCo5Tx0HpfUn91DEkTzGSJV0vsK02Xlv06YvIDHuekVq/fxlGu1qOtbBoQ49f200QegJx0U8vvnLk/8ro4c7dxrmt6deR1QbDGOBcUAzyo5SreFeponNsZNPfTtTwAsqywzBEgfQ10ZPnTA5rWbMs8ACHha6Dp/oF679wOgXo9B4OM+5e6vutwnVgurxu5j7EvP/fSN0aP7ZclfiX6+OX3S+j6xqRJHwCp64dt97ZyCPQJIB5wAUAIIcS3WMp7kd/UPvwInQAJIYT4F5WgDcwDQJqJlZ4h9vU0vCJWSqb+lKF+zR6EeypgiLA/h+ygmz6jLRs106glzaReZtMYTLUxSXJRTP56XyooTor9YFqD+VWm/j1CM/kDQHHW7sjrksxvjHNHpX0XeV0QMEME04Wp/qCWCvjbYAfjXG7wCHGtu0k4XVSnSws03EeG0YVt800OaWb+2jrTTG7XuUsAMuzPK2WzQ9aRGXHhjuMvNK+/2OTnTK9emRHlJ1E3v0szvpS79M+6Q87wkMbkd0Sa8UNh93NSRtP7StW0wcwD4AotAIQQQkgKQgsAIYQQ/8IwQFe4ACCEEOJfuABwhQuA1sKjFK8jpWhA7mtpTaOE4Hkirw26l0FVMhwqhvtaHtInPKrVRgvt8wrtcozBbvz1oY7d+5UaNUQ54LT0Bh1Vhv3li5K/XdL2RV4fGaw2zhWn7Y287iTdLcTD1aPhPlmW2Y8tVLwaOzPyWqYN9kKm/pVlhw/WN+zXC53cThepdbXPlZxP6ROgl4AOBJr+KxtN83eEEOpNpQ+A5t9iZ4hU26JEtRXW+g2ZHyxLpuzV/QViySUr/QPCMo2w7gMg8zCLMEutL3u/6aNCCBcAhBBC/AstAK5wAUAIIcS/MBOgK4wCIIQQQlIQWgBaCxHbq6fIdawtpb+AHpPvlRYY8NbqHT4AWvxzMODZVsUwhoQtlr36kZqvDMnWfQCETOqZ+lfeU+jSAY/YeRlnn67Vuu0QqDXO5WjX5gYyjXNpMHXoEBr6DSuzn70BU9ctCDbsfydyBtQKAV4vDxwWD74/zfQf0HMeHEwzJ9sWuRJszW/Cofmnic9VDCWezQtlHL087/IacHy/lDYmWzgtWCIfgh7bbwkfAOkToO97+SQAUdJry3wDmm+BVW/mAfDyEbLq6oz9VEkTnMhMgEOGDEEwGERFRQUqKiriH1wbwwUAIYQQ/5JAHwAmAiKEEEJIu4cWgFZChcyQMateW3tFCbFTeuVA+Y7FUilQphTWz3vIA4eu1cYTrVqhfh9pbhVhVYblOQbpwGHSE1bSgBauJe/pWR1QdGzJaoAeY5Rm9LA2aeEY1tpBmQpaG0K6GECWZZpxddkhM2B+5jID7ibfsJijnDTTXJwRzGoYn5AA6kWopGHWj5YKOM3jnPzsaO+N09Td/BTTeiiiZUkJQIbkaWNwSHViX5/TcBwSgCM+VutLfE8dkbOamd/KMGWdVJEAiDtcABBCCPEtFhLgA5CQkSQfXAAQQgjxLwwDdIU+AIQQQkgKQgtAayHCgOyDDWljLaHFGWmCYWp3SsRVWbKMr0wrbNxU7Mey/NM1Sqnjy329bK9HSV9HW6mDemj1jvS+jvG6t3WYA/XbymhIjzDAgOgoZJtzX6vVxT1om+9TrXZpvTLDBwNiELb2xtWLz1HYwzgpSwN7+QDUivHppYLlfkCcs2QJ5TR3/wtHauBg084BZjinLBXsCCFUlvs5Z1ygdlPhzyA/O9rn1eF+4+VzE0OaY4njStsjxXC6+++D/F1JGZgJ0JUU/UQQQghJCbgAcIUSACGEEJKC0AJACCHEtyQyE6Df4AIgCZDxuI743LqGeO5Alpk21tmZHqcs68xKkVXXEmMwBjnSBEudV0sxLFO/pkmdNIbbavqsvKdnbH8seJUgFruOErrCP2NvuCF2fredY5zbbddEXqdbZsx9jtDudRl6r7jnXjvL2Nd9DWzxngaFM4TuwxCQ58QE6mmPHWV7xb4K6D4A7jkCDu17+YvIfi33c44av3o6YhGfL3V93V9Epo12uFho/YoPb8DDyUbJ/BKxlAeWuQi88nfI74VHTo6UIYESAFMBE0IIISmI31IBcwFACCHEv9AJ0BUuANoDdoNd0t5vVn9zRCJlNkgESob9iKpilpaHVaZWVVIuSG/Yd1hbRTpSo7qaR4jgob48qpdJ06ethWCJ1Ko25Phdu/XGUVVQpI3VHj4sKsUdDJvz/V2owexfVV9gnMvQbM31ao9xTqb31UP9pMl/RzjX2N9rZzeMR4T2hYUkoD+LlAsc8+mRCEVWRdSbOrLYeuw7VCivtlLNclyqm8ll6Uj3NMLOqoIekpVylyhkW8cdHaGpWl/ycy/HpH/2pZQQdq8cKPtNFegD4A6jAAghhJAUhBYAQggh/oWpgF3hAoAQQoh/oQ+AK1wAtHMcPgGazi/Lf8owQKVpgo7yqukeuXY9tE5AhGt5lf+FqX3K8KxA2D0GT45ODj9qqmCXtpa4py32Q6GGOTwYMr8+++rNEM1ddQ0+AJmBI4xz9ZqIXZ1m6vpZooyvzn7bvMfusBleuE8LPawXQnm9I1VxWqOvAaAubLYN2R5qofzjSA/RixJWqePwD3CU8dVeO/4iEz4hRipoEQYo/Ed0fwElwwDj+eU3xiv7FejfRaHjy/EipH3H60UacbGv6hs+S6la/pc+AO7QB4AQQghJQWgBIIQQ4l8oAbjCBYDPiKXKIGQlQb2tqCqmPDKXyVA+L38ZaUrTuw2EolRi082kMqOgQGZ/80QbsNPcahrJwtp+fcg0kx8MmfNZXdcQkhcUD66b3HeFOhjncgJmZkAdh1nfY19mKpRt67Qx1IRMuehgWIYQaiGDdpS51cMApRnfSxLwMPkDZuifUwISZn4jWZ67yR8wpTAviQIwPx8yTNXxj4QuLUkJwGHm1836pg5hhcTThsJaW2HWP1hr7mtZRFVY6BupQgIkAL8uACgBEEIIISkILQCEEEL8CyUAV7gAIIQQ4l+4AHCFCwAfE63KoO4jYIl0vqg3NWFdl5SapNwPWFoVNCmTyqpoHhXKHBqwLmE6+jX39RBCp1brUR1O6tsiDDAc1nwAwtIHwPw6HQg26OgBywz10zV1vR0ApIsYxrRA07Vbr/S+9WK/JtQQUrhf+AAcEP4MdZq/g1da4Lhw+AA4Yka1c83vWHmlxJVavSMdteYDEPJwaJFtZT/SB6DWXdd36Pz6fr0ZMqpq68S+5hOQqj4ACYTVAAkhhJB2QiLzAPitGiCdAAkhhJAUhAsAQgghJAWhBJDC6D4B9oGDxrmAyBmg5wWwRErhoIjB1uVOrxKpgHc5YKkJG6WFhQgs72PEa4flObjuB4TcateLZ6ttePa6oND8A6auGwy45yPW9fk6MddpwgcgXfMBCAiROiBsm7oPgNT860S6X133rxE+H9KfQfd30P0gAGfJZCP+3VH21tyPxblKdz2IxwvBEZOvpwGQWr3Q+a16LV4/HEXX1/uSbWWsvxavr78GAEhdX9f9RVtVJ9pq3/FUTQVMJ0B3uAAghBDiW1gLwB0uAAghhPgbn/4DHi9cABAAIlwIgBJmfr2SoHQcUbYwfdY3fKxUmrepXq8sKM/J/YBu0g6Y32hVb+4HNdN9WFhUgyLTrq1FvAXqxD0PilTAwYb71AfE10f8maDvhUU1vdpww7VZYbOfjKBpHk7TNApp8pfoEkBIpP6tFWZ9fQyOEMY6MwywXntPHRKASJesh05KucWRwzcGDFO9hxnf0dYRyifaauZ5mY46UGc+QFAL14MMhxXfAxgylJgIr1A/afI/eFDsN3xXbSkX2Az1I02HCwBCCCH+hT4ArnABQAghxLfQB8AdhgESQgghKUjKWwBet59PWF8/DFyYsL7aGnv/fmM/oOubYVmuVOiOmQ36sQwZVKLMMLTQPoe/QLp5ra6wSlcCh7+A5hOQJiqkKjEEPbzQqwTtoY4bGki1tV6kyLU13T8kSgfXpjdovgfFnKSJ8MH0YNN1XT1Nb0j4HdSJ1MUhTcuvEz4AIaHr6+O368SkiFBJK2Q1+howUzQD4i8rh47vXm7XqeOb+wFDfxfn6qXOr/kA1Im01sIHwKrVwvVEKB/E98AIC5Q+AKKt0rV84Y8jQ3RVvXu5aNIIlABcSfkFACGEEP9CCcCdFpcA5s6dC8uyMGXKlMixgwcPoqKiAp07d0bHjh0xduxYVFVVtfRQCCGEEPI9LboAWLduHX7729/ihBNOMI7feOONeOmll/D888/jzTffxFdffYXzzz+/JYdCCCEkFVEJ2nxIi0kA+/btw7hx4/Doo4/izjvvjBzfs2cPHnvsMTzzzDM444wzAACLFy/Gcccdh7fffhsnn3xySw2JxIGtxSI7Vo0yBaqeVjbdjCe3hN5t+ARkyrh6oRfr+0HzGylLEuux/rbwLQjWCq1e60sFvXMRiJNmPyIlbljTuw9KTV3zb6jLMDX1tKB7SmErWh4ATfcPKzmegOt+WPgo2EKrt/Xx15n9WGI/UNuwL1MrW3LfK22wh87viNeX/Rqx/ea5oND5g7UN+4FaU5sP1Ip4/YMeKXvrPcpvyxLEMl5fu9aWOTnauebv5mdVXV2N/Pz8lh8AfQBcaTELQEVFBcaMGYOysjLj+IYNG1BfX28c79u3L3r27Ik1a9Y02ldtbS2qq6uNjRBCCCHNp0UsAEuXLsW7776LdevWOc5VVlYiIyMDBQUFxvHCwkJUVlY22t+cOXMwa9aslhgqIYQQH0MnQHcSvgDYvn07brjhBrz++uvIyspKSJ/Tp0/H1KlTI/vV1dXo0aNHs/tLVOifn8L+YsFRVUxUIIPSw5+EPCBCuwxDc1CEAUozf5pmqo/BXBwUYV+yX8PM7/imy7A1LcRNZn4Nu0sASpyrz9DM78I0HxQSQCCoSwDmPWWknC5DKNtbotCr+Hml8wUA6KF90uQv0ifr8ktAhgjKSowhj3MyfE9rG6iX56QkoEkAMk10rZQAtFTLdcLkL/c9U/YK070hAYgPi3jjlBYmKNNykzihBOBKwiWADRs2YMeOHTjppJOQlpaGtLQ0vPnmm1iwYAHS0tJQWFiIuro67N6927iuqqoKRUVFjfaZmZmJvLw8YyOEEEKikkAnwCFDhqBfv35YuHBhqz5CS5FwC8CZZ56Jf//738ax8ePHo2/fvrjlllvQo0cPpKenY+XKlRg7diwAYMuWLdi2bRuGDx+e6OEQQgghCWHdunW++gM04QuA3NxcDBgwwDjWoUMHdO7cOXJ8woQJmDp1Kjp16oS8vDxcd911GD58OCMACCGEJBT6ALjTJpkAf/Ob3yAQCGDs2LGora3FqFGj8NBDD8Xcz5/3PNnoaixVtflWQ5YK9kKGO8mUqHpeXilox4DDt8DWNWCzbdDr26ykZi21ZavR143dR9esw/VCj89quNYWOrmdJp5F91mI8kuk6/oQmr9D19fOWx6aP2A+i1Xv/dxBzSdAhv3JUsz6tQ4dX/arafnSr0NP5wuY75sM+3OE+mnpfh3pfYUPi67lyzLYDscU/bMu2qqw3GcZ3xaDPgCutMoC4G9/+5uxn5WVhYULF/pGRyGEEELaG6wFQAghxLdQAnCHCwBCCCH+hRKAK75cAESL89d9BOJpK/f97HtgpaU1+hpwlvz1xFHitenfLKUHwcuyvTJAXvMBkPq21IQtTQuXcevhOrnf8Dok9ewsqY1r/cp+NA3bThc+ABliTrTpVVH+FLEMHwBxTpbiDXucE9fqeryjxK+H74NMw+toq81DQMynQ+c32rrH/R9qq6X3lT4AIm20rvtLnw/H51P7nFkBkbfCCri2VY7PvZhgH+P2uxhS9Y0eJ62HLxcAhBBCCABaADzgAoAQQohvsSDzeTavDz+SkguA5qYClqasRKUUbhfoZn5h+oSsmKebQoVpXppCZfie2a/c10yq0uTv8Q21ZCU2aWHXq8zJtLEOCcByPRcSGVzD2n5YyAMh7Vo7Q0gA6SJNrB4pCW+MnqKmS9bDAOU5cz+gywXSrO+oxKefi1K1T9sPSrO+lAD09L4eJn/ANPvLSpGOUD89RM/D5H+oY+1DKaUvKY3poX0izM8hF0Cf4Cj5nglJECm5ACCEEJIiUAJwhQsAQgghvoVhgO5wAUAIIcS/0ALgChcAUYhF5/dq2+5DBHUdXaZAlZqlLo1G0y+lPu+BnqVXCb8DJX0ApF+ChiPUS/t2W7Jfh46utRXldp3la/XwQpm6VvcBMK8LC58AFWj8dTQcf7VIedtu/DXgXYrX6S8gni3s1Vb2q+v64pxHW+nX4Qjt01LtBoTm73j/vSLypA+L9vmw0kwfACts7quQh9+Moyy2EevpMSCRNpj+ASQOuAAghBDib7hOahQuAAghhPgW+gC4E4NBkRBCCCF+gRYA0jR0MVzGNIumIvGuedIRk6/cz8WBLqM6Vu/SP8Drvo4UrpoGLK4LisymRklikT5XL4sbTjevC4p9FdTyH8gluwwZjyFjiT4vTh8AWV634bVX3L/sKyD78chN4Lyne/4Gxzl5re4T4ND8ZSpojzwAEt0nwCtHAAAE3fNhWA7fAuNCsx/5+dTfOMUywlGhE6ArXAAQQgjxLZQA3KEEQAghhKQgtACQJqF0M2RYmFBlW92MKuQCh4U6Q7N3S/OrZwieSJcrzPqGlTSaWTzobtaVJnd5H/OkuauHsUlTuNLCAoNBcU9pAdYjxBzj8diP0lYnljBAmYbXKQHo75P7PQHxl5VHmKLcl++/174lTf4O+cBDAvDajyUET8oDYZruWw1KAK5wAUAIIcS3UAJwhxIAIYQQkoLQAkAIIcS/UAJwhQuAVkKmCU761MAybMlD+1ahkOs5yLKnUgvVrrVCMmWr2A81XGsFRRpemcI3FtuW5R5mpzz0eU9/AMAMW5OpXz1KEDtC+wLu47PF+Ow0/XWUOdFPS/8F8ZYGtTF6lekFnD4BrveMgiMs0MMHxFHyN+ReDhihppcDdpaSdveFcaTIjsFHQA8LlCWzHcj81MQbLgBc4QKAEEKIb6EPgDv0ASCEEEJSEFoACCGE+BdKAK5wAdBKJL3mL5HavY7QIJWMafbSMGW8vp4HwKH5u5d4tWQuAqGFQ+9K6vge6XMdZYYdMfnuerxX+V1LlrrVdXMZ7+7IPqwdkOHkGcIXQk9VLN4Hh0+Anv5AjEHq+vp+sE7q7x66ucyrIH0APHwCHHkA9HLADr8DqfNr+16av7w2ljwAoh8lfQC8SmgLvHJnxPT9Ig4spRzfheb0kWzs3r0bZWVlCIVCCIVCuOGGGzBx4sSY+uACgBBCCGln5ObmYvXq1cjJyUFNTQ0GDBiA888/H507d25yH1wAEEII8S8+lQCCwSBycnIAALW1tVBKRY8gEdAJsJV43X7e2JIeZRubslXDFg4bG5QyNy9s1fQtbBubFYphs1XDFjY3TyxzU5ZlbOZ5y9iUBWPznt+GLRBW5lZnG1uwtmEL1CtjC9bZxhYIqchm2RCbEltTz0XrR7nPt3hfAvVi08br2GTbcMNmOTb5PocjG2zb2OS1js+v12Z8JsPem/4dkm//9z/WkR9t7ToVChlbTN8v4uBwFEC8W6ysXr0a55xzDoqLi2FZFpYvX+5os3DhQvTu3RtZWVkYNmwY3nnnnZjusXv3bpSWlqJ79+6YNm0aunTpEtP1XAAQQgghTaC6utrYamtrXdvW1NSgtLQUCxcubPT8c889h6lTp2LmzJl49913UVpailGjRmHHjh2RNgMHDsSAAQMc21dffQUAKCgowPvvv4+tW7fimWeeQVVVVUzPQwmAEEKIf0mgBNCjRw/j8MyZM/GLX/yi0UtGjx6N0aNHu3Y5b948TJw4EePHjwcALFq0CK+88goef/xx3HrrrQCAjRs3Nml4hYWFKC0txd///ndccMEFTboG4AKAEEKIj0lkIqDt27cjLy8vcjwzM7NZ/dXV1WHDhg2YPn165FggEEBZWRnWrFnTpD6qqqqQk5OD3Nxc7NmzB6tXr8Y111wT0zi4ACCN4wh/aqHypXpK32ipdTXkF9qRslXu623loxhpWJs8BGfaWDkmPRrOq7StDLlzpJjVbynT+5pxika6XFmmV6Z3Nmomy/F5hPZ5POehtvq5KBPq4ZPhTPerhwFGScNrzEOUFL1eJX49PkcOZOisvi9SYMv3wk6y8sDR/JRiCWt266u6uhr5+fkxjautycvLMxYAzWXnzp0Ih8MoLCw0jhcWFuKjjz5qUh9ffPEFJk2aFPEjue6663D88cfHNA4uAAghhPgXn0YBDB06tMkSgRtcABBCCPEtyVgLoEuXLggGgw6nvaqqKhQVFSX2Zh4wCoAQQoh/UQnaAAwZMgT9+vVz9exvKhkZGRg0aBBWrlwZOWbbNlauXInhw4fH1Xcs0ALQSrS7VMAthJVufuSsNG0/KPLupol9y8NHQK7QNW3ZkX1W9mOUmTVPybK4ttabYzhiDAGv1LWahi01f9nW1KWFlhw0rw3UN5x3liuWYr2eA1n6IYim+r6ca6nVK30+paYOd6L5VHil7I2lQq5nel+vuW9kX0fOt+bfYoWF70a0MbUBseQnaRe5TFqAdevWNdkHYN++ffj0008j+1u3bsXGjRvRqVMn9OzZE1OnTkV5eTkGDx6MoUOHYv78+aipqYlEBbQGXAAQQgjxNW1Rznf9+vUYOXJkZH/q1KkAgPLycixZsgQXX3wxvvnmG8yYMQOVlZUYOHAgVqxY4XAMbEm4ACCEEOJfEpFBsRnXjxgxImpq3smTJ2Py5MnNHVXccAHQQtDk3ziGyR8A0huqASohD6i0gOu+TLXrCDfTrcVyDPLPAc3ML51ipEU4qIetRbOwa21ldT39nMPk7xXCaEtTvbmvtL4C4jktoajAIwzQOV7ttQjBk2MwwvWimdSNc3J47nMWi8lfSiGWoxxkM/9xkGGV8r56GKCUt5IQ/TcrVU38qQYXAIQQQnxLMkYBJAuMAiCEEOJfkjAKIFmgBYAQQghpArFEAbQHuABIINT9G0HGykktVE8FHBSaf0CmVtX6Erqu8ggRdJjvhIathwUq2+xHRnZ538cjfa7UyW13ndyrZLEKivHVyQYe/TjmTGvr4b8QbbyxPJsDL38HecozBE/uaw9ne4SPSmIJ+5NInwDt8yw/VzI1cLKRiFS/ycLhMtbx9uFHuAAghBDiX3yaCjgRJPcylBBCCCEtAi0AhBBCfAujANzhAoC0KJbU/GMo+RsXynWnET1Pj8k3z0QtZ+uBoaN7pp+N0o/RVujMUn/X0uUG5Fx7plKW4xOXypK6xvjcu221FLfy2WJ5VtvjfZJlhmNAeaUYjqPfZEP6CySdT0AbJQJqD1ACIIQQ4lsOWwDi3QCGARJCCCEpCcMACYkFK4qRSTcty6p4YbMkndK7Ev163iZKiJthjhWWWUuaaptrCvSw+MYiM1j1YjgiLNBR6dCLGGQIT+Tc62Owmh6u2Wb2SGMevN9vz9zujrTH+mdbfJZ9alJOShgF4AoXAIQQQnwLnQDdoQ8AIYQQkoLQAkAIIcS/MArAFS4ASMsiQ9E8wqGsehGDF0vIoEy1qmvN8svrSF2rjUGkCXZowh7hcA6a+6PhdZ1MNxtDuJsjlC+WUDQtda0SKZsdaW31FLiBWHw1RCroWPwZ4kGfp2iav67le4UTirYqFHI95zeSLSyQEoA7lAAIIYSQJsAwQEIIIaS9kMAoAIYBEkIIIe0ESgDucAGQQHSti6WBXVBSUw83/hoA6oXere9I+ToYQypYoX0bun8o7N1W19Gjafwt4TgUTRfX7yk0f1Uvkgh46dAyz0JaUHstfjbSzHTPSm8r/QM80hMrWf3ZK7+AROZ28ND1Y3pf5Bxpc+rQ9cX8KqOtTODg039RGkH/LWxrfwBiwgUAIYQQ/2Irp4Nmc/rwIVwAEEII8S/MBOgKFwCkZXGE/Ykwq7AegmeaW2WIm36l5ehX2o9jqAan3VeOwTMM0CtErLHzbuOTZvJY8EhdK03+qk6YoaUkoJOebu7rZv8MIYsos62RPllUg3SEEGrzYAXle5qgCn8x4Aj7k2GBmtlf1dWZ52prm3XPZMHLPJ8oSVPvJ6Q8Pn8JxEICfAASMpLkg2GAhBBCSAqS8AXAnDlzMGTIEOTm5qJr164477zzsGXLFqPNwYMHUVFRgc6dO6Njx44YO3YsqqqqEj0UQgghqc7hTIDxbj4k4QuAN998ExUVFXj77bfx+uuvo76+Hj/60Y9QU1MTaXPjjTfipZdewvPPP48333wTX331Fc4///xED4UQQkiKczgMMN4NYCKgqKxYscLYX7JkCbp27YoNGzbgBz/4Afbs2YPHHnsMzzzzDM444wwAwOLFi3Hcccfh7bffxsknn5zoIZE2RIY/qZD5kbM0jVgFvNPcmmGAQpuNxQfAK7RP+gDIUC9dY49Dd7Z0LTxaSl79njKdryOsUgs9kxp1nXwv3DVYR9pgTfeXM6vEc+shg0iTaZfd3yfHeyh9I2JJDaynd47FH0C2Femp9Tn1s+ZPGsdviYBa3Adgz549AIBOnToBADZs2ID6+nqUlZVF2vTt2xc9e/bEmjVrGu2jtrYW1dXVxkYIIYRERSVo8yEtugCwbRtTpkzBqaeeigEDBgAAKisrkZGRgYKCAqNtYWEhKisrG+1nzpw5yM/Pj2w9evRoyWETQgjxCZZSCdn8SIsuACoqKrBp0yYsXbo0rn6mT5+OPXv2RLbt27cnaISEEEJIatJieQAmT56Ml19+GatXr0b37t0jx4uKilBXV4fdu3cbVoCqqioUFRU12ldmZiYyMzNbaqgtgtTXYomjbY143FjuGdd9ZRy1LPkb1NPGusf9AzBX4bLMbDiGmHGpb+ux3Y48AHI/hr8EdJ3fsw6uQM6ZPl45HqlRe5SgjSUdraNtwD1vgeN9027reBeUmRdAnyOHb4Hr6KJj6P7RfDVs9/l1zGE71/1bg6b6FlRXVyM/P7+FR4NDacNjqHzt2ocPSbgFQCmFyZMnY9myZVi1ahVKSkqM84MGDUJ6ejpWrlwZObZlyxZs27YNw4cPT/RwCCGEpDCUANxJuAWgoqICzzzzDP785z8jNzc3ouvn5+cjOzsb+fn5mDBhAqZOnYpOnTohLy8P1113HYYPH84IAEIIIaSVSPgC4OGHHwYAjBgxwji+ePFiXHnllQCA3/zmNwgEAhg7dixqa2sxatQoPPTQQ4keSlKRqJCbeKSFRN03nnuq+jr3kzI8L93DHBsQpmRZZc4LaQI2JAAhUXhWzBNhikGPMclqhc1Fhj96pKqNKTWxREoW+n0d6ZHd50jZHqGcgDmHIl+rIxTRC69ni6VqoyNVtcf7n0K065BB1gJwJeELAEdsdCNkZWVh4cKFvkmmQAghJElJRCY/SgCEEEJI+0LP5BdPH36ExYAIIYSQJsBUwIQkEN0nQIaeWRkZ5n4sJXRjKh2rpc+VYV8eYX9WuvfXx/AJEFqy0s9FC1OT6X6biGPssaTS9ew4yngtd03d8aeU3leUUryeIZjR0il7tDXCLOX7JMNWSfsjgRKA31IBcwFACCHEt1j2oS3ePvwIJQBCCCEkBaEFgBBCiH9hFIAr7XoBcG7+FUiz0qO2a9cxrFFoq7wALYKMaRdpV5PtK6hEtlxZvlj3J7CUMLZ5xbh75TSI4g9gjEHmJVBifLGkNdbu64iN9yrbHJRGRjkPHnH2Hr4anumSo+FVQlnmgZCpl9sxfv4d9IR5AFyhBEAIIYSkIO3aAkAIIYR4kYhc/qwF0I5IWVNXK+Er2SEehCnZYT7WfjS8fj6kdCBN944Uw14EPKrrOazZ2gFpFpcmdv20o5qe2NeiNy1l/sTITKHGGGUIpvzR1eUCr3NRcMgFegVFhv35D/oAuEIJgBBCCElBfGkBIIQQQgAcMr/FG8fvTwMAFwCEEEL8C30A3GnXC4A/73nSV2kZSTvDqxQv4NC0XbuRB0SpYz3lcDR/gZhQ7mF1nojQOCVD5fR+RcpmS6balWWHdWRbL51ftvV6Hq9+ffZDT38ofB8GGK8PQEJGknTQB4AQQghJQbgAIIQQ4l8ORwHEu4HVAAkhhJD2gw1nTGxz+gCrARLiwEtnTNkcAfEgNfZaLU5dpt1NE6mwPdIIOzT0FtK7DV+Ig2Y6Z0dqYN1HQJbpjSHWv7WeLdmh5k9igQsAQgghvoVRAO5wAUAIIcS/MBOgK1wAkBYlmkmSEkGMyNDD+jrzfMAjLLANKtvJ8ckKiqkCvwckGeECgBBCiH+hBcAVLgAIIYT4Fy4AXGEeAEIIISQFoQWAtCm6NkodNAG0gc5PDhFLCB4/661IAvMA+A0uAAghhPgWhgG6wwUAIYQQ/0IfAFfoA0AIIYSkILQA+Iz2rKlLDbW9jZ/4n2RPtev1nUn2sbcYtgKsOP+Ct/1pAeACgBBCiH+hBOAKJQBCCCEkBaEFgCQNNPkT0nLI71fqSAIJsADAnxYALgAIIYT4F0oArlACIIQQQlIQWgAIIYT4F1shbhM+owBIe4A6OiGJI3V0ch+j7ENbvH0AGDJkCILBICoqKlBRUZGAwbUtXAAQQgghTWDdunXIy8tr62EkDC4ACCGE+Bc6AbrCBQAhhBD/Qh8AV7gAIEkDUwH7H5bMbTtS1p+BFgBXGAZICCGEpCC0ABBCCPEvCgmwACRkJEkHFwDtnHjMpClrEiStRjyfMT9LQl7z4qfnTAooAbhCCYAQQghJQWgBIIQQ4l9sG0CciYDsOK9PUrgAIIQQ4l8oAbjCBUA7g/pg8kJd10m05042P5RkGE+0MaTqZ4kkHi4ACCGE+BdaAFzhAoAQQoh/YSZAVxgFQAghhKQgtACkEMmgb6Yqfo5pjwfOQ+zwexwbStlQcZYDjvf6ZIULAEIIIf5FqfhN+PQBIIQQQtoZKgE+AFwAkLYiFjMpzYMtS6LmV++HZvDkQb4X/D4RP8MFACGEEP9i24AVp4ZPHwBCCCGknUEJwBWGARJCCCEpCC0A7QDqkK0H55ro0Ceg/aNsGypOCYBhgIQQQkh7gxKAK5QACCGEkBSEFgBCCCH+xVaARQtAY3ABQJKGtoqHb2tdN5FpgplfgBCBUgDiDQP05wKAEgAhhBCSgrTZAmDhwoXo3bs3srKyMGzYMLzzzjttNRRCCCE+RdkqIVuysn//fvTq1Qs33XRTzNe2iQTw3HPPYerUqVi0aBGGDRuG+fPnY9SoUdiyZQu6du3aFkMiKURbm/xJ+0WXVfg5aicoG/FLAMkbBnjXXXfh5JNPbta1bWIBmDdvHiZOnIjx48ejX79+WLRoEXJycvD444832r62thbV1dXGRgghhETDzxaATz75BB999BFGjx7drOtbfQFQV1eHDRs2oKysrGEQgQDKysqwZs2aRq+ZM2cO8vPzI1uPHj1aa7iEEEJIzKxevRrnnHMOiouLYVkWli9f7mgTrxR+0003Yc6cOc0eY6tLADt37kQ4HEZhYaFxvLCwEB999FGj10yfPh1Tp06N7O/Zswc9e/akJcBnhFR9q9wn2T838cyD/mytNZ+pSrJ/jpKdw/OnWtjDPqRq4zbhh3DouyTf88zMTGRmZjZ6TU1NDUpLS3HVVVfh/PPPd5xvihQ+cOBAhEIhx7V/+ctfsG7dOhx77LE49thj8c9//rN5D6ZamS+//FIBUP/85z+N49OmTVNDhw5tUh/bt28/nNqJGzdu3Li142379u0t8U+NOnDggCoqKkrYODt27Og4NnPmzCaNBYBatmyZcWzo0KGqoqIish8Oh1VxcbGaM2dOk/q89dZbVffu3VWvXr1U586dVV5enpo1a1ZTp0cppVSrWwC6dOmCYDCIqqoq43hVVRWKioqa1EdxcTG2b98OpRR69uyJ7du3Iy8vryWG2+6prq5Gjx49OEcecI6iwzlqGpyn6Byeo23btsGyLBQXF7fIfbKysrB161bU1dUlpD+lFCzLMo65/fUfjcNS+PTp0yPHoknhkjlz5kTM/0uWLMGmTZswY8aMmMbR6guAjIwMDBo0CCtXrsR5550HALBtGytXrsTkyZOb1EcgEED37t0j5pi8vDx+2aLAOYoO5yg6nKOmwXmKTn5+fovPUVZWFrKyslr0Hs2hOVJ4S9AmYYBTp05FeXk5Bg8ejKFDh2L+/PmoqanB+PHj22I4hBBCSLvlyiuvbNZ1bbIAuPjii/HNN99gxowZqKysxMCBA7FixQrHaogQQgjxG4mQwhNBm2UCnDx5Mr744gvU1tZi7dq1GDZsWMx9ZGZmYubMmc3WYVIBzlF0OEfR4Rw1Dc5TdDhHphR+mMNS+PDhw1ttHNb3HoqEEEIISRD79u3Dp59+CgA48cQTMW/ePIwcORKdOnVCz5498dxzz6G8vBy//e1vI1L4H/7wB3z00UetZg3nAoAQQghJMH/7298wcuRIx/Hy8nIsWbIEAPDggw/ivvvui0jhCxYsaJY1vLlwAUAIIYSkICwHTAghhKQgXAAQQgghKQgXAIQQQkgK0m4XAPFWUfITc+bMwZAhQ5Cbm4uuXbvivPPOw5YtW4w2Bw8eREVFBTp37oyOHTti7NixjhjUVGLu3LmwLAtTpkyJHOMcHeLLL7/EZZddhs6dOyM7OxvHH3881q9fHzmvlMKMGTPQrVs3ZGdno6ysDJ988kkbjrh1CYfDuOOOO1BSUoLs7Gwcc8wx+OUvf2kUtUm1OYpW+a4p87Fr1y6MGzcOeXl5KCgowIQJE7Bv375WfIoUJKbKAUnC0qVLVUZGhnr88cfVBx98oCZOnKgKCgpUVVVVWw+tTRg1apRavHix2rRpk9q4caM666yzVM+ePdW+ffsibX72s5+pHj16qJUrV6r169erk08+WZ1yyiltOOq245133lG9e/dWJ5xwgrrhhhsixzlHSu3atUv16tVLXXnllWrt2rXqs88+U6+99pr69NNPI23mzp2r8vPz1fLly9X777+vfvKTn6iSkhJ14MCBNhx563HXXXepzp07q5dffllt3bpVPf/886pjx47q/vvvj7RJtTn6v//7P/Xzn/9cvfDCC40WvmnKfPz4xz9WpaWl6u2331Z///vf1f/8z/+oSy+9tJWfJLVolwuAeKso+Z0dO3YoAOrNN99USim1e/dulZ6erp5//vlImw8//FABUGvWrGmrYbYJe/fuVX369FGvv/66Ov300yMLAM7RIW655RZ12mmnuZ63bVsVFRWp++67L3Js9+7dKjMzUz377LOtMcQ2Z8yYMeqqq64yjp1//vlq3LhxSinOkVwANGU+Nm/erACodevWRdq8+uqryrIs9eWXX7ba2FONdicBHK6iVFZWFjkWaxUlv7Nnzx4AQKdOnQAAGzZsQH19vTFnffv2Rc+ePVNuzioqKjBmzBhjLgDO0WFefPFFDB48GBdeeCG6du2KE088EY8++mjk/NatW1FZWWnMU35+PoYNG5Yy83TKKadg5cqV+PjjjwEA77//Pt566y2MHj0aAOdI0pT5WLNmDQoKCjB48OBIm7KyMgQCAaxdu7bVx5wqtEktgHhIlipKyYpt25gyZQpOPfVUDBgwAABQWVmJjIwMFBQUGG0LCwtRWVnZBqNsG5YuXYp3330X69atc5zjHB3is88+w8MPP4ypU6fitttuw7p163D99dcjIyMD5eXlkblo7PuXKvN06623orq6Gn379kUwGEQ4HMZdd92FcePGAQDnSNCU+aisrETXrl2N82lpaejUqVNKzllr0e4WAMSbiooKbNq0CW+99VZbDyWp2L59O2644Qa8/vrrSVkeNFmwbRuDBw/G3XffDeBQCtNNmzZh0aJFKC8vb+PRJQd/+MMf8PTTT+OZZ55B//79sXHjRkyZMgXFxcWcI9KuaHcSQLJUUUpGJk+ejJdffhlvvPEGunfvHjleVFSEuro67N6922ifSnO2YcMG7NixAyeddBLS0tKQlpaGN998EwsWLEBaWhoKCwtTfo4AoFu3bujXr59x7LjjjsO2bdsAIDIXqfz9mzZtGm699VZccsklOP7443H55ZfjxhtvxJw5cwBwjiRNmY+ioiLs2LHDOB8KhbBr166UnLPWot0tAJKlilIyoZTC5MmTsWzZMqxatQolJSXG+UGDBiE9Pd2Ysy1btmDbtm0pM2dnnnkm/v3vf2Pjxo2RbfDgwRg3blzkdarPEQCceuqpjhDSjz/+GL169QIAlJSUoKioyJin6upqrF27NmXmaf/+/QgEzJ/OYDAI27YBcI4kTZmP4cOHY/fu3diwYUOkzapVq2Dbdqvmxk852toLsTksXbpUZWZmqiVLlqjNmzerSZMmqYKCAlVZWdnWQ2sTrrnmGpWfn6/+9re/qa+//jqy7d+/P9LmZz/7merZs6datWqVWr9+vRo+fLgaPnx4G4667dGjAJTiHCl1KEQyLS1N3XXXXeqTTz5RTz/9tMrJyVG///3vI23mzp2rCgoK1J///Gf1r3/9S5177rm+DnGTlJeXq6OOOioSBvjCCy+oLl26qJtvvjnSJtXmaO/eveq9995T7733ngKg5s2bp9577z31xRdfKKWaNh8//vGP1YknnqjWrl2r3nrrLdWnTx+GAbYw7XIBoJRSDzzwgOrZs6fKyMhQQ4cOVW+//XZbD6nNANDotnjx4kibAwcOqGuvvVYdccQRKicnR/30pz9VX3/9ddsNOgmQCwDO0SFeeuklNWDAAJWZman69u2rHnnkEeO8bdvqjjvuUIWFhSozM1OdeeaZasuWLW002tanurpa3XDDDapnz54qKytLHX300ernP/+5qq2tjbRJtTl64403Gv0NKi8vV0o1bT6+/fZbdemll6qOHTuqvLw8NX78eLV37942eJrUgdUACSGEkBSk3fkAEEIIISR+uAAghBBCUhAuAAghhJAUhAsAQgghJAXhAoAQQghJQbgAIIQQQlIQLgAIIYSQFIQLAEIIISQF4QKAEEIISUG4ACCEEEJSEC4ACCGEkBTk/wMH8+3ynlvkFQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = 2000\n", + "y = 2000\n", + "chip = \"WFC1\"\n", + "\n", + "# get interpolated ePSF in supersampled space\n", + "P = interp_epsf(ePSFs, x, y, chip)\n", + "plt.imshow(P, cmap = 'viridis', norm = colors.LogNorm(vmin = 1e-4), origin = 'lower')\n", + "plt.title('jds408jsq at x,y = (2000,4048)')\n", + "plt.colorbar()" + ] + }, + { + "cell_type": "markdown", + "id": "f821d862", + "metadata": {}, + "source": [ + "By default, the ePSFs come with 4x supersampling. We can output them in detector space by setting the \"pixel_space\" = True." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "590fb332", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAGzCAYAAAAyvF5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGtUlEQVR4nO3deXhU1fkH8O9kmclCFkKWSUgIiyKGJbEhIOBCFAxRERQQqEpYDG0NCE0VxSoIWhFsAZFIABcKKiBVsG64oECriIhFRYUCDYg/SFgkCQkkITPv7w+aKcNckpmcSWbu5Pt5nvto7tz33jOXO/POOffccwwiIiAiIiKf4efpAhAREZF7MbkTERH5GCZ3IiIiH8PkTkRE5GOY3ImIiHwMkzsREZGPYXInIiLyMUzuREREPobJnYiIyMc0S3JfsWIFDAYDDh48WO927du3x9ixY5ujSG5jMBjw+OOPe7oYdJH77rsPAwcO9HQxWpxRo0bhzjvv9HQxiFo8n6u55+bmwmAw4NZbb9V8/e9//zt+9atfISgoCO3atcPMmTNRW1vrsN3OnTtx6623wmw2o1WrVujRowcWLVoEi8XS1G/BbZ5//nmsWLHC08VodkVFRXjhhRfwyCOP2NYdPnwYs2bNQq9evdC6dWtER0ejf//++PjjjzX3UVpaiokTJyImJgahoaHIzMzE119/rbmts9eUK/tsyMCBA2EwGDBp0iTN11988UVceeWVCAoKwuWXX47nnntOaZ9lZWWYNm0aLr/8cgQHByM5ORkTJkzATz/9ZLfdQw89hDfeeAPffPNNo95XHYPBYFsCAgIQFRWF9PR0TJkyBT/88IPSvp966ils2LBBaR8NOXPmDB5//HFs3ry5SY9zsYMHD2LcuHHo1KkTgoKCYDabcd1112HmzJnNWg7yAtIMamtr5ezZs2K1WuvdLjk5WXJychp9nB07dkhAQIAEBQXJLbfc4vD6e++9JwaDQTIzM2XZsmUyefJk8fPzk9/+9rd223311VdiNBqla9euMn/+fCksLJQhQ4YIALn//vvttj179qycO3eu0WVuSl27dpXrr7/e08VodlOmTJHOnTvbrXvuueckODhYRo8eLYsXL5aFCxfKr371KwEgL730kt22FotF+vbtK6GhofL444/L4sWLJSUlRcLCwuTf//633bbOXlOu7LMhb7zxhoSGhgoAycvLc3i9sLBQAMiwYcNk2bJlcs899wgAefrppxu1T4vFIhkZGRIaGioPPvigLF++XB566CEJCwuTtm3bSnl5ud32vXr1knvuucel93QxADJw4EBZtWqVrFy5Up577jm59957JSIiQgICAuQvf/lLo/cdGhqq9D3jjOPHjwsAmTlzZpMe50L79u2TyMhIiY+Plz/+8Y+yfPlymT17tgwdOlRMJlOzlYO8Q7Mkd2epJHer1Sp9+vSR8ePHS3JysmZyT0lJkdTUVLtk/Mc//lEMBoP8+OOPtnW5ubliNBrl5MmTdvHXXXedhIeHN6p8ntASk3tNTY1ER0fLo48+ard+9+7dcvz4cbt1VVVV0qVLF0lMTLRbv3btWgEg69ats607duyYREZGyujRo+22dfaacmWf9Tl79qy0b99eZs+erZmIz5w5I23atHG4/u+66y4JDQ2VX375xeV9fvbZZwJAFi9ebLf+pZdeEgDy5ptv2q3/85//LKGhoXL69Gmn39fFLvXD5cSJE9KnTx8BIO+++26j9q3n5F5RUXHJ1+677z4JCAiQgwcPOrxWUlLi1nKQ92uW5P7yyy8LACkqKhKR84n4iSeekLZt20pwcLD0799fdu/e7ZDca2pq5PHHH5fLLrtMTCaTREVFSb9+/eTDDz90OMZf//pXCQsLk6NHj2om9++//14ASEFBgd36//u//xMA8sQTT9jWjRw5UsLDw8VisdhtO3LkSImLi7Nbd/EHuLy8XKZMmSLJycliNBolJiZGBgwYIDt37rSLW7p0qXTs2FGCgoIkIyNDtm7dKtdff71Tyfill16SzMxMiYmJEaPRKFdeeaU8//zzdtskJycLALulvn3PmDFDDAaDfPzxx3brc3NzJTAwUHbt2nXJ2DFjxkibNm2kpqbG4bWBAwc61KKb0ieffCIAZPPmzU5tn5+fLwDsap8jRoyQuLg4h3//iRMnSkhIiFRVVYmIa9eUs/tsyKxZs6Rdu3Zy5swZzQT47rvvaia+zz//XADIqlWrXN7n+++/7/DD5ML177//vt36b775RjPpu+JSyV1E5NChQxIQECB9+/a1W19VVSUzZsyQTp06idFolMTERHnwwQftzu3FnwkAdt85P//8s4wbN05iY2PFaDRKSkqKvPjiiw5lOHv2rMycOVMuv/xyMZlMYjab5fbbb5f9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r1WochGsRrVLy7/KohRvsqqdA4NivP+ZWo8eP9Co9rtdtfx+NWr/foZzim2lip8Bd+zDENS4KUNtKivV4lsI9pbX5pPJnYiIWggPDGKjB2yWJyIi3aqruassAB+FIyIi8jm+9iic22vujz/+OAwGg93SpUsXdx+GiIjIbYPY+Jomqbl37doVH3/88f8OEsAGAiIicj92qNPWJFk3ICAAZrO5KXZNREREDWiSDnX79u1DQkICOnbsiLvuugs//fTTJbetrq5GeXm53UJEROSUut7yKosPcnty7927N1asWIGNGzdiyZIlKCoqwrXXXovTp09rbj9nzhxERETYlqSkJHcXiYiIfJS7esv7Grcn9+zsbIwYMQI9evRAVlYW3nvvPZSWluL111/X3H769OkoKyuzLYcPH3Z3kYiIiOrFR+FcFBkZic6dO2P//v2ar5tMJphMiiM5ERFRy+SmseX5KJyLKioqcODAAcTHxzf1oYiIqIVhs7w2tyf3Bx54AFu2bMHBgwfx+eef4/bbb4e/vz9Gjx7t7kMRERGRBrc3y//8888YPXo0Tp48iZiYGFxzzTX44osvEBMT4+5DERFRS2eV84tKvA9ye3Jfs2aNu3dJRESkjfO5a+LQcUREpFsGKI5Q57aSeBefTO4fWdcpxXM+eMW5tAH4VVQpxRtMgUrxASVn1Y5/Tm0+c1X+ivFSeUYp3hDWSu34wWpPwEig4hmwql/DckbtGrKUliqXgaixfDK5ExFRC8H53DVxPnciItItzueujTV3IiJq8XxtEBsmdyIi0i/2ltfE5E5ERLplEIFB4b65Sqw34z13IiIiH8OaOxER6Zf1v4tKvA9iciciIt1is7w2NssTERH5GNbciYhIv9hbXhOTOxER6RdHqNPE5E5ERLp14ShzjY33RbznTkRELR6HnyUiIvIWbmqW5/CzREREXsJgPb+oxPsiJncNLX0+eEtpmfI+/P3V5uM2BKhdmnK6QikewUFK4YZAtfnoLadKleKlulop3r9WbT57Q22YWnyA6nzu6jdSLadOKe9Dz1S+B8vLyxEREeHG0pCrmNyJiEi/2FteE5M7ERHpF59z18Te8kRERD6GNXciItItji2vjcmdiIj0i/fcNbFZnoiIyMew5k5ERPolUJuT3Tcr7kzuRESkX7znro3JnYiI9EugeM/dbSXxKrznTkRE5GOY3ImISL/qesurLOCscERERN7DCsCgGA/fmxWONXciIiIfw5o7ERHpFnvLa2NyJyIi/eIIdZqY3JuAp+eD9/TxAcBy8hflfXjUmTNq8X5q85H7BZmU4lW/riylZUrx/ga1O35SU6MWrzifvS9Q/R4gfWNyJyIi/WLNXROTOxER6ReTuyb2liciIvIxrLkTEZF+uek5d1/D5E5ERLrFR+G0MbkTEZF+8Z67Jt5zJyIi8jGsuRMRkX5ZBTAo1L6tvllzZ3InIiL9YrO8JjbLExER+RjW3ImISMcUa+7KgzV7JyZ3IiLSLzbLa2KzPBERkY9hzZ2IiPTLKlBqWvfR3vKsuRMRkX6JVX0BkJGRgZSUFBQUFHj4DbkHa+7kwB3zQLtjTnhds1rUwlXnk/cwy6lTni6CMk/Ph676GVKN9/T7b247duxAeHi4p4vhNkzuRESkX+xQp4nJnYiI9Iv33DUxuRMRkX6x5q6JHeqIiIh8DGvuRESkXwLFmrvbSuJVmNyJiEi/2Cyvic3yREREPoY1dyIi0i+rFYBVMd73MLkTEZF+sVleE5vliYiIfAxr7kREpF+suWticiciIv3iCHWa2CxPRETkY1hzJyIi3RKxQqTxPd5VYr0ZkzsREemXiFrTOu+5k7M4jzK1dKrXsOpniFoQUbzn7qPJnffciYiIfAxr7kREpF9WK2BQuG/Oe+5ERERehs3ympqsWb6goADt27dHUFAQevfujS+//LKpDkVEREQXaJLkvnbtWuTn52PmzJn4+uuvkZqaiqysLBw7dqwpDkdERC2UWK3Kiy9qkuQ+f/585ObmYty4cUhJSUFhYSFCQkLw0ksvNcXhiIiopaobflZl8UFuT+41NTXYuXMnBgwY8L+D+PlhwIAB2LZtm8P21dXVKC8vt1uIiIio8dye3E+cOAGLxYK4uDi79XFxcSguLnbYfs6cOYiIiLAtSUlJ7i4SERH5KquoLz7I48+5T58+HWVlZbbl8OHDni4SERHphcj5x9kavfhmcnf7o3DR0dHw9/dHSUmJ3fqSkhKYzWaH7U0mE0wmk7uLQURE1GK5veZuNBqRnp6OTZs22dZZrVZs2rQJffr0cffhiIioBROrKC/e6syZM0hOTsYDDzzgcmyTDGKTn5+PnJwc9OzZE7169cLChQtRWVmJcePGNcXhiIiopRIrAN8coe5Pf/oTrr766kbFNklyHzlyJI4fP44ZM2aguLgYaWlp2Lhxo0MnOyIiIhViFYih8bVv8dJ77vv27cOePXswePBg7N692+X4JutQN2nSJBw6dAjV1dXYvn07evfu3VSHIiIiajZbt27F4MGDkZCQAIPBgA0bNjhsozpK6wMPPIA5c+Y0uoxeN7Z83a8oPT/vXivnlOL1/N7rqJ4D0jfVa9gbrh9Pfw49fQ5U3n9dbHPUimulWqlpvRbnz/PF77e+zt6VlZVITU3F+PHjcccddzi8XjdKa2FhIXr37o2FCxciKysLe/fuRWxsLAAgLS0NtbW1DrEffvghduzYgc6dO6Nz5874/PPPG/fGxMscPny4bhYALly4cOGi4+Xw4cNNlivOnj0rZrPZLeVs1aqVw7qZM2c6VQ4Asn79ert1vXr1kry8PNvfFotFEhISZM6cOU7t8+GHH5bExERJTk6WNm3aSHh4uMyaNcvZUyMiIob/Fs5rWK1WHDlyBGFhYTAYDA6vl5eXIykpCYcPH0Z4eLgHSqh/PIdqeP7U8Pyp8/ZzKCI4ffo0EhIS4OfXdMOpVFVVoaamRnk/IuKQb5x9TNtgMGD9+vUYOnQogPOjtIaEhOBvf/ubbR0A5OTkoLS0FG+99ZZLZVuxYgV2796NP//5zy7FeV2zvJ+fHxITExvcLjw83Csvaj3hOVTD86eG50+dN5/DiIiIJj9GUFAQgoKCmvw4rqhvlNY9e/Y0Wzm8LrkTERHReWPHjm1UnMeHnyUiIvIVro7S2lR0l9xNJhNmzpzJIWsV8Byq4flTw/OnjufQe3nLKK1e16GOiIjIm1VUVGD//v0AgKuuugrz589HZmYmoqKi0K5dO6xduxY5OTlYunSpbZTW119/HXv27Gm2wdyY3ImIiFywefNmZGZmOqzPycnBihUrAACLFy/GM888YxulddGiRc06mBuTOxERkY/R3T13IiIiqh+TOxERkY9hciciIvIxukvuqjPttFSPP/44DAaD3dKlSxdPF8urNTTzk4hgxowZiI+PR3BwMAYMGIB9+/Z5prBeqKHzN3bsWIdrctCgQZ4prBeaM2cOMjIyEBYWhtjYWAwdOhR79+6126aqqgp5eXlo06YNWrVqhWHDhjk8X00tk66Se91MOzNnzsTXX3+N1NRUZGVl4dixY54umi507doVR48etS3//Oc/PV0kr1Y381NBQYHm6/PmzcOiRYtQWFiI7du3IzQ0FFlZWaiqqmrmknqnhs4fAAwaNMjumly9enUzltC7bdmyBXl5efjiiy/w0Ucf4dy5c7jppptQWVlp2+b3v/893n77baxbtw5btmzBkSNHNGcpoxbIpWlmPEx1pp2WbObMmZKamurpYugWLpr5yWq1itlslmeeeca2rrS0VEwmk6xevdoDJfRuF58/EZGcnBwZMmSIR8qjR8eOHRMAsmXLFhE5f70FBgbKunXrbNv8+OOPAkC2bdvmqWKSl9BNzb2mpgY7d+7EgAEDbOv8/PwwYMAAbNu2zYMl0499+/YhISEBHTt2xF133YWffvrJ00XSraKiIhQXF9tdjxEREejduzevRxds3rwZsbGxuOKKK/C73/0OJ0+e9HSRvFZZWRkAICoqCgCwc+dOnDt3zu4a7NKlC9q1a8drkPTTLF/fTDvFxcUeKpV+9O7dGytWrMDGjRuxZMkSFBUV4dprr8Xp06c9XTRdqrvmeD023qBBg7By5Ups2rQJc+fOxZYtW5CdnQ2LxeLponkdq9WKqVOnol+/fujWrRuA89eg0WhEZGSk3ba8BgngrHAtRnZ2tu3/e/Togd69eyM5ORmvv/46JkyY4MGSUUs1atQo2/93794dPXr0QKdOnbB582bceOONHiyZ98nLy8Pu3bvZT4acppuau7fMtOMrIiMj0blzZ9v4yOSaumuO16P7dOzYEdHR0bwmLzJp0iS88847+PTTT5GYmGhbbzabUVNTg9LSUrvteQ0SoKPk7i0z7fiKiooKHDhwAPHx8Z4uii516NABZrPZ7nosLy/H9u3beT020s8//4yTJ0/ymvwvEcGkSZOwfv16fPLJJ+jQoYPd6+np6QgMDLS7Bvfu3YuffvqJ1yDpq1k+Pz8fOTk56Nmzp22mncrKSowbN87TRfN6DzzwAAYPHozk5GQcOXIEM2fOhL+/P0aPHu3ponmtC2d+As53otu1a5dt5qepU6fiySefxOWXX44OHTrgscceQ0JCAoYOHeq5QnuR+s5fVFQUZs2ahWHDhsFsNuPAgQOYNm0aLrvsMmRlZXmw1N4jLy8Pr732Gt566y2EhYXZ7qNHREQgODgYERERmDBhAvLz8xEVFYXw8HBMnjwZffr0wdVXX+3h0pPHebq7vquee+45adeunRiNRunVq5d88cUXni6SLowcOVLi4+PFaDRK27ZtZeTIkbJ//35PF8urffrppwLAYcnJyRGR84/DPfbYYxIXFycmk0luvPFG2bt3r2cL7UXqO39nzpyRm266SWJiYiQwMFCSk5MlNzdXiouLPV1sr6F17gDIyy+/bNvm7Nmzct9990nr1q0lJCREbr/9djl69KjnCk1eg7PCERER+Rjd3HMnIiIi5zC5ExER+RgmdyIiIh/D5E5ERORjmNyJiIh8DJM7ERGRj2FyJyIi8jFM7kRERD6GyZ2IiMjHMLkTERH5GCZ3IiIiH/P/eKmLN9X7PuEAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# get interpolated ePSF in detector space\n", + "P = interp_epsf(ePSFs, x, y, chip,\n", + " pixel_space = True)\n", + "plt.imshow(P, cmap = 'viridis', norm = colors.LogNorm(vmin = 1e-4), origin = 'lower')\n", + "plt.title('jds408jsq at x,y = (2000,4048)- Detector Space')\n", + "plt.colorbar()" + ] + }, + { + "cell_type": "markdown", + "id": "d6460c6d", + "metadata": {}, + "source": [ + "Lastly, we can shift the ePSF to any sub-pixel phase by specifying the individual x and y subpixel offsets. The code uses bi-cubic interpolation to perform these sub-pixel phase shifts. \n", + "\n", + "Note that pixel_space must be set to True to use these subpixel offsets. Also note that the code only supports this bi-cubic interpolation to the second decimal place (e.g. subpixel_x = 0.77 and subpixel_y = 0.33)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "f74f8caa", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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PoxGY43HlZWVAYDDY/z8/KyPA4C3tzfat2+PtLQ0vPbaa1i7di2GDx+OKVOmYMOGDbW+vtDQUOzYsQNHjx51+PiuXbtw/Phx3HPPPTAYDNb948aNQ0hISK3ntvD397f+f1FREU6cOIEBAwbg119/RVFRkVPncKRLly6YPXs2Vq1ahbS0NJw4cQKvvfYafHx8ao3z8vLCbbfdhg8++ACnT5+27n/zzTdxxRVXoF27drXGjx07Fps2bapze/PNN+t8DSdPnkTLli3rPO7MmTMYNWoU/P398eyzz9o8VlZWVuN9Ynn83P86c085e05nFBcX46OPPsI111yD0NDQWo+1XLPbbrvNqXOfPHkSM2bMwBNPPIHIyMgaj6vPa3f2nAAQFBSEzp07IzMzE++99x6WLl2K6upqjBgxAidOnHDqNQwaNAibNm3CunXrcM8998DX1xelpaUOj3322Wfx6aef4uWXX8bll1+OyspKhyNELPeUs2VoiBYtWljfPyKCf/7znxg+fDhEBCdOnLBuaWlpKCoqqnOEyp49e3DgwAHceuutOHnypDW+tLQUV199NbZt2waz2Qyz2YwNGzZg+PDh6Nmzp915zv2cdsTymT5t2jR4ef3/r4dJkyYhODgYH330kc3xRqMR48ePd+qaTJgwARs3bsTAgQPx1Vdf4cknn0S/fv3QoUMHhyNPRowYgdatW1v/7tWrF3r37o2PP/7Yuu/cz8/y8nKcOHECl19+OQBYr6mz12TdunXo168fWrZsafNvlJqaCpPJhG3btjn1Opuz2r8d6vD7778DADp06GCzPzIy0u6DfM6cObj++uvRsWNHdOnSBUOHDsUdd9yBrl27Wo+ZOnUqrrjiCtx44421Pq/lJqioqLB7rLy83OYmefbZZ/Hiiy/iwIEDaNGiBQDg5ptvxqBBg5CZmYlhw4bV+CX53HPPISMjA/Hx8ejRoweuueYajB07FomJibW+fl9fX+sxdfn6668xc+ZMbN++HWfOnLF5rKioyOnEwpGHHnoIb7/9Nr777js888wzSEpKcipu7NixmDdvHtavX4+xY8di//792L17N3JycuqMTUxMdPq1O0NEan3cZDLhlltuwU8//YRPPvkEsbGxNo/7+/vXeJ9YHj/3v87cU86e0xn//Oc/UV5eXueXvIhgzZo16NKli817pjaPP/44wsLCMGXK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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# # get interpolated ePSF in detector space with specified sub-pixel shifts\n", + "P = interp_epsf(ePSFs, x, y, chip,\n", + " pixel_space = True, \n", + " subpixel_x = 0.77, subpixel_y = 0.33)\n", + "plt.imshow(P, cmap = 'viridis', norm = colors.LogNorm(vmin = 1e-4), origin = 'lower')\n", + "plt.title('jds408jsq at x,y = (2000.77,4048.33)- Detector Space')\n", + "plt.colorbar()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "07f2df73", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a3eaaf9", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "394b6e4d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt b/notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt new file mode 100644 index 000000000..e8a84f3b9 --- /dev/null +++ b/notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt @@ -0,0 +1,7 @@ +acstools==3.7.0 +astropy==5.1.1 +astroquery==0.4.6 +dask==2022.11.1 +ipywidgets==8.0.2 +matplotlib==3.6.2 +numpy==1.23.4 \ No newline at end of file From d72453e0a3a3f44e316db0c8ec57d0be782ad974 Mon Sep 17 00:00:00 2001 From: Gagandeep Anand <30330521+gsanand@users.noreply.github.com> Date: Mon, 20 Nov 2023 09:57:16 -0500 Subject: [PATCH 2/7] Add files via upload --- .../acs_focus_diverse_epsfs.ipynb | 223 +++--------------- .../acs_focus_diverse_epsfs/input_ipsoots.txt | 10 + 2 files changed, 46 insertions(+), 187 deletions(-) create mode 100644 notebooks/ACS/acs_focus_diverse_epsfs/input_ipsoots.txt diff --git a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb index 788d441fe..cf2db01f0 100644 --- a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb +++ b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb @@ -5,7 +5,7 @@ "id": "a9d01468", "metadata": {}, "source": [ - "This notebook highlights how to use the focus_diverse_psfs module within acstools to retrieve empirical, focus-diverse ePSFs for ACS/WFC data. Please see the [webtool](https:https://acspsf.stsci.edu/) (update link when live) and [ACS ISR 2018-08](https://ui.adsabs.harvard.edu/abs/2018acs..rept....8B/abstract) for more details." + "This notebook highlights how to use the focus_diverse_psfs module within acstools to retrieve empirical, focus-diverse ePSFs for ACS/WFC data. Please see the [webtool](https:https://acspsf.stsci.edu/), [ACS ISR 2018-08](https://ui.adsabs.harvard.edu/abs/2018acs..rept....8B/abstract), and [ACS ISR 2023-06](https://ui.adsabs.harvard.edu/abs/2023acs..rept....6A/abstract) for more details." ] }, { @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "a81500b6", "metadata": {}, "outputs": [], @@ -29,8 +29,6 @@ "import ipywidgets as widgets\n", "import matplotlib.colors as colors\n", "import matplotlib.pyplot as plt\n", - "import matplotlib.patheffects as PathEffects\n", - "import numpy as np\n", "\n", "# import the focus_diverse_psfs functions from acstools \n", "from acstools.focus_diverse_epsfs import psf_retriever, multi_psf_retriever, interp_epsf" @@ -59,26 +57,17 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "f2529639", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 150 ms, sys: 32.5 ms, total: 182 ms\n", - "Wall time: 5.06 s\n" - ] - } - ], + "outputs": [], "source": [ "%%time \n", "\n", "# example of a single retrieval\n", "\n", "# provide an existing file location for download \n", - "download_location = '/Users/User_Name/Documents/ePSF_Downloads/'\n", + "download_location = './'\n", "\n", "# call the psf_retriever function with observation rootname\n", "retrieved_download = psf_retriever('jds408jsq', download_location)" @@ -126,20 +115,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "9bddab16", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Filename: /Users/ganand/Desktop/jds408jsq-STDPBF_ACSWFC_F606W_SM4_F11.2.fits\n", - "No. Name Ver Type Cards Dimensions Format\n", - " 0 PRIMARY 1 PrimaryHDU 35 (101, 101, 90) float32 \n" - ] - } - ], + "outputs": [], "source": [ "# give path to downloaded file\n", "retrieved_filepath = (retrieved_download)\n", @@ -161,45 +140,21 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "5a434e3c", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "765849df4a4b466090bb47b2f50e0680", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "interactive(children=(IntSlider(value=44, description='grid_index', max=89), Output()), _dom_classes=('widget-…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# # First, lets grab the image data from the retrieved FITS file\n", "ePSFs = fits.getdata(retrieved_filepath, ext=0)\n", "\n", "def show_ePSF(grid_index):\n", - " plt.imshow(ePSFs[grid_index], cmap = 'viridis', norm = colors.LogNorm(vmin = 1e-4), origin = 'lower')\n", + " plt.imshow(ePSFs[grid_index], cmap='viridis', norm=colors.LogNorm(vmin=1e-4), origin='lower')\n", " cbar = plt.colorbar()\n", " cbar.set_label('Fractional Energy')\n", " \n", - "widgets.interact(show_ePSF, grid_index = (0,89,1))" + " \n", + "widgets.interact(show_ePSF, grid_index=(0, 89, 1))" ] }, { @@ -244,7 +199,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "7f05f8ff", "metadata": {}, "outputs": [], @@ -257,23 +212,12 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "8d0a5472", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[########################################] | 100% Completed | 17.13 s\n", - "# of matching files: 10\n", - "CPU times: user 237 ms, sys: 107 ms, total: 344 ms\n", - "Wall time: 17.4 s\n" - ] - } - ], + "outputs": [], "source": [ "%%time \n", "\n", @@ -311,7 +255,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "68519edf", "metadata": { "scrolled": false @@ -319,15 +263,15 @@ "outputs": [], "source": [ "# # use astroquery to grab ACS/WFC observations from GO-13376 (PI K. McQuinn)\n", - "obsTable = Observations.query_criteria(obs_collection = 'HST', proposal_id=\"13376\", \n", - " instrument_name = \"ACS/WFC\", provenance_name = \"CALACS\")\n", + "obsTable = Observations.query_criteria(obs_collection='HST', proposal_id=\"13376\", \n", + " instrument_name=\"ACS/WFC\", provenance_name=\"CALACS\")\n", "\n", "# retrieve the data products for the above observations\n", "dataProducts = Observations.get_product_list(obsTable)\n", "\n", "# filter the data products for just the FLC files from HST, and not the Hubble Advanced Products (HAP) project\n", "dataProducts = dataProducts[(dataProducts['productSubGroupDescription'] == 'FLC') &\n", - " (dataProducts['type'] == 'S')]\n", + " (dataProducts['type'] == 'S')]\n", "\n", "# create a list of corresponding rootnames\n", "obs_rootnames = list(dataProducts['obs_id'])" @@ -335,23 +279,12 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "00e3296a", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[########################################] | 100% Completed | 22.09 s\n", - "# of matching files: 34\n", - "CPU times: user 275 ms, sys: 133 ms, total: 408 ms\n", - "Wall time: 22.7 s\n" - ] - } - ], + "outputs": [], "source": [ "%%time\n", "\n", @@ -395,31 +328,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "6fbeebf6", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAGzCAYAAABZzq+8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABqZklEQVR4nO2de3gU1f3/37ObO+QiIAmRW/SLXwQ0KDdRnwqaliJarXh9UCPyA6tBRR5RsQqFqqC2FFGUahXUqlhboV6+Yi1YqS0ioNgiilpRqJogIgQCJNmd8/sD2ZzzmcxsNrtJNrPvl8887sycOXPm7IWTz/tzsZRSCoQQQghJKQJtPQBCCCGEtD5cABBCCCEpCBcAhBBCSArCBQAhhBCSgnABQAghhKQgXAAQQgghKQgXAIQQQkgKwgUAIYQQkoJwAUAIIYSkIFwAJDlLliyBZVn4/PPPPdv17t0bV155ZauMKVFYloVf/OIXbT0MIrj22mvxwx/+sK2HkXJccskluOiii9p6GCSF4AKARJg4cSIsy8LZZ5/d6PkXX3wRJ510ErKystCzZ0/MnDkToVDI0W7Dhg04++yzUVRUhI4dO+KEE07AggULEA6HW/oREsZDDz2EJUuWtPUwWp2tW7fid7/7HW677bbIse3bt2PWrFkYOnQojjjiCHTp0gUjRozAX//610b72L17NyZNmoQjjzwSHTp0wMiRI/Huu+822rapn6lY+ozGD3/4Q1iWhcmTJzd6/rHHHsNxxx2HrKws9OnTBw888EBcfe7Zswc333wz+vTpg+zsbPTq1QsTJkzAtm3bjHa33HIL/vSnP+H9999v1nMREjOKJDWhUEgdOHBA2bbt2a5Xr16qvLy82fdZt26dSktLU1lZWWrMmDGO8//3f/+nLMtSI0eOVI888oi67rrrVCAQUD/72c+MduvXr1cZGRmqf//+at68eWrRokXq3HPPVQDU9ddfb7Q9cOCAqq+vb/aYW5L+/fur008/va2H0erccMMN6thjjzWOPfDAAyo7O1tdeuml6sEHH1Tz589XJ510kgKgHn/8caNtOBxWp5xyiurQoYP6xS9+oR588EHVr18/lZubqz7++GOjbVM/U7H0GY0//elPqkOHDgqAqqiocJxftGiRAqDGjh2rHnnkEXX55ZcrAGru3LnN6jMcDqshQ4aoDh06qGnTpqlHH31U3XLLLSo3N1cdddRRqrq62mg/dOhQdfnll8f0TIQ0Fy4AfEI8CwDbttXw4cPVVVddpXr16tXoAqBfv36qtLTU+Af75z//ubIsS3344YeRYxMnTlQZGRnq22+/Na7/wQ9+oPLy8po1vrYgFRcAdXV1qkuXLur22283jm/atEl98803xrGDBw+qvn37qu7duxvHn3vuOQVAPf/885FjO3bsUAUFBerSSy812jb1MxVLn14cOHBA9e7dW82ePbvRf6z379+vOnfu7Pj8jxs3TnXo0EHt2rUr5j7/8Y9/KADqwQcfNI4//vjjCoB64YUXjOO/+tWvVIcOHdTevXub/FyENBdKAEmO9AFQSuHOO+9E9+7dkZOTg5EjR+KDDz5wXFdfX49Zs2ahT58+yMrKQufOnXHaaafh9ddfd7R96qmnsGnTJtx1112NjmHz5s3YvHkzJk2ahLS0tMjxa6+9Fkop/PGPf4wcq66uRlZWFgoKCow+unXrhuzsbOOY9AHYu3cvpkyZgt69eyMzMxNdu3bFD3/4Q4ep95FHHsExxxyD7OxsDB06FH//+98xYsQIjBgxotHx6yxevBhnnHEGunbtiszMTPTr1w8PP/yw0aZ379744IMP8Oabb8KyLFiW5dn3zJkzEQgEsHLlSuP4pEmTkJGR4WnSLS8vR5cuXVBfX+8496Mf/Qj/+7//G/WZEsVbb72FnTt3oqyszDjev39/dOnSxTiWmZmJs846C//973+xd+/eyPE//vGPKCwsxPnnnx85duSRR+Kiiy7Cn//8Z9TW1gKI7TPV1D6jce+998K2bdx0002Nnn/jjTfw7bff4tprrzWOV1RUoKamBq+88krMfVZXVwMACgsLjePdunUDAMd34oc//CFqamoa/Z4Skmi4AGhnzJgxA3fccQdKS0tx33334eijj8aPfvQj1NTUGO1+8YtfYNasWRg5ciQefPBB/PznP0fPnj0d/5ju3bsXt9xyC2677TYUFRU1es/33nsPADB48GDjeHFxMbp37x45DwAjRoxAdXU1rr76anz44Yf44osvsGjRIrzwwguYPn2657P97Gc/w8MPP4yxY8fioYcewk033YTs7Gx8+OGHkTaPPfYYrr76ahQVFeHee+/Fqaeeip/85CfYvn179MkD8PDDD6NXr1647bbb8Otf/xo9evTAtddei4ULF0ba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iKuvvhpnnXUWysrKGv0LMta/wGzbxpVXXom8vDzcdtttePbZZ/HCCy80+forrrgCq1atwtdff41nnnkGY8aMaZI5/le/+hW6desWdYv2lyoA9O3bF9999x327NnT6Plp06Zh8eLF+M1vfoNLL7200TYDBw7Eu+++61hMrV27Fjk5OTj22GMj7YCmfaaa2mdjbNu2DfX19Tj11FONzzlw6B/ykpIS/OUvf/Ec0/r162HbduR8LH1WVVVBKeX4Trh9H0KhELZv347jjjvO9ZkISRht7INAoiCdANPT05vkBLhz505HXxdeeKHq0qWLUkqpL774Qi1btsyxHXnkkWrw4MFq2bJl6tNPP41c27dvX1VaWqpCoVDk2O23364sy1KbN2+OHBswYIDq1KmTcf9QKKQGDRqkcnNzVV1dXeQ4NCfAUCikdu/e7RjzkCFD1ODBg5VSh5wAjzzyyGY7AS5YsEABUJ9//nnk2O7duyMOWlu3bo0cHzZsmCotLfXsT+ewU9uLL74YSVzTtWtXR/y8Gzt27FBpaWnqwgsvVADUn/70pyZd95///Ee9/vrrUbe33noral8rV65UANTKlSsd5+69914FQN12222efSxdutQRs//NN9+ogoICh6NjUz9TsfQp+fDDDxv9nANQZ511llq2bJn66quvlFKHHEQ7deqkzj77bKOPyy67TOXk5ERyW8TS569+9SsFQC1evNjoc/78+QqAWrp0qXH8/fffj+n9JyQeuABIcvQFgFJKTZ8+PfJD8+CDD6oJEyao4uJi1aVLF2MB0LVrV3XRRRepe+65Rz366KPq6quvVpZlqeuuu87zfm6JgF566SVlWZY644wz1COPPKKuv/56FQgE1MSJE412v//97xUAdcwxx6h77rlHLViwQA0fPlwBUHfeeafRVl8AfPfdd6pDhw6qvLxczZs3Tz3yyCPqoosuUgDUr3/968g1v/3tbxUAdeqpp6oFCxaoG2+8URUUFKijjz466gLgo48+UhkZGer4449XDz74oJo7d6465phjVGlpqWMBcO211yrLstQvf/lL9eyzzzb6j+JhNm/erLKystSVV14ZOfbxxx+rnJwcdeGFFxptTz/9dOW27j777LMVAFVQUBCJymhNamtrVefOndX06dON4y+88IICoPr06aOeeuopx1ZZWRlpGwqF1Mknn6w6duyo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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "x = 2000\n", "y = 2000\n", @@ -427,7 +339,7 @@ "\n", "# get interpolated ePSF in supersampled space\n", "P = interp_epsf(ePSFs, x, y, chip)\n", - "plt.imshow(P, cmap = 'viridis', norm = colors.LogNorm(vmin = 1e-4), origin = 'lower')\n", + "plt.imshow(P, cmap='viridis', norm=colors.LogNorm(vmin=1e-4), origin='lower')\n", "plt.title('jds408jsq at x,y = (2000,4048)')\n", "plt.colorbar()" ] @@ -442,35 +354,14 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "590fb332", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAGzCAYAAAAyvF5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGtUlEQVR4nO3deXhU1fkH8O9kmclCFkKWSUgIiyKGJbEhIOBCFAxRERQQqEpYDG0NCE0VxSoIWhFsAZFIABcKKiBVsG64oECriIhFRYUCDYg/SFgkCQkkITPv7w+aKcNckpmcSWbu5Pt5nvto7tz33jOXO/POOffccwwiIiAiIiKf4efpAhAREZF7MbkTERH5GCZ3IiIiH8PkTkRE5GOY3ImIiHwMkzsREZGPYXInIiLyMUzuREREPobJnYiIyMc0S3JfsWIFDAYDDh48WO927du3x9ixY5ujSG5jMBjw+OOPe7oYdJH77rsPAwcO9HQxWpxRo0bhzjvv9HQxiFo8n6u55+bmwmAw4NZbb9V8/e9//zt+9atfISgoCO3atcPMmTNRW1vrsN3OnTtx6623wmw2o1WrVujRowcWLVoEi8XS1G/BbZ5//nmsWLHC08VodkVFRXjhhRfwyCOP2NYdPnwYs2bNQq9evdC6dWtER0ejf//++PjjjzX3UVpaiokTJyImJgahoaHIzMzE119/rbmts9eUK/tsyMCBA2EwGDBp0iTN11988UVceeWVCAoKwuWXX47nnntOaZ9lZWWYNm0aLr/8cgQHByM5ORkTJkzATz/9ZLfdQw89hDfeeAPffPNNo95XHYPBYFsCAgIQFRWF9PR0TJkyBT/88IPSvp966ils2LBBaR8NOXPmDB5//HFs3ry5SY9zsYMHD2LcuHHo1KkTgoKCYDabcd1112HmzJnNWg7yAtIMamtr5ezZs2K1WuvdLjk5WXJychp9nB07dkhAQIAEBQXJLbfc4vD6e++9JwaDQTIzM2XZsmUyefJk8fPzk9/+9rd223311VdiNBqla9euMn/+fCksLJQhQ4YIALn//vvttj179qycO3eu0WVuSl27dpXrr7/e08VodlOmTJHOnTvbrXvuueckODhYRo8eLYsXL5aFCxfKr371KwEgL730kt22FotF+vbtK6GhofL444/L4sWLJSUlRcLCwuTf//633bbOXlOu7LMhb7zxhoSGhgoAycvLc3i9sLBQAMiwYcNk2bJlcs899wgAefrppxu1T4vFIhkZGRIaGioPPvigLF++XB566CEJCwuTtm3bSnl5ud32vXr1knvuucel93QxADJw4EBZtWqVrFy5Up577jm59957JSIiQgICAuQvf/lLo/cdGhqq9D3jjOPHjwsAmTlzZpMe50L79u2TyMhIiY+Plz/+8Y+yfPlymT17tgwdOlRMJlOzlYO8Q7Mkd2epJHer1Sp9+vSR8ePHS3JysmZyT0lJkdTUVLtk/Mc//lEMBoP8+OOPtnW5ubliNBrl5MmTdvHXXXedhIeHN6p8ntASk3tNTY1ER0fLo48+ard+9+7dcvz4cbt1VVVV0qVLF0lMTLRbv3btWgEg69ats607duyYREZGyujRo+22dfaacmWf9Tl79qy0b99eZs+erZmIz5w5I23atHG4/u+66y4JDQ2VX375xeV9fvbZZwJAFi9ebLf+pZdeEgDy5ptv2q3/85//LKGhoXL69Gmn39fFLvXD5cSJE9KnTx8BIO+++26j9q3n5F5RUXHJ1+677z4JCAiQgwcPOrxWUlLi1nKQ92uW5P7yyy8LACkqKhKR84n4iSeekLZt20pwcLD0799fdu/e7ZDca2pq5PHHH5fLLrtMTCaTREVFSb9+/eTDDz90OMZf//pXCQsLk6NHj2om9++//14ASEFBgd36//u//xMA8sQTT9jWjRw5UsLDw8VisdhtO3LkSImLi7Nbd/EHuLy8XKZMmSLJycliNBolJiZGBgwYIDt37rSLW7p0qXTs2FGCgoIkIyNDtm7dKtdff71Tyfill16SzMxMiYmJEaPRKFdeeaU8//zzdtskJycLALulvn3PmDFDDAaDfPzxx3brc3NzJTAwUHbt2nXJ2DFjxkibNm2kpqbG4bWBAwc61KKb0ieffCIAZPPmzU5tn5+fLwDsap8jRoyQuLg4h3//iRMnSkhIiFRVVYmIa9eUs/tsyKxZs6Rdu3Zy5swZzQT47rvvaia+zz//XADIqlWrXN7n+++/7/DD5ML177//vt36b775RjPpu+JSyV1E5NChQxIQECB9+/a1W19VVSUzZsyQTp06idFolMTERHnwwQftzu3FnwkAdt85P//8s4wbN05iY2PFaDRKSkqKvPjiiw5lOHv2rMycOVMuv/xyMZlMYjab5fbbb5f9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r1WochGsRrVLy7/KohRvsqqdA4NivP+ZWo8eP9Co9rtdtfx+NWr/foZzim2lip8Bd+zDENS4KUNtKivV4lsI9pbX5pPJnYiIWggPDGKjB2yWJyIi3aqruassAB+FIyIi8jm+9iic22vujz/+OAwGg93SpUsXdx+GiIjIbYPY+Jomqbl37doVH3/88f8OEsAGAiIicj92qNPWJFk3ICAAZrO5KXZNREREDWiSDnX79u1DQkICOnbsiLvuugs//fTTJbetrq5GeXm53UJEROSUut7yKosPcnty7927N1asWIGNGzdiyZIlKCoqwrXXXovTp09rbj9nzhxERETYlqSkJHcXiYiIfJS7esv7Grcn9+zsbIwYMQI9evRAVlYW3nvvPZSWluL111/X3H769OkoKyuzLYcPH3Z3kYiIiOrFR+FcFBkZic6dO2P//v2ar5tMJphMiiM5ERFRy+SmseX5KJyLKioqcODAAcTHxzf1oYiIqIVhs7w2tyf3Bx54AFu2bMHBgwfx+eef4/bbb4e/vz9Gjx7t7kMRERGRBrc3y//8888YPXo0Tp48iZiYGFxzzTX44osvEBMT4+5DERFRS2eV84tKvA9ye3Jfs2aNu3dJRESkjfO5a+LQcUREpFsGKI5Q57aSeBefTO4fWdcpxXM+eMW5tAH4VVQpxRtMgUrxASVn1Y5/Tm0+c1X+ivFSeUYp3hDWSu34wWpPwEig4hmwql/DckbtGrKUliqXgaixfDK5ExFRC8H53DVxPnciItItzueujTV3IiJq8XxtEBsmdyIi0i/2ltfE5E5ERLplEIFB4b65Sqw34z13IiIiH8OaOxER6Zf1v4tKvA9iciciIt1is7w2NssTERH5GNbciYhIv9hbXhOTOxER6RdHqNPE5E5ERLp14ShzjY33RbznTkRELR6HnyUiIvIWbmqW5/CzREREXsJgPb+oxPsiJncNLX0+eEtpmfI+/P3V5uM2BKhdmnK6QikewUFK4YZAtfnoLadKleKlulop3r9WbT57Q22YWnyA6nzu6jdSLadOKe9Dz1S+B8vLyxEREeHG0pCrmNyJiEi/2FteE5M7ERHpF59z18Te8kRERD6GNXciItItji2vjcmdiIj0i/fcNbFZnoiIyMew5k5ERPolUJuT3Tcr7kzuRESkX7znro3JnYiI9EugeM/dbSXxKrznTkRE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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# get interpolated ePSF in detector space\n", "P = interp_epsf(ePSFs, x, y, chip,\n", - " pixel_space = True)\n", + " pixel_space=True)\n", "plt.imshow(P, cmap = 'viridis', norm = colors.LogNorm(vmin = 1e-4), origin = 'lower')\n", "plt.title('jds408jsq at x,y = (2000,4048)- Detector Space')\n", "plt.colorbar()" @@ -488,64 +379,22 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "f74f8caa", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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PoxGY43HlZWVAYDDY/z8/KyPA4C3tzfat2+PtLQ0vPbaa1i7di2GDx+OKVOmYMOGDbW+vtDQUOzYsQNHjx51+PiuXbtw/Phx3HPPPTAYDNb948aNQ0hISK3ntvD397f+f1FREU6cOIEBAwbg119/RVFRkVPncKRLly6YPXs2Vq1ahbS0NJw4cQKvvfYafHx8ao3z8vLCbbfdhg8++ACnT5+27n/zzTdxxRVXoF27drXGjx07Fps2bapze/PNN+t8DSdPnkTLli3rPO7MmTMYNWoU/P398eyzz9o8VlZWVuN9Ynn83P86c085e05nFBcX46OPPsI111yD0NDQWo+1XLPbbrvNqXOfPHkSM2bMwBNPPIHIyMgaj6vPa3f2nAAQFBSEzp07IzMzE++99x6WLl2K6upqjBgxAidOnHDqNQwaNAibNm3CunXrcM8998DX1xelpaUOj3322Wfx6aef4uWXX8bll1+OyspKhyNELPeUs2VoiBYtWljfPyKCf/7znxg+fDhEBCdOnLBuaWlpKCoqqnOEyp49e3DgwAHceuutOHnypDW+tLQUV199NbZt2waz2Qyz2YwNGzZg+PDh6Nmzp915zv2cdsTymT5t2jR4ef3/r4dJkyYhODgYH330kc3xRqMR48ePd+qaTJgwARs3bsTAgQPx1Vdf4cknn0S/fv3QoUMHhyNPRowYgdatW1v/7tWrF3r37o2PP/7Yuu/cz8/y8nKcOHECl19+OQBYr6mz12TdunXo168fWrZsafNvlJqaCpPJhG3btjn1Opuz2r8d6vD7778DADp06GCzPzIy0u6DfM6cObj++uvRsWNHdOnSBUOHDsUdd9yBrl27Wo+ZOnUqrrjiCtx44421Pq/lJqioqLB7rLy83OYmefbZZ/Hiiy/iwIEDaNGiBQDg5ptvxqBBg5CZmYlhw4bV+CX53HPPISMjA/Hx8ejRoweuueYajB07FomJibW+fl9fX+sxdfn6668xc+ZMbN++HWfOnLF5rKioyOnEwpGHHnoIb7/9Nr777js888wzSEpKcipu7NixmDdvHtavX4+xY8di//792L17N3JycuqMTUxMdPq1O0NEan3cZDLhlltuwU8//YRPPvkEsbGxNo/7+/vXeJ9YHj/3v87cU86e0xn//Oc/UV5eXueXvIhgzZo16NKli817pjaPP/44wsLCMGXK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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": { + "scrolled": false + }, + "outputs": [], "source": [ "# # get interpolated ePSF in detector space with specified sub-pixel shifts\n", "P = interp_epsf(ePSFs, x, y, chip,\n", - " pixel_space = True, \n", - " subpixel_x = 0.77, subpixel_y = 0.33)\n", - "plt.imshow(P, cmap = 'viridis', norm = colors.LogNorm(vmin = 1e-4), origin = 'lower')\n", + " pixel_space=True, \n", + " subpixel_x=0.77, subpixel_y=0.33)\n", + "\n", + "plt.imshow(P, cmap='viridis', norm=colors.LogNorm(vmin = 1e-4), origin='lower')\n", "plt.title('jds408jsq at x,y = (2000.77,4048.33)- Detector Space')\n", "plt.colorbar()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "07f2df73", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8a3eaaf9", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "394b6e4d", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/notebooks/ACS/acs_focus_diverse_epsfs/input_ipsoots.txt b/notebooks/ACS/acs_focus_diverse_epsfs/input_ipsoots.txt new file mode 100644 index 000000000..73192ba61 --- /dev/null +++ b/notebooks/ACS/acs_focus_diverse_epsfs/input_ipsoots.txt @@ -0,0 +1,10 @@ +j6d508ojq +j6d508olq +j6d508orq +j6d508otq +j6d508paq +j6d508pcq +j6d509yrq +j6d509ysq +j6d509yuq +j6d509ywq \ No newline at end of file From 67baa997c18d7be93b640b880279ae3747faa49d Mon Sep 17 00:00:00 2001 From: Gagandeep Anand <30330521+gsanand@users.noreply.github.com> Date: Mon, 20 Nov 2023 10:01:47 -0500 Subject: [PATCH 3/7] Add files via upload --- .../ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb index cf2db01f0..3f5272edd 100644 --- a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb +++ b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb @@ -148,6 +148,7 @@ "# # First, lets grab the image data from the retrieved FITS file\n", "ePSFs = fits.getdata(retrieved_filepath, ext=0)\n", "\n", + "\n", "def show_ePSF(grid_index):\n", " plt.imshow(ePSFs[grid_index], cmap='viridis', norm=colors.LogNorm(vmin=1e-4), origin='lower')\n", " cbar = plt.colorbar()\n", @@ -362,7 +363,7 @@ "# get interpolated ePSF in detector space\n", "P = interp_epsf(ePSFs, x, y, chip,\n", " pixel_space=True)\n", - "plt.imshow(P, cmap = 'viridis', norm = colors.LogNorm(vmin = 1e-4), origin = 'lower')\n", + "plt.imshow(P, cmap='viridis', norm=colors.LogNorm(vmin=1e-4), origin='lower')\n", "plt.title('jds408jsq at x,y = (2000,4048)- Detector Space')\n", "plt.colorbar()" ] From 904f2322de8723329dec8fec866373fde9875f83 Mon Sep 17 00:00:00 2001 From: Gagandeep Anand <30330521+gsanand@users.noreply.github.com> Date: Mon, 20 Nov 2023 10:06:02 -0500 Subject: [PATCH 4/7] Add files via upload --- .../ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb index 3f5272edd..5c0f12967 100644 --- a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb +++ b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb @@ -392,7 +392,7 @@ " pixel_space=True, \n", " subpixel_x=0.77, subpixel_y=0.33)\n", "\n", - "plt.imshow(P, cmap='viridis', norm=colors.LogNorm(vmin = 1e-4), origin='lower')\n", + "plt.imshow(P, cmap='viridis', norm=colors.LogNorm(vmin=1e-4), origin='lower')\n", "plt.title('jds408jsq at x,y = (2000.77,4048.33)- Detector Space')\n", "plt.colorbar()" ] From 9e19f241b9e2fdb393c65a7b44e56a7709393829 Mon Sep 17 00:00:00 2001 From: Gagandeep Anand <30330521+gsanand@users.noreply.github.com> Date: Mon, 27 Nov 2023 09:51:25 -0500 Subject: [PATCH 5/7] updated acs_focus_diverse_epsfs.ipynb updated to hopefully fix CI issues --- .../acs_focus_diverse_epsfs.ipynb | 192 +++++++++++++++--- 1 file changed, 164 insertions(+), 28 deletions(-) diff --git a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb index 5c0f12967..cd9ed78c8 100644 --- a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb +++ b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb @@ -18,11 +18,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "a81500b6", "metadata": {}, "outputs": [], "source": [ + "import os\n", + "\n", "from astropy.io import fits\n", "from astroquery.mast import Observations\n", "\n", @@ -57,20 +59,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "f2529639", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 153 ms, sys: 38.6 ms, total: 192 ms\n", + "Wall time: 6.03 s\n" + ] + } + ], "source": [ "%%time \n", "\n", "# example of a single retrieval\n", "\n", - "# provide an existing file location for download \n", - "download_location = './'\n", + "\n", + "# Set the download location to the current working directory\n", + "download_location = os.path.join(os.getcwd(), 'downloads')\n", + "os.makedirs(download_location, exist_ok=True)\n", "\n", "# call the psf_retriever function with observation rootname\n", - "retrieved_download = psf_retriever('jds408jsq', download_location)" + "retrieved_download = psf_retriever('jds408jsq', download_location) " ] }, { @@ -115,17 +128,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "9bddab16", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filename: /Users/ganand/Documents/ePSFtool/acs_focus_diverse_epsfs/downloads/jds408jsq-STDPBF_ACSWFC_F606W_SM4_F11.2.fits\n", + "No. Name Ver Type Cards Dimensions Format\n", + " 0 PRIMARY 1 PrimaryHDU 35 (101, 101, 90) float32 \n" + ] + } + ], "source": [ "# give path to downloaded file\n", - "retrieved_filepath = (retrieved_download)\n", + "retrieved_filepath = os.path.abspath(retrieved_download)\n", + "\n", + "if not os.path.isfile(retrieved_filepath):\n", + " raise FileNotFoundError(f\"Expected file not found at {retrieved_filepath}\")\n", "\n", "# open the file with astropy.io\n", - "hdu = fits.open(retrieved_filepath)\n", - "hdu.info() # display basic information about the file" + "with fits.open(retrieved_filepath) as hdu:\n", + " hdu.info() # Display basic information about the file" ] }, { @@ -140,10 +166,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "5a434e3c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "501a510b74d8411bba89b4d5f698da72", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(IntSlider(value=44, description='grid_index', max=89), Output()), _dom_classes=('widget-…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# # First, lets grab the image data from the retrieved FITS file\n", "ePSFs = fits.getdata(retrieved_filepath, ext=0)\n", @@ -200,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "7f05f8ff", "metadata": {}, "outputs": [], @@ -213,12 +264,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "8d0a5472", "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[########################################] | 100% Completed | 12.42 s\n", + "# of matching files: 10\n", + "CPU times: user 226 ms, sys: 96.5 ms, total: 322 ms\n", + "Wall time: 12.8 s\n" + ] + } + ], "source": [ "%%time \n", "\n", @@ -256,7 +318,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "68519edf", "metadata": { "scrolled": false @@ -280,12 +342,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "00e3296a", "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[########################################] | 100% Completed | 15.82 s\n", + "# of matching files: 34\n", + "CPU times: user 220 ms, sys: 110 ms, total: 330 ms\n", + "Wall time: 16.3 s\n" + ] + } + ], "source": [ "%%time\n", "\n", @@ -329,10 +402,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "6fbeebf6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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L40fS2YBsHnzZsnLy5NvfetbST23CRcAwYU+AIo5c+bghhtuQFVVFe666y4MGTIExx13HOrr6612N954I2666SZMnDgR9957L6677joMGjTIpVF+9dVX+MEPfoBrr70W5eXlrd7z9ddfBwCMGjXKOl5RUYEBAwbEzwPAhAkTUFdXh+9973t4++238dFHH2Hx4sV4+umnMXv2bN9n+/73v4/7778fkydPxn333Ycrr7wSxcXFePvtt+NtHnroIXzve99DeXk57rzzThx11FH49re/jc2bNyeePAD3338/Bg8ejGuvvRY//vGPMXDgQFxyySVYtGhRvM2CBQswYMAADB06FD//+c/x85//HNddd51nn9dffz1GjBiBqVOn4quvvgIAPPfcc3jwwQcxZ86cVjXUZs477zz8+9//xnPPPWcdr62txQsvvIDvfve7vs+za9cufP755wm3L7/8MuHcvPLKK3AcB4cffnjCts1j7NatG7p16xY/9vrrr+OII45AKGR/dMeMGYNdu3bh3XffjbcDkntPJdtnKtTW1gIA+vbta90n02NKpU8AKC0txQEHHICXX3454TPceOONmD59OioqKvDjH/8YkydPxk9/+lMcd9xxaGpqstp++eWXOP7441FVVYUf//jHGDp0KH7wgx/g2Wef9b3HkCFDUFFRgZdeeil+bO3atWhsbMT48eMxfvx4a6yvvPIKAODoo4929bVjxw7X+7KZZ599FpFIBOedd17C5yY5RGevQDob0wKwbds2KSgokJNOOsnyCbj22msFgGUBqKqqatWUr7nyyiulsrIy/oulNQvAXXfdJQDk448/dl0/evRoOfLII+P7kUhEZsyYIfn5+fFfz+FwWO6//37XtVAWgNLSUpk+fbrnWBsbG6Vfv34yYsQIaWhoiB9/4IEHEv5Kb0ZrviIikyZNkiFDhljHUpUA/vGPf0hBQYH83//7f+XLL7+U/fbbT0aNGpXQxyEajcqAAQPkrLPOso7Pnz9fHMeRDz/80Pf6uXPnuqwVrW2DBw9O+Azf/e53pU+fPgnbiYi89957UlRUJOedd551vHv37nLhhRe62v/+978XALJixQoRSe09lWyfqTB16lQJh8OWXt8eY0qlz2aOO+44Ofjgg33H3/xdcNxxx1lWiHvvvdflm3HMMccIAHn00UfjxxoaGqS8vFwmT57sex+RvdYOU+ufN2+eVFZWiojIfffdJ/369Yu3vfLKKwWAfPLJJ/Fjzd9hrW3NXHHFFQLA8glIFloAgkteu68wuhB/+tOf0NjYiEsvvRSO48SPz5w5Ez/84Q+ttr169cI///lPvPfeezjwwANb7e/dd9/F3XffjccffxyFhYWe9929ezcAtNqmqKgIdXV18f1wOIwDDjgAkyZNwhlnnIGioiI8/vjjuPTSS1FeXo7TTjvN8z69evXCmjVr8Omnn6KiosJ1ft26ddi2bRtuvvlmFBQUxI9fcMEFuOqqqzz7NSkuLo7/vWPHDjQ1NeGYY47Bc889hx07dqC0tDSpfjTDhw/HTTfdhNmzZ+Pvf/87Pv/8c/zxj39EXp7/WzgUCuHcc8/FwoUL8dVXX6Fnz54AgF/+8pcYP348Kisrfa8///zzW/21pTGf24t///vf2GeffRK227VrF8444wwUFxfj9ttvt87t3r3b833SfN78fzLvqWT7TJbHHnsMDz30EK6++mrrs9EeY0qlz2b22Wcfl2VA0/xdMHPmTMsKMW3aNFx77bX4/e9/jylTpsSP9+jRw7ImFRQUYMyYMfjwww997wPs/TX/1FNPYf369TjyyCPx8ssvY/z48QCAo446Ctu2bYt/z7z88suorKxs9fO7aNEiHHTQQa3eo3kemt//hAAAFwAGH330EQC4/kHfd999XV/cN998M0499VQcdNBBGD58OI4//nicd955OOyww+JtLr/8cowfPx6TJ0/2vW/zPx4NDQ2uc3v27LH+cbn99ttx991347333kOPHj0AAGeeeSYmTpyI6dOn4+STT/b8R/HOO+9ETU0NBg4ciJEjR+LEE0/E+eefjyFDhvg+f35+frxNIl5++WXMnTsXq1evxq5du6xz6SwAAOCqq67CE088gVdffRU//OEPMWzYsKSuO//883HHHXdg2bJlOP/887Fx40asX78eixcvTnjtkCFDkn72ZBAR3/PRaBRnn3023nrrLTz77LOuL/ri4mLP90nzefP/ybynku0zGf76179i6tSpmDRpEm677TbX2DM9plT6bEZErAV+azR/Fr7+9a9bxwsKCjBkyJD4+WYGDBjg6nOfffbB3//+d9/7AC3m/Jdffhljx47FK6+8gltvvRXA3oVvSUkJXn75ZQwcOBDr16/HWWed1Wo/Y8aMcUkhzZSUlABAXEIjBGAegDbzjW98Ax988AGWLFmC4cOH42c/+xmOOOII/OxnPwMAvPDCC1ixYgUuv/xy/Otf/4pvkUgEu3fvxr/+9a/4qrx///4AgC1btrjus2XLFusfgfvuuw/HHnts/B//Zr797W/j008/9U1odOaZZ+LDDz/EPffcg4qKCtx111045JBDEuqUyfLBBx/gm9/8Jj7//HPMnz8fv//97/H888/jiiuuAADEYrG0+v/www/x3nvvAQD+8Y9/JH3dsGHDMHLkSPziF78AAPziF79AQUEBzjzzzITX7ty5E7W1tQm3zz77LGFfffr0SegrMG3aNPzud7/D0qVLceyxx7rO9+/f3/N9AiD+XknlPZVsn4l444038O1vfxvDhw/Hr3/9a9dCtD3GlEqfzXz55ZeWb0ImCIfDrR5PtOADgKqqKvTs2RMvvfQS3nnnHXzxxRdxC0AoFMLYsWPx0ksvxX0DkrFIaYYOHQogtc8NCT5cABgMHjwYAOL/yDTz2WeftfrF3bt3b0yZMgWPP/44Nm/ejMMOOyyeee/jjz8GAJx++umorKyMb5988gleeOEFVFZWYsmSJQCAESNGAICViAMAPv30U/zv//5v/DwAbN26tdWEP81OSa0lVDHp378/LrnkEixfvhybNm1Cnz594r/UvJ6/qakJmzZt8u0XAH7729+ioaEBzzzzDL73ve/hxBNPRHV1dau/whL9AtPEYjFccMEFKCkpwbXXXovHH38cTz/9dNLXn3/++XjhhRewZcsWPPbYYzjppJOSMsf/6Ec/Qv/+/RNuo0ePTtjX0KFD8eWXX2LHjh2tnr/qqqvw8MMP4yc/+QnOOeecVtuMGDECr732mmsxtWbNGnTr1i1uAk7lPZVsn3588MEHOP7449GvXz/84Q9/cC1Q22tMqfTZzKZNm3DwwQf7Pk/zZ2Hjxo3W8cbGRmzatCl+PhOEw+G46f+ll15CSUkJDj300Pj5ZkfAZmfAtiwATjjhBITD4fgimBAAdALUToD5+flJOQF+/vnnrr7OOOMM6du3r4iIfPTRR7Js2TLXtu+++8qoUaNk2bJl8v7778evHTp0qFRVVUkkEokfu/7668VxHHnrrbfix4YPHy69e/e27h+JRGTkyJHSs2dPK9wNhhNgJBJxJRsR2esoNWrUKBHZ6wS47777ttkJcOHChQJA/vWvf8WPbd++Xfr372+FWoqIjB07Vqqqqnz7M2l29nrmmWfiSWL69evnip/3Ytu2bZKXlydnnHGGAJD/9//+X1LXffDBB/L8888n3F566aWEfa1cuVIAyMqVK13n7rzzTgEg1157rW8fTzzxhCs+/rPPPpNevXq5HB2TfU+l0mdrbNmyRYYMGSIVFRXWa9wa7TGmZPsUaQkD/PGPf+w7zmYnwOOPP976LrjvvvtadQI85JBDXH3U1NQk5RwqInLTTTcJABk3bpwrVO+5554Tx3HkyCOPlD59+riSliWbB+D73/++AJCFCxe6zkWjUfnRj34UzwNgQifA4MIFgMoDMHv2bAEgJ554otx7770ydepUqaiokL59+1oLgH79+smZZ54pd9xxhzz44IPyve99TxzHseJzW8MrEdBvf/tbcRxHjj32WHnggQfksssuk1AoJNOmTbPa/eIXvxAAcsABB8gdd9whCxculHHjxgkAufXWW6225gLgyy+/lO7du0tNTY3Mnz9fHnjgATnzzDMFgPVl+NOf/lQAyFFHHSULFy6UK664Qnr16iVDhgxJuAB45513pKCgQA499FC599575fbbb5cDDjhAqqqqXAuASy65RBzHkVtuuUUef/zxVv9RbOatt96SoqIiueCCC+LH3n33XenWrZucccYZVttmj+zWOPnkkwWA9OrVq02x7enS0NAgffr0kdmzZ1vHn376aQEgBx54oCuT289//nOpra2Nt41EInLkkUdKjx495KabbpJFixbJIYccIj179pR33nnH6jfZ91QqfdbU1Lhey+bX9+qrr3aNXefFaI8xJdunyN5EQACsxbcXzREgxx13nNx7771y6aWXSjgcltGjR1sL7UwsAJoXhwDkxhtvtM7t2LFDQqGQAJBTTjnFdW2yC4D6+nr51re+JQBkwoQJ8qMf/UgeeughmTt3rgwbNkxCoZD87//+b7z9PffcI7fccotcfPHFAkBOP/10ueWWW+SWW25p9ccE6XpwAaAWANFoVG666Sbp37+/byKgW2+9VcaMGSO9evWS4uJiGTp0qNx2222tJpwx8VoAiIgsW7ZMRowYIYWFhTJgwAC5/vrrW+1vxYoVcswxx0jfvn3j/+AuXrzY1c5cADQ0NMhVV10lVVVV0rNnT+nevbtUVVW5kvSI7P2VU1lZKYWFhTJq1KiUEgE988wz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QgghJMP85S9/wcSJE13Ha2pqsHTpUgDAvffei7vuuisuhS9cuLBN1vC2wgUAIYQQkoOwHDAhhBCSg3ABQAghhOQgXAAQQgghOUiXXQCkW0UpSMybNw+jR49Gz5490a9fP5x22mnYuHGj1WbPnj2YPn06+vTpgx49emDy5MmuGNRc4vbbb4fjOJg5c2b8GOdoL5988gm++93vok+fPiguLsahhx6KdevWxc+LCObMmYP+/fujuLgY1dXVeO+99zpxxB1LNBrFDTfcgMrKShQXF+OAAw7ALbfcYhW1ybU5SlT5Lpn5+OKLL3DuueeipKQEvXr1wtSpU7Fz584OfIocJKXKAVnCE088IQUFBbJkyRL55z//KdOmTZNevXrJ1q1bO3toncKkSZPk4YcfljfffFM2bNggJ554ogwaNEh27twZb/P9739fBg4cKCtXrpR169bJkUceKePHj+/EUXcer776quy///5y2GGHyeWXXx4/zjkS+eKLL2Tw4MFywQUXyJo1a+TDDz+U5557Tt5///14m9tvv11KS0tl+fLl8sYbb8i3v/1tqayslN27d3fiyDuO2267Tfr06SO/+93vZNOmTfLUU09Jjx495O677463ybU5+sMf/iDXXXedPP30060WvklmPo4//nipqqqSv/3tb/LXv/5Vvva1r8k555zTwU+SW3TJBUC6VZSCzrZt2wSAvPjiiyIisn37dsnPz5ennnoq3ubtt98WALJ69erOGman8NVXX8mBBx4ozz//vBxzzDHxBQDnaC8/+MEP5Oijj/Y8H4vFpLy8XO666674se3bt0thYaE8/vjjHTHETuekk06SCy+80Dp2+umny7nnnisinCO9AEhmPt566y0BIGvXro23efbZZ8VxHPnkk086bOy5RpeTAJqrKFVXV8ePpVpFKejs2LEDANC7d28AwPr169HU1GTN2dChQzFo0KCcm7Pp06fjpJNOsuYC4Bw188wzz2DUqFE444wz0K9fPxx++OF48MEH4+c3bdqE2tpaa55KS0sxduzYnJmn8ePHY+XKlXj33XcBAG+88QZeeuklnHDCCQA4R5pk5mP16tXo1asXRo0aFW9TXV2NUCiENWvWdPiYc4VOqQWQDtlSRSlbicVimDlzJo466igMHz4cAFBbW4uCggL06tXLaltWVoba2tpOGGXn8MQTT+C1117D2rVrXec4R3v58MMPcf/992PWrFm49tprsXbtWlx22WUoKChATU1NfC5a+/zlyjxdc801qKurw9ChQxEOhxGNRnHbbbfh3HPPBQDOkSKZ+aitrUW/fv2s83l5eejdu3dOzllH0eUWAMSf6dOn480338RLL73U2UPJKjZv3ozLL78czz//fFaWB80WYrEYRo0ahR/+8IcA9qYwffPNN7F48WLU1NR08uiyg1/96lf45S9/icceewyHHHIINmzYgJkzZ6KiooJzRLoUXU4CyJYqStnIjBkz8Lvf/Q5//vOfMWDAgPjx8vJyNDY2Yvv27Vb7XJqz9evXY9u2bTjiiCOQl5eHvLw8vPjii1i4cCHy8vJQVlaW83MEAP3798ewYcOsYwcffDA+/vhjAIjPRS5//q666ipcc801OPvss3HooYfivPPOwxVXXIF58+YB4BxpkpmP8vJybNu2zTofiUTwxRdf5OScdRRdbgGQLVWUsgkRwYwZM7Bs2TK88MILqKystM6PHDkS+fn51pxt3LgRH3/8cc7M2Te/+U384x//wIYNG+LbqFGjcO6558b/zvU5AoCjjjrKFUL67rvvYvDgwQCAyspKlJeXW/NUV1eHNWvW5Mw87dq1C6GQ/dUZDocRi8UAcI40yczHuHHjsH37dqxfvz7e5oUXXkAsFuvQ3Pg5R2d7IbaFJ554QgoLC2Xp0qXy1ltvyUUXXSS9evWS2trazh5ap3DxxRdLaWmp/OUvf5EtW7bEt127dsXbfP/735dBgwbJCy+8IOvWrZNx48bJuHHjOnHUnY8ZBSDCORLZGyKZl5cnt912m7z33nvyy1/+Urp16ya/+MUv4m1uv/126dWrl/zmN7+Rv//973LqqacGOsRNU1NTI/vtt188DPDpp5+Wvn37ytVXXx1vk2tz9NVXX8nrr78ur7/+ugCQ+fPny+uvvy4fffSRiCQ3H8cff7wcfvjhsmbNGnnppZfkwAMPZBhgO9MlFwAiIvfcc48MGjRICgoKZMyYMfK3v/2ts4fUaQBodXv44YfjbXbv3i2XXHKJ7LPPPtKtWzf5zne+I1u2bOm8QWcBegHAOdrLb3/7Wxk+fLgUFhbK0KFD5YEHHrDOx2IxueGGG6SsrEwKCwvlm9/8pmzcuLGTRtvx1NXVyeWXXy6DBg2SoqIiGTJkiFx33XXS0NAQb5Nrc/TnP/+51e+gmpoaEUluPv7973/LOeecIz169JCSkhKZMmWKfPXVV53wNLkDqwESQgghOUiX8wEghBBCSPpwAUAIIYTkIFwAEEIIITkIFwCEEEJIDsIFACGEEJKDcAFACCGE5CBcABBCCCE5CBcAhBBCSA7CBQAhhBCSg3ABQAghhOQgXAAQQgghOcj/B73cNgaEeTEzAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "x = 2000\n", "y = 2000\n", @@ -341,7 +435,7 @@ "# get interpolated ePSF in supersampled space\n", "P = interp_epsf(ePSFs, x, y, chip)\n", "plt.imshow(P, cmap='viridis', norm=colors.LogNorm(vmin=1e-4), origin='lower')\n", - "plt.title('jds408jsq at x,y = (2000,4048)')\n", + "plt.title('jds408jsq at x,y = (2000,2000) on WFC1')\n", "plt.colorbar()" ] }, @@ -355,16 +449,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "590fb332", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAGzCAYAAAAyvF5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBD0lEQVR4nO3de1xVVd4/8M+BA4eLXESEA4+IlzIzFQyVUCstEqmxvGTaOBNexmYKSodK89fkdYqnLLULRfWkjk7jmNOjvaZ6rKTU8pZaNDmTjholZuClAEEBOef7+8M44/FsLod18Jy9+bxfr/0q9tnfvdfebvietfbaa5lEREBERESG4eftAhAREZFnMbkTEREZDJM7ERGRwTC5ExERGQyTOxERkcEwuRMRERkMkzsREZHBMLkTEREZDJM7ERGRwbTL5P7000+jd+/esNvt3i5Ku1JQUICuXbuitrbW20VpN3iv06Wuu+46zJ4929vFoDbW7pJ7ZWUlnnrqKcyZMwd+fhdO//Tp01iyZAluuOEGdO7cGZGRkbjuuuuwbt06zX3U1tZizpw5iI+PR3BwMFJTU/Hhhx9qbrtjxw4MGzYMISEhsFqtePDBB1FVVaW0z0sVFhZi2rRp6NWrF0JCQtCjRw/85je/wQ8//HDZytSSfU6ZMgV1dXV45ZVXWnRel8Ott96Kjh074tJRmL/44guYTCYkJia6xHz00UcwmUx49dVXAQBbtmyByWTSXCZNmuQSv2HDBmRmZiI6OhqBgYGIj4/HXXfdhY8++shpuyeeeAK33347YmNjYTKZsGDBArfOTeteB+BUPrPZjKioKKSkpGDmzJn417/+5dYxLvXkk09i48aNSvtoztmzZ7FgwQJs2bKlTY9zqW+//RZTp05Fz549ERQUBKvVihtuuAHz58+/rOVQNWfOHOTn56O0tNTbRaG2JO3MsmXLJDw8XM6dO+dY9/e//10CAgLkjjvukOXLl8uLL74oI0aMEAAyb948l31MmjRJzGazPPzww/LKK69IWlqamM1m+eSTT5y2++KLLyQoKEgGDBggL7/8sjz22GNisVhk1KhRrd6nlpSUFOnevbvMnj1bXnvtNZk7d66EhYVJbGys/PDDD21eJnf2OXv2bElMTBS73d7seV0OTzzxhACQf/zjH07rX3jhBTGbzQJASkpKnD5btGiRAJB//vOfIiLy8ccfCwB58MEHZc2aNU7LxdfKbrfLlClTBIAMGDBAnnjiCXn99dflj3/8o6SkpAgA2b59u2N7AGK1WiUjI0MAyPz58906N617vWG/t9xyi6xZs0ZWr14tL7zwgvzmN7+RiIgIMZvN8uyzz7p1nIuFhoZKVlZWq+Nb4uTJk626HioOHTokkZGREhcXJ4899pi89tprsmjRIhkzZoxYLJbLVg5PsNlsYrVa5fHHH/d2UagNtbvk3r9/f/nVr37ltO6bb76Rb7/91mmd3W6Xm266SSwWi1RVVTnW7969WwDIkiVLHOvOnTsnPXv2lLS0NKd9ZGZmSlxcnFRUVDjWvfbaawJA3n///VbtU8vWrVvFZrO5rAMgjz32WJuXqaX7FBHZu3evAJDCwsJmz+tyaLhOL730ktP6SZMmye233y4dOnSQtWvXOn02cuRI6dSpk+MLSkNyX79+fZPHWrJkiQCQWbNmaX65Wb16tezevdvxc3FxsYi0Pplp3esiF5J7dna2y/pTp05JWlqaAJB3333XrWM10HNyv/j3/FL333+/mM1ml78TIiJlZWUeLcflkJOT41Nfssnz2lVy/+abbwSArFq1qkXbP//88y61ukceeUT8/f2dEpmIyJNPPikA5OjRoyIiUlFRIWazWR555BGn7Wpra6VDhw4yffp0t/fprqioKBk3bpzj57Yokzv7vLhcDz74YIvO4c0335Rrr71WgoKCpFOnTjJ58mQ5duyY0zZZWVkSGhoqx44dkzvuuENCQ0MlOjpaHnroIamvr29y/+fOnZPAwECZPHmy0/qEhAR55pln5KabbpKcnBzHepvNJuHh4TJ69GjHupYk97Nnz0pUVJT07t272TJdqjXJrKl7vbHkLiLy3XffidlsliFDhjitr6mpkXnz5knPnj0lMDBQunTpIo888ojU1NQ47ffS5eJEf+zYMZk6darExMRIYGCg9OnTR15//XWXMpw7d07mz58vV155pVgsFrFarTJ27Fg5fPiwFBcXax7n4mtTWFgow4YNk5CQEImIiJDbb79d/vWvfzkdY/78+Y7Wl7vvvlsiIyMlOTm50euZkZEh3bp1a/TziyUmJsptt90m77//viQlJYnFYpGrr75a3nrrLaftTp8+LQ899JD07dtXQkNDJSwsTEaNGiVFRUVuXZMGNptNli1bJn369BGLxSIx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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# get interpolated ePSF in detector space\n", "P = interp_epsf(ePSFs, x, y, chip,\n", " pixel_space=True)\n", "plt.imshow(P, cmap='viridis', norm=colors.LogNorm(vmin=1e-4), origin='lower')\n", - "plt.title('jds408jsq at x,y = (2000,4048)- Detector Space')\n", + "plt.title('(2000,2000) on WFC1 (Detector Space)')\n", "plt.colorbar()" ] }, @@ -380,12 +495,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "f74f8caa", "metadata": { "scrolled": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAGzCAYAAAAyvF5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGf0lEQVR4nO3deXxTVd4/8E+aNuleaEs3KWUHK9IqlArIXilVUGRR1JGCiPMbC4oVGZgZqbhMFRUYtLKIwoCKiD7i4zgPilUpm2xSHR1hAKsWoQUqbWmhW/L9/YHNEJIu6QkkN/28X6/70tycc+7J5TbfnHPPPUcnIgIiIiLyGF6urgARERE5F4M7ERGRh2FwJyIi8jAM7kRERB6GwZ2IiMjDMLgTERF5GAZ3IiIiD8PgTkRE5GEY3ImIiDyMWwX3hQsXomfPnjCbza6uCmncpEmTcMcdd7i6Gq3KzTffjOnTp7u6GuQmSkpKEBAQgH/+85+urkrrJG6irKxMQkND5fXXX7fsO336tCxcuFAGDRok4eHhEhISIsnJyfL222/bLaOqqkrmzJkj0dHR4uvrK/369ZNPPvnEbtodO3bIwIEDxc/PTyIjI2XmzJly9uxZpTIvFRcXJwDsbl27drWkW716dYPpAMgbb7zR6HG+//57eeyxxyQhIUECAwMlKipKbr75Ztm7d6/d9MeOHZOJEydKSEiIBAUFya233ipHjx61m3bVqlXSs2dPMRqN0rVrV1m6dKlymZd65plnJDk5WcLDwy3Hefjhh+XkyZNW6X755Re55557pHv37hIYGCghISGSlJQka9asEbPZbJX2q6++Ei8vL8nPz29WHS63uro6y3m51KJFiwSATJ482ea9xx9/XADIoUOHREQkKyurwetk2bJlVnnPnz8vixYtkn79+klwcLAYjUbp1q2bZGRkWMoTETl+/Lj88Y9/lKFDh0pgYKAAkM8//9yhz7d9+3bR6/Vy+PBhy77PP//cqn4Gg0EiIiJkyJAh8swzz9j8+zril19+kaysLDlw4ECLy2iO7777TrKysqSgoOCyHudS27Ztk1GjRklMTIwYjUaJjY2V0aNHy5tvvnlF66HqoYcekuuvv97V1WiV3Ca4L168WIKDg+X8+fOWfR9++KH4+PjIbbfdJkuWLJGXX35Zhg0bJgBk/vz5NmVMmjRJvL29Zfbs2bJixQrp37+/eHt7y7Zt26zSHThwQHx9feW6666TZcuWyZ///GcxGo0yatSoFpdpz/vvvy/r1q2z2p5++mkBIA8++KAl3dGjR23SrVu3Tq6//nrR6/Vy4sSJRo/z6KOPSps2bWTatGmyYsUKWbhwoXTp0kX0er1s2bLFKu3Zs2elW7duEhERIc8995wsWrRIYmNjpX379nL69GmrtMuXLxcAMn78eFm5cqXce++9AkCeffbZFpdpz7hx4+T3v/+9LF68WFatWiWPPvqoBAcHS9euXaWiosKS7uuvv5YhQ4bIn/70J1m+fLm89NJLcuuttwoAmTdvnk25/fr1k3vvvbfJ418pN910k4SHh9vsHz9+vHh7e0uXLl1s3hs+fLhERERYXtcH92XLltlcL//5z38s6U6dOiV9+vQRADJ69GhZsmSJrFq1Sh577DGJjY0VHx8fS9r6INytWzfp379/i4L7bbfdJiNHjrTaV1/uQw89JOvWrZM1a9bI888/L7fffrt4e3tLWFiY5ObmOnScenv37hUAsnr16hblb66NGze26HyoeOedd0Sn08l1110nzz33nKxcuVLmzZsnAwcOlKFDh16xejjDv//9bwHQ4n9najm3Ce69e/eW3/3ud1b7fvjhB/nxxx+t9pnNZhk+fLgYjUarL/7du3cLAHn++ect+86fPy9dunSR/v37W5WRlpYm0dHRUlZWZtn36quvCgD5+OOPW1Rmcz311FMCQHbs2NFounPnzklQUJDcdNNNTZa5b98+m16H06dPS7t27WTgwIFW+5977jkBIHv27LHs+/7770Wv11sFyHPnzklYWJjccsstVvnvueceCQgIkF9//dXhMh3x7rvvCgBZv359k2lHjx4tAQEBUldXZ7X/hRdekICAALs9Mq6wYMECASD//ve/rfZHRUXJ3XffLQCsfsjV1tZKQECA3H777ZZ99cH91KlTjR7rlltuES8vL3n33Xdt3quqqpJHH33U8rq8vFxKSkpEpGXBrLi4WLy9vWXVqlVW++uD+8aNG23y5OfnS0REhLRp00aOHz/e7GPV03pwr6ysbPC9+Ph4ueaaa6S6utrmveLiYqfW40ro1auXW/3Ibi3cIrj/8MMPAkDWrFnTrPRLly4VAPLNN99Y9j322GOi1+utAraIyF//+lcBID///LOIXOj+9/b2lscee8wqXXV1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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# # get interpolated ePSF in detector space with specified sub-pixel shifts\n", "P = interp_epsf(ePSFs, x, y, chip,\n", @@ -393,7 +529,7 @@ " subpixel_x=0.77, subpixel_y=0.33)\n", "\n", "plt.imshow(P, cmap='viridis', norm=colors.LogNorm(vmin=1e-4), origin='lower')\n", - "plt.title('jds408jsq at x,y = (2000.77,4048.33)- Detector Space')\n", + "plt.title('(2000.77,2000.33) on WFC1 (Detector Space)')\n", "plt.colorbar()" ] } From c2be3130da3bf5704cb7ec039ad0e3e0902de426 Mon Sep 17 00:00:00 2001 From: Gagandeep Anand <30330521+gsanand@users.noreply.github.com> Date: Mon, 27 Nov 2023 10:08:29 -0500 Subject: [PATCH 6/7] Update notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt Co-authored-by: Hatice Karatay <66814693+haticekaratay@users.noreply.github.com> --- notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt b/notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt index e8a84f3b9..8e37965bd 100644 --- a/notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt +++ b/notebooks/ACS/acs_focus_diverse_epsfs/requirements.txt @@ -4,4 +4,5 @@ astroquery==0.4.6 dask==2022.11.1 ipywidgets==8.0.2 matplotlib==3.6.2 -numpy==1.23.4 \ No newline at end of file +numpy==1.23.4 +scipy==1.11.4 \ No newline at end of file From d76be2fb7e8fb670e12e19c698fc0c186426ac1e Mon Sep 17 00:00:00 2001 From: Gagandeep Anand <30330521+gsanand@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:15:37 -0500 Subject: [PATCH 7/7] clearing cell output --- .../acs_focus_diverse_epsfs.ipynb | 167 ++---------------- 1 file changed, 19 insertions(+), 148 deletions(-) diff --git a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb index cd9ed78c8..919b987b6 100644 --- a/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb +++ b/notebooks/ACS/acs_focus_diverse_epsfs/acs_focus_diverse_epsfs.ipynb @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "a81500b6", "metadata": {}, "outputs": [], @@ -59,19 +59,10 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "f2529639", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 153 ms, sys: 38.6 ms, total: 192 ms\n", - "Wall time: 6.03 s\n" - ] - } - ], + "outputs": [], "source": [ "%%time \n", "\n", @@ -128,20 +119,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "9bddab16", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Filename: /Users/ganand/Documents/ePSFtool/acs_focus_diverse_epsfs/downloads/jds408jsq-STDPBF_ACSWFC_F606W_SM4_F11.2.fits\n", - "No. Name Ver Type Cards Dimensions Format\n", - " 0 PRIMARY 1 PrimaryHDU 35 (101, 101, 90) float32 \n" - ] - } - ], + "outputs": [], "source": [ "# give path to downloaded file\n", "retrieved_filepath = os.path.abspath(retrieved_download)\n", @@ -166,35 +147,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "5a434e3c", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "501a510b74d8411bba89b4d5f698da72", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "interactive(children=(IntSlider(value=44, description='grid_index', max=89), Output()), _dom_classes=('widget-…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# # First, lets grab the image data from the retrieved FITS file\n", "ePSFs = fits.getdata(retrieved_filepath, ext=0)\n", @@ -251,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "7f05f8ff", "metadata": {}, "outputs": [], @@ -264,23 +220,12 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "8d0a5472", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[########################################] | 100% Completed | 12.42 s\n", - "# of matching files: 10\n", - "CPU times: user 226 ms, sys: 96.5 ms, total: 322 ms\n", - "Wall time: 12.8 s\n" - ] - } - ], + "outputs": [], "source": [ "%%time \n", "\n", @@ -318,7 +263,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "68519edf", "metadata": { "scrolled": false @@ -342,23 +287,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "00e3296a", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[########################################] | 100% Completed | 15.82 s\n", - "# of matching files: 34\n", - "CPU times: user 220 ms, sys: 110 ms, total: 330 ms\n", - "Wall time: 16.3 s\n" - ] - } - ], + "outputs": [], "source": [ "%%time\n", "\n", @@ -402,31 +336,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "6fbeebf6", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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L40fS2YBsHnzZsnLy5NvfetbST23CRcAwYU+AIo5c+bghhtuQFVVFe666y4MGTIExx13HOrr6612N954I2666SZMnDgR9957L6677joMGjTIpVF+9dVX+MEPfoBrr70W5eXlrd7z9ddfBwCMGjXKOl5RUYEBAwbEzwPAhAkTUFdXh+9973t4++238dFHH2Hx4sV4+umnMXv2bN9n+/73v4/7778fkydPxn333Ycrr7wSxcXFePvtt+NtHnroIXzve99DeXk57rzzThx11FH49re/jc2bNyeePAD3338/Bg8ejGuvvRY//vGPMXDgQFxyySVYtGhRvM2CBQswYMAADB06FD//+c/x85//HNddd51nn9dffz1GjBiBqVOn4quvvgIAPPfcc3jwwQcxZ86cVjXUZs477zz8+9//xnPPPWcdr62txQsvvIDvfve7vs+za9cufP755wm3L7/8MuHcvPLKK3AcB4cffnjCts1j7NatG7p16xY/9vrrr+OII45AKGR/dMeMGYNdu3bh3XffjbcDkntPJdtnKtTW1gIA+vbta90n02NKpU8AKC0txQEHHICXX3454TPceOONmD59OioqKvDjH/8YkydPxk9/+lMcd9xxaGpqstp++eWXOP7441FVVYUf//jHGDp0KH7wgx/g2Wef9b3HkCFDUFFRgZdeeil+bO3atWhsbMT48eMxfvx4a6yvvPIKAODoo4929bVjxw7X+7KZZ599FpFIBOedd17C5yY5RGevQDob0wKwbds2KSgokJNOOsnyCbj22msFgGUBqKqqatWUr7nyyiulsrIy/oulNQvAXXfdJQDk448/dl0/evRoOfLII+P7kUhEZsyYIfn5+fFfz+FwWO6//37XtVAWgNLSUpk+fbrnWBsbG6Vfv34yYsQIaWhoiB9/4IEHEv5Kb0ZrviIikyZNkiFDhljHUpUA/vGPf0hBQYH83//7f+XLL7+U/fbbT0aNGpXQxyEajcqAAQPkrLPOso7Pnz9fHMeRDz/80Pf6uXPnuqwVrW2DBw9O+Azf/e53pU+fPgnbiYi89957UlRUJOedd551vHv37nLhhRe62v/+978XALJixQoRSe09lWyfqTB16lQJh8OWXt8eY0qlz2aOO+44Ofjgg33H3/xdcNxxx1lWiHvvvdflm3HMMccIAHn00UfjxxoaGqS8vFwmT57sex+RvdYOU+ufN2+eVFZWiojIfffdJ/369Yu3vfLKKwWAfPLJJ/Fjzd9hrW3NXHHFFQLA8glIFloAgkteu68wuhB/+tOf0NjYiEsvvRSO48SPz5w5Ez/84Q+ttr169cI///lPvPfeezjwwANb7e/dd9/F3XffjccffxyFhYWe9929ezcAtNqmqKgIdXV18f1wOIwDDjgAkyZNwhlnnIGioiI8/vjjuPTSS1FeXo7TTjvN8z69evXCmjVr8Omnn6KiosJ1ft26ddi2bRtuvvlmFBQUxI9fcMEFuOqqqzz7NSkuLo7/vWPHDjQ1NeGYY47Bc889hx07dqC0tDSpfjTDhw/HTTfdhNmzZ+Pvf/87Pv/8c/zxj39EXp7/WzgUCuHcc8/FwoUL8dVXX6Fnz54AgF/+8pcYP348Kisrfa8///zzW/21pTGf24t///vf2GeffRK227VrF8444wwUFxfj9ttvt87t3r3b833SfN78fzLvqWT7TJbHHnsMDz30EK6++mrrs9EeY0qlz2b22Wcfl2VA0/xdMHPmTMsKMW3aNFx77bX4/e9/jylTpsSP9+jRw7ImFRQUYMyYMfjwww997wPs/TX/1FNPYf369TjyyCPx8ssvY/z48QCAo446Ctu2bYt/z7z88suorKxs9fO7aNEiHHTQQa3eo3kemt//hAAAFwAGH330EQC4/kHfd999XV/cN998M0499VQcdNBBGD58OI4//nicd955OOyww+JtLr/8cowfPx6TJ0/2vW/zPx4NDQ2uc3v27LH+cbn99ttx991347333kOPHj0AAGeeeSYmTpyI6dOn4+STT/b8R/HOO+9ETU0NBg4ciJEjR+LEE0/E+eefjyFDhvg+f35+frxNIl5++WXMnTsXq1evxq5du6xz6SwAAOCqq67CE088gVdffRU//OEPMWzYsKSuO//883HHHXdg2bJlOP/887Fx40asX78eixcvTnjtkCFDkn72ZBAR3/PRaBRnn3023nrrLTz77LOuL/ri4mLP90nzefP/ybynku0zGf76179i6tSpmDRpEm677TbX2DM9plT6bEZErAV+azR/Fr7+9a9bxwsKCjBkyJD4+WYGDBjg6nOfffbB3//+d9/7AC3m/Jdffhljx47FK6+8gltvvRXA3oVvSUkJXn75ZQwcOBDr16/HWWed1Wo/Y8aMcUkhzZSUlABAXEIjBGAegDbzjW98Ax988AGWLFmC4cOH42c/+xmOOOII/OxnPwMAvPDCC1ixYgUuv/xy/Otf/4pvkUgEu3fvxr/+9a/4qrx///4AgC1btrjus2XLFusfgfvuuw/HHnts/B//Zr797W/j008/9U1odOaZZ+LDDz/EPffcg4qKCtx111045JBDEuqUyfLBBx/gm9/8Jj7//HPMnz8fv//97/H888/jiiuuAADEYrG0+v/www/x3nvvAQD+8Y9/JH3dsGHDMHLkSPziF78AAPziF79AQUEBzjzzzITX7ty5E7W1tQm3zz77LGFfffr0SegrMG3aNPzud7/D0qVLceyxx7rO9+/f3/N9AiD+XknlPZVsn4l444038O1vfxvDhw/Hr3/9a9dCtD3GlEqfzXz55ZeWb0ImCIfDrR5PtOADgKqqKvTs2RMvvfQS3nnnHXzxxRdxC0AoFMLYsWPx0ksvxX0DkrFIaYYOHQogtc8NCT5cABgMHjwYAOL/yDTz2WeftfrF3bt3b0yZMgWPP/44Nm/ejMMOOyyeee/jjz8GAJx++umorKyMb5988gleeOEFVFZWYsmSJQCAESNGAICViAMAPv30U/zv//5v/DwAbN26tdWEP81OSa0lVDHp378/LrnkEixfvhybNm1Cnz594r/UvJ6/qakJmzZt8u0XAH7729+ioaEBzzzzDL73ve/hxBNPRHV1dau/whL9AtPEYjFccMEFKCkpwbXXXovHH38cTz/9dNLXn3/++XjhhRewZcsWPPbYYzjppJOSMsf/6Ec/Qv/+/RNuo0ePTtjX0KFD8eWXX2LHjh2tnr/qqqvw8MMP4yc/+QnOOeecVtuMGDECr732mmsxtWbNGnTr1i1uAk7lPZVsn3588MEHOP7449GvXz/84Q9/cC1Q22tMqfTZzKZNm3DwwQf7Pk/zZ2Hjxo3W8cbGRmzatCl+PhOEw+G46f+ll15CSUkJDj300Pj5ZkfAZmfAtiwATjjhBITD4fgimBAAdALUToD5+flJOQF+/vnnrr7OOOMM6du3r4iIfPTRR7Js2TLXtu+++8qoUaNk2bJl8v7778evHTp0qFRVVUkkEokfu/7668VxHHnrrbfix4YPHy69e/e27h+JRGTkyJHSs2dPK9wNhhNgJBJxJRsR2esoNWrUKBHZ6wS47777ttkJcOHChQJA/vWvf8WPbd++Xfr372+FWoqIjB07Vqqqqnz7M2l29nrmmWfiSWL69evnip/3Ytu2bZKXlydnnHGGAJD/9//+X1LXffDBB/L8888n3F566aWEfa1cuVIAyMqVK13n7rzzTgEg1157rW8fTzzxhCs+/rPPPpNevXq5HB2TfU+l0mdrbNmyRYYMGSIVFRXWa9wa7TGmZPsUaQkD/PGPf+w7zmYnwOOPP976LrjvvvtadQI85JBDXH3U1NQk5RwqInLTTTcJABk3bpwrVO+5554Tx3HkyCOPlD59+riSliWbB+D73/++AJCFCxe6zkWjUfnRj34UzwNgQifA4MIFgMoDMHv2bAEgJ554otx7770ydepUqaiokL59+1oLgH79+smZZ54pd9xxhzz44IPyve99TxzHseJzW8MrEdBvf/tbcRxHjj32WHnggQfksssuk1AoJNOmTbPa/eIXvxAAcsABB8gdd9whCxculHHjxgkAufXWW6225gLgyy+/lO7du0tNTY3Mnz9fHnjgATnzzDMFgPVl+NOf/lQAyFFHHSULFy6UK664Qnr16iVDhgxJuAB45513pKCgQA499FC599575fbbb5cDDjhAqqqqXAuASy65RBzHkVtuuUUef/zxVv9RbOatt96SoqIiueCCC+LH3n33XenWrZucccYZVttmj+zWOPnkkwWA9OrVq02x7enS0NAgffr0kdmzZ1vHn376aQEgBx54oCuT289//nOpra2Nt41EInLkkUdKjx495KabbpJFixbJIYccIj179pR33nnH6jfZ91QqfdbU1Lhey+bX9+qrr3aNXefFaI8xJdunyN5EQACsxbcXzREgxx13nNx7771y6aWXSjgcltGjR1sL7UwsAJoXhwDkxhtvtM7t2LFDQqGQAJBTTjnFdW2yC4D6+nr51re+JQBkwoQJ8qMf/UgeeughmTt3rgwbNkxCoZD87//+b7z9PffcI7fccotcfPHFAkBOP/10ueWWW+SWW25p9ccE6XpwAaAWANFoVG666Sbp37+/byKgW2+9VcaMGSO9evWS4uJiGTp0qNx2222tJpwx8VoAiIgsW7ZMRowYIYWFhTJgwAC5/vrrW+1vxYoVcswxx0jfvn3j/+AuXrzY1c5cADQ0NMhVV10lVVVV0rNnT+nevbtUVVW5kvSI7P2VU1lZKYWFhTJq1KiUEgE988wz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QgghJMP85S9/wcSJE13Ha2pqsHTpUgDAvffei7vuuisuhS9cuLBN1vC2wgUAIYQQkoOwHDAhhBCSg3ABQAghhOQgXAAQQgghOUiXXQCkW0UpSMybNw+jR49Gz5490a9fP5x22mnYuHGj1WbPnj2YPn06+vTpgx49emDy5MmuGNRc4vbbb4fjOJg5c2b8GOdoL5988gm++93vok+fPiguLsahhx6KdevWxc+LCObMmYP+/fujuLgY1dXVeO+99zpxxB1LNBrFDTfcgMrKShQXF+OAAw7ALbfcYhW1ybU5SlT5Lpn5+OKLL3DuueeipKQEvXr1wtSpU7Fz584OfIocJKXKAVnCE088IQUFBbJkyRL55z//KdOmTZNevXrJ1q1bO3toncKkSZPk4YcfljfffFM2bNggJ554ogwaNEh27twZb/P9739fBg4cKCtXrpR169bJkUceKePHj+/EUXcer776quy///5y2GGHyeWXXx4/zjkS+eKLL2Tw4MFywQUXyJo1a+TDDz+U5557Tt5///14m9tvv11KS0tl+fLl8sYbb8i3v/1tqayslN27d3fiyDuO2267Tfr06SO/+93vZNOmTfLUU09Jjx495O677463ybU5+sMf/iDXXXedPP30060WvklmPo4//nipqqqSv/3tb/LXv/5Vvva1r8k555zTwU+SW3TJBUC6VZSCzrZt2wSAvPjiiyIisn37dsnPz5ennnoq3ubtt98WALJ69erOGman8NVXX8mBBx4ozz//vBxzzDHxBQDnaC8/+MEP5Oijj/Y8H4vFpLy8XO666674se3bt0thYaE8/vjjHTHETuekk06SCy+80Dp2+umny7nnnisinCO9AEhmPt566y0BIGvXro23efbZZ8VxHPnkk086bOy5RpeTAJqrKFVXV8ePpVpFKejs2LEDANC7d28AwPr169HU1GTN2dChQzFo0KCcm7Pp06fjpJNOsuYC4Bw188wzz2DUqFE444wz0K9fPxx++OF48MEH4+c3bdqE2tpaa55KS0sxduzYnJmn8ePHY+XKlXj33XcBAG+88QZeeuklnHDCCQA4R5pk5mP16tXo1asXRo0aFW9TXV2NUCiENWvWdPiYc4VOqQWQDtlSRSlbicVimDlzJo466igMHz4cAFBbW4uCggL06tXLaltWVoba2tpOGGXn8MQTT+C1117D2rVrXec4R3v58MMPcf/992PWrFm49tprsXbtWlx22WUoKChATU1NfC5a+/zlyjxdc801qKurw9ChQxEOhxGNRnHbbbfh3HPPBQDOkSKZ+aitrUW/fv2s83l5eejdu3dOzllH0eUWAMSf6dOn480338RLL73U2UPJKjZv3ozLL78czz//fFaWB80WYrEYRo0ahR/+8IcA9qYwffPNN7F48WLU1NR08uiyg1/96lf45S9/icceewyHHHIINmzYgJkzZ6KiooJzRLoUXU4CyJYqStnIjBkz8Lvf/Q5//vOfMWDAgPjx8vJyNDY2Yvv27Vb7XJqz9evXY9u2bTjiiCOQl5eHvLw8vPjii1i4cCHy8vJQVlaW83MEAP3798ewYcOsYwcffDA+/vhjAIjPRS5//q666ipcc801OPvss3HooYfivPPOwxVXXIF58+YB4BxpkpmP8vJybNu2zTofiUTwxRdf5OScdRRdbgGQLVWUsgkRwYwZM7Bs2TK88MILqKystM6PHDkS+fn51pxt3LgRH3/8cc7M2Te/+U384x//wIYNG+LbqFGjcO6558b/zvU5AoCjjjrKFUL67rvvYvDgwQCAyspKlJeXW/NUV1eHNWvW5Mw87dq1C6GQ/dUZDocRi8UAcI40yczHuHHjsH37dqxfvz7e5oUXXkAsFuvQ3Pg5R2d7IbaFJ554QgoLC2Xp0qXy1ltvyUUXXSS9evWS2trazh5ap3DxxRdLaWmp/OUvf5EtW7bEt127dsXbfP/735dBgwbJCy+8IOvWrZNx48bJuHHjOnHUnY8ZBSDCORLZGyKZl5cnt912m7z33nvyy1/+Urp16ya/+MUv4m1uv/126dWrl/zmN7+Rv//973LqqacGOsRNU1NTI/vtt188DPDpp5+Wvn37ytVXXx1vk2tz9NVXX8nrr78ur7/+ugCQ+fPny+uvvy4fffSRiCQ3H8cff7wcfvjhsmbNGnnppZfkwAMPZBhgO9MlFwAiIvfcc48MGjRICgoKZMyYMfK3v/2ts4fUaQBodXv44YfjbXbv3i2XXHKJ7LPPPtKtWzf5zne+I1u2bOm8QWcBegHAOdrLb3/7Wxk+fLgUFhbK0KFD5YEHHrDOx2IxueGGG6SsrEwKCwvlm9/8pmzcuLGTRtvx1NXVyeWXXy6DBg2SoqIiGTJkiFx33XXS0NAQb5Nrc/TnP/+51e+gmpoaEUluPv7973/LOeecIz169JCSkhKZMmWKfPXVV53wNLkDqwESQgghOUiX8wEghBBCSPpwAUAIIYTkIFwAEEIIITkIFwCEEEJIDsIFACGEEJKDcAFACCGE5CBcABBCCCE5CBcAhBBCSA7CBQAhhBCSg3ABQAghhOQgXAAQQgghOcj/B73cNgaEeTEzAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "x = 2000\n", "y = 2000\n", @@ -449,31 +362,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "590fb332", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAGzCAYAAAAyvF5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBD0lEQVR4nO3de1xVVd4/8M+BA4eLXESEA4+IlzIzFQyVUCstEqmxvGTaOBNexmYKSodK89fkdYqnLLULRfWkjk7jmNOjvaZ6rKTU8pZaNDmTjholZuClAEEBOef7+8M44/FsLod18Jy9+bxfr/0q9tnfvdfebvietfbaa5lEREBERESG4eftAhAREZFnMbkTEREZDJM7ERGRwTC5ExERGQyTOxERkcEwuRMRERkMkzsREZHBMLkTEREZDJM7ERGRwbTL5P7000+jd+/esNvt3i5Ku1JQUICuXbuitrbW20VpN3iv06Wuu+46zJ4929vFoDbW7pJ7ZWUlnnrqKcyZMwd+fhdO//Tp01iyZAluuOEGdO7cGZGRkbjuuuuwbt06zX3U1tZizpw5iI+PR3BwMFJTU/Hhhx9qbrtjxw4MGzYMISEhsFqtePDBB1FVVaW0z0sVFhZi2rRp6NWrF0JCQtCjRw/85je/wQ8//HDZytSSfU6ZMgV1dXV45ZVXWnRel8Ott96Kjh074tJRmL/44guYTCYkJia6xHz00UcwmUx49dVXAQBbtmyByWTSXCZNmuQSv2HDBmRmZiI6OhqBgYGIj4/HXXfdhY8++shpuyeeeAK33347YmNjYTKZsGDBArfOTeteB+BUPrPZjKioKKSkpGDmzJn417/+5dYxLvXkk09i48aNSvtoztmzZ7FgwQJs2bKlTY9zqW+//RZTp05Fz549ERQUBKvVihtuuAHz58+/rOVQNWfOHOTn56O0tNTbRaG2JO3MsmXLJDw8XM6dO+dY9/e//10CAgLkjjvukOXLl8uLL74oI0aMEAAyb948l31MmjRJzGazPPzww/LKK69IWlqamM1m+eSTT5y2++KLLyQoKEgGDBggL7/8sjz22GNisVhk1KhRrd6nlpSUFOnevbvMnj1bXnvtNZk7d66EhYVJbGys/PDDD21eJnf2OXv2bElMTBS73d7seV0OTzzxhACQf/zjH07rX3jhBTGbzQJASkpKnD5btGiRAJB//vOfIiLy8ccfCwB58MEHZc2aNU7LxdfKbrfLlClTBIAMGDBAnnjiCXn99dflj3/8o6SkpAgA2b59u2N7AGK1WiUjI0MAyPz58906N617vWG/t9xyi6xZs0ZWr14tL7zwgvzmN7+RiIgIMZvN8uyzz7p1nIuFhoZKVlZWq+Nb4uTJk626HioOHTokkZGREhcXJ4899pi89tprsmjRIhkzZoxYLJbLVg5PsNlsYrVa5fHHH/d2UagNtbvk3r9/f/nVr37ltO6bb76Rb7/91mmd3W6Xm266SSwWi1RVVTnW7969WwDIkiVLHOvOnTsnPXv2lLS0NKd9ZGZmSlxcnFRUVDjWvfbaawJA3n///VbtU8vWrVvFZrO5rAMgjz32WJuXqaX7FBHZu3evAJDCwsJmz+tyaLhOL730ktP6SZMmye233y4dOnSQtWvXOn02cuRI6dSpk+MLSkNyX79+fZPHWrJkiQCQWbNmaX65Wb16tezevdvxc3FxsYi0Pplp3esiF5J7dna2y/pTp05JWlqaAJB3333XrWM10HNyv/j3/FL333+/mM1ml78TIiJlZWUeLcflkJOT41Nfssnz2lVy/+abbwSArFq1qkXbP//88y61ukceeUT8/f2dEpmIyJNPPikA5OjRoyIiUlFRIWazWR555BGn7Wpra6VDhw4yffp0t/fprqioKBk3bpzj57Yokzv7vLhcDz74YIvO4c0335Rrr71WgoKCpFOnTjJ58mQ5duyY0zZZWVkSGhoqx44dkzvuuENCQ0MlOjpaHnroIamvr29y/+fOnZPAwECZPHmy0/qEhAR55pln5KabbpKcnBzHepvNJuHh4TJ69GjHupYk97Nnz0pUVJT07t272TJdqjXJrKl7vbHkLiLy3XffidlsliFDhjitr6mpkXnz5knPnj0lMDBQunTpIo888ojU1NQ47ffS5eJEf+zYMZk6darExMRIYGCg9OnTR15//XWXMpw7d07mz58vV155pVgsFrFarTJ27Fg5fPiwFBcXax7n4mtTWFgow4YNk5CQEImIiJDbb79d/vWvfzkdY/78+Y7Wl7vvvlsiIyMlOTm50euZkZEh3bp1a/TziyUmJsptt90m77//viQlJYnFYpGrr75a3nrrLaftTp8+LQ899JD07dtXQkNDJSwsTEaNGiVFRUVuXZMGNptNli1bJn369BGLxSIx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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# get interpolated ePSF in detector space\n", "P = interp_epsf(ePSFs, x, y, chip,\n", @@ -495,33 +387,12 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "f74f8caa", "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAGzCAYAAAAyvF5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGf0lEQVR4nO3deXxTVd4/8E+aNuleaEs3KWUHK9IqlArIXilVUGRR1JGCiPMbC4oVGZgZqbhMFRUYtLKIwoCKiD7i4zgPilUpm2xSHR1hAKsWoQUqbWmhW/L9/YHNEJIu6QkkN/28X6/70tycc+7J5TbfnHPPPUcnIgIiIiLyGF6urgARERE5F4M7ERGRh2FwJyIi8jAM7kRERB6GwZ2IiMjDMLgTERF5GAZ3IiIiD8PgTkRE5GEY3ImIiDyMWwX3hQsXomfPnjCbza6uCmncpEmTcMcdd7i6Gq3KzTffjOnTp7u6GuQmSkpKEBAQgH/+85+urkrrJG6irKxMQkND5fXXX7fsO336tCxcuFAGDRok4eHhEhISIsnJyfL222/bLaOqqkrmzJkj0dHR4uvrK/369ZNPPvnEbtodO3bIwIEDxc/PTyIjI2XmzJly9uxZpTIvFRcXJwDsbl27drWkW716dYPpAMgbb7zR6HG+//57eeyxxyQhIUECAwMlKipKbr75Ztm7d6/d9MeOHZOJEydKSEiIBAUFya233ipHjx61m3bVqlXSs2dPMRqN0rVrV1m6dKlymZd65plnJDk5WcLDwy3Hefjhh+XkyZNW6X755Re55557pHv37hIYGCghISGSlJQka9asEbPZbJX2q6++Ei8vL8nPz29WHS63uro6y3m51KJFiwSATJ482ea9xx9/XADIoUOHREQkKyurwetk2bJlVnnPnz8vixYtkn79+klwcLAYjUbp1q2bZGRkWMoTETl+/Lj88Y9/lKFDh0pgYKAAkM8//9yhz7d9+3bR6/Vy+PBhy77PP//cqn4Gg0EiIiJkyJAh8swzz9j8+zril19+kaysLDlw4ECLy2iO7777TrKysqSgoOCyHudS27Ztk1GjRklMTIwYjUaJjY2V0aNHy5tvvnlF66HqoYcekuuvv97V1WiV3Ca4L168WIKDg+X8+fOWfR9++KH4+PjIbbfdJkuWLJGXX35Zhg0bJgBk/vz5NmVMmjRJvL29Zfbs2bJixQrp37+/eHt7y7Zt26zSHThwQHx9feW6666TZcuWyZ///GcxGo0yatSoFpdpz/vvvy/r1q2z2p5++mkBIA8++KAl3dGjR23SrVu3Tq6//nrR6/Vy4sSJRo/z6KOPSps2bWTatGmyYsUKWbhwoXTp0kX0er1s2bLFKu3Zs2elW7duEhERIc8995wsWrRIYmNjpX379nL69GmrtMuXLxcAMn78eFm5cqXce++9AkCeffbZFpdpz7hx4+T3v/+9LF68WFatWiWPPvqoBAcHS9euXaWiosKS7uuvv5YhQ4bIn/70J1m+fLm89NJLcuuttwoAmTdvnk25/fr1k3vvvbfJ418pN910k4SHh9vsHz9+vHh7e0uXLl1s3hs+fLhERERYXtcH92XLltlcL//5z38s6U6dOiV9+vQRADJ69GhZsmSJrFq1Sh577DGJjY0VHx8fS9r6INytWzfp379/i4L7bbfdJiNHjrTaV1/uQw89JOvWrZM1a9bI888/L7fffrt4e3tLWFiY5ObmOnScenv37hUAsnr16hblb66NGze26HyoeOedd0Sn08l1110nzz33nKxcuVLmzZsnAwcOlKFDh16xejjDv//9bwHQ4n9najm3Ce69e/eW3/3ud1b7fvjhB/nxxx+t9pnNZhk+fLgYjUarL/7du3cLAHn++ect+86fPy9dunSR/v37W5WRlpYm0dHRUlZWZtn36quvCgD5+OOPW1Rmcz311FMCQHbs2NFounPnzklQUJDcdNNNTZa5b98+m16H06dPS7t27WTgwIFW+5977jkBIHv27LHs+/7770Wv11sFyHPnzklYWJjccsstVvnvueceCQgIkF9//dXhMh3x7rvvCgBZv359k2lHjx4tAQEBUldXZ7X/hRdekICAALs9Mq6wYMECASD//ve/rfZHRUXJ3XffLQCsfsjV1tZKQECA3H777ZZ99cH91KlTjR7rlltuES8vL3n33Xdt3quqqpJHH33U8rq8vFxKSkpEpGXBrLi4WLy9vWXVqlVW++uD+8aNG23y5OfnS0REhLRp00aOHz/e7GPV03pwr6ysbPC9+Ph4ueaaa6S6utrmveLiYqfW40ro1auXW/3Ibi3cIrj/8MMPAkDWrFnTrPRLly4VAPLNN99Y9j322GOi1+utAraIyF//+lcBID///LOIXOj+9/b2lscee8wqXXV1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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# # get interpolated ePSF in detector space with specified sub-pixel shifts\n", "P = interp_epsf(ePSFs, x, y, chip,\n",