{ "cells": [ { "cell_type": "raw", "id": "2622d571-d984-44f7-ac27-6ffb7fa61ee2", "metadata": {}, "source": [ "---\n", "date: 2024-05-02\n", "categories:\n", " - cosmology\n", " - pysm\n", "---" ] }, { "cell_type": "markdown", "id": "f229c7d7-453a-4810-bdb2-2c90b87b7bf4", "metadata": {}, "source": [ "# Generate point source maps with pixell\n", "\n", "Testing the pixell `sim_objects` functionality to create maps of point sources pre-smoothed with a gaussian beam.\n", "The purpose is to include this functionality in PySM to be able to generate on the fly maps of source starting from a catalog." ] }, { "cell_type": "code", "execution_count": 1, "id": "6bc32901-4ebd-49d0-9b3d-788648643510", "metadata": { "tags": [] }, "outputs": [], "source": [ "from pixell import enmap, utils, resample, curvedsky as cs, reproject, pointsrcs\n", "import numpy as np\n", "import healpy as hp" ] }, { "cell_type": "code", "execution_count": 2, "id": "455c650f-5f4e-4cff-b1b1-84310cc2e2ba", "metadata": { "tags": [] }, "outputs": [], "source": [ "fwhm = 5 * utils.degree" ] }, { "cell_type": "code", "execution_count": 3, "id": "a8ce7814-70d2-427d-b319-b692f2519ac3", "metadata": { "tags": [] }, "outputs": [], "source": [ "shape, wcs = enmap.fullsky_geometry(res=fwhm / 3, proj=\"car\")" ] }, { "cell_type": "code", "execution_count": 4, "id": "f984cc3e-441e-491a-a6d3-d9b1d6d26af2", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "(109, 216)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shape" ] }, { "cell_type": "code", "execution_count": 5, "id": "284621fa-b279-4ec6-8f25-f819063400a1", "metadata": { "tags": [] }, "outputs": [], "source": [ "def fwhm2sigma(fwhm):\n", " return fwhm / (2.0 * np.sqrt(2.0 * np.log(2.0)))" ] }, { "cell_type": "code", "execution_count": 6, "id": "e8789614-4b2a-44f4-98c5-4adfe8aa4b56", "metadata": { "tags": [] }, "outputs": [], "source": [ "def flux2amp(flux, fwhm):\n", " sigma = fwhm2sigma(fwhm)\n", " return flux / (2 * np.pi * sigma**2)" ] }, { "cell_type": "code", "execution_count": 7, "id": "bee0e3cf-96b5-4257-93bf-d72c89c5e3ac", "metadata": { "tags": [] }, "outputs": [], "source": [ "assert flux2amp((2 * np.pi * fwhm2sigma(5) ** 2), 5) == 1" ] }, { "cell_type": "code", "execution_count": 8, "id": "3d492f49-3236-4f47-beae-7326425253fe", "metadata": { "tags": [] }, "outputs": [], "source": [ "n_sources = 1\n", "flux_sources = np.arange(n_sources) + 10" ] }, { "cell_type": "code", "execution_count": 9, "id": "a590ec0b-6028-4033-874b-7f383bb74c04", "metadata": { "tags": [] }, "outputs": [], "source": [ "amplitude_sources = flux2amp(flux_sources, fwhm)" ] }, { "cell_type": "code", "execution_count": 10, "id": "a0c43d61-b439-4c28-8be5-05076bc0315f", "metadata": { "tags": [] }, "outputs": [], "source": [ "source_pos = np.array([[0], [np.pi / 3]])" ] }, { "cell_type": "code", "execution_count": 11, "id": "c66c3b78-ad8a-4049-86c5-6c3f0b2aa596", "metadata": { "tags": [] }, "outputs": [], "source": [ "r, p = pointsrcs.expand_beam(fwhm2sigma(fwhm))" ] }, { "cell_type": "code", "execution_count": 12, "id": "57f02ead-2d33-4cbb-9262-9755aae395e4", "metadata": {}, "outputs": [], "source": [ "source_map = pointsrcs.sim_objects(shape, wcs, source_pos, amplitude_sources, ((r, p)))" ] }, { "cell_type": "code", "execution_count": 13, "id": "8871cee2-0d12-488d-9513-ed9444e59063", "metadata": { "tags": [] }, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 14, "id": "d3967f9b-87ee-40e0-9d02-300756459462", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array([[0. ],\n", " [1.04719755]])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "source_pos" ] }, { "cell_type": "code", "execution_count": 15, "id": "4957a65f-e376-41d1-b93f-ed4553fb25b0", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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HnjggXgfm+eyN58ZA+G4TMuA8swzz6i8vFxLlizR9u3bdckll2jSpEnavXt3qks7JrW1tZo3b55ee+011dTUqLOzU2VlZdq/f39Cvx//+Mfas2dPfHvxxfS6F9F5552XUP+OHTvi+5YvX66qqipVV1ervr5efr9fEydOjN93KV3U19cnjLGmpkaSdPXVV8f7pNs87t+/X2PGjFF1dfUR9/dm7srLy7V+/XqtXbtWW7Zs0b59+zR58mRFo9HjNYweHW2cBw4c0LZt23TXXXdp27ZtWrdund5//31NmTKlW9/Zs2cnzO+jjz56PMrvlZ7mUur5/ZnucykpYXx79uzRE088Icdx9NOf/jShn61z2ZvPjAFxXJo09P3vf9/cfPPNCW1nn322ufPOO1NUUXK1tLQYSaa2tjbeNmvWLDN16tTUFfUt3X333WbMmDFH3BeLxYzf7zf3339/vO3gwYPG6/WaRx555DhV2D9uu+02c+aZZ5pYLGaMSf95lGTWr18ff9ybudu7d69xu91m7dq18T6ffPKJcblc5h//+Mdxq70vDh/nkbz++utGktm1a1e8bcKECea2227r3+KS5Ehj7On9OVDncurUqeayyy5LaEunuTz8M2OgHJdpt4ISDoe1detWlZWVJbSXlZWprq4uRVUlVzAYlCQNHTo0oX3Tpk0aPny4zjrrLM2ePVstLS2pKO+YffDBBwoEAiooKNB1112njz76SJLU2Nio5ubmhDn1eDyaMGFCWs9pOBzW008/rRtvvFGO48Tb030ev643c7d161ZFIpGEPoFAQEVFRWk9v8FgUI7jaMiQIQntf/3rXzVs2DCdd955uuOOO9JuFfBo78+BOJefffaZXnjhBd10003d9qXLXB7+mTFQjsu0u1ngF198oWg0Kp/Pl9Du8/nU3NycoqqSxxijBQsW6OKLL1ZRUVG8fdKkSbr66qs1atQoNTY26q677tJll12mrVu3psXVAcePH6+nnnpKZ511lj777DP97//+r0pKStTQ0BCftyPN6a5du1JRblI8++yz2rt3r2644YZ4W7rP4+F6M3fNzc3KysrSSSed1K1Puh6zBw8e1J133qkZM2Yk3Hxt5syZKigokN/v1zvvvKPFixfrrbfein/VZ7ue3p8DcS5Xr16t3NxcTZ8+PaE9XebySJ8ZA+W4TLuAcsjX/49U6pqkw9vS0fz58/X2229ry5YtCe3XXntt/M9FRUUaN26cRo0apRdeeKHbgWWjSZMmxf88evRoXXjhhTrzzDO1evXq+El4A21OH3/8cU2aNEmBQCDelu7z+E2OZe7SdX4jkYiuu+46xWIxPfzwwwn7Zs+eHf9zUVGRCgsLNW7cOG3btk1jx4493qX22bG+P9N1LiXpiSee0MyZMzVo0KCE9nSZy2/6zJDS/7hMu694hg0bpoyMjG4Jr6WlpVtaTDe33HKLnn/+eW3cuFEjRow4at/8/HyNGjVKH3zwwXGqLrkGDx6s0aNH64MPPoj/mmcgzemuXbv08ssv61e/+tVR+6X7PPZm7vx+v8LhsFpbW7+xT7qIRCK65ppr1NjYqJqamh5vXT927Fi53e60nd/D358DaS4l6dVXX9XOnTt7PE4lO+fymz4zBspxmXYBJSsrS8XFxd2W2WpqalRSUpKiqr4dY4zmz5+vdevW6ZVXXlFBQUGPz/nyyy/V1NSk/Pz841Bh8oVCIb333nvKz8+PL6N+fU7D4bBqa2vTdk5XrVql4cOH68orrzxqv3Sfx97MXXFxsdxud0KfPXv26J133kmr+T0UTj744AO9/PLLOvnkk3t8TkNDgyKRSNrO7+Hvz4Eyl4c8/vjjKi4u1pgxY3rsa9Nc9vSZMWCOyxSdnPutrF271rjdbvP444+bd99915SXl5vBgweb//znP6ku7Zj8+te/Nl6v12zatMns2bMnvh04cMAYY0x7e7u5/fbbTV1dnWlsbDQbN240F154oTn11FNNW1tbiqvvndtvv91s2rTJfPTRR+a1114zkydPNrm5ufE5u//++43X6zXr1q0zO3bsMNdff73Jz89Pm/F9XTQaNaeddppZtGhRQnu6zmN7e7vZvn272b59u5FkqqqqzPbt2+O/XunN3N18881mxIgR5uWXXzbbtm0zl112mRkzZozp7OxM1bC6Odo4I5GImTJlihkxYoR58803E47TUChkjDHmww8/NPfcc4+pr683jY2N5oUXXjBnn322Of/8860Z59HG2Nv3Z7rP5SHBYNDk5OSYFStWdHu+7XPZ02eGMQPjuEzLgGKMMX/+85/NqFGjTFZWlhk7dmzCT3LTjaQjbqtWrTLGGHPgwAFTVlZmTjnlFON2u81pp51mZs2aZXbv3p3awvvg2muvNfn5+cbtdptAIGCmT59uGhoa4vtjsZi5++67jd/vNx6Px1x66aVmx44dKaz42L300ktGktm5c2dCe7rO48aNG4/4/pw1a5Yxpndz19HRYebPn2+GDh1qsrOzzeTJk60b99HG2djY+I3H6caNG40xxuzevdtceumlZujQoSYrK8uceeaZ5tZbbzVffvllagf2NUcbY2/fn+k+l4c8+uijJjs72+zdu7fb822fy54+M4wZGMelY4wx/bQ4AwAAcEzS7hwUAAAw8BFQAACAdQgoAADAOgQUAABgHQIKAACwDgEFAABYh4ACAACsQ0ABAADWIaAAAADrEFAAAIB1CCgAAMA6BBQAAGCd/w9NCx54GsoDBgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(source_map)" ] }, { "cell_type": "code", "execution_count": 16, "id": "9b5bdd36-f9f0-42b0-a04d-2dac4b7af8f8", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array([0. , 1.04719755])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "source_map.argmax(unit=\"coord\")" ] }, { "cell_type": "code", "execution_count": 17, "id": "14fd3f76-d002-4964-885a-c2cd7d53e599", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array([54, 72])" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "source_map.argmax(unit=\"pix\")" ] }, { "cell_type": "code", "execution_count": 18, "id": "92ee1b5e-9d40-47a4-a88d-0e2e0285e292", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array([0. , 1.04719755])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "source_pos[:, -1]" ] }, { "cell_type": "code", "execution_count": 19, "id": "24bcae23-a55c-4234-b778-e2479b97e1ce", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array([ 0.00000000e+00, -6.66133815e-16])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "-source_map.argmax(unit=\"coord\") + source_pos[:, -1]" ] }, { "cell_type": "code", "execution_count": 20, "id": "4920f2b1-2dc6-4edf-91ca-8dc0980a1870", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(1158.8864, dtype=float32)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "source_map.max()" ] }, { "cell_type": "code", "execution_count": 21, "id": "789d2fe7-dbd6-4b9a-b0f5-dab88b80093b", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(0., dtype=float32)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "source_map.min()" ] }, { "cell_type": "code", "execution_count": 22, "id": "52b78304-d1af-43d9-bab6-138d32baa181", "metadata": { "tags": [] }, "outputs": [], "source": [ "def aperture_photometry(\n", " thumbs, aperture_radius, annulus_width=None, modrmap=None, pixsizemap=None\n", "):\n", " \"\"\"\n", " Flux from aperture photometry.\n", "\n", " from https://github.com/msyriac/orphics/blob/master/orphics/maps.py\n", "\n", " Parameters\n", " ----------\n", " thumb : ndmap\n", " An (...,Ny,Nx) ndmap (i.e. a pixell enmap) containing the thumbnails.\n", " aperture_radius : float\n", " Aperture inner radius in radians\n", " annulus_width : float\n", " Annulus width for mean subtraction in radians.\n", " Defaults to sqrt(2)-1 times the aperture inner radius.\n", " modrmap : ndmap, optional\n", " An (Ny,Nx) ndmap containing distances of each pixel from the center in radians.\n", " modrmap : ndmap, optional\n", " An (Ny,Nx) ndmap containing pixel areas in steradians.\n", "\n", " Returns\n", " -------\n", " flux : ndarray\n", " (...,) array of aperture photometry fluxes.\n", "\n", " \"\"\"\n", " if modrmap is None:\n", " modrmap = thumbs.modrmap()\n", " if annulus_width is None:\n", " annulus_width = (np.sqrt(2.0) - 1.0) * aperture_radius\n", " # Get the mean background level from the annulus\n", " mean = thumbs[\n", " ...,\n", " np.logical_and(\n", " modrmap > aperture_radius, modrmap < (aperture_radius + annulus_width)\n", " ),\n", " ].mean()\n", " if pixsizemap is None:\n", " pixsizemap = thumbs.pixsizemap()\n", " # Subtract the mean, multiply by pixel areas and sum\n", " return (((thumbs - mean) * pixsizemap)[..., modrmap <= aperture_radius]).sum(\n", " axis=-1\n", " )" ] }, { "cell_type": "code", "execution_count": 23, "id": "e5c8025a-8dbc-49fe-b2c9-2ba88e3a2110", "metadata": { "tags": [] }, "outputs": [], "source": [ "from astropy import units as u" ] }, { "cell_type": "code", "execution_count": 24, "id": "e7939667-c6b9-46ff-a577-068a4aafc5de", "metadata": { "tags": [] }, "outputs": [], "source": [ "box_half_size_rad = 2 * fwhm\n", "box_center = [source_pos[0, -1], source_pos[1, -1]]\n", "box = np.array(\n", " [\n", " [box_center[0] - box_half_size_rad, box_center[1] - box_half_size_rad],\n", " [box_center[0] + box_half_size_rad, box_center[1] + box_half_size_rad],\n", " ]\n", ") # in radians" ] }, { "cell_type": "code", "execution_count": 25, "id": "33152991-7bf1-4aad-bbb8-7ed5591109c5", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "[0.0, 1.0471975511965976]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "box_center" ] }, { "cell_type": "code", "execution_count": 26, "id": "e2851ab0-8af5-44e7-9bf0-49d2856ab87d", "metadata": {}, "outputs": [], "source": [ "cutout = source_map.submap(box)" ] }, { "cell_type": "code", "execution_count": 27, "id": "83818d5a-5e9b-485f-bd4a-49981f8e0da0", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(1158.8864, dtype=float32)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cutout.max()" ] }, { "cell_type": "code", "execution_count": 28, "id": "5d2bae7f-9162-4e5d-a783-8295227c5bfc", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(0., dtype=float32)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cutout.min()" ] }, { "cell_type": "code", "execution_count": 29, "id": "55e7302f-2bbd-4afa-b3bf-7bf10ccecd51", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAGdCAYAAAC7EMwUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAXTklEQVR4nO3df2xV9f3H8delwG0ht9eB66/Y4iXrUqSo2DIjVMGoTQCJxsQNBUdkWyAWbG3ioMNNZaF3sK1pYmdJ+YOxkEL/mPxYopuNjhbCmKVQJcxAmIw2sqZzIfeWwi60Pd8//Hq/VmonX8/pu/f2+UjOHz098nnfUO7TT3t7rs9xHEcAABiYYD0AAGD8IkIAADNECABghggBAMwQIQCAGSIEADBDhAAAZogQAMDMROsBvmhwcFAXL15UIBCQz+ezHgcAcJMcx1Fvb69ycnI0YcLIe50xF6GLFy8qNzfXegwAwNfU1dWl2267bcRrxlyEAoGAJKlESzRRk4ynAQDcrH5d1xG9GX8+H8mYi9Bn34KbqEma6CNCAJBw/veOpF/lRyq8MAEAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJghQgAAM55F6PXXX1coFFJqaqqKiop0+PBhr5YCACQoTyLU1NSkiooKbdq0SSdPntT999+vxYsXq7Oz04vlAAAJypMI1dTU6Ac/+IF++MMfatasWaqtrVVubq7q6+u9WA4AkKBcj9C1a9fU3t6u0tLSIedLS0t19OjRG66PxWKKRqNDDgDA+OB6hD755BMNDAwoMzNzyPnMzEx1d3ffcH04HFYwGIwfvI0DAIwfnr0w4Yt3T3UcZ9g7qlZVVSkSicSPrq4ur0YCAIwxrr+Vw6233qqUlJQbdj09PT037I4kye/3y+/3uz0GACABuL4Tmjx5soqKitTc3DzkfHNzs+bPn+/2cgCABObJm9pVVlbqmWeeUXFxse677z41NDSos7NTa9eu9WI5AECC8iRC3/ve9/Tvf/9bmzdv1j//+U8VFhbqzTff1IwZM7xYDgCQoHyO4zjWQ3xeNBpVMBjUIj3G23sDQALqd67rkA4oEokoPT19xGu5dxwAwAwRAgCYIUIAADNECABghggBAMwQIQCAGSIEADBDhAAAZogQAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJghQgAAM0QIAGCGCAEAzBAhAIAZIgQAMEOEAABmiBAAwAwRAgCYIUIAADNECABghggBAMwQIQCAGSIEADBDhAAAZogQAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAwM9F6AMCMz2c9wfjjONYTYIxhJwQAMEOEAABmiBAAwAwRAgCYIUIAADNECABghggBAMwQIQCAGSIEADBDhAAAZlyPUDgc1rx58xQIBJSRkaHHH39cZ86ccXsZAEAScD1CLS0tKisr07Fjx9Tc3Kz+/n6Vlpaqr6/P7aUAAAnO9RuY/vGPfxzy8c6dO5WRkaH29nY98MADbi8HAEhgnv9MKBKJSJKmTZvm9VIAgATj6Vs5OI6jyspKlZSUqLCwcNhrYrGYYrFY/ONoNOrlSACAMcTTndC6dev0wQcfaM+ePV96TTgcVjAYjB+5ublejgQAGEN8juPNu0ytX79e+/fvV2trq0Kh0JdeN9xOKDc3V4v0mCb6JnkxGvAp3tRu9PGmduNCv3Ndh3RAkUhE6enpI17r+rfjHMfR+vXrtW/fPh06dGjEAEmS3++X3+93ewwAQAJwPUJlZWVqbGzUgQMHFAgE1N3dLUkKBoNKS0tzezkAQAJz/WdC9fX1ikQiWrRokbKzs+NHU1OT20sBABKcJ9+OAwDgq+DecQAAM0QIAGCGCAEAzBAhAIAZIgQAMEOEAABmiBAAwAwRAgCY8fStHJAgDG/k6Ztod5PaCVMNbyNleb/Ez90weLQN9l01Wdfpv26y7qeL8wv8I2EnBAAwQ4QAAGaIEADADBECAJghQgAAM0QIAGCGCAEAzBAhAIAZIgQAMEOEAABmiBAAwAwRAgCYIUIAADNECABghggBAMwQIQCAGSIEADBDhAAAZogQAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJghQgAAM0QIAGBmovUAsOebOMls7ZSsDLO1r87KMlv7yjft/ulN+Ve/2dppH3abrDvQ3WOyriQ516+ZrZ0I2AkBAMwQIQCAGSIEADBDhAAAZogQAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAw43mEwuGwfD6fKioqvF4KAJBgPI1QW1ubGhoadOedd3q5DAAgQXkWocuXL2vFihXasWOHvvGNb3i1DAAggXkWobKyMi1dulQPP/zwiNfFYjFFo9EhBwBgfPDkTU327t2rEydOqK2t7b9eGw6H9eqrr3oxBgBgjHN9J9TV1aXy8nLt3r1bqamp//X6qqoqRSKR+NHV1eX2SACAMcr1nVB7e7t6enpUVFQUPzcwMKDW1lbV1dUpFospJSUl/jm/3y+/3+/2GACABOB6hB566CGdOnVqyLlnn31WBQUF2rBhw5AAAQDGN9cjFAgEVFhYOOTc1KlTNX369BvOAwDGN+6YAAAw48mr477o0KFDo7EMACDBsBMCAJghQgAAM0QIAGCGCAEAzBAhAIAZIgQAMEOEAABmiBAAwMyo/LIqviKfz2TZCVPTTNaVpKuzsszWPv+E3f+D3TvnrNnafz31LbO1Q2/Y/H2n9vaarCtJA5HrZmvLcezW/orYCQEAzBAhAIAZIgQAMEOEAABmiBAAwAwRAgCYIUIAADNECABghggBAMwQIQCAGSIEADBDhAAAZogQAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJghQgAAM0QIAGCGCAEAzBAhAIAZIgQAMEOEAABmiBAAwAwRAgCYmWg9AMYAv99s6SvftPsSvHfOWbO194beNVt7udnK0j8Of9tk3VTDr3GMjJ0QAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJghQgAAM55E6OOPP9bKlSs1ffp0TZkyRXfffbfa29u9WAoAkMBcv3vkpUuXtGDBAj344IN66623lJGRob///e+65ZZb3F4KAJDgXI/Q1q1blZubq507d8bP3X777W4vAwBIAq5/O+7gwYMqLi7Wk08+qYyMDM2dO1c7duz40utjsZii0eiQAwAwPrgeoY8++kj19fXKz8/Xn/70J61du1bPP/+8fve73w17fTgcVjAYjB+5ublujwQAGKNcj9Dg4KDuueceVVdXa+7cuVqzZo1+9KMfqb6+ftjrq6qqFIlE4kdXV5fbIwEAxijXI5Sdna077rhjyLlZs2aps7Nz2Ov9fr/S09OHHACA8cH1CC1YsEBnzpwZcu7s2bOaMWOG20sBABKc6xF64YUXdOzYMVVXV+vcuXNqbGxUQ0ODysrK3F4KAJDgXI/QvHnztG/fPu3Zs0eFhYX6+c9/rtraWq1YscLtpQAACc713xOSpEcffVSPPvqoF380ACCJcO84AIAZIgQAMEOEAABmiBAAwAwRAgCYIUIAADNECABghggBAMx48suqSDCxmNnSU/7Vb7b2X099y2zt5WYr2z7ukNXft+HXOEbGTggAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJghQgAAM0QIAGCGCAEAzBAhAIAZIgQAMEOEAABmiBAAwAwRAgCYIUIAADNECABghggBAMwQIQCAGSIEADBDhAAAZogQAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADAzETrAfA5jmOy7GDfVZN1JSntw26ztUNvZJmt/Y/D3zZbO/SvfrO1rf6+Bwy/xq3+XScKdkIAADNECABghggBAMwQIQCAGSIEADBDhAAAZogQAMAMEQIAmCFCAAAzRAgAYMb1CPX39+ull15SKBRSWlqaZs6cqc2bN2twcNDtpQAACc71e8dt3bpV27dv165duzR79mwdP35czz77rILBoMrLy91eDgCQwFyP0F/+8hc99thjWrp0qSTp9ttv1549e3T8+HG3lwIAJDjXvx1XUlKid955R2fPnpUkvf/++zpy5IiWLFky7PWxWEzRaHTIAQAYH1zfCW3YsEGRSEQFBQVKSUnRwMCAtmzZoqeeemrY68PhsF599VW3xwAAJADXd0JNTU3avXu3GhsbdeLECe3atUu/+tWvtGvXrmGvr6qqUiQSiR9dXV1ujwQAGKNc3wm9+OKL2rhxo5YvXy5JmjNnji5cuKBwOKxVq1bdcL3f75ff73d7DABAAnB9J3TlyhVNmDD0j01JSeEl2gCAG7i+E1q2bJm2bNmivLw8zZ49WydPnlRNTY1Wr17t9lIAgATneoRee+01/fSnP9Vzzz2nnp4e5eTkaM2aNfrZz37m9lIAgATneoQCgYBqa2tVW1vr9h8NAEgy3DsOAGCGCAEAzBAhAIAZIgQAMEOEAABmiBAAwAwRAgCYIUIAADOu/7IqEo/Tf91s7YHuHrO1U3t77da2vGlvLGa29EDfVZN1Lb/GMTJ2QgAAM0QIAGCGCAEAzBAhAIAZIgQAMEOEAABmiBAAwAwRAgCYIUIAADNECABghggBAMwQIQCAGSIEADBDhAAAZogQAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJghQgAAM0QIAGCGCAEAzBAhAIAZIgQAMEOEAABmJloPgDHAceyWvn7NbO2ByHWztcctw681jE3shAAAZogQAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJi56Qi1trZq2bJlysnJkc/n0/79+4d83nEcvfLKK8rJyVFaWpoWLVqk06dPuzUvACCJ3HSE+vr6dNddd6murm7Yz2/btk01NTWqq6tTW1ubsrKy9Mgjj6i3t/drDwsASC43fRftxYsXa/HixcN+znEc1dbWatOmTXriiSckSbt27VJmZqYaGxu1Zs2arzctACCpuPozofPnz6u7u1ulpaXxc36/XwsXLtTRo0eH/W9isZii0eiQAwAwPrgaoe7ubklSZmbmkPOZmZnxz31ROBxWMBiMH7m5uW6OBAAYwzx5dZzP5xvyseM4N5z7TFVVlSKRSPzo6uryYiQAwBjk6jurZmVlSfp0R5SdnR0/39PTc8Pu6DN+v19+v9/NMQAACcLVnVAoFFJWVpaam5vj565du6aWlhbNnz/fzaUAAEngpndCly9f1rlz5+Ifnz9/Xh0dHZo2bZry8vJUUVGh6upq5efnKz8/X9XV1ZoyZYqefvppVwcHACS+m47Q8ePH9eCDD8Y/rqyslCStWrVKv/3tb/XjH/9YV69e1XPPPadLly7p3nvv1dtvv61AIODe1ACApOBzHMexHuLzotGogsGgFukxTfRNsh4HyexLXiwDD42tpxt4pN+5rkM6oEgkovT09BGv5d5xAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJhx9QamQELhFycBc+yEAABmiBAAwAwRAgCYIUIAADNECABghggBAMwQIQCAGSIEADBDhAAAZogQAMAMEQIAmCFCAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJghQgAAM0QIAGCGCAEAzBAhAIAZIgQAMEOEAABmiBAAwAwRAgCYIUIAADNECABgZqL1AF/kOI4kqV/XJcd4GADATevXdUn/93w+kjEXod7eXknSEb1pPAkA4Ovo7e1VMBgc8Rqf81VSNYoGBwd18eJFBQIB+Xy+m/7vo9GocnNz1dXVpfT0dA8mHHvG42OWeNzj6XGPx8csJe7jdhxHvb29ysnJ0YQJI//UZ8zthCZMmKDbbrvta/856enpCfWX5obx+JglHvd4Mh4fs5SYj/u/7YA+wwsTAABmiBAAwEzSRcjv9+vll1+W3++3HmXUjMfHLPG4x9PjHo+PWRofj3vMvTABADB+JN1OCACQOIgQAMAMEQIAmCFCAAAzSRWh119/XaFQSKmpqSoqKtLhw4etR/JUOBzWvHnzFAgElJGRoccff1xnzpyxHmtUhcNh+Xw+VVRUWI/iuY8//lgrV67U9OnTNWXKFN19991qb2+3HstT/f39eumllxQKhZSWlqaZM2dq8+bNGhwctB7NVa2trVq2bJlycnLk8/m0f//+IZ93HEevvPKKcnJylJaWpkWLFun06dM2w7osaSLU1NSkiooKbdq0SSdPntT999+vxYsXq7Oz03o0z7S0tKisrEzHjh1Tc3Oz+vv7VVpaqr6+PuvRRkVbW5saGhp05513Wo/iuUuXLmnBggWaNGmS3nrrLf3tb3/Tr3/9a91yyy3Wo3lq69at2r59u+rq6vThhx9q27Zt+uUvf6nXXnvNejRX9fX16a677lJdXd2wn9+2bZtqampUV1entrY2ZWVl6ZFHHonfazOhOUniO9/5jrN27doh5woKCpyNGzcaTTT6enp6HElOS0uL9Sie6+3tdfLz853m5mZn4cKFTnl5ufVIntqwYYNTUlJiPcaoW7p0qbN69eoh55544gln5cqVRhN5T5Kzb9+++MeDg4NOVlaW84tf/CJ+7j//+Y8TDAad7du3G0zorqTYCV27dk3t7e0qLS0dcr60tFRHjx41mmr0RSIRSdK0adOMJ/FeWVmZli5dqocffth6lFFx8OBBFRcX68knn1RGRobmzp2rHTt2WI/luZKSEr3zzjs6e/asJOn999/XkSNHtGTJEuPJRs/58+fV3d095PnN7/dr4cKFSfH8NuZuYPr/8cknn2hgYECZmZlDzmdmZqq7u9toqtHlOI4qKytVUlKiwsJC63E8tXfvXp04cUJtbW3Wo4yajz76SPX19aqsrNRPfvITvffee3r++efl9/v1/e9/33o8z2zYsEGRSEQFBQVKSUnRwMCAtmzZoqeeesp6tFHz2XPYcM9vFy5csBjJVUkRoc988a0fHMf5f70dRCJat26dPvjgAx05csR6FE91dXWpvLxcb7/9tlJTU63HGTWDg4MqLi5WdXW1JGnu3Lk6ffq06uvrkzpCTU1N2r17txobGzV79mx1dHSooqJCOTk5WrVqlfV4oypZn9+SIkK33nqrUlJSbtj19PT03PB/D8lo/fr1OnjwoFpbW115G4yxrL29XT09PSoqKoqfGxgYUGtrq+rq6hSLxZSSkmI4oTeys7N1xx13DDk3a9Ys/f73vzeaaHS8+OKL2rhxo5YvXy5JmjNnji5cuKBwODxuIpSVlSXp0x1RdnZ2/HyyPL8lxc+EJk+erKKiIjU3Nw8539zcrPnz5xtN5T3HcbRu3Tq98cYbevfddxUKhaxH8txDDz2kU6dOqaOjI34UFxdrxYoV6ujoSMoASdKCBQtuePn92bNnNWPGDKOJRseVK1dueFO0lJSUpHuJ9khCoZCysrKGPL9du3ZNLS0tSfH8lhQ7IUmqrKzUM888o+LiYt13331qaGhQZ2en1q5daz2aZ8rKytTY2KgDBw4oEAjEd4LBYFBpaWnG03kjEAjc8DOvqVOnavr06Un9s7AXXnhB8+fPV3V1tb773e/qvffeU0NDgxoaGqxH89SyZcu0ZcsW5eXlafbs2Tp58qRqamq0evVq69FcdfnyZZ07dy7+8fnz59XR0aFp06YpLy9PFRUVqq6uVn5+vvLz81VdXa0pU6bo6aefNpzaJbYvznPXb37zG2fGjBnO5MmTnXvuuSfpX6osadhj586d1qONqvHwEm3HcZw//OEPTmFhoeP3+52CggKnoaHBeiTPRaNRp7y83MnLy3NSU1OdmTNnOps2bXJisZj1aK7685//POy/5VWrVjmO8+nLtF9++WUnKyvL8fv9zgMPPOCcOnXKdmiX8FYOAAAzSfEzIQBAYiJCAAAzRAgAYIYIAQDMECEAgBkiBAAwQ4QAAGaIEADADBECAJghQgAAM0QIAGCGCAEAzPwPkAnAuNLPLfUAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(cutout)" ] }, { "cell_type": "code", "execution_count": 30, "id": "d6bce5a1-1307-4808-a5d1-b2f88890493b", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "9.99300220192394" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "aperture_photometry(cutout, 2 * fwhm)" ] }, { "cell_type": "code", "execution_count": null, "id": "ea721fbf-b428-4738-9dd5-11be003120d8", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "pixell", "language": "python", "name": "pixell" }, "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.11.0" } }, "nbformat": 4, "nbformat_minor": 5 }