Skip to content

Instantly share code, notes, and snippets.

@adrn
Created September 3, 2020 17:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adrn/88525bc36a9b883b01288fda184203ce to your computer and use it in GitHub Desktop.
Save adrn/88525bc36a9b883b01288fda184203ce to your computer and use it in GitHub Desktop.
projects/Untitled5.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "You'll need the dev version of `regions`, so install that with:\n```\npip install git+https://github.com/astropy/regions\n```"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2020-09-03T16:07:30.625640Z",
"end_time": "2020-09-03T16:07:30.630752Z"
},
"trusted": true
},
"cell_type": "code",
"source": "import astropy.coordinates as coord\nimport astropy.table as at\nimport astropy.units as u\nfrom astropy.wcs import WCS\nimport matplotlib as mpl\nimport matplotlib.pyplot as plt\n%matplotlib inline\nimport numpy as np\nfrom regions import CircleSkyRegion, EllipseSkyRegion",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2020-09-03T16:20:51.585318Z",
"end_time": "2020-09-03T16:20:51.590356Z"
},
"trusted": true
},
"cell_type": "code",
"source": "mask_region1 = EllipseSkyRegion(center=coord.SkyCoord(11.41541667, 38.0375, unit='deg'), \n width=5*u.deg, \n height=7*u.deg, \n angle=33*u.deg)\n\nmask_region2 = EllipseSkyRegion(center=coord.SkyCoord(11.41541667, 49.0375, unit='deg'), \n width=5*u.deg, \n height=7*u.deg, \n angle=33*u.deg)",
"execution_count": 62,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2020-09-03T16:20:51.928087Z",
"end_time": "2020-09-03T16:20:51.931511Z"
},
"trusted": true
},
"cell_type": "code",
"source": "pandas_field = CircleSkyRegion(center=coord.SkyCoord(11.2, 42.3, unit='deg'), \n radius=3*u.deg)",
"execution_count": 63,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2020-09-03T16:24:04.053308Z",
"end_time": "2020-09-03T16:24:04.058011Z"
},
"trusted": true
},
"cell_type": "code",
"source": "wcs = WCS(naxis=2)\n\npix_scale = 60 * u.arcsec / u.pixel\nwcs.wcs.crval = [10.68470833, 41.26875] # M31\nwcs.wcs.cdelt = [pix_scale.to_value(u.deg / u.pixel)\n for i in range(2)]\nwcs.wcs.crpix = [0, 0]\nwcs.wcs.ctype = [\"RA---TAN\", \"DEC--TAN\"]",
"execution_count": 83,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2020-09-03T16:24:04.503120Z",
"end_time": "2020-09-03T16:24:04.622408Z"
},
"trusted": true
},
"cell_type": "code",
"source": "fig, ax = plt.subplots(1, 1, figsize=(6, 5))\n\nfor reg, col in zip([pandas_field, mask_region1, mask_region2],\n ['k', 'tab:red', 'tab:orange']):\n artist = reg.to_pixel(wcs).as_artist(edgecolor=col)\n ax.add_artist(artist)\n\nax.set_aspect('equal')\n\nsize = ((15 * u.deg) / pix_scale).to_value(u.pixel)\nax.set_xlim(-size, size)\nax.set_ylim(-size, size)",
"execution_count": 84,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 84,
"data": {
"text/plain": "(-900.0, 900.0)"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x360 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAqMAAAJlCAYAAADuLvvBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3wUdeLG8c9uNpUEQicEUBgp0pFiPZQqSFEUDhH4KViwcZ6HYkesp1iwnIoniHIIJwLSFAQEUbFQBQEJOHQIJZQAgfT9/TEJxlwgAbL73WSf9+u1r5nNzs4+MQhPvjPzHZfX60VERERExAS36QAiIiIiErxURkVERETEGJVRERERETFGZVREREREjFEZFRERERFjVEZFRERExBiVURERERExRmVURERERIxRGRURERERY1RGRURERMQYlVERERERMUZlVERERESM8ZgOIMWvVatWW4GywDbDUURERCR4XAgcXbFiRe2zeZPKaOlUNjw8vELt2rUrmA4ivrFu3ToAGjdubDiJlDb6syW+oj9bpd/WrVtJS0s76/e5vF6vD+KISa1atVrZoEGDSyZOnGg6iviIZVkA2LZtOImUNvqzJb6iP1ul34ABA9i4ceOqFStWtDyb9+mcURERERExRmVURERERIxRGRURERERY1RGRURERMQYlVERERERMUZlVERERESMURkVEREREWNURkVERETEGJVRERERETFGZVREREREjFEZFRERERFjVEZFRERExBiVURERERExRmVURERERIzxmA4gImfPtm3TEaSU0p8t8RX92ZLT0cioiIiIiBijMioiIiIixqiMioiIiIgxKqMiIiIiYozKqIiIiIgYozIqIiIiIsaojIqIiIiIMSqjIiIiImKMyqiIiIiIGKMyKiIiIiLGqIyKiIiIiDEqoyIiIiJijMqoiIiIiBijMioiIiIixqiMioiIiIgxKqMiIiIiYozKqIiIiIgYozIqIiIiIsaojIqIiIiIMSqjIiIiImKMyqiIiIiIGKMyKiIiIiLGqIyKiIiIiDEqoyIiIiJijMqoiIiIiBijMioiIiIixqiMioiIiIgxKqMiIiIiYozKqIiIiIgYozIqIiIiIsaojIqIiIiIMSqjIiIiImKMyqiIiIiIGKMyKiIiIiLGqIyKiIiIiDEqoyIiIiJi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/P3vf6devXqMHz+ezMxMevbsybx589i0aRPDhg2jcuXKpmOe4nK5aN26NePGjWP37t28/vrrXHTRRezcuZP777+fiy++mEmTJpGdnW06qoj4icqoiEgJlJKSwjPPPEOdOnV48803ycjIoH///mzatImZM2dy7bXXBvxFQhUqVODBBx8kISGB6dOn06BBA7Zs2UL//v255JJLmDdvnumIIuIHgf03lYiI/I9vvvmGJk2aMHLkSI4fP07Xrl1ZvXo1EydOxLIs0/HOmtvtplevXvz666+MGzeOGjVqsGbNGrp27cott9zCwYMHTUcUEWHhnMQAACAASURBVB9SGRURKSGOHz/O/fffT7t27di6dSvNmjXjm2++4csvv6RZs2am4503j8fD4MGD2bRpE6NGjSIqKorJkyfTsGFDPv/8c9PxRMRHVEZFREqAJUuW0LRpU9555x08Hg8jR45k+fLlXH311aajFbvIyEgefvhh1q5dS9u2bdm/fz833nijRklFSimVURGRAOb1ennttddo3749W7dupXnz5qxYsYKnn36a0NBQ0/F8yrIsFi9ezFtvvXVqlLRVq1b8+uuvpqOJSDFSGRURCVCpqancdtttPPTQQ2RnZ/P444+zbNmyUnFIvqjcbjdDhw5l7dq1tGrVim3btnH55ZczY8YM09FEpJiojIqIBKA9e/ZwzTXXMGHCBKKiovjss8944YUXSv1o6OlYlsW3335L//79SUlJoVevXjz33HPoxi0iJZ/KqIhIgNmwYQOtW7fm559/platWixdupTevXubjmVcZGQk//nPf3j55ZdxuVyMGDGC/v37k5GRYTqaiJwHlVERkQCyZs0arr76avbs2cNVV13F8uXLad68uelYAcPlcjF8+HDmzJlDTEwMkydP5q9//StpaWmmo4nIOVIZFREJEL/88gvt2rUjKSmJLl26MH/+fKpUqWI6VkC67rrrWLhwIbGxscyYMYPevXvrVqIiJZTKqIhIAFi/fj2dOnXi8OHD9OjRgxkzZhAZGWk6VkBr06YNixcvpmLFisyZM4d+/fqRmZlpOpaInCWVURERw3bv3k2nTp1ISkqia9eufPbZZ4SHh5uOVSI0b96c+fPnU65cOaZPn86QIUN0UZNICaMyKiJi0MmTJ7nhhhtITEykbdu2TJs2TUX0LOXexz4yMpIPP/yQt956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\n"
},
"metadata": {
"image/png": {
"width": 337,
"height": 306
},
"needs_background": "light"
}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "These should overlap:"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2020-09-03T17:51:44.791924Z",
"end_time": "2020-09-03T17:51:44.808298Z"
},
"trusted": true
},
"cell_type": "code",
"source": "intersect = mask_region1.to_pixel(wcs).intersection(pandas_field.to_pixel(wcs))\nmask = intersect.to_mask()\ndo_they_interset = mask.data.sum() > 0\ndo_they_interset",
"execution_count": 89,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 89,
"data": {
"text/plain": "True"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "These shouldn't overlap:"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2020-09-03T17:51:45.040573Z",
"end_time": "2020-09-03T17:51:45.057500Z"
},
"trusted": true
},
"cell_type": "code",
"source": "intersect = mask_region2.to_pixel(wcs).intersection(pandas_field.to_pixel(wcs))\nmask = intersect.to_mask()\ndo_they_interset = mask.data.sum() > 0\ndo_they_interset",
"execution_count": 90,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 90,
"data": {
"text/plain": "False"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "conda-root-py",
"display_name": "Python [conda env:root] *",
"language": "python"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"language_info": {
"name": "python",
"version": "3.8.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "projects/Untitled5.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment