{ "cells": [ { "cell_type": "markdown", "id": "e567aa36-2bef-4f6c-9eb1-ea1db0df109d", "metadata": {}, "source": [ "#### Thank you to Chris Waters for sharing his how-to-reproduce notebook.\n", "Here is a demo that DM-42162 now matches ep_pipe's divisadero calc exactly" ] }, { "cell_type": "code", "execution_count": 1, "id": "f438a408-1b2e-4b3a-830f-da18a479c7ec", "metadata": { "execution": { "iopub.execute_input": "2024-01-31T20:27:45.685496Z", "iopub.status.busy": "2024-01-31T20:27:45.685373Z", "iopub.status.idle": "2024-01-31T20:27:51.655621Z", "shell.execute_reply": "2024-01-31T20:27:51.655156Z", "shell.execute_reply.started": "2024-01-31T20:27:45.685483Z" } }, "outputs": [], "source": [ "import lsst.eo.pipe as eoPipe # setup -j -r /sdf/group/rubin/u/yusra/atools-camera/eo_pipe\n", "import lsst.daf.butler as dB\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# Divisadero needs the flat calibration to run on\n", "butler = dB.Butler(\"/sdf/group/rubin/user/czw/ci_cpp_gen3-v2/DATA\")\n", "\n", "flat = butler.get(\"flat\", instrument=\"LATISS\", detector=0, physical_filter=\"RG610~empty\", collections=\"ci_cpp_flat\")\n", "\n", "camera = butler.get(\"camera\", instrument=\"LATISS\", collections=\"LATISS/calib/unbounded\")\n", "\n", "# https://github.com/lsst-camera-dh/eo_pipe/blob/main/python/lsst/eo/pipe/divisaderoTearingTask.py#L115\n", "divisaderoTask = eoPipe.DivisaderoTearingTask()\n", "\n", "eoPresults = divisaderoTask.run(flat, camera)\n", "\n", "# setup -j -r /sdf/group/rubin/u/yusra/atools-camera/ip_isr or u/yusra/DM-42162\n", "import importlib\n", "import lsst.ip.isr.isrStatistics \n", "importlib.reload(lsst.ip.isr.isrStatistics)\n", "\n", "config = lsst.ip.isr.isrStatistics.IsrStatisticsTask.ConfigClass()\n", "config.doDivisaderoStatistics=True\n", "config.doProjectionStatistics=False\n", "config.projectionMinimum = 10\n", "config.projectionMaximum = 210\n", "\n", "task = lsst.ip.isr.isrStatistics.IsrStatisticsTask(config=config)\n", "results = task.run(flat, overscanResults=None, ptc=None, flat=flat)" ] }, { "cell_type": "code", "execution_count": 2, "id": "7481d3e1-b9e4-47da-bd5f-f9b50e2e192e", "metadata": { "execution": { "iopub.execute_input": "2024-01-31T20:27:51.656365Z", "iopub.status.busy": "2024-01-31T20:27:51.656230Z", "iopub.status.idle": "2024-01-31T20:27:51.795868Z", "shell.execute_reply": "2024-01-31T20:27:51.795380Z", "shell.execute_reply.started": "2024-01-31T20:27:51.656351Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+cAAAEYCAYAAAA+pYdZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACU9UlEQVR4nO3dd3wT5R8H8E+SpnswCi1ltey9CpSW7QBBlhNBEdy4fiBOlqKoOBEH4AJZKqgoKiJDZVNASotsCgVKoaUU6J5J7vdHaJJLLrNZbT/v1wttL8/dPc3lLve953m+j0wQBAFERERERERE5DFyT1eAiIiIiIiIqLZjcE5ERERERETkYQzOiYiIiIiIiDyMwTkRERERERGRhzE4JyIiIiIiIvIwBudEREREREREHsbgnIiIiIiIiMjDGJwTEREREREReRiDcyIiIiIiIiIPY3BORERERERE5GF2B+c7duzAyJEjERUVBZlMhnXr1lldZ/v27YiNjYW/vz9atGiBzz//3KTM2rVr0aFDB/j5+aFDhw745ZdfRK/PmTMHMplM9C8yMtLe6hMRERERERF5HbuD86KiInTt2hWfffaZTeXPnj2L4cOHo3///khOTsaMGTPwv//9D2vXrtWVSUxMxNixYzFhwgQcOnQIEyZMwL333ot9+/aJttWxY0dkZmbq/h0+fNje6hMRERERERF5HZkgCILDK8tk+OWXXzBmzBizZV5++WX89ttvOH78uG7Z5MmTcejQISQmJgIAxo4di/z8fPz555+6Mrfddhvq1q2L77//HoC25XzdunVISUlxtLpEREREREREXsnH1TtITEzEkCFDRMuGDh2KJUuWoKKiAkqlEomJiXjuuedMyixYsEC0LDU1FVFRUfDz80NcXBzefvtttGjRwuy+y8rKUFZWpvtdo9Hg2rVrqF+/PmQyWdX/OCIiIiIiIiILBEFAQUEBoqKiIJeb77zu8uA8KysLERERomURERFQqVTIyclBo0aNzJbJysrS/R4XF4cVK1agTZs2uHz5Mt58800kJCTg6NGjqF+/vuS+582bh9dff935fxQRERERERGRHS5cuIAmTZqYfd3lwTkAk1bqyp70hsulyhguGzZsmO7nzp07Iz4+Hi1btsTy5csxbdo0yf1Onz5d9FpeXh6aNWuGCxcuIDQ01PE/iMjJHvrlTRwvWQ8A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E8KR63EqNSIiIiIiIkmVs1qxWzu5gXDjvwzOiYiIiIiIDLFbO7kPW86JiIiIiIgk6VrOOZUauR7HnBMREREREUljyzm5iy42Z3BORERERERkqLJbO8eckxtUPgFicE5ERERERGRI161do/ZwTZyLwbkX4jznRERERERE0gRdt/aaFTcxOPdmMh4eIiIiIiIiQ7pu7eCYc3K1GpbYgIiIiIiIyHlutJxralbcxODciwlMCEdERERERCTCqdTIjSo/ZDw8REREREREhnTBeQ3rcczozxtVJjZgwzkREREREZEYp1Ij99FNdO7RWhAREREREXkbfbZ2tpyTq+laznl4iIiIiIiIDLFbO7mNrPJDxoRwRERERERERpgQjtxG+yGTsVs7ERERERGRiG6ec0Ht4Zo4F4NzL8ap1IiIiIiIiMT03do9XBEnY3DujXRjJxicExERERERiTEhHLkbW86JiIiIiIhEKlvOweCcXI9TqREREREREUmrbDmvWf3aGZx7I91UagzOiYiIiIiIDOkTwrHlnFxMVsOmBCAiIiIiInIeTqVG7sKWcyIiIiIiIjM4lRq5TeU85zw8REREREREhjiVGrnPjU+ZwIZzIiIiIiIiI2w5J7djdE5ERERERGRI13Lu4Xo4G4NzL6RLCCfj4SEiIiIiIhLTxklsOSfXEyrHnBMREREREZGhyhZzQVOz2s4dCs4XLVqEmJgY+Pv7IzY2Fjt37rRYfuHChWjfvj0CAgLQtm1brFixwqTMggUL0LZtWwQEBKBp06Z47rnnUFpaWqX9Vl/M1k5ERERERCTtRst5DevYbndwvmbNGkydOhUzZ85EcnIy+vfvj2HDhiE9PV2y/OLFizF9+nTMmTMHR48exeuvv46nn34av//+u67Mt99+i1deeQWvvfYajh8/jiVLlmDNmjWYPn26w/ut3hicExERERERWSIIGk9XwansDs7nz5+PRx55BI8++ijat2+PBQsWoGnTpli8eLFk+ZUrV+KJJ57A2LFj0aJFC9x333145JFH8O677+rKJCYmom/fvhg/fjyio6MxZMgQjBs3DgcOHHB4v9WZTDcnAINzIiIiIiIiQ0INbTn3sadweXk5kpKS8Morr4iWDxkyBHv27JFcp6ysDP7+/qJlAQEB2L9/PyoqKqBUKtGvXz+sWrUK+/fvR+/evZGWloYNGzZg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rFixAm3atMHly5fx5ptvIiEhAUePHtW991LH5fz58wCArKws+Pr6om7duiZleOycy1nHIysrCw0bNjTZfsOGDXnMqmjYsGG455570Lx5c5w9exazZ8/GTTfdhKSkJPj5+fH4uIkgCJg2bRr69euHTp06AeD5402kjg/A88fTDh8+jPj4eJSWliI4OBi//PILOnTooLvp57njWeaOD8BzxxusXr0aBw8exL///mvyGr9/bMfg3MvIZDLR74IgmCwj5xo2bJju586dOyM+Ph4tW7bE8uXLdclEHDkuPHau44zjIVWex6zqxo4dq/u5U6dO6NmzJ5o3b44//vgDd955p9n1eHyc65lnnsF///2HXbt2mbzG88fzzB0fnj+e1bZtW6SkpCA3Nxdr167FxIkTsX37dt3rPHc8y9zx6dChA88dD7tw4QKmTJmCzZs3w9/f32w5nkPWsVu7lwgPD4dCoTB56pOdnW3ylIlcKygoCJ07d0Zqaqoua7ul4xIZGYny8nJcv37dbBlyDmcdj8jISFy+fNlk+1euXOExc7JGjRqhefPmSE1NBcDj4w7PPvssfvvtN2zduhVNmjTRLef54x3MHR8pPH/cy9fXF61atULPnj0xb948dO3aFR9//DHPHS9h7vhI4bnjXklJScjOzkZsbCx8fHzg4+OD7du345NPPoGPj4/u/eM5ZB2Dcy/h6+uL2NhYbNmyRbR8y5YtSEhI8FCtaqeysjIcP34cjRo1QkxMDCIjI0XHpby8HNu3b9cdl9jYWCiVSlGZzMxMHDlyhMfOyZx1POLj45GXl4f9+/fryuzbtw95eXk8Zk529epVXLhwAY0aNQLA4+NKgiDgmWeewc8//4x//vkHMTExotd5/niWteMjheePZwmCgLKyMp47Xqry+EjhueNeN998Mw4fPoyUlBTdv549e+L+++9HSkoKWrRowXPIVm5KPEc2qJxKbcmSJcKxY8eEqVOnCkFBQcK5c+c8XbUa7fnnnxe2bdsmpKWlCXv37hVGjBghhISE6N73d955RwgLCxN+/vln4fDhw8K4ceMkp35o0qSJ8NdffwkHDx4UbrrpJk6l5qCCggIhOTlZSE5OFgAI8+fPF5KTk3VTCjrreNx2221Cly5dhMTERCExMVHo3LlzjZqKw1UsHZ+CggLh+eefF/bs2SOcPXtW2Lp1qxAfHy80btyYx8cNnnzySSEsLEzYtm2baDqh4uJiXRmeP55j7fjw/PGs6dOnCzt27BDOnj0r/Pfff8KMGTMEuVwubN68WRAEnjueZun48NzxTobZ2gWB55CtGJx7mYULFwrNmzcXfH19hR49eoimWCHXqJxnUalUClFRUcKdd94pHD16VPe6RqMRXnvtNSEyMlLw8/MTBgwYIBw+fFi0jZKSEuGZZ54R6tWrJwQEBAgjRowQ0tPT3f2n1Ahbt24VAJj8mzhxoiAIzjseV69eFe6//34hJCRECAkJEe6//37h+vXrbvorqy9Lx6e4uFgYMmSI0KBBA0GpVArNmjUTJk6caPLe8/i4htRxASB88803ujI8fzzH2vHh+eNZDz/8sO7+q0GDBsLNN9+sC8wFgeeOp1k6Pjx3vJNxcM5zyDYyQRAE97XTExEREREREZExjjknIiIiIiIi8jAG50REREREREQexuCciIiIiIiIyMMYnBMRERERERF5GINzIiIiIiIiIg9jcE5ERERERETkYQzOiYiIiIiIiDyMwTkRERERERGRhzE4JyIiIiIiIvIwBudEREREREREHsbgnIiIiIiIiMjDGJwTERERERERedj/AaCzCfUzVfvOAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "fig = plt.figure(figsize=(12, 3))\n", "plt.plot(eoPresults.divisadero_response.item()['RXX_S00'][0])\n", "\n", "# DM profiles are still in amplifier coordinates\n", "xOffset = 0\n", "for ampName in ('C10', 'C11', 'C12', 'C13', 'C14', 'C15', 'C16', 'C17'):\n", " xSeq = np.arange(0, 509) + xOffset # matplotlib complained that I had supplied \n", " # a (509, ) and a (459, ) inputs. 509 was\n", " # what I expected the length to be. This \n", " # matches the 30*2 skips.\n", " # Offset the DM results\n", " plt.plot(xSeq, np.array(results.results['DIVISADERO'][ampName]['DIVISADERO_PROFILE']), )\n", " plt.ylim(0.98,1.005)\n", " #plt.xlim(0, 512)\n", " xOffset += 509 # increment xoffset to handle amp coordinates." ] }, { "cell_type": "code", "execution_count": 3, "id": "bced47be-0c7d-42ba-85d0-6959f00f5cb7", "metadata": { "execution": { "iopub.execute_input": "2024-01-31T20:27:51.796544Z", "iopub.status.busy": "2024-01-31T20:27:51.796412Z", "iopub.status.idle": "2024-01-31T20:27:51.799838Z", "shell.execute_reply": "2024-01-31T20:27:51.799477Z", "shell.execute_reply.started": "2024-01-31T20:27:51.796531Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C10 0.00421059846496552\n", "C11 0.00421059846496552\n", "C12 0.0029365819555389194\n", "C13 0.0033212979820353983\n", "C14 0.0033212979820353983\n", "C15 0.004560348942725612\n", "C16 0.004560348942725612\n", "C17 0.001966250753353993\n", "C07 0.008100164501909202\n", "C06 0.013765295941237099\n", "C05 0.013765295941237099\n", "C04 0.0061301534405456826\n", "C03 0.003212800693645712\n", "C02 0.004629904833395093\n", "C01 0.004629904833395093\n", "C00 0.002562041199474119\n" ] } ], "source": [ "for amp, r in results.results['DIVISADERO'].items():\n", " print(amp, r['DIVISADERO_MAX'])\n", "\n", "amps = [r[0] for r in results.results['DIVISADERO'].items()]\n", "divisadero_max = [r[1]['DIVISADERO_MAX'] for r in results.results['DIVISADERO'].items()]" ] }, { "cell_type": "code", "execution_count": 4, "id": "41732e63-6a55-4185-acc5-848ff6ed47e1", "metadata": { "execution": { "iopub.execute_input": "2024-01-31T20:27:51.800503Z", "iopub.status.busy": "2024-01-31T20:27:51.800378Z", "iopub.status.idle": "2024-01-31T20:27:51.807071Z", "shell.execute_reply": "2024-01-31T20:27:51.806707Z", "shell.execute_reply.started": "2024-01-31T20:27:51.800490Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
det_nameamp_namedivisadero_tearing
0RXX_S00C100.004211
1RXX_S00C110.004211
2RXX_S00C120.002937
3RXX_S00C130.003321
4RXX_S00C140.003321
5RXX_S00C150.004560
6RXX_S00C160.004560
7RXX_S00C170.001966
8RXX_S00C000.002562
9RXX_S00C010.004630
10RXX_S00C020.004630
11RXX_S00C030.003213
12RXX_S00C040.006130
13RXX_S00C050.013765
14RXX_S00C060.013765
15RXX_S00C070.008100
\n", "
" ], "text/plain": [ " det_name amp_name divisadero_tearing\n", "0 RXX_S00 C10 0.004211\n", "1 RXX_S00 C11 0.004211\n", "2 RXX_S00 C12 0.002937\n", "3 RXX_S00 C13 0.003321\n", "4 RXX_S00 C14 0.003321\n", "5 RXX_S00 C15 0.004560\n", "6 RXX_S00 C16 0.004560\n", "7 RXX_S00 C17 0.001966\n", "8 RXX_S00 C00 0.002562\n", "9 RXX_S00 C01 0.004630\n", "10 RXX_S00 C02 0.004630\n", "11 RXX_S00 C03 0.003213\n", "12 RXX_S00 C04 0.006130\n", "13 RXX_S00 C05 0.013765\n", "14 RXX_S00 C06 0.013765\n", "15 RXX_S00 C07 0.008100" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eoPresults.divisadero_stats" ] }, { "cell_type": "code", "execution_count": 6, "id": "d6b06714-ce88-4284-bcf1-3f639095e570", "metadata": { "execution": { "iopub.execute_input": "2024-01-31T20:31:30.398774Z", "iopub.status.busy": "2024-01-31T20:31:30.398570Z", "iopub.status.idle": "2024-01-31T20:31:30.407697Z", "shell.execute_reply": "2024-01-31T20:31:30.407417Z", "shell.execute_reply.started": "2024-01-31T20:31:30.398761Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
det_nameamp_namedivisadero_tearingip_isr_divisadero
0RXX_S00C100.0042110.004211
1RXX_S00C110.0042110.004211
2RXX_S00C120.0029370.002937
3RXX_S00C130.0033210.003321
4RXX_S00C140.0033210.003321
5RXX_S00C150.0045600.004560
6RXX_S00C160.0045600.004560
7RXX_S00C170.0019660.001966
8RXX_S00C000.0025620.002562
9RXX_S00C010.0046300.004630
10RXX_S00C020.0046300.004630
11RXX_S00C030.0032130.003213
12RXX_S00C040.0061300.006130
13RXX_S00C050.0137650.013765
14RXX_S00C060.0137650.013765
15RXX_S00C070.0081000.008100
\n", "
" ], "text/plain": [ " det_name amp_name divisadero_tearing ip_isr_divisadero\n", "0 RXX_S00 C10 0.004211 0.004211\n", "1 RXX_S00 C11 0.004211 0.004211\n", "2 RXX_S00 C12 0.002937 0.002937\n", "3 RXX_S00 C13 0.003321 0.003321\n", "4 RXX_S00 C14 0.003321 0.003321\n", "5 RXX_S00 C15 0.004560 0.004560\n", "6 RXX_S00 C16 0.004560 0.004560\n", "7 RXX_S00 C17 0.001966 0.001966\n", "8 RXX_S00 C00 0.002562 0.002562\n", "9 RXX_S00 C01 0.004630 0.004630\n", "10 RXX_S00 C02 0.004630 0.004630\n", "11 RXX_S00 C03 0.003213 0.003213\n", "12 RXX_S00 C04 0.006130 0.006130\n", "13 RXX_S00 C05 0.013765 0.013765\n", "14 RXX_S00 C06 0.013765 0.013765\n", "15 RXX_S00 C07 0.008100 0.008100" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd \n", "dmResults = pd.DataFrame()\n", "dmResults[\"amp_name\"] = amps\n", "dmResults[\"ip_isr_divisadero\"] = divisadero_max\n", "pd.merge(eoPresults.divisadero_stats, dmResults, left_on=\"amp_name\", right_on=\"amp_name\")" ] }, { "cell_type": "code", "execution_count": null, "id": "cdcde924-ac70-493a-9418-31cf697badfb", "metadata": {}, "outputs": [], "source": [] } ], "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.11.7" } }, "nbformat": 4, "nbformat_minor": 5 }