From 96d322fd790838f072e16111bd993d8c29479dba Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Thu, 13 Aug 2026 15:38:48 +0000 Subject: [PATCH 01/11] adding 303 Galaxies series and 303 2 shapes nb --- .../303_Galaxies/303_2_Galaxy_Shapes.ipynb | 948 ++++++++++++++++++ 1 file changed, 948 insertions(+) create mode 100644 DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb new file mode 100644 index 00000000..42dc02e0 --- /dev/null +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -0,0 +1,948 @@ +{ + "cells": [ + { + "attachments": { + "b3f74554-30d1-4f62-94e5-92dd84359107.png": { + "image/png": "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GPJmu7BUJEACJEACJEACJEACJEACJEACJEACJFBwApyVrOCIeQASIAESIAESIAESIAESIAESIAESIAES8CYBCkPebBeWigRIgARIgARIgARIgARIgARIgARIgAQKToDCUMER8wAkQAIkQAIkQAIkQAIkQAIkQAIkQAIk4E0CFIa82S4sFQmQAAmQAAmQAAmQAAmQAAmQAAmQAAkUnACFoYIj5gFIgARIgARIgARIgARIgARIgARIgARIwJsEKAx5s11YKhIgARIgARIgARIgARIgARIgARIgARIoOAEKQwVHzAOQAAmQAAmQAAmQAAmQAAmQAAmQAAmQgDcJUBjyZruwVCRAAiRAAiRAAiRAAiRAAiRAAiRAAiRQcAIUhgqOmAcgARIgARIgARIgARIgARIgARIgARIgAW8SoDDkzXZhqUiABEiABEiABEiABEiABEiABEiABEig4AQoDBUcMQ9AAiRAAiRAAiRAAiRAAiRAAiRAAiRAAt4kQGHIm+3CUpEACZAACZAACZAACZAACZAACZAACZBAwQlQGCo4Yh6ABEiABEiABEiABEiABEiABEiABEiABLxJgMKQN9uFpSIBEiABEiABEiABEiABEiABEiABEiCBghOgMFRwxDwACZAACZAACZAACZAACZAACZAACZAACXiTAIUhb7YLS0UCJEACJEACJEACJEACJEACJEACJEACBSdQXfAj8AAkQAIkUAACk4uLgr/k1N3cLPhj8i6BVG2XWGK2YyINfiYBEih3Aqnue7zXlXvLsvwkQAIkUBkEKAxVRjuyFiRQ8QTQqf7tjZvy1o0bliC0GonIaiR8T73rq6ulvrpGupqb5FBPjxzq7bWWXhKLUI83b1y/p+yZruhuatoQv1Av1NNL9UushxkMXRqfSNt2ifsltqM1cNI6P9vfL4e1PYuRcm2jTMuItntO61XI9jPXzoXxsUyLtbGdl861dPV4dm+/PL+vf6PsuX5Id7xitJ1dHS6Nj8tb12/IxNK9wnji9l4vX2JZ8/053+eC2/K5ue+Ze91B63nVI1gW6z6XSb3SXQdOeXjl/pGuDihnPp4v6a5NXJNfOHhQmmprnbDxNxIgARIoCQEKQyXBzoOSAAlkQsB05iAGDc3NyfjCgkzoH0ShdKlOBaITt25LW329PLn7Pnlkxw7PdLgvjI3JP370cboqpPy9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CWxeAr41TZu3+qw5CZBAORGIuzqsWAMXxOWwiytkZsDCbFjoqMOVqtjBZNMxNfVIt1263zHIq6+p2ZgBLN32hf4dbgAQ8LBEQvsgmDhmHUtsK8wgh2ntjSDixTbLVxulY27O0XTb5fJ7crsk5oVzKNtrJB2jYtQtsS52n53qnrh9qcrqVL5c2iaxbsmfndqtUMdMLkPyd6cylaptksvo9rtpW1O3xHtgYl7m/teqM0hipk3rvq7XpVeSqQeWySmX88VwSc7TfPdCuzuV0QvlM6y4JAESIIF8EKAwlA+KzIMESIAESCBjAhhg4I2E1wS7jCvADUmABEiABEiABEiABEiggghQGKqgxmRVSIAESIAESIAESIAESIAESIAESIAESMANAU5X74YWtyUBEiABEiABEiABEiABEiABEiABEiCBCiJAYaiCGpNVIQESIAESIAESIAESIAESIAESIAESIAE3BCgMuaHFbUmABEiABEiABEiABEiABEiABEiABEiggghQGKqgxmRVSIAESIAESIAESIAESIAESIAESIAESMANAQpDbmhxWxIgARIgARIgARIgARIgARIgARIgARKoIAIUhiqoMVkVEiABEiABEiABEiABEiABEiABEiABEnBDgMKQG1rclgRIgARIgARIgARIgARIgARIgARIgAQqiACFoQpqTFaFBEiABEiABEiABEiABEiABEiABEiABNwQoDDkhha3JQESIAESIAESIAESIAESIAESIAESIIEKIkBhqIIak1UhARIgARIgARIgARIgARIgARIgARIgATcEKAy5ocVtSYAESIAESIAESIAESIAESIAESIAESKCCCFAYqqDGZFVIgARIgARIgARIgARIgARIgARIgARIwA0BCkNuaHFbEiABEiABEiABEiABEiABEiABEiABEqggAhSGKqgxWRUSIAESIAESIAESIAESIAESIAESIAEScEOAwpAbWtyWBEiABEiABEiABEiABEiABEiABEiABCqIAIWhCmpMVoUESIAESIAESIAESIAESIAESIAESIAE3BCgMOSGFrclARIgARIgARIgARIgARIgARIgARIggQoiQGGoghqTVSEBEiABEiABEiABEiABEiABEiABEiABNwQoDLmhxW1JgARIgARIgARIgARIgARIgARIgARIoIIIUBiqoMZkVUiABEiABEiABEiABEiABEiABEiABEjADQEKQ25ocVsSIAESIAESIAESIAESIAESIAESIAESqCACFIYqqDFZFRIgARIgARIgARIgARIgARIgARIgARJwQ4DCkBta3JYESIAESIAESIAESIAESIAESIAESIAEKogAhaEKakxWhQRIgARIgARIgARIgARIgARIgARIgATcEKAw5IYWtyUBEiABEiABEiABEiABEiABEiABEiCBCiJAYaiCGpNVIQESIAESIAESIAESIAESIAESIAESIAE3BCgMuaHFbUmABEiABEiABEiABEiABEiABEiABEiggghQGKqgxmRVSIAESIAESIAESIAESIAESIAESIAESMANAQpDbmhxWxIgARIgARIgARIgARIgARIgARIgARKoIAIUhiqoMVkVEiABEiABEiABEiABEiABEiABEiABEnBDgMKQG1rclgRIgARIgARIgARIgARIgARIgARIgAQqiACFoQpqTFaFBEiABEiABEiABEiABEiABEiABEiABNwQoDDkhha3JQESIAESIAESIAESIAESIAESIAESIIEKIkBhqIIak1UhARIgARIgARIgARIgARIgARIgARIgATcEKAy5ocVtSYAESIAESIAESIAESIAESIAESIAESKCCCFAYqqDGZFVIgARIgARIgARIgARIgARIgARIgARIwA0BCkNuaHFbEiABEiABEiABEiABEiABEiABEiABEqggAhSGKqgxWRUSIAESIAESIAESIAESIAESIAESIAEScEOAwpAbWtyWBEiABEiABEiABEiABEiABEiABEiABCqIAIWhCmpMVoUESIAESIAESIAESIAESIAESIAESIAE3BCgMOSGFrclARIgARIgARIgARIgARIgARIgARIggQoiQGGoghqTVSEBEiABEiABEiABEiABEiABEiABEiABNwQoDLmhxW1JgARIgARIgARIgARIgARIgARIgARIoIIIUBiqoMZkVUiABEiABEiABEiABEiABEiABEiABEjADQEKQ25ocVsSIAESIAESIAESIAESIAESIAESIAESqCACFIYqqDFZFRIgARIgARIgARIgARIgARIgARIgARJwQ4DCkBta3JYESIAESIAESIAESIAESIAESIAESIAEKogAhaEKakxWhQRIgARIgARIgARIgARIgARIgARIgATcEKAw5IYWtyUBEiABEiABEiABEiABEiABEiABEiCBCiJAYaiCGpNVIQESIAESIAESIAESIAESIAESIAESIAE3BCgMuaHFbUmABEiABEiABEiABEiABEiABEiABEiggghQGKqgxmRVSIAESIAESIAESIAESIAESIAESIAESMANAQpDbmhxWxIgARIgARIgARIgARIgARIgARIgARKoIAIUhiqoMVkVEiABEiABEiABEiABEiABEiABEiABEnBDgMKQG1rclgRIgARIgARIgARIgARIgARIgARIgAQqiACFoQpqTFaFBEiABEiABEiABEiABEiABEiABEiABNwQoDDkhha3JQESIAESIAESIAESIAESIAESIAESIIEKIkBhqIIak1UhARIgARIgARIgARIgARIgARIgARIgATcEKAy5ocVtSYAESIAESIAESIAESIAESIAESIAESKCCCFAYqqDGZFVIgARIgARIgARIgARIgARIgARIgARIwA0BCkNuaHFbEiABEiABEiABEiABEiABEiABEiABEqggAtUVVJeyq8pSYFCm73wsgckbsjQ3ItV1TbLr0Bdl664nyq4uLDAJkAAJkAAJkAAJkAAJkAAJkAAJkED5EaAwVMI2W12clLnxT2R+6rbMTw9IdU2j9Nz3eAlLxEOTAAmQAAmQAAmQAAmQAAmQAAmQAAlsJgIUhkrZ2mtR8cmaNLR0SDQalEgoVMrS8NgkQAIkQAIkQAIkQAIkQAIkQAIkQAKbjACFoRI2eCS0LJHwsvir66SuoVVFoqUSloaHJgESIAESIAESIAESIAESIAESIAES2GwEGHy6hC2+JjHx+Xziq/Jbf6HVgKwuzRS0ROHVeQnrcZhIgARIgARIgARIgARIgARIgARIgARIgBZDSedAJLSowaAvy9LsLWntPiDtPUeStsjP19WlCQkuTUmVv1ZUFbKshtRkSJYXxiS4PCN1jZ35OVBCLqHVOY1ndFUWpwZUkKqXzh3HpGXLroQt+JEESIAESIAESIAESIAESIAESIAESGAzEaAwtN7a4eC8zgw2KAsz12Vh+pqsLoxr3J+wNLbtlNr69ryfE7FISNbWIpalkGicoZq6RqmpbZQVPS7EoUIIQzGtTyS8JIs6G9rc6G0ZuPBr2bbvKdl1+Helrqkj73VkhiRAAiRAAiRAAiRAAiRAAiRAAiRAAt4m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" + } + }, + "cell_type": "markdown", + "id": "325aa8a5-92fd-4913-a471-ad1617343be6", + "metadata": {}, + "source": [ + "# 303.2. Galaxy Shapes in DP2\n", + "\n", + "
\n", + "\n", + "![logo.png](attachment:b3f74554-30d1-4f62-94e5-92dd84359107.png)\n", + "\n", + "
\n", + "\n", + "For the Rubin Science Platform at data.lsst.cloud.
\n", + "Data Release: Data Preview 2
\n", + "Container Size: Large
\n", + "LSST Science Pipelines version: r30.0.10
\n", + "Last verified to run: 2026-08-12
\n", + "Repository: github.com/lsst/tutorial-notebooks
" + ] + }, + { + "cell_type": "markdown", + "id": "9da1a210-d858-42fe-8591-570965b8be1a", + "metadata": {}, + "source": [ + "**Learning objective:** Explore the available measurements of galaxy shapes produced by the LSST pipelines and their applications.\n", + "\n", + "**LSST data products:** objectTable, deepCoadd\n", + "\n", + "**Packages:** `lsst.afw`, `lsst.rsp`, `lsst.geom`, `lsst.gauss2d`, `astropy`, `photutils`, `galsim`\n", + "\n", + "**Credit:**\n", + " Originally developed by the Rubin Community Science team.\n", + "Please consider acknowledging them if this notebook is used for the preparation of journal articles, software releases, or other notebooks.\n", + "\n", + "**Get Support:**\n", + "Everyone is encouraged to ask questions or raise issues in the \n", + "Support Category \n", + "of the Rubin Community Forum.\n", + "Rubin staff will respond to all questions posted there." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "cfc73be0", + "metadata": {}, + "source": [ + "## 1. Introduction \n", + "\n", + "The LSST Science Pipelines make a variety of automated shape and morphology measurements for extended sources that are useful for galaxy evolution science. This notebook will teach the user about these measurements. They are performed on the `deep_coadd` images and appear in the `object` table as part of the LSST pipelines data products. The focus will be on galaxies. Data products related to shapes for the purpose of cosmological will be demonstrated elsewhere.\n" + ] + }, + { + "cell_type": "markdown", + "id": "dc36f107", + "metadata": {}, + "source": [ + "### 1.1. Import packages\n" + ] + }, + { + "cell_type": "markdown", + "id": "ccb4fe61-835a-47ac-a691-e086ce766e79", + "metadata": {}, + "source": [ + "Import `numpy`, a fundamental package for scientific computing with arrays in Python\n", + "(numpy.org), and\n", + "`matplotlib`, a comprehensive library for data visualization\n", + "(matplotlib.org; \n", + "matplotlib gallery).\n", + "\n", + "From the `lsst` package, import modules for accessing the Table Access Protocol (TAP) service,\n", + "and image display functions from the LSST Science Pipelines (pipelines.lsst.io). Also import some geometric functions to help plot photometric apertures.\n", + "\n", + "From the `pyvo` package, import some functions that will enable using the image cutout tool. From `astropy` and `photutils` import packages to enable plotting images and drawing shapes on images with WCS information. \n", + "\n", + "Finally, import `galsim` which is the galaxy simulation package, which was used to build the DP0.2 simulated images. This package and the lsst package `gauss2d` are useful for reconstructing the sersic profiles that are used to model the galaxies in Rubin images." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cddc1458", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import io\n", + "import lsst.geom as geom\n", + "\n", + "from lsst.rsp import RSPDiscovery\n", + "from lsst.rsp.utils import get_pyvo_auth\n", + "import lsst.afw.display as afwDisplay\n", + "import lsst.afw.geom.ellipses as ellipses\n", + "\n", + "from pyvo.dal.adhoc import DatalinkResults, SodaQuery\n", + "\n", + "from astropy.wcs import WCS\n", + "from astropy.coordinates import SkyCoord\n", + "import astropy.units as u\n", + "\n", + "from photutils.aperture import SkyEllipticalAperture\n", + "\n", + "import galsim as gs\n", + "from lsst.gauss2d import Ellipse, EllipseMajor, Covariance\n", + "\n", + "import lsst.images\n", + "from lsst.images.serialization import read_archive" + ] + }, + { + "cell_type": "markdown", + "id": "c217adff-25ed-4fce-95e7-8aa04630f6cc", + "metadata": {}, + "source": [ + "### 1.2. Define parameters and functions\n", + "\n", + "Define a function to generate an image cutout, using the Rubin image cutout service. Further information about the cutout tool can be found in DP2 tutorial notebook 103.6 that demonstrates the Rubin image cutout service. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "08dad671-e111-4e41-9a68-9f273afa348e", + "metadata": {}, + "outputs": [], + "source": [ + "def make_image_cutout(ra, dec, cutout_size=0.01, band='i'):\n", + " \"\"\"\n", + " Wrapper function to generate a cutout using the cutout tool.\n", + " Default is to show cutout in i-band.\n", + "\n", + " Parameters\n", + " ----------\n", + " ra, dec : 'float'\n", + " the ra and dec of the cutout center\n", + " cutout_size : 'float', optional\n", + " radial edge length in degrees of the cutout\n", + "\n", + " Returns\n", + " -------\n", + " cutout : 'lsst.images object'\n", + " \"\"\"\n", + " \n", + " sia_client = discovery.get_sia_client()\n", + "\n", + " eff_wl = 622.1e-09\n", + " circle = (ra, dec, cutout_size)\n", + "\n", + " results = sia_client.search(pos=circle, calib_level=3,\n", + " dpsubtype='lsst.deep_coadd',\n", + " band=eff_wl)\n", + " \n", + " dl_result = discovery.get_datalink_results(results[1])\n", + "\n", + " f\"Datalink status: {dl_result.status}.\"\n", + "\n", + " sq = SodaQuery.from_resource(dl_result,\n", + " dl_result.get_adhocservice_by_id(\"cutout-sync-exposure\"),\n", + " session=get_pyvo_auth())\n", + "\n", + " cutout_ra = ra * u.deg\n", + " cutout_dec = dec * u.deg\n", + " Radius = cutout_size * u.deg\n", + "\n", + " sq.circle = (cutout_ra, cutout_dec, Radius)\n", + " cutout_bytes = sq.execute_stream().read()\n", + " sq.raise_if_error()\n", + " \n", + " cutout = read_archive(io.BytesIO(cutout_bytes))\n", + " return cutout" + ] + }, + { + "cell_type": "markdown", + "id": "d3909338-51dd-46d7-b05a-8d32ebad669e", + "metadata": {}, + "source": [ + "Define parameters to use colorblind-friendly colors with `matplotlib`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ecc6cb66-ec5c-47c1-bcd0-4592a32179cd", + "metadata": {}, + "outputs": [], + "source": [ + "plt.style.use('seaborn-v0_8-colorblind')\n", + "prop_cycle = plt.rcParams['axes.prop_cycle']\n", + "colors = prop_cycle.by_key()['color']" + ] + }, + { + "cell_type": "markdown", + "id": "e6326a1e-4a39-49ef-bcc3-2d896360bb45", + "metadata": {}, + "source": [ + "Set the `afwDisplay` backend to `matplotlib` to enable use of various packages to overplot on images." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44f249c4-af2e-42c7-8bee-52c30be70b36", + "metadata": {}, + "outputs": [], + "source": [ + "afwDisplay.setDefaultBackend('matplotlib')\n" + ] + }, + { + "cell_type": "markdown", + "id": "d3383f6e-8c34-4cb7-aa2f-12e9b7f8efc0", + "metadata": {}, + "source": [ + "Get an instance of the TAP service, and assert that it exists." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8184089-8a3e-4666-a194-5362a8faa541", + "metadata": {}, + "outputs": [], + "source": [ + "discovery = RSPDiscovery(\"dp2\")\n", + "service = discovery.get_tap_client()\n", + "\n", + "assert service is not None" + ] + }, + { + "cell_type": "markdown", + "id": "8fc94e38-d19a-4a5e-8dcb-e7501cf54a2a", + "metadata": {}, + "source": [ + "## 2. Find galaxies in ECDFS\n", + "\n", + "A deep DP2 dataset is in the Extended Chandra Deep Field South (ECDFS). This section uses a galaxy that was previously identified in ECDFS that is known to be large and edge-on." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73dd5a5f-b761-4d4f-96b6-5767cffbb310", + "metadata": {}, + "outputs": [], + "source": [ + "target_ra = 53.19488194\n", + "target_dec = -27.70342546" + ] + }, + { + "cell_type": "markdown", + "id": "fbc29923-d664-42b8-90cb-835d751a62ae", + "metadata": {}, + "source": [ + "Here, query the DP2 `object` table for the morphological parameters for this galaxy. Check that the identified galaxy is extended (`i_extendedness` = 1), that its `i_kronFlux_flag_*`, `sersic_no_data_flag`, and `shape_flag` are all = 0, indicating there is not a problem with modeling the shape and light profile. \n", + "\n", + "Pick a very small search radius of 0.72 arcseconds to ensure the return is the previously specified large, edge-on galaxy.\n", + "\n", + "The query will retrieve a number of shape measurements and flags that will be explained in Section 3." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75150971-e118-48d5-9db7-74c0fe600762", + "metadata": {}, + "outputs": [], + "source": [ + "query = \"SELECT obj.objectId, obj.coord_ra, obj.coord_dec, \" + \\\n", + " \"obj.i_extendedness, obj.refBand, \" + \\\n", + " \"obj.i_kronFlux, obj.i_kronRad, obj.i_kronFlux_flag, \" + \\\n", + " \"obj.i_kronFlux_flag_small_radius, obj.i_kronFlux_flag_bad_radius, \" + \\\n", + " \"obj.shape_xx, obj.shape_xy, obj.shape_yy, obj.shape_flag, \" + \\\n", + " \"obj.i_ixx, obj.i_ixy, obj.i_iyy, \" + \\\n", + " \"obj.i_sersicFlux, obj.i_exponentialFlux, obj.sersic_no_data_flag, \" + \\\n", + " \"obj.sersic_index, obj.sersic_reff_x, \" + \\\n", + " \"obj.sersic_reff_y, obj.sersic_rho, \" + \\\n", + " \"obj.sersic_reff_major, obj.sersic_reff_minor, obj.sersic_theta, \" + \\\n", + " \"obj.i_cModel_dev_reff_major, obj.i_cModel_dev_reff_minor, obj.i_cModel_dev_theta, \" + \\\n", + " \"obj.i_cModel_exp_reff_major, obj.i_cModel_exp_reff_minor, obj.i_cModel_exp_theta, \" + \\\n", + " \"obj.i_cModelFlux, obj.i_cModel_fracDev, \" + \\\n", + " \"obj.exponential_reff_major, obj.exponential_reff_minor, obj.exponential_theta \" + \\\n", + " \"FROM dp2.Object AS obj \" + \\\n", + " \"WHERE (obj.i_extendedness = 1) AND (obj.shape_flag = 0) AND \" + \\\n", + " \"(obj.i_kronFlux_flag_small_radius = 0) AND \" + \\\n", + " \"(obj.i_kronFlux_flag_bad_radius = 0) AND \" + \\\n", + " \"(obj.i_kronFlux_flag = 0) AND (obj.sersic_no_data_flag = 0) AND \" + \\\n", + " \"CONTAINS(POINT('ICRS', obj.coord_ra, obj.coord_dec), \" + \\\n", + " \"CIRCLE('ICRS',\"+str(target_ra)+\",\"+str(target_dec)+\", 0.0002)) = 1 \"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "867871f3-d378-4cc5-88df-d91cfb01e259", + "metadata": {}, + "outputs": [], + "source": [ + "job = service.submit_job(query)\n", + "job.run()\n", + "job.wait(phases=['COMPLETED', 'ERROR'])\n", + "print('Job phase is', job.phase)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7e4a20e0-101d-4644-90e1-b0bd1058aae1", + "metadata": {}, + "outputs": [], + "source": [ + "results = job.fetch_result()\n", + "tab = results.to_table()\n", + "tab" + ] + }, + { + "cell_type": "markdown", + "id": "f93f2f80-e10b-49dc-81ac-7faccd60ea80", + "metadata": {}, + "source": [ + "## 3. Visualize galaxy morphology\n", + "\n", + "This section will make an image cutout of the large galaxy, and compare the shapes of the different photometric and morphological measurements. This section demonstrates how to reconstruct the Gaussian Ellipse, Kron ellipse, and Sersic half-light shape, using the corresponding shape parameters in the objectTable. \n", + "\n", + "Below, define the `SkyCoord` for the galaxy's location.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4965c1ef-a679-4593-ab71-476553c7038f", + "metadata": {}, + "outputs": [], + "source": [ + "coord = SkyCoord(ra=tab['coord_ra'][0]*u.degree,\n", + " dec=tab['coord_dec'][0]*u.degree, frame='icrs')\n" + ] + }, + { + "cell_type": "markdown", + "id": "7be26ac4-d218-44f4-bd0a-302dff751342", + "metadata": {}, + "source": [ + "The sizes in the LSST `object` table are in units of pixel. Note that the pixel scale of the LSST data is 0.2 arcseconds per pixel. Define the conversion in the cell below.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ac511949-4fd3-4d2f-93f1-d89976e93886", + "metadata": {}, + "outputs": [], + "source": [ + "arcsec_per_pix = 0.2" + ] + }, + { + "cell_type": "markdown", + "id": "265a726e-38a3-4767-bbb1-dc1126927a5d", + "metadata": {}, + "source": [ + "### 3.1 Gaussian ellipse \n", + "\n", + "In the next cell, use `object` table shape parameters to reconstruct the galaxy shape, approximated as a 2D Gaussian. The LSST pipelines measures this shape, parameterized by three parameters or \"moments\" measured on the `deepCoadd` in each band individually: `_ixx`, `_iyy`, `_ixy` (weak lensing experts may recognize these come from the measured re-Gaussianization method of Hirata & Seljak 2003, implemented by Mandelbaum et al. 2005, and called HSM moments. The corresponding moments measured on the reference band or `refBand` are also stored as `shape_xx`, `shape_yy`, and `shape_xy`. These moments have not been corrected for the point spread function (PSF; thus not applicable for weak lensing) but PSF effects are small for galaxy sizes much larger than the PSF. These shape parameters can be converted to more commonly used set of morphological parameters using the LSST package `ellipses`. \n", + "\n", + "The cell below will demonstrate how to extract these more commonly used parameters (e.g. semi-major radius `A` or `Rmaj`, semi-minor radius `B` or `Rmin`, which can be used to obtain the axis ratio `ba` defined as Rmin/Rmaj, and the position angle `theta`. `theta` is defined in radians counterclockwise from the x-axis. \n", + "\n", + "The semi-major and minor diameters are the \"sigmas\" of the 2D gaussian model approximation to the light profile. These sizes are unrelated to the Kron photometry or shape, but note that the Kron measurements use the axis ratio and position angle from this measurement.\n", + "\n", + "The 2D Gaussian radius (or equally the sersic radius) are good metrics of size, and better than kronRad, which can be come uncertain or fail for very small galaxies. Size metrics including sersic size or gaussian sizes should be used for small galaxies. The kronRad and Kron aperture perform better for large galaxies (i.e. much larger than the PSF).\n", + "\n", + "The example below converts these parameters using the `ellipses` package in `lsst.afw.geom`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9fb878b-505f-4fdf-a905-45a925a90864", + "metadata": {}, + "outputs": [], + "source": [ + "axes = ellipses.Axes(ellipses.Quadrupole(tab['shape_xx'][0],\n", + " tab['shape_yy'][0],\n", + " tab['shape_xy'][0]))\n", + "Rmaj = axes.getA()\n", + "Rmin = axes.getB()\n", + "theta = axes.getTheta()\n" + ] + }, + { + "cell_type": "markdown", + "id": "e95efaaf-848f-4655-addb-47f959bdd924", + "metadata": {}, + "source": [ + "Equivalently, this could be done using a different set of packages (the cell below demonstrates instead how to use the `ellipse` package in `lsst.gauss2d`). The cell below also validates that the same answer is retrieved with both methods." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9855e3a8-b78d-4315-aa32-19489b7f20c2", + "metadata": {}, + "outputs": [], + "source": [ + "ellipse = EllipseMajor(Covariance(sigma_x_sq=tab[\"shape_xx\"][0],\n", + " sigma_y_sq=tab[\"shape_yy\"][0],\n", + " cov_xy=tab[\"shape_xy\"][0]))\n", + "\n", + "ellipse_Rmaj = ellipse.r_major\n", + "ellipse_Rmin = ellipse.axrat * ellipse.r_major\n", + "ellipse_theta = ellipse.angle\n", + "\n", + "print(ellipse_Rmaj, Rmaj)\n", + "print(ellipse_Rmin, Rmin)\n", + "print(ellipse_theta, theta)" + ] + }, + { + "cell_type": "markdown", + "id": "61d3515e-5780-4735-9366-468e8c76e5a6", + "metadata": {}, + "source": [ + "Use `photutils` to define an aperture which enables visualizing the shape parameters on an image cutout. Note that `photutils` convention for `pa` or `theta` is 90 degrees or pi/2 offset from that of the LSST pipeline functions. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f4061fc-571d-4bdc-967c-7f2462e99fde", + "metadata": {}, + "outputs": [], + "source": [ + "gaussell_ellipse = SkyEllipticalAperture(coord,\n", + " Rmaj * arcsec_per_pix * u.arcsec,\n", + " Rmin * arcsec_per_pix * u.arcsec,\n", + " theta=(np.pi/2 + theta) * u.rad)\n" + ] + }, + { + "cell_type": "markdown", + "id": "25d6f1f5-c09b-4442-b2a1-d333a2cd510c", + "metadata": {}, + "source": [ + "### 3.2 Kron ellipse\n", + "\n", + "In the next cell, reconstruct the Kron aperture. The method of the Kron implementation in the LSST pipelines is to use the `objectTable` parameter `_kronRad`, in combination with the same axis-ratio and rotation angle that come from the Gaussian shape parameters from section 3.1.\n", + "\n", + "First, define `R_mom`, which is the (circularized) moment radius defined as sqrt(Rmaj * Rmin) where Rmaj and Rmin came from the Gaussian ellipse measurement. Together these define the axis ratio. This will be combined with `kronRad` to obtain the semin-major and minor radii used for the kron aperture. `kronRad` in the `objectTable` has units of pixel. A known issue is that the schema implies kronRad is unitless, but this is incorrect and the units listed in the schema will be fixed in DP2.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "06aea155-2515-4660-b019-276413f5017a", + "metadata": {}, + "outputs": [], + "source": [ + "kronRad = tab['i_kronRad'][0]\n", + "\n", + "R_mom = np.sqrt(Rmaj * Rmin)\n", + "\n", + "kron_aperture_Rmaj = 2.5 * Rmaj * kronRad * arcsec_per_pix / R_mom\n", + "kron_aperture_Rmin = 2.5 * Rmin * kronRad * arcsec_per_pix / R_mom\n" + ] + }, + { + "cell_type": "markdown", + "id": "601ed177-b561-4885-a2e9-d05c23445acb", + "metadata": {}, + "source": [ + "Use `photutils` to define the Kron aperture." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3cfa1b89-0e39-4a6a-bc8c-9bde15ab54a0", + "metadata": {}, + "outputs": [], + "source": [ + "kron_aperture = SkyEllipticalAperture(coord,\n", + " kron_aperture_Rmaj * u.arcsec,\n", + " kron_aperture_Rmin * u.arcsec,\n", + " theta=(np.pi/2 + theta) * u.rad)\n" + ] + }, + { + "cell_type": "markdown", + "id": "88d3dc48-b511-4f1a-83ef-ebd526912402", + "metadata": {}, + "source": [ + "### 3.3 Sersic profiles\n", + "\n", + "#### 3.3.1 Sersic parameters in x-y\n", + "\n", + "Convert the Sersic morphological parameters stored in the `object` table (the effective sersic radii in x and y directions, `sersic_reff_x`, `sersic_reff_y`, and the correlation coefficient from the multiband Sersic model fit `sersic_rho` that is related to orientation angle) into the more conventional sersic parameters (axis ratio `ba` defined as the ratio of the semi-minor half-light radius divided to semi-major half-light radius, the position angle `pa`, and the semi-major half-light radius `r_major`). The position angle (`pa`) convention is counter-clockwise relative to the x-axis. In this case, return the `pa` in units of degrees instead of the previous example in radians, to demonstrate its use with `photutils`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2a340194-b202-413c-b233-014c6d1c3370", + "metadata": {}, + "outputs": [], + "source": [ + "x = EllipseMajor(Ellipse(sigma_x=tab['sersic_reff_x'][0],\n", + " sigma_y=tab['sersic_reff_y'][0],\n", + " rho=tab['sersic_rho'][0]), degrees=True)\n", + "ba = x.axrat\n", + "pa = x.angle\n", + "r_major = x.r_major * arcsec_per_pix\n" + ] + }, + { + "cell_type": "markdown", + "id": "91f2585c-042e-4773-a2f4-5118c84f9103", + "metadata": {}, + "source": [ + "Use `photutils` to define the sersic half-light ellipse." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e7b1655e-a3e0-42d6-9e09-9cd0088664c4", + "metadata": {}, + "outputs": [], + "source": [ + "sersic_ellipse = SkyEllipticalAperture(coord,\n", + " r_major * u.arcsec,\n", + " r_major * ba * u.arcsec,\n", + " theta=(pa+90) * u.deg)\n" + ] + }, + { + "cell_type": "markdown", + "id": "4b9cbf0e-5028-44e9-a8c1-924935aadc36", + "metadata": {}, + "source": [ + "Generate an image cutout with edge size 0.008 degrees (~29 arcseconds). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b77f86f2-0ae8-4644-a5e5-08cb45eac4b2", + "metadata": {}, + "outputs": [], + "source": [ + "cutout_size = 0.008\n", + "\n", + "cutout = make_image_cutout(tab['coord_ra'][0],\n", + " tab['coord_dec'][0], cutout_size=cutout_size)\n" + ] + }, + { + "cell_type": "markdown", + "id": "51cba3d9-f1bb-41fd-92ce-be0277fed988", + "metadata": {}, + "source": [ + "Plot the cutout and overplot the various shapes and apertures. This requires some manipulation of the WCS in order for `lsst.images` and `astropy` to plot consistently. \n", + "\n", + "First, extract the WCS once using the `lsst.images` syntax. This replaces the old `WCS(cutout.getWcs().getFitsMetadata())` from DP1. Then create a subplot with the extracted WCS." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a697d126-577f-4a0f-b6ae-5c940818ec1a", + "metadata": {}, + "outputs": [], + "source": [ + "astropy_wcs = cutout.sky_projection.as_fits_wcs(bbox=cutout.bbox)\n", + "\n", + "plt.subplot(projection=astropy_wcs)\n", + "\n", + "plt.imshow(cutout.image.array, origin='lower', cmap='gray', vmin=1,\n", + " vmax=1000, norm='asinh')\n", + "\n", + "gaussell_pix_ellipse = gaussell_ellipse.to_pixel(astropy_wcs)\n", + "gaussell_pix_ellipse.plot(color=colors[0], lw=3, label='Gaussian (shape) ellipse')\n", + "\n", + "kron_pix_aperture = kron_aperture.to_pixel(astropy_wcs)\n", + "kron_pix_aperture.plot(color=colors[1], lw=3, label='Kron Aperture')\n", + "\n", + "sersic_pix_ellipse = sersic_ellipse.to_pixel(astropy_wcs)\n", + "sersic_pix_ellipse.plot(color=colors[2], lw=2, label='Sersic Half-light Profile')\n", + "\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "id": "50cec7de-b25c-41bd-8989-b1c452a2d5e3", + "metadata": {}, + "source": [ + "> Figure 1: An i-band image cutout of an example galaxy (grayscale). The Kron aperture used for Kron photometry is overplotted (green), as well as the half-light profile from the 2D Gaussian model (blue) and Sersic model (orange). " + ] + }, + { + "cell_type": "markdown", + "id": "26d43e97-bd7a-420c-9f51-4684372d4a33", + "metadata": {}, + "source": [ + "## 4. Sersic reconstruction\n", + "\n", + "For some science applications it is useful to compare the on-sky image to the sersic model, for example to assess goodness of fit. The cells below demonstrate how to reconstruct the best-fitting sersic model that produced the `_sersicFlux`, and represents the morphological parameters stored in the `object` table. \n", + "\n", + "A straightforward way to do this is using the `galsim`, which is the galaxy simulation package used to build the DP0.2 simulated images. Note that the algorithm used to measure the sersic fluxes, `multiprofit`, is a Gaussian mixture model that approximates a sersic model. Renderings of the galaxy using as a pure sersic model using `galsim` is simpler to plot, but may not be perfectly identical to that built with Gaussian mixture. \n", + "\n", + "It is also good to be aware of objects with Sersic index `n` that are measured to be suspiciously close to 1 (e.g. 1+/- 1e-6). This may happen for poorly fit objects because n=1 is the starting guess, and the optimizer tends to give up if it can't improve within 5-10 iterations.\n", + "\n", + "Below, build the sersic model using the `galsim` function `gs.Sersic` using the sersic parameters from the cell above. Note that the total flux of the model very closely approximates the `sersicFlux` from the `objectTable`, indicating (in this case) a good fit." + ] + }, + { + "cell_type": "markdown", + "id": "bfd70329-c439-413b-8de1-521b7f975809", + "metadata": {}, + "source": [ + "### 4.1 Standard sersic parameters\n", + "\n", + "New in DP2, the `object` table now contains standard sersic parameters (semi-major and minor half-light radii, position angle) which can be used in place of the x-y parameters that were needed in DP1. For this section, as a demonstration, replace those calculated in Section 3.3.1 using the x-y sersic parameters with the ones stored in the `object` table." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05d6600c-66b2-4041-975d-9d247e05cd11", + "metadata": {}, + "outputs": [], + "source": [ + "r_major = tab['sersic_reff_major']\n", + "r_minor = tab['sersic_reff_minor']\n", + "ba = tab['sersic_reff_minor']/tab['sersic_reff_major']\n", + "pa = tab['sersic_theta'][0] + 90" + ] + }, + { + "cell_type": "markdown", + "id": "e6183e4e-7ed4-4201-a8a5-64e04fc9888a", + "metadata": {}, + "source": [ + "As above, generate the best fit 2D Sersic model of the galaxy. Note that `galsim` takes as input the circularized effective radius, which is defined as `Reff = r_major * sqrt(ba)`. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6653cd67-2d02-4481-9ca7-9fb571b69a6b", + "metadata": {}, + "outputs": [], + "source": [ + "sersic = gs.Sersic(n=tab['sersic_index'][0], half_light_radius=r_major * np.sqrt(ba),\n", + " flux=tab['i_sersicFlux'][0]).shear(q=ba, beta=pa * gs.degrees)\n", + "\n", + "img = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", + "\n", + "print('Total flux of model = ', np.sum(img), 'nJy, very close to flux from objectTable = ',\n", + " tab['i_sersicFlux'][0], ' nJy')\n", + "\n", + "fig, ax = plt.subplots()\n", + "im = ax.imshow(img, origin='lower', interpolation='nearest', vmin=0, vmax=1000, norm='asinh')\n", + "cbar = fig.colorbar(im, ax=ax)\n", + "cbar.set_label('Flux [nJy/pixel]', rotation=270, labelpad=25)\n", + "cbar.set_ticks([-0.1, 10, 30, 60, 100, 1000])\n", + "plt.xlabel('x')\n", + "plt.ylabel('y')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "6d245ce2-daa4-419e-8e24-80bcafd44876", + "metadata": {}, + "source": [ + "> Figure 2: The best fit Sersic model of the galaxy in Figure 1 that was used to measure `sersicFlux` of the galaxy. " + ] + }, + { + "cell_type": "markdown", + "id": "ab43067e-968e-42a6-8e82-d97d577787a9", + "metadata": {}, + "source": [ + "## 5. Additional shape measurements\n", + "\n", + "DP2 contains new shape measurements that can be used to reconstruct the light profiles that model galaxies with fixed sersic index to `n=1` (`__exponential_*`) and the `cModel` (composite, or two component model). This is the sum of a bulge: deVaucouleurs profile with `n=4` and a disk: exponential profile `n=1`. \n", + "\n", + "### 5.1 Exponential profile\n", + "\n", + "Below, generate the model for the best fitting exponential model (`n=1`). Note that since the best fit single sersic index `sersic_index` `n=2.2` in the object table, fitting with a different sersic index n=1 results in a more extended light distribution (compared to `n=2.2`, which is more concentrated), and as a result, a different measurement of total flux from that when sersic index is left as a free parameter." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eef0c224-fdb0-4a2a-b3c7-4708de38c0d2", + "metadata": {}, + "outputs": [], + "source": [ + "ba = tab['exponential_reff_minor'][0]/tab['exponential_reff_major'][0]\n", + "sersic = gs.Sersic(n=1, half_light_radius=tab['exponential_reff_major'][0] * np.sqrt(ba),\n", + " flux=tab['i_exponentialFlux'][0]).shear(q=ba, beta= (tab['exponential_theta'][0] + 90) * gs.degrees)\n", + "\n", + "img = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", + "\n", + "print('Total flux of model = ', np.sum(img), 'nJy, very close to flux from objectTable = ',\n", + " tab['i_exponentialFlux'][0], ' nJy')\n", + "\n", + "fig, ax = plt.subplots()\n", + "im = ax.imshow(img, origin='lower', interpolation='nearest', vmin=0, vmax=1000, norm='asinh')\n", + "cbar = fig.colorbar(im, ax=ax)\n", + "cbar.set_label('Flux [nJy/pixel]', rotation=270, labelpad=25)\n", + "cbar.set_ticks([-0.1, 10, 30, 60, 100, 1000])\n", + "plt.xlabel('x')\n", + "plt.ylabel('y')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "9b5cb25b-60be-4d4b-b299-a8e9f1a36ddf", + "metadata": {}, + "source": [ + "> Figure 3: The best fit exponential sersic model of the galaxy (i.e. sersic index n is fixed to one) for the galaxy in Figure 1. This model was used to measure `exponentialFlux` of the galaxy. " + ] + }, + { + "cell_type": "markdown", + "id": "78751b61-d7a6-4ed3-92f4-1313a8c0260f", + "metadata": {}, + "source": [ + "## 6. cModel Reconstruction\n", + "\n", + "The `cModel` fluxes are measured using the `meas_modelfit` algorithm. It does an initial guess to identify the centroid and preliminary shape moments, and then models the galaxy as an exponential disk with `n=1` (to generate `exp_reff` and `expFlux`), then models the galaxy as a bulge with a deVaucouleurs profile using `n=4` (to generate `dev_r`, `devFlux`, then fits a model as a linear combination of those, where the amplitudes (or fraction of flux, `fracDev`) are left free, with the resulting output stored as `cModel` fluxes. \n", + "\n", + "Thus, `_cModel_expFlux`  and `_cModel_devFlux` are total fluxes and do not simply add up to `_cModelFlux`. One can use the `_cModel_fracDev` (standing for fraction which is deVaucouleurs, of `_cModel_devFlux`) to reconstruct the cModel profile. The fraction of flux in the exponential disk component is thus `_cModel_fracDev`.\n", + "\n", + "First, store the parameters of the two sersic components for cModel." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8bd6ea5b-d754-451f-87e2-a5bbce8f236a", + "metadata": {}, + "outputs": [], + "source": [ + "frac_dev = tab['i_cModel_fracDev'][0]\n", + "total_flux = tab['i_cModelFlux'][0]\n", + "\n", + "bulge_flux = total_flux * frac_dev\n", + "bulge_ba = tab['i_cModel_dev_reff_minor']/tab['i_cModel_dev_reff_major']\n", + "bulge_reff = tab['i_cModel_dev_reff_major'][0] * np.sqrt(bulge_ba)\n", + "bulge_pa = tab['i_cModel_dev_theta'][0] + 90\n", + "\n", + "disk_flux = total_flux * (1.0 - frac_dev)\n", + "disk_ba = tab['i_cModel_exp_reff_minor']/tab['i_cModel_exp_reff_major']\n", + "disk_reff = tab['i_cModel_exp_reff_major'][0] * np.sqrt(disk_ba)\n", + "disk_pa = tab['i_cModel_exp_theta'][0] + 90\n" + ] + }, + { + "cell_type": "markdown", + "id": "56a22e43-0406-4275-bbaa-1eb52151afb9", + "metadata": {}, + "source": [ + "The cell below demonstrates how to reconstruct the intrinsic `cModel` light profile of the galaxy using these parameters." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "01f77993-e706-467c-8a64-e06e772ed339", + "metadata": {}, + "outputs": [], + "source": [ + "disk = gs.Exponential(flux=disk_flux, half_light_radius=disk_reff)\n", + "disk = disk.shear(q=disk_ba, beta=disk_pa * gs.degrees)\n", + "\n", + "bulge = gs.DeVaucouleurs(flux=bulge_flux, half_light_radius=bulge_reff)\n", + "bulge = bulge.shear(q=bulge_ba, beta=bulge_pa * gs.degrees)\n", + "\n", + "cmodel_galaxy = disk + bulge" + ] + }, + { + "cell_type": "markdown", + "id": "a55ed42d-57f9-4677-91a8-5a61f5762a02", + "metadata": {}, + "source": [ + "Next, apply the PSF to the model image. \n", + "\n", + "> Note: de Vaucouleurs profiles have sharp central cusps and also large wings which ideally requires a large grid of frequencies for the Fast Fourier Transform (FFT). Since we are only trying to visualize the light profile and are not concerned with re-calculating photometry with high accuracy, this warning can be safely ignored. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6af3140b-95f9-4740-a638-020a8df21268", + "metadata": {}, + "outputs": [], + "source": [ + "image_size = 1000\n", + "img = cmodel_galaxy.drawImage(nx=image_size, ny=image_size, scale=arcsec_per_pix).array" + ] + }, + { + "cell_type": "markdown", + "id": "f824ac32-2655-48c2-b7a3-0e7fe7e28047", + "metadata": {}, + "source": [ + "Finally, visualize the model of the observations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0eca6052-0dc1-4d25-90e7-03155e06f4fc", + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(6, 6))\n", + "plt.imshow(img, origin='lower', interpolation='nearest', vmin=0,\n", + " vmax=1000, norm='asinh')\n", + "\n", + "print('Total flux of model = ', np.sum(img),\n", + " 'nJy, very close to flux from objectTable = ',\n", + " tab['i_cModelFlux'][0], ' nJy')\n", + "\n", + "plt.title(f\"Reconstructed cModel (fracDev = {frac_dev})\")\n", + "plt.colorbar(label='Pixel Flux')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "43bb015c-0d64-4b7e-baec-51a21139f1aa", + "metadata": {}, + "source": [ + "> Figure 4: Reconstructed light profile using the cModel bulge plus disk 2 component model. " + ] + }, + { + "cell_type": "markdown", + "id": "c3a1141a-0055-4659-aebb-d87b8b514c04", + "metadata": {}, + "source": [ + "## 7. Apply PSF convolution\n", + "\n", + "Sections 4-6 visualized the intrinsic light profile (without the instrumental effect due to the PSF). Below, reconstruct the PSF at the location of the galaxy using the metadata stored in the `deep_coadd` image cutout, and convolve the intrinsic light profile with the PSF." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58a10110-a129-4d16-be69-2684a1792590", + "metadata": {}, + "outputs": [], + "source": [ + "target_x = cutout.bbox.x.min + (cutout.bbox.x.max - cutout.bbox.x.min) / 2\n", + "target_y = cutout.bbox.y.min + (cutout.bbox.y.max - cutout.bbox.y.min) / 2\n", + "\n", + "target_point = (target_x, target_y)\n", + "\n", + "local_psf_image = cutout.psf.compute_kernel_image(x=target_x, y=target_y)\n", + "psf_array = local_psf_image.array\n", + "\n", + "galsim_psf = gs.InterpolatedImage(gs.Image(psf_array), scale=arcsec_per_pix)\n", + "\n", + "final_profile = gs.Convolve([cmodel_galaxy, galsim_psf])\n" + ] + }, + { + "cell_type": "markdown", + "id": "3740dc28-58f5-4914-b36c-427ee54c2869", + "metadata": {}, + "source": [ + "Finally, visualize the intrinsic light profile of the galaxy after PSF convolution." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe1803b8-bb20-4bb4-bcf7-8ad8a707672c", + "metadata": {}, + "outputs": [], + "source": [ + "img_w_psf = final_profile.drawImage(nx=image_size, ny=image_size, scale=arcsec_per_pix).array\n", + "\n", + "plt.figure(figsize=(6, 6))\n", + "plt.imshow(img_w_psf, origin='lower', interpolation='nearest', vmin=0, vmax=1000, norm='asinh')\n", + "\n", + "print('Total flux of model = ', np.sum(img_w_psf), 'nJy, very close to flux from objectTable = ',\n", + " tab['i_cModelFlux'][0], ' nJy')\n", + "\n", + "plt.title(f\"Reconstructed cModel (convolved with PSF)\")\n", + "plt.colorbar(label='Pixel Flux')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "ce1ad9c5-e7fe-4cc0-bccf-60dd8354507b", + "metadata": {}, + "source": [ + "> Figure 5: cModel light profile convolved with the PSF evaluated at the location of galaxy in the deep_coadd." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "LSST", + "language": "python", + "name": "lsst" + }, + "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.13.9" + }, + "toc-autonumbering": false + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 26f535d31d62ae72dccfd90012a78316406a4ffa Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Thu, 13 Aug 2026 15:41:28 +0000 Subject: [PATCH 02/11] adding 303 Galaxies series and 303 2 shapes nb --- .../303_Galaxies/303_2_Galaxy_Shapes.ipynb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index 42dc02e0..72551ed4 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -475,7 +475,7 @@ "R_mom = np.sqrt(Rmaj * Rmin)\n", "\n", "kron_aperture_Rmaj = 2.5 * Rmaj * kronRad * arcsec_per_pix / R_mom\n", - "kron_aperture_Rmin = 2.5 * Rmin * kronRad * arcsec_per_pix / R_mom\n" + "kron_aperture_Rmin = 2.5 * Rmin * kronRad * arcsec_per_pix / R_mom" ] }, { @@ -496,7 +496,7 @@ "kron_aperture = SkyEllipticalAperture(coord,\n", " kron_aperture_Rmaj * u.arcsec,\n", " kron_aperture_Rmin * u.arcsec,\n", - " theta=(np.pi/2 + theta) * u.rad)\n" + " theta=(np.pi/2 + theta) * u.rad)" ] }, { @@ -523,7 +523,7 @@ " rho=tab['sersic_rho'][0]), degrees=True)\n", "ba = x.axrat\n", "pa = x.angle\n", - "r_major = x.r_major * arcsec_per_pix\n" + "r_major = x.r_major * arcsec_per_pix" ] }, { @@ -544,7 +544,7 @@ "sersic_ellipse = SkyEllipticalAperture(coord,\n", " r_major * u.arcsec,\n", " r_major * ba * u.arcsec,\n", - " theta=(pa+90) * u.deg)\n" + " theta=(pa+90) * u.deg)" ] }, { @@ -565,7 +565,7 @@ "cutout_size = 0.008\n", "\n", "cutout = make_image_cutout(tab['coord_ra'][0],\n", - " tab['coord_dec'][0], cutout_size=cutout_size)\n" + " tab['coord_dec'][0], cutout_size=cutout_size)" ] }, { @@ -647,7 +647,7 @@ "source": [ "r_major = tab['sersic_reff_major']\n", "r_minor = tab['sersic_reff_minor']\n", - "ba = tab['sersic_reff_minor']/tab['sersic_reff_major']\n", + "ba = tab['sersic_reff_minor'] / tab['sersic_reff_major']\n", "pa = tab['sersic_theta'][0] + 90" ] }, @@ -681,7 +681,7 @@ "cbar.set_ticks([-0.1, 10, 30, 60, 100, 1000])\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", - "plt.show()\n" + "plt.show()" ] }, { @@ -772,7 +772,7 @@ "disk_flux = total_flux * (1.0 - frac_dev)\n", "disk_ba = tab['i_cModel_exp_reff_minor']/tab['i_cModel_exp_reff_major']\n", "disk_reff = tab['i_cModel_exp_reff_major'][0] * np.sqrt(disk_ba)\n", - "disk_pa = tab['i_cModel_exp_theta'][0] + 90\n" + "disk_pa = tab['i_cModel_exp_theta'][0] + 90" ] }, { @@ -883,7 +883,7 @@ "\n", "galsim_psf = gs.InterpolatedImage(gs.Image(psf_array), scale=arcsec_per_pix)\n", "\n", - "final_profile = gs.Convolve([cmodel_galaxy, galsim_psf])\n" + "final_profile = gs.Convolve([cmodel_galaxy, galsim_psf])" ] }, { From 26feb2c24435381e4e50e247b22c92aecacdfc70 Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Mon, 17 Aug 2026 14:36:37 +0000 Subject: [PATCH 03/11] addressing PR comments --- .../303_Galaxies/303_2_Galaxy_Shapes.ipynb | 70 +++++++++---------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index 72551ed4..05cb1ce7 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -33,7 +33,7 @@ "source": [ "**Learning objective:** Explore the available measurements of galaxy shapes produced by the LSST pipelines and their applications.\n", "\n", - "**LSST data products:** objectTable, deepCoadd\n", + "**LSST data products:** Object, deep_coadd\n", "\n", "**Packages:** `lsst.afw`, `lsst.rsp`, `lsst.geom`, `lsst.gauss2d`, `astropy`, `photutils`, `galsim`\n", "\n", @@ -56,7 +56,7 @@ "source": [ "## 1. Introduction \n", "\n", - "The LSST Science Pipelines make a variety of automated shape and morphology measurements for extended sources that are useful for galaxy evolution science. This notebook will teach the user about these measurements. They are performed on the `deep_coadd` images and appear in the `object` table as part of the LSST pipelines data products. The focus will be on galaxies. Data products related to shapes for the purpose of cosmological will be demonstrated elsewhere.\n" + "The LSST Science Pipelines make a variety of automated shape and morphology measurements for extended sources that are useful for galaxy evolution science. This notebook will teach the user about these measurements. They are performed on the `deep_coadd` images and appear in the `Object` table as part of the LSST pipelines data products. The focus will be on galaxies. Data products related to shapes for the purpose of cosmological analyses will be demonstrated elsewhere.\n" ] }, { @@ -76,13 +76,13 @@ "(numpy.org), and\n", "`matplotlib`, a comprehensive library for data visualization\n", "(matplotlib.org; \n", - "matplotlib gallery).\n", + "matplotlib gallery). The `io` package provides input and output functions for handling data transfer.\n", + "\n", + "From the `pyvo` package, import some functions that will enable using the image cutout tool. From `astropy` and `photutils` import packages to enable plotting images and drawing shapes on images with WCS information. \n", "\n", "From the `lsst` package, import modules for accessing the Table Access Protocol (TAP) service,\n", "and image display functions from the LSST Science Pipelines (pipelines.lsst.io). Also import some geometric functions to help plot photometric apertures.\n", "\n", - "From the `pyvo` package, import some functions that will enable using the image cutout tool. From `astropy` and `photutils` import packages to enable plotting images and drawing shapes on images with WCS information. \n", - "\n", "Finally, import `galsim` which is the galaxy simulation package, which was used to build the DP0.2 simulated images. This package and the lsst package `gauss2d` are useful for reconstructing the sersic profiles that are used to model the galaxies in Rubin images." ] }, @@ -96,12 +96,6 @@ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import io\n", - "import lsst.geom as geom\n", - "\n", - "from lsst.rsp import RSPDiscovery\n", - "from lsst.rsp.utils import get_pyvo_auth\n", - "import lsst.afw.display as afwDisplay\n", - "import lsst.afw.geom.ellipses as ellipses\n", "\n", "from pyvo.dal.adhoc import DatalinkResults, SodaQuery\n", "\n", @@ -111,11 +105,15 @@ "\n", "from photutils.aperture import SkyEllipticalAperture\n", "\n", - "import galsim as gs\n", + "from lsst.rsp import RSPDiscovery\n", + "from lsst.rsp.utils import get_pyvo_auth\n", + "import lsst.afw.display as afwDisplay\n", + "import lsst.afw.geom.ellipses as ellipses\n", "from lsst.gauss2d import Ellipse, EllipseMajor, Covariance\n", - "\n", "import lsst.images\n", - "from lsst.images.serialization import read_archive" + "from lsst.images.serialization import read_archive\n", + "\n", + "import galsim as gs" ] }, { @@ -224,7 +222,7 @@ "id": "d3383f6e-8c34-4cb7-aa2f-12e9b7f8efc0", "metadata": {}, "source": [ - "Get an instance of the TAP service, and assert that it exists." + "Instantiate `RSPDiscovery` with the DP2 release, create an instance of the TAP service, and assert that it exists." ] }, { @@ -247,7 +245,7 @@ "source": [ "## 2. Find galaxies in ECDFS\n", "\n", - "A deep DP2 dataset is in the Extended Chandra Deep Field South (ECDFS). This section uses a galaxy that was previously identified in ECDFS that is known to be large and edge-on." + "One of the deep drilling fields in the DP2 is the Extended Chandra Deep Field South (ECDFS). This section uses a galaxy that was previously identified in ECDFS that is known to be large and edge-on." ] }, { @@ -266,7 +264,7 @@ "id": "fbc29923-d664-42b8-90cb-835d751a62ae", "metadata": {}, "source": [ - "Here, query the DP2 `object` table for the morphological parameters for this galaxy. Check that the identified galaxy is extended (`i_extendedness` = 1), that its `i_kronFlux_flag_*`, `sersic_no_data_flag`, and `shape_flag` are all = 0, indicating there is not a problem with modeling the shape and light profile. \n", + "Here, query the DP2 `Object` table for the morphological parameters for this galaxy. Check that the identified galaxy is extended (`i_extendedness` = 1), that its `i_kronFlux_flag_*`, `sersic_no_data_flag`, and `shape_flag` are all = 0, indicating there is not a problem with modeling the shape and light profile. \n", "\n", "Pick a very small search radius of 0.72 arcseconds to ensure the return is the previously specified large, edge-on galaxy.\n", "\n", @@ -335,7 +333,7 @@ "source": [ "## 3. Visualize galaxy morphology\n", "\n", - "This section will make an image cutout of the large galaxy, and compare the shapes of the different photometric and morphological measurements. This section demonstrates how to reconstruct the Gaussian Ellipse, Kron ellipse, and Sersic half-light shape, using the corresponding shape parameters in the objectTable. \n", + "This section will make an image cutout of the large galaxy, and compare the shapes of the different photometric and morphological measurements. This section demonstrates how to reconstruct the Gaussian Ellipse, Kron ellipse, and Sersic half-light shape, using the corresponding shape parameters in the `Object` table. \n", "\n", "Below, define the `SkyCoord` for the galaxy's location.\n" ] @@ -356,7 +354,7 @@ "id": "7be26ac4-d218-44f4-bd0a-302dff751342", "metadata": {}, "source": [ - "The sizes in the LSST `object` table are in units of pixel. Note that the pixel scale of the LSST data is 0.2 arcseconds per pixel. Define the conversion in the cell below.\n" + "The sizes in the LSST `Object` table are in units of pixel. Note that the pixel scale of the LSST data is 0.2 arcseconds per pixel. Define the conversion in the cell below.\n" ] }, { @@ -376,13 +374,13 @@ "source": [ "### 3.1 Gaussian ellipse \n", "\n", - "In the next cell, use `object` table shape parameters to reconstruct the galaxy shape, approximated as a 2D Gaussian. The LSST pipelines measures this shape, parameterized by three parameters or \"moments\" measured on the `deepCoadd` in each band individually: `_ixx`, `_iyy`, `_ixy` (weak lensing experts may recognize these come from the measured re-Gaussianization method of Hirata & Seljak 2003, implemented by Mandelbaum et al. 2005, and called HSM moments. The corresponding moments measured on the reference band or `refBand` are also stored as `shape_xx`, `shape_yy`, and `shape_xy`. These moments have not been corrected for the point spread function (PSF; thus not applicable for weak lensing) but PSF effects are small for galaxy sizes much larger than the PSF. These shape parameters can be converted to more commonly used set of morphological parameters using the LSST package `ellipses`. \n", + "In the next cell, use `Object` table shape parameters to reconstruct the galaxy shape, approximated as a 2D Gaussian. The LSST pipelines measures this shape, parameterized by three parameters or \"moments\" measured on the `deep_coadd` in each band individually: `_ixx`, `_iyy`, `_ixy` (weak lensing experts may recognize these come from the measured re-Gaussianization method of Hirata & Seljak 2003, implemented by Mandelbaum et al. 2005, and called HSM moments. The corresponding moments measured on the reference band or `refBand` are also stored as `shape_xx`, `shape_yy`, and `shape_xy`. These moments have not been corrected for the point spread function (PSF; thus not applicable for weak lensing) but PSF effects are small for galaxy sizes much larger than the PSF. These shape parameters can be converted to more commonly used set of morphological parameters using the LSST package `ellipses`. \n", "\n", "The cell below will demonstrate how to extract these more commonly used parameters (e.g. semi-major radius `A` or `Rmaj`, semi-minor radius `B` or `Rmin`, which can be used to obtain the axis ratio `ba` defined as Rmin/Rmaj, and the position angle `theta`. `theta` is defined in radians counterclockwise from the x-axis. \n", "\n", "The semi-major and minor diameters are the \"sigmas\" of the 2D gaussian model approximation to the light profile. These sizes are unrelated to the Kron photometry or shape, but note that the Kron measurements use the axis ratio and position angle from this measurement.\n", "\n", - "The 2D Gaussian radius (or equally the sersic radius) are good metrics of size, and better than kronRad, which can be come uncertain or fail for very small galaxies. Size metrics including sersic size or gaussian sizes should be used for small galaxies. The kronRad and Kron aperture perform better for large galaxies (i.e. much larger than the PSF).\n", + "The 2D Gaussian radius (or equally the Sersic radius) are good metrics of size, and better than kronRad, which can be come uncertain or fail for very small galaxies. Size metrics including Sersic size or gaussian sizes should be used for small galaxies. The kronRad and Kron aperture perform better for large galaxies (i.e. much larger than the PSF).\n", "\n", "The example below converts these parameters using the `ellipses` package in `lsst.afw.geom`.\n" ] @@ -458,9 +456,9 @@ "source": [ "### 3.2 Kron ellipse\n", "\n", - "In the next cell, reconstruct the Kron aperture. The method of the Kron implementation in the LSST pipelines is to use the `objectTable` parameter `_kronRad`, in combination with the same axis-ratio and rotation angle that come from the Gaussian shape parameters from section 3.1.\n", + "In the next cell, reconstruct the Kron aperture. The method of the Kron implementation in the LSST pipelines is to use the `Object` table parameter `_kronRad`, in combination with the same axis-ratio and rotation angle that come from the Gaussian shape parameters from section 3.1.\n", "\n", - "First, define `R_mom`, which is the (circularized) moment radius defined as sqrt(Rmaj * Rmin) where Rmaj and Rmin came from the Gaussian ellipse measurement. Together these define the axis ratio. This will be combined with `kronRad` to obtain the semin-major and minor radii used for the kron aperture. `kronRad` in the `objectTable` has units of pixel. A known issue is that the schema implies kronRad is unitless, but this is incorrect and the units listed in the schema will be fixed in DP2.\n" + "First, define `R_mom`, which is the (circularized) moment radius defined as sqrt(Rmaj * Rmin) where Rmaj and Rmin came from the Gaussian ellipse measurement. Together these define the axis ratio. This will be combined with `kronRad` to obtain the semin-major and minor radii used for the kron aperture. `kronRad` in the `Object' table has units of pixel. A known issue is that the schema implies kronRad is unitless, but this is incorrect and the units listed in the schema will be fixed in DP2.\n" ] }, { @@ -508,7 +506,7 @@ "\n", "#### 3.3.1 Sersic parameters in x-y\n", "\n", - "Convert the Sersic morphological parameters stored in the `object` table (the effective sersic radii in x and y directions, `sersic_reff_x`, `sersic_reff_y`, and the correlation coefficient from the multiband Sersic model fit `sersic_rho` that is related to orientation angle) into the more conventional sersic parameters (axis ratio `ba` defined as the ratio of the semi-minor half-light radius divided to semi-major half-light radius, the position angle `pa`, and the semi-major half-light radius `r_major`). The position angle (`pa`) convention is counter-clockwise relative to the x-axis. In this case, return the `pa` in units of degrees instead of the previous example in radians, to demonstrate its use with `photutils`." + "Convert the Sersic morphological parameters stored in the `Object` table (the effective Sersic radii in x and y directions, `sersic_reff_x`, `sersic_reff_y`, and the correlation coefficient from the multiband Sersic model fit `sersic_rho` that is related to orientation angle) into the more conventional sersic parameters (axis ratio `ba` defined as the ratio of the semi-minor half-light radius divided to semi-major half-light radius, the position angle `pa`, and the semi-major half-light radius `r_major`). The position angle (`pa`) convention is counter-clockwise relative to the x-axis. In this case, return the `pa` in units of degrees instead of the previous example in radians, to demonstrate its use with `photutils`." ] }, { @@ -531,7 +529,7 @@ "id": "91f2585c-042e-4773-a2f4-5118c84f9103", "metadata": {}, "source": [ - "Use `photutils` to define the sersic half-light ellipse." + "Use `photutils` to define the Sersic half-light ellipse." ] }, { @@ -619,13 +617,13 @@ "source": [ "## 4. Sersic reconstruction\n", "\n", - "For some science applications it is useful to compare the on-sky image to the sersic model, for example to assess goodness of fit. The cells below demonstrate how to reconstruct the best-fitting sersic model that produced the `_sersicFlux`, and represents the morphological parameters stored in the `object` table. \n", + "For some science applications it is useful to compare the on-sky image to the Sersic model, for example to assess goodness of fit. The cells below demonstrate how to reconstruct the best-fitting Sersic model that produced the `_sersicFlux`, and represents the morphological parameters stored in the `Object` table. \n", "\n", - "A straightforward way to do this is using the `galsim`, which is the galaxy simulation package used to build the DP0.2 simulated images. Note that the algorithm used to measure the sersic fluxes, `multiprofit`, is a Gaussian mixture model that approximates a sersic model. Renderings of the galaxy using as a pure sersic model using `galsim` is simpler to plot, but may not be perfectly identical to that built with Gaussian mixture. \n", + "A straightforward way to do this is using the `galsim`, which is the galaxy simulation package used to build the DP0.2 simulated images. Note that the algorithm used to measure the Sersic fluxes, `multiprofit`, is a Gaussian mixture model that approximates a Sersic model. Renderings of the galaxy using as a pure Sersic model using `galsim` is simpler to plot, but may not be perfectly identical to that built with Gaussian mixture. \n", "\n", "It is also good to be aware of objects with Sersic index `n` that are measured to be suspiciously close to 1 (e.g. 1+/- 1e-6). This may happen for poorly fit objects because n=1 is the starting guess, and the optimizer tends to give up if it can't improve within 5-10 iterations.\n", "\n", - "Below, build the sersic model using the `galsim` function `gs.Sersic` using the sersic parameters from the cell above. Note that the total flux of the model very closely approximates the `sersicFlux` from the `objectTable`, indicating (in this case) a good fit." + "Below, build the Sersic model using the `galsim` function `gs.Sersic` using the Sersic parameters from the cell above. Note that the total flux of the model very closely approximates the `sersicFlux` from the `Object' table, indicating (in this case) a good fit." ] }, { @@ -633,9 +631,9 @@ "id": "bfd70329-c439-413b-8de1-521b7f975809", "metadata": {}, "source": [ - "### 4.1 Standard sersic parameters\n", + "### 4.1 Standard Sersic parameters\n", "\n", - "New in DP2, the `object` table now contains standard sersic parameters (semi-major and minor half-light radii, position angle) which can be used in place of the x-y parameters that were needed in DP1. For this section, as a demonstration, replace those calculated in Section 3.3.1 using the x-y sersic parameters with the ones stored in the `object` table." + "New in DP2, the `Object` table now contains standard Sersic parameters (semi-major and minor half-light radii, position angle) which can be used in place of the x-y parameters that were needed in DP1. For this section, as a demonstration, replace those calculated in Section 3.3.1 using the x-y Sersic parameters with the ones stored in the `Object` table." ] }, { @@ -671,7 +669,7 @@ "\n", "img = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", "\n", - "print('Total flux of model = ', np.sum(img), 'nJy, very close to flux from objectTable = ',\n", + "print('Total flux of model = ', np.sum(img), 'nJy, very close to flux from Object table = ',\n", " tab['i_sersicFlux'][0], ' nJy')\n", "\n", "fig, ax = plt.subplots()\n", @@ -699,11 +697,11 @@ "source": [ "## 5. Additional shape measurements\n", "\n", - "DP2 contains new shape measurements that can be used to reconstruct the light profiles that model galaxies with fixed sersic index to `n=1` (`__exponential_*`) and the `cModel` (composite, or two component model). This is the sum of a bulge: deVaucouleurs profile with `n=4` and a disk: exponential profile `n=1`. \n", + "DP2 contains new shape measurements that can be used to reconstruct the light profiles that model galaxies with fixed Sersic index to `n=1` (`__exponential_*`) and the `cModel` (composite, or two component model). This is the sum of a bulge: deVaucouleurs profile with `n=4` and a disk: exponential profile `n=1`. \n", "\n", "### 5.1 Exponential profile\n", "\n", - "Below, generate the model for the best fitting exponential model (`n=1`). Note that since the best fit single sersic index `sersic_index` `n=2.2` in the object table, fitting with a different sersic index n=1 results in a more extended light distribution (compared to `n=2.2`, which is more concentrated), and as a result, a different measurement of total flux from that when sersic index is left as a free parameter." + "Below, generate the model for the best fitting exponential model (`n=1`). Note that since the best fit single Sersic index `sersic_index` `n=2.2` in the `Object` table, fitting with a different Sersic index n=1 results in a more extended light distribution (compared to `n=2.2`, which is more concentrated), and as a result, a different measurement of total flux from that when Sersic index is left as a free parameter." ] }, { @@ -719,7 +717,7 @@ "\n", "img = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", "\n", - "print('Total flux of model = ', np.sum(img), 'nJy, very close to flux from objectTable = ',\n", + "print('Total flux of model = ', np.sum(img), 'nJy, very close to flux from Object table = ',\n", " tab['i_exponentialFlux'][0], ' nJy')\n", "\n", "fig, ax = plt.subplots()\n", @@ -840,7 +838,7 @@ " vmax=1000, norm='asinh')\n", "\n", "print('Total flux of model = ', np.sum(img),\n", - " 'nJy, very close to flux from objectTable = ',\n", + " 'nJy, very close to flux from Object table = ',\n", " tab['i_cModelFlux'][0], ' nJy')\n", "\n", "plt.title(f\"Reconstructed cModel (fracDev = {frac_dev})\")\n", @@ -906,7 +904,7 @@ "plt.figure(figsize=(6, 6))\n", "plt.imshow(img_w_psf, origin='lower', interpolation='nearest', vmin=0, vmax=1000, norm='asinh')\n", "\n", - "print('Total flux of model = ', np.sum(img_w_psf), 'nJy, very close to flux from objectTable = ',\n", + "print('Total flux of model = ', np.sum(img_w_psf), 'nJy, very close to flux from Object table = ',\n", " tab['i_cModelFlux'][0], ' nJy')\n", "\n", "plt.title(f\"Reconstructed cModel (convolved with PSF)\")\n", From 7afd2044a227e548d615da4f394b78773ff1e6e5 Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Mon, 17 Aug 2026 14:38:29 +0000 Subject: [PATCH 04/11] addressing PR comments --- DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index 05cb1ce7..1529cc42 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -735,7 +735,7 @@ "id": "9b5cb25b-60be-4d4b-b299-a8e9f1a36ddf", "metadata": {}, "source": [ - "> Figure 3: The best fit exponential sersic model of the galaxy (i.e. sersic index n is fixed to one) for the galaxy in Figure 1. This model was used to measure `exponentialFlux` of the galaxy. " + "> Figure 3: The best fit exponential Sersic model of the galaxy (i.e. Sersic index n is fixed to one) for the galaxy in Figure 1. This model was used to measure `exponentialFlux` of the galaxy. " ] }, { @@ -749,7 +749,7 @@ "\n", "Thus, `_cModel_expFlux`  and `_cModel_devFlux` are total fluxes and do not simply add up to `_cModelFlux`. One can use the `_cModel_fracDev` (standing for fraction which is deVaucouleurs, of `_cModel_devFlux`) to reconstruct the cModel profile. The fraction of flux in the exponential disk component is thus `_cModel_fracDev`.\n", "\n", - "First, store the parameters of the two sersic components for cModel." + "First, store the parameters of the two Sersic components for cModel." ] }, { From a3a673a92e5a0697b08fa5bd199dd1d6da407c2d Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Mon, 17 Aug 2026 14:48:25 +0000 Subject: [PATCH 05/11] addressing pr comments --- .../303_Galaxies/303_2_Galaxy_Shapes.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index 1529cc42..a09ce1ba 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -607,7 +607,7 @@ "id": "50cec7de-b25c-41bd-8989-b1c452a2d5e3", "metadata": {}, "source": [ - "> Figure 1: An i-band image cutout of an example galaxy (grayscale). The Kron aperture used for Kron photometry is overplotted (green), as well as the half-light profile from the 2D Gaussian model (blue) and Sersic model (orange). " + "> **Figure 1:** An i-band image cutout of an example galaxy (grayscale). The Kron aperture used for Kron photometry is overplotted (green), as well as the half-light profile from the 2D Gaussian model (blue) and Sersic model (orange). " ] }, { @@ -687,7 +687,7 @@ "id": "6d245ce2-daa4-419e-8e24-80bcafd44876", "metadata": {}, "source": [ - "> Figure 2: The best fit Sersic model of the galaxy in Figure 1 that was used to measure `sersicFlux` of the galaxy. " + "> **Figure 2:** The best fit Sersic model of the galaxy in Figure 1 that was used to measure `sersicFlux` of the galaxy. " ] }, { @@ -735,7 +735,7 @@ "id": "9b5cb25b-60be-4d4b-b299-a8e9f1a36ddf", "metadata": {}, "source": [ - "> Figure 3: The best fit exponential Sersic model of the galaxy (i.e. Sersic index n is fixed to one) for the galaxy in Figure 1. This model was used to measure `exponentialFlux` of the galaxy. " + "> **Figure 3:** The best fit exponential Sersic model of the galaxy (i.e. Sersic index n is fixed to one) for the galaxy in Figure 1. This model was used to measure `exponentialFlux` of the galaxy. " ] }, { @@ -851,7 +851,7 @@ "id": "43bb015c-0d64-4b7e-baec-51a21139f1aa", "metadata": {}, "source": [ - "> Figure 4: Reconstructed light profile using the cModel bulge plus disk 2 component model. " + "> **Figure 4:** Reconstructed light profile using the cModel bulge plus disk 2 component model. " ] }, { @@ -917,7 +917,7 @@ "id": "ce1ad9c5-e7fe-4cc0-bccf-60dd8354507b", "metadata": {}, "source": [ - "> Figure 5: cModel light profile convolved with the PSF evaluated at the location of galaxy in the deep_coadd." + "> **Figure 5:** cModel light profile convolved with the PSF evaluated at the location of galaxy in the deep_coadd." ] } ], From 0bc60c2ecad6bb866bc1e3adaef7d6d1e8cdaf6f Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Mon, 17 Aug 2026 14:57:20 +0000 Subject: [PATCH 06/11] addressing pr comments --- DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index a09ce1ba..ecf8c950 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -917,7 +917,7 @@ "id": "ce1ad9c5-e7fe-4cc0-bccf-60dd8354507b", "metadata": {}, "source": [ - "> **Figure 5:** cModel light profile convolved with the PSF evaluated at the location of galaxy in the deep_coadd." + "> **Figure 5:** cModel light profile convolved with the PSF evaluated at the location of galaxy in the `deep_coadd`." ] } ], From e738bfd69effe54c0a1672993f69faa34e7f0e55 Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Mon, 17 Aug 2026 23:38:09 +0000 Subject: [PATCH 07/11] addressing PR comments --- .../303_Galaxies/303_2_Galaxy_Shapes.ipynb | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index ecf8c950..5df5e549 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -113,7 +113,9 @@ "import lsst.images\n", "from lsst.images.serialization import read_archive\n", "\n", - "import galsim as gs" + "import galsim as gs\n", + "\n", + "import sys" ] }, { @@ -123,7 +125,9 @@ "source": [ "### 1.2. Define parameters and functions\n", "\n", - "Define a function to generate an image cutout, using the Rubin image cutout service. Further information about the cutout tool can be found in DP2 tutorial notebook 103.6 that demonstrates the Rubin image cutout service. " + "Define a function to generate an image cutout, using the Rubin image cutout service. Further information about the cutout tool can be found in DP2 tutorial notebook 103.6 that demonstrates the Rubin image cutout service. \n", + "\n", + "Since more than one `deep_coadd` can overlap any galaxy, and sometimes objects can be too close to the `deep_coadd` edge to generate a usable cutout, this function also performs a check for which overlapping `deep_coadd` is the best (the object is closest to its center; indicated by `best_index`)." ] }, { @@ -158,8 +162,14 @@ " results = sia_client.search(pos=circle, calib_level=3,\n", " dpsubtype='lsst.deep_coadd',\n", " band=eff_wl)\n", - " \n", - " dl_result = discovery.get_datalink_results(results[1])\n", + "\n", + " if len(results) == 0:\n", + " raise ValueError(f\"No images found for RA={ra}, Dec={dec}\")\n", + "\n", + " table = results.to_table()\n", + " distances = ((table['s_ra'] - ra)**2 + (table['s_dec'] - dec)**2)**0.5\n", + " best_index = int(distances.argmin())\n", + " dl_result = discovery.get_datalink_results(results[best_index])\n", "\n", " f\"Datalink status: {dl_result.status}.\"\n", "\n", @@ -423,9 +433,9 @@ "ellipse_Rmin = ellipse.axrat * ellipse.r_major\n", "ellipse_theta = ellipse.angle\n", "\n", - "print(ellipse_Rmaj, Rmaj)\n", - "print(ellipse_Rmin, Rmin)\n", - "print(ellipse_theta, theta)" + "print(ellipse_Rmaj, Rmaj, ' arcsec')\n", + "print(ellipse_Rmin, Rmin, ' arcsec')\n", + "print(ellipse_theta, theta, ' radians')" ] }, { @@ -588,7 +598,7 @@ "plt.subplot(projection=astropy_wcs)\n", "\n", "plt.imshow(cutout.image.array, origin='lower', cmap='gray', vmin=1,\n", - " vmax=1000, norm='asinh')\n", + " vmax=1000, norm='asinh',aspect='equal')\n", "\n", "gaussell_pix_ellipse = gaussell_ellipse.to_pixel(astropy_wcs)\n", "gaussell_pix_ellipse.plot(color=colors[0], lw=3, label='Gaussian (shape) ellipse')\n", @@ -695,11 +705,11 @@ "id": "ab43067e-968e-42a6-8e82-d97d577787a9", "metadata": {}, "source": [ - "## 5. Additional shape measurements\n", + "## 5. Fixed bulge and disk shapes\n", "\n", "DP2 contains new shape measurements that can be used to reconstruct the light profiles that model galaxies with fixed Sersic index to `n=1` (`__exponential_*`) and the `cModel` (composite, or two component model). This is the sum of a bulge: deVaucouleurs profile with `n=4` and a disk: exponential profile `n=1`. \n", "\n", - "### 5.1 Exponential profile\n", + "### 5.1. Exponential profile\n", "\n", "Below, generate the model for the best fitting exponential model (`n=1`). Note that since the best fit single Sersic index `sersic_index` `n=2.2` in the `Object` table, fitting with a different Sersic index n=1 results in a more extended light distribution (compared to `n=2.2`, which is more concentrated), and as a result, a different measurement of total flux from that when Sersic index is left as a free parameter." ] @@ -743,7 +753,7 @@ "id": "78751b61-d7a6-4ed3-92f4-1313a8c0260f", "metadata": {}, "source": [ - "## 6. cModel Reconstruction\n", + "### 5.2. cModel Reconstruction\n", "\n", "The `cModel` fluxes are measured using the `meas_modelfit` algorithm. It does an initial guess to identify the centroid and preliminary shape moments, and then models the galaxy as an exponential disk with `n=1` (to generate `exp_reff` and `expFlux`), then models the galaxy as a bulge with a deVaucouleurs profile using `n=4` (to generate `dev_r`, `devFlux`, then fits a model as a linear combination of those, where the amplitudes (or fraction of flux, `fracDev`) are left free, with the resulting output stored as `cModel` fluxes. \n", "\n", @@ -859,9 +869,9 @@ "id": "c3a1141a-0055-4659-aebb-d87b8b514c04", "metadata": {}, "source": [ - "## 7. Apply PSF convolution\n", + "## 6. Apply PSF convolution\n", "\n", - "Sections 4-6 visualized the intrinsic light profile (without the instrumental effect due to the PSF). Below, reconstruct the PSF at the location of the galaxy using the metadata stored in the `deep_coadd` image cutout, and convolve the intrinsic light profile with the PSF." + "Sections 4-5 visualized the intrinsic light profile (without the instrumental effect due to the PSF). Below, reconstruct the PSF at the location of the galaxy using the metadata stored in the `deep_coadd` image cutout, and convolve the intrinsic light profile with the PSF." ] }, { From 24d7fbf306e39c5395fec677cd529612de4f8939 Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Mon, 17 Aug 2026 23:59:38 +0000 Subject: [PATCH 08/11] addressing PR comments --- .../303_Galaxies/303_2_Galaxy_Shapes.ipynb | 78 ++++++++++++++++++- 1 file changed, 75 insertions(+), 3 deletions(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index 5df5e549..1f9286e7 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -677,13 +677,15 @@ "sersic = gs.Sersic(n=tab['sersic_index'][0], half_light_radius=r_major * np.sqrt(ba),\n", " flux=tab['i_sersicFlux'][0]).shear(q=ba, beta=pa * gs.degrees)\n", "\n", - "img = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", + "sersic_model = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", "\n", - "print('Total flux of model = ', np.sum(img), 'nJy, very close to flux from Object table = ',\n", + "print('Total flux of model = ', np.sum(sersic_model),\n", + " 'nJy, very close to flux from Object table = ',\n", " tab['i_sersicFlux'][0], ' nJy')\n", "\n", "fig, ax = plt.subplots()\n", - "im = ax.imshow(img, origin='lower', interpolation='nearest', vmin=0, vmax=1000, norm='asinh')\n", + "im = ax.imshow(sersic_model, origin='lower', interpolation='nearest',\n", + " vmin=0, vmax=1000, norm='asinh')\n", "cbar = fig.colorbar(im, ax=ax)\n", "cbar.set_label('Flux [nJy/pixel]', rotation=270, labelpad=25)\n", "cbar.set_ticks([-0.1, 10, 30, 60, 100, 1000])\n", @@ -692,6 +694,76 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d432ece-f65d-43f4-bede-ce3c24c576ba", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# 1. Extract the raw array from your cutout\n", + "obs_array = cutout.image.array\n", + "\n", + "# 2. Get the dimensions of both arrays\n", + "img_h, img_w = obs_array.shape\n", + "mod_h, mod_w = sersic_model.shape\n", + "\n", + "# 3. Calculate the starting pixel indices to extract the exact center\n", + "start_y = (mod_h - img_h) // 2\n", + "start_x = (mod_w - img_w) // 2\n", + "\n", + "# 4. Crop the Sersic model to perfectly match the observation\n", + "sersic_model_cropped = sersic_model[start_y : start_y + img_h, start_x : start_x + img_w]\n", + "\n", + "# 5. Calculate the residual (Observation - Cropped Model)\n", + "residual = obs_array - sersic_model_cropped\n", + "\n", + "\n", + "# 2. Create a figure with 1 row and 2 columns\n", + "fig, axes = plt.subplots(1, 2, figsize=(14, 6))\n", + "\n", + "# --- Panel 1: Sersic Model ---\n", + "im1 = axes[0].imshow(\n", + " sersic_model, \n", + " origin='lower', \n", + " interpolation='nearest', \n", + " vmin=0, \n", + " vmax=1000, \n", + " norm='asinh'\n", + ")\n", + "axes[0].set_title('Sersic Model')\n", + "axes[0].set_xlabel('x')\n", + "axes[0].set_ylabel('y')\n", + "\n", + "cbar1 = fig.colorbar(im1, ax=axes[0])\n", + "cbar1.set_label('Flux [nJy/pixel]', rotation=270, labelpad=25)\n", + "cbar1.set_ticks([-0.1, 10, 30, 60, 100, 1000])\n", + "\n", + "# --- Panel 2: Residual (Observation - Model) ---\n", + "# We use a diverging colormap centered at zero for the residual\n", + "im2 = axes[1].imshow(\n", + " residual, \n", + " origin='lower', \n", + " interpolation='nearest', \n", + " cmap='RdBu_r', \n", + " vmin=-50, # You can adjust these symmetric limits based on your background noise\n", + " vmax=50\n", + ")\n", + "axes[1].set_title('Residual (Obs - Model)')\n", + "axes[1].set_xlabel('x')\n", + "axes[1].set_ylabel('y')\n", + "\n", + "cbar2 = fig.colorbar(im2, ax=axes[1])\n", + "cbar2.set_label('Residual Flux [nJy/pixel]', rotation=270, labelpad=25)\n", + "\n", + "# 3. Clean up the spacing so colorbars and labels don't overlap\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, { "cell_type": "markdown", "id": "6d245ce2-daa4-419e-8e24-80bcafd44876", From 8bb3dbaebcf975a7b40d91f7aaad40c0177f5182 Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Tue, 18 Aug 2026 01:16:02 +0000 Subject: [PATCH 09/11] updating PR comments --- .../303_Galaxies/303_2_Galaxy_Shapes.ipynb | 87 +++++++++++++++++-- 1 file changed, 81 insertions(+), 6 deletions(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index 1f9286e7..db06ed59 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -676,8 +676,9 @@ "source": [ "sersic = gs.Sersic(n=tab['sersic_index'][0], half_light_radius=r_major * np.sqrt(ba),\n", " flux=tab['i_sersicFlux'][0]).shear(q=ba, beta=pa * gs.degrees)\n", - "\n", - "sersic_model = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", + "img_h, img_w = cutout.image.array.shape\n", + "#sersic_model = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", + "sersic_model = sersic.drawImage(nx=img_w, ny=img_h, scale=arcsec_per_pix).array\n", "\n", "print('Total flux of model = ', np.sum(sersic_model),\n", " 'nJy, very close to flux from Object table = ',\n", @@ -701,8 +702,6 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", "\n", "# 1. Extract the raw array from your cutout\n", "obs_array = cutout.image.array\n", @@ -749,8 +748,8 @@ " origin='lower', \n", " interpolation='nearest', \n", " cmap='RdBu_r', \n", - " vmin=-50, # You can adjust these symmetric limits based on your background noise\n", - " vmax=50\n", + " vmin=-10, # You can adjust these symmetric limits based on your background noise\n", + " vmax=10\n", ")\n", "axes[1].set_title('Residual (Obs - Model)')\n", "axes[1].set_xlabel('x')\n", @@ -1001,6 +1000,82 @@ "source": [ "> **Figure 5:** cModel light profile convolved with the PSF evaluated at the location of galaxy in the `deep_coadd`." ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3caeb79c-7558-438c-bf2b-28c90040f002", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# 1. Extract the raw array from your cutout\n", + "obs_array = cutout.image.array\n", + "\n", + "# 2. Get the dimensions of both arrays\n", + "img_h, img_w = obs_array.shape\n", + "mod_h, mod_w = img_w_psf.shape\n", + "\n", + "# 3. Calculate the starting pixel indices to extract the exact center\n", + "start_y = (mod_h - img_h) // 2\n", + "start_x = (mod_w - img_w) // 2\n", + "\n", + "# 4. Crop the Sersic model to perfectly match the observation\n", + "sersic_model_cropped = img_w_psf[start_y : start_y + img_h, start_x : start_x + img_w]\n", + "\n", + "# 5. Calculate the residual (Observation - Cropped Model)\n", + "residual = obs_array - sersic_model_cropped\n", + "\n", + "\n", + "# 2. Create a figure with 1 row and 2 columns\n", + "fig, axes = plt.subplots(1, 2, figsize=(14, 6))\n", + "\n", + "# --- Panel 1: Sersic Model ---\n", + "im1 = axes[0].imshow(\n", + " sersic_model, \n", + " origin='lower', \n", + " interpolation='nearest', \n", + " vmin=0, \n", + " vmax=1000, \n", + " norm='asinh'\n", + ")\n", + "axes[0].set_title('Sersic Model')\n", + "axes[0].set_xlabel('x')\n", + "axes[0].set_ylabel('y')\n", + "\n", + "cbar1 = fig.colorbar(im1, ax=axes[0])\n", + "cbar1.set_label('Flux [nJy/pixel]', rotation=270, labelpad=25)\n", + "cbar1.set_ticks([-0.1, 10, 30, 60, 100, 1000])\n", + "\n", + "# --- Panel 2: Residual (Observation - Model) ---\n", + "# We use a diverging colormap centered at zero for the residual\n", + "im2 = axes[1].imshow(\n", + " residual, \n", + " origin='lower', \n", + " interpolation='nearest', \n", + " cmap='RdBu_r', \n", + " vmin=-10, # You can adjust these symmetric limits based on your background noise\n", + " vmax=10\n", + ")\n", + "axes[1].set_title('Residual (Obs - Model)')\n", + "axes[1].set_xlabel('x')\n", + "axes[1].set_ylabel('y')\n", + "\n", + "cbar2 = fig.colorbar(im2, ax=axes[1])\n", + "cbar2.set_label('Residual Flux [nJy/pixel]', rotation=270, labelpad=25)\n", + "\n", + "# 3. Clean up the spacing so colorbars and labels don't overlap\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c4997286-e305-45d3-87de-741c1790a29e", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From cb0c17b9f3ea0a63831780e1c765ee52a6f78b61 Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Tue, 18 Aug 2026 17:37:55 +0000 Subject: [PATCH 10/11] updating PR comments --- .../303_Galaxies/303_2_Galaxy_Shapes.ipynb | 144 ------------------ 1 file changed, 144 deletions(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index db06ed59..38fb411c 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -695,74 +695,6 @@ "plt.show()" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "3d432ece-f65d-43f4-bede-ce3c24c576ba", - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "# 1. Extract the raw array from your cutout\n", - "obs_array = cutout.image.array\n", - "\n", - "# 2. Get the dimensions of both arrays\n", - "img_h, img_w = obs_array.shape\n", - "mod_h, mod_w = sersic_model.shape\n", - "\n", - "# 3. Calculate the starting pixel indices to extract the exact center\n", - "start_y = (mod_h - img_h) // 2\n", - "start_x = (mod_w - img_w) // 2\n", - "\n", - "# 4. Crop the Sersic model to perfectly match the observation\n", - "sersic_model_cropped = sersic_model[start_y : start_y + img_h, start_x : start_x + img_w]\n", - "\n", - "# 5. Calculate the residual (Observation - Cropped Model)\n", - "residual = obs_array - sersic_model_cropped\n", - "\n", - "\n", - "# 2. Create a figure with 1 row and 2 columns\n", - "fig, axes = plt.subplots(1, 2, figsize=(14, 6))\n", - "\n", - "# --- Panel 1: Sersic Model ---\n", - "im1 = axes[0].imshow(\n", - " sersic_model, \n", - " origin='lower', \n", - " interpolation='nearest', \n", - " vmin=0, \n", - " vmax=1000, \n", - " norm='asinh'\n", - ")\n", - "axes[0].set_title('Sersic Model')\n", - "axes[0].set_xlabel('x')\n", - "axes[0].set_ylabel('y')\n", - "\n", - "cbar1 = fig.colorbar(im1, ax=axes[0])\n", - "cbar1.set_label('Flux [nJy/pixel]', rotation=270, labelpad=25)\n", - "cbar1.set_ticks([-0.1, 10, 30, 60, 100, 1000])\n", - "\n", - "# --- Panel 2: Residual (Observation - Model) ---\n", - "# We use a diverging colormap centered at zero for the residual\n", - "im2 = axes[1].imshow(\n", - " residual, \n", - " origin='lower', \n", - " interpolation='nearest', \n", - " cmap='RdBu_r', \n", - " vmin=-10, # You can adjust these symmetric limits based on your background noise\n", - " vmax=10\n", - ")\n", - "axes[1].set_title('Residual (Obs - Model)')\n", - "axes[1].set_xlabel('x')\n", - "axes[1].set_ylabel('y')\n", - "\n", - "cbar2 = fig.colorbar(im2, ax=axes[1])\n", - "cbar2.set_label('Residual Flux [nJy/pixel]', rotation=270, labelpad=25)\n", - "\n", - "# 3. Clean up the spacing so colorbars and labels don't overlap\n", - "plt.tight_layout()\n", - "plt.show()" - ] - }, { "cell_type": "markdown", "id": "6d245ce2-daa4-419e-8e24-80bcafd44876", @@ -1000,82 +932,6 @@ "source": [ "> **Figure 5:** cModel light profile convolved with the PSF evaluated at the location of galaxy in the `deep_coadd`." ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3caeb79c-7558-438c-bf2b-28c90040f002", - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "# 1. Extract the raw array from your cutout\n", - "obs_array = cutout.image.array\n", - "\n", - "# 2. Get the dimensions of both arrays\n", - "img_h, img_w = obs_array.shape\n", - "mod_h, mod_w = img_w_psf.shape\n", - "\n", - "# 3. Calculate the starting pixel indices to extract the exact center\n", - "start_y = (mod_h - img_h) // 2\n", - "start_x = (mod_w - img_w) // 2\n", - "\n", - "# 4. Crop the Sersic model to perfectly match the observation\n", - "sersic_model_cropped = img_w_psf[start_y : start_y + img_h, start_x : start_x + img_w]\n", - "\n", - "# 5. Calculate the residual (Observation - Cropped Model)\n", - "residual = obs_array - sersic_model_cropped\n", - "\n", - "\n", - "# 2. Create a figure with 1 row and 2 columns\n", - "fig, axes = plt.subplots(1, 2, figsize=(14, 6))\n", - "\n", - "# --- Panel 1: Sersic Model ---\n", - "im1 = axes[0].imshow(\n", - " sersic_model, \n", - " origin='lower', \n", - " interpolation='nearest', \n", - " vmin=0, \n", - " vmax=1000, \n", - " norm='asinh'\n", - ")\n", - "axes[0].set_title('Sersic Model')\n", - "axes[0].set_xlabel('x')\n", - "axes[0].set_ylabel('y')\n", - "\n", - "cbar1 = fig.colorbar(im1, ax=axes[0])\n", - "cbar1.set_label('Flux [nJy/pixel]', rotation=270, labelpad=25)\n", - "cbar1.set_ticks([-0.1, 10, 30, 60, 100, 1000])\n", - "\n", - "# --- Panel 2: Residual (Observation - Model) ---\n", - "# We use a diverging colormap centered at zero for the residual\n", - "im2 = axes[1].imshow(\n", - " residual, \n", - " origin='lower', \n", - " interpolation='nearest', \n", - " cmap='RdBu_r', \n", - " vmin=-10, # You can adjust these symmetric limits based on your background noise\n", - " vmax=10\n", - ")\n", - "axes[1].set_title('Residual (Obs - Model)')\n", - "axes[1].set_xlabel('x')\n", - "axes[1].set_ylabel('y')\n", - "\n", - "cbar2 = fig.colorbar(im2, ax=axes[1])\n", - "cbar2.set_label('Residual Flux [nJy/pixel]', rotation=270, labelpad=25)\n", - "\n", - "# 3. Clean up the spacing so colorbars and labels don't overlap\n", - "plt.tight_layout()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c4997286-e305-45d3-87de-741c1790a29e", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From 6a8d6f50015462e90385da72abfb95b3aaffaf82 Mon Sep 17 00:00:00 2001 From: christinawilliams Date: Tue, 18 Aug 2026 17:58:01 +0000 Subject: [PATCH 11/11] updating PR comments --- .../303_Galaxies/303_2_Galaxy_Shapes.ipynb | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb index 38fb411c..2ab1f26f 100644 --- a/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb +++ b/DP2/300_Science_demos/303_Galaxies/303_2_Galaxy_Shapes.ipynb @@ -22,7 +22,7 @@ "Data Release: Data Preview 2
\n", "Container Size: Large
\n", "LSST Science Pipelines version: r30.0.10
\n", - "Last verified to run: 2026-08-12
\n", + "Last verified to run: 2026-08-18
\n", "Repository: github.com/lsst/tutorial-notebooks
" ] }, @@ -113,9 +113,7 @@ "import lsst.images\n", "from lsst.images.serialization import read_archive\n", "\n", - "import galsim as gs\n", - "\n", - "import sys" + "import galsim as gs" ] }, { @@ -308,7 +306,7 @@ " \"(obj.i_kronFlux_flag_bad_radius = 0) AND \" + \\\n", " \"(obj.i_kronFlux_flag = 0) AND (obj.sersic_no_data_flag = 0) AND \" + \\\n", " \"CONTAINS(POINT('ICRS', obj.coord_ra, obj.coord_dec), \" + \\\n", - " \"CIRCLE('ICRS',\"+str(target_ra)+\",\"+str(target_dec)+\", 0.0002)) = 1 \"\n" + " \"CIRCLE('ICRS',\"+str(target_ra)+\",\"+str(target_dec)+\", 0.0002)) = 1 \"" ] }, { @@ -407,7 +405,7 @@ " tab['shape_xy'][0]))\n", "Rmaj = axes.getA()\n", "Rmin = axes.getB()\n", - "theta = axes.getTheta()\n" + "theta = axes.getTheta()" ] }, { @@ -456,7 +454,7 @@ "gaussell_ellipse = SkyEllipticalAperture(coord,\n", " Rmaj * arcsec_per_pix * u.arcsec,\n", " Rmin * arcsec_per_pix * u.arcsec,\n", - " theta=(np.pi/2 + theta) * u.rad)\n" + " theta=(np.pi/2 + theta) * u.rad)" ] }, { @@ -633,7 +631,9 @@ "\n", "It is also good to be aware of objects with Sersic index `n` that are measured to be suspiciously close to 1 (e.g. 1+/- 1e-6). This may happen for poorly fit objects because n=1 is the starting guess, and the optimizer tends to give up if it can't improve within 5-10 iterations.\n", "\n", - "Below, build the Sersic model using the `galsim` function `gs.Sersic` using the Sersic parameters from the cell above. Note that the total flux of the model very closely approximates the `sersicFlux` from the `Object' table, indicating (in this case) a good fit." + "Below, build the Sersic model using the `galsim` function `gs.Sersic` using the Sersic parameters from the cell above. Note that the total flux of the model very closely approximates the `sersicFlux` from the `Object' table, indicating (in this case) a good fit.\n", + "\n", + "Note that models that exhibit broad wings in the light profile may require a larger cutout to reproduce the measured flux when summing model pixels (e.g. for `cModel` in Section 5.2)." ] }, { @@ -677,7 +677,7 @@ "sersic = gs.Sersic(n=tab['sersic_index'][0], half_light_radius=r_major * np.sqrt(ba),\n", " flux=tab['i_sersicFlux'][0]).shear(q=ba, beta=pa * gs.degrees)\n", "img_h, img_w = cutout.image.array.shape\n", - "#sersic_model = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", + "\n", "sersic_model = sersic.drawImage(nx=img_w, ny=img_h, scale=arcsec_per_pix).array\n", "\n", "print('Total flux of model = ', np.sum(sersic_model),\n", @@ -725,16 +725,17 @@ "outputs": [], "source": [ "ba = tab['exponential_reff_minor'][0]/tab['exponential_reff_major'][0]\n", - "sersic = gs.Sersic(n=1, half_light_radius=tab['exponential_reff_major'][0] * np.sqrt(ba),\n", - " flux=tab['i_exponentialFlux'][0]).shear(q=ba, beta= (tab['exponential_theta'][0] + 90) * gs.degrees)\n", + "sm = gs.Sersic(n=1, half_light_radius=tab['exponential_reff_major'][0] * np.sqrt(ba),\n", + " flux=tab['i_exponentialFlux'][0]).shear(q=ba,\n", + " beta=(tab['exponential_theta'][0] + 90) * gs.degrees)\n", "\n", - "img = sersic.drawImage(nx=500, ny=500, scale=arcsec_per_pix).array\n", + "exp_model = sm.drawImage(nx=img_w, ny=img_h, scale=arcsec_per_pix).array\n", "\n", - "print('Total flux of model = ', np.sum(img), 'nJy, very close to flux from Object table = ',\n", + "print('Total flux of model = ', np.sum(exp_model), 'nJy, very close to flux from Object table = ',\n", " tab['i_exponentialFlux'][0], ' nJy')\n", "\n", "fig, ax = plt.subplots()\n", - "im = ax.imshow(img, origin='lower', interpolation='nearest', vmin=0, vmax=1000, norm='asinh')\n", + "im = ax.imshow(exp_model, origin='lower', interpolation='nearest', vmin=0, vmax=1000, norm='asinh')\n", "cbar = fig.colorbar(im, ax=ax)\n", "cbar.set_label('Flux [nJy/pixel]', rotation=270, labelpad=25)\n", "cbar.set_ticks([-0.1, 10, 30, 60, 100, 1000])\n", @@ -815,7 +816,7 @@ "id": "a55ed42d-57f9-4677-91a8-5a61f5762a02", "metadata": {}, "source": [ - "Next, apply the PSF to the model image. \n", + "Next, have `galsim` generate an image of the best `cModel` shape.\n", "\n", "> Note: de Vaucouleurs profiles have sharp central cusps and also large wings which ideally requires a large grid of frequencies for the Fast Fourier Transform (FFT). Since we are only trying to visualize the light profile and are not concerned with re-calculating photometry with high accuracy, this warning can be safely ignored. " ] @@ -827,8 +828,7 @@ "metadata": {}, "outputs": [], "source": [ - "image_size = 1000\n", - "img = cmodel_galaxy.drawImage(nx=image_size, ny=image_size, scale=arcsec_per_pix).array" + "cmodel = cmodel_galaxy.drawImage(nx=img_w, ny=img_h, scale=arcsec_per_pix).array" ] }, { @@ -847,10 +847,10 @@ "outputs": [], "source": [ "plt.figure(figsize=(6, 6))\n", - "plt.imshow(img, origin='lower', interpolation='nearest', vmin=0,\n", + "plt.imshow(cmodel, origin='lower', interpolation='nearest', vmin=0,\n", " vmax=1000, norm='asinh')\n", "\n", - "print('Total flux of model = ', np.sum(img),\n", + "print('Total flux of model = ', np.sum(cmodel),\n", " 'nJy, very close to flux from Object table = ',\n", " tab['i_cModelFlux'][0], ' nJy')\n", "\n", @@ -902,7 +902,7 @@ "id": "3740dc28-58f5-4914-b36c-427ee54c2869", "metadata": {}, "source": [ - "Finally, visualize the intrinsic light profile of the galaxy after PSF convolution." + "Finally, visualize the intrinsic light profile of the galaxy after PSF convolution. Note that due to the larger wings of the disk component compared to other models, the relatively small box chosen for good visualization means that the model sum misses about ~6% of the flux stored in the `Object` table." ] }, { @@ -912,7 +912,7 @@ "metadata": {}, "outputs": [], "source": [ - "img_w_psf = final_profile.drawImage(nx=image_size, ny=image_size, scale=arcsec_per_pix).array\n", + "img_w_psf = final_profile.drawImage(nx=img_w, ny=img_h, scale=arcsec_per_pix).array\n", "\n", "plt.figure(figsize=(6, 6))\n", "plt.imshow(img_w_psf, origin='lower', interpolation='nearest', vmin=0, vmax=1000, norm='asinh')\n",