Skip to content

Instantly share code, notes, and snippets.

@d3v-null
Created November 24, 2023 06:38
Show Gist options
  • Save d3v-null/2fc19803d6885baffc9f019153cea625 to your computer and use it in GitHub Desktop.
Save d3v-null/2fc19803d6885baffc9f019153cea625 to your computer and use it in GitHub Desktop.
there are at least two bugs in this.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>RA</th>\n",
" <th>DEC</th>\n",
" <th>NORM_COMP_PL</th>\n",
" <th>ALPHA_PL</th>\n",
" <th>INT_FLX159.000</th>\n",
" <th>L</th>\n",
" <th>B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>1.302683e+07</td>\n",
" <td>1.302683e+07</td>\n",
" <td>1.302683e+07</td>\n",
" <td>1.302683e+07</td>\n",
" <td>1.302683e+07</td>\n",
" <td>1.302683e+07</td>\n",
" <td>1.302683e+07</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>1.869165e+02</td>\n",
" <td>3.334910e-14</td>\n",
" <td>3.153001e-02</td>\n",
" <td>-2.726184e+00</td>\n",
" <td>5.928660e-02</td>\n",
" <td>1.800001e+02</td>\n",
" <td>0.000000e+00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>9.855876e+01</td>\n",
" <td>4.186547e+01</td>\n",
" <td>5.918780e-02</td>\n",
" <td>1.126200e-01</td>\n",
" <td>1.121731e-01</td>\n",
" <td>1.039238e+02</td>\n",
" <td>8.629918e+00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>2.446982e-02</td>\n",
" <td>-7.787074e+01</td>\n",
" <td>-2.269447e-02</td>\n",
" <td>-3.108854e+00</td>\n",
" <td>-4.130621e-02</td>\n",
" <td>0.000000e+00</td>\n",
" <td>-1.500000e+01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>1.001514e+02</td>\n",
" <td>-3.818219e+01</td>\n",
" <td>1.005239e-03</td>\n",
" <td>-2.815571e+00</td>\n",
" <td>1.837947e-03</td>\n",
" <td>9.000000e+01</td>\n",
" <td>-7.000000e+00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>1.800000e+02</td>\n",
" <td>0.000000e+00</td>\n",
" <td>1.361719e-02</td>\n",
" <td>-2.723355e+00</td>\n",
" <td>2.518202e-02</td>\n",
" <td>1.800000e+02</td>\n",
" <td>0.000000e+00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>2.801514e+02</td>\n",
" <td>3.818219e+01</td>\n",
" <td>3.661908e-02</td>\n",
" <td>-2.608551e+00</td>\n",
" <td>6.841017e-02</td>\n",
" <td>2.700000e+02</td>\n",
" <td>7.000000e+00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>3.599755e+02</td>\n",
" <td>7.787074e+01</td>\n",
" <td>8.928106e-01</td>\n",
" <td>-2.140464e+00</td>\n",
" <td>1.629286e+00</td>\n",
" <td>3.600000e+02</td>\n",
" <td>1.500000e+01</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" RA DEC NORM_COMP_PL ALPHA_PL INT_FLX159.000 \\\n",
"count 1.302683e+07 1.302683e+07 1.302683e+07 1.302683e+07 1.302683e+07 \n",
"mean 1.869165e+02 3.334910e-14 3.153001e-02 -2.726184e+00 5.928660e-02 \n",
"std 9.855876e+01 4.186547e+01 5.918780e-02 1.126200e-01 1.121731e-01 \n",
"min 2.446982e-02 -7.787074e+01 -2.269447e-02 -3.108854e+00 -4.130621e-02 \n",
"25% 1.001514e+02 -3.818219e+01 1.005239e-03 -2.815571e+00 1.837947e-03 \n",
"50% 1.800000e+02 0.000000e+00 1.361719e-02 -2.723355e+00 2.518202e-02 \n",
"75% 2.801514e+02 3.818219e+01 3.661908e-02 -2.608551e+00 6.841017e-02 \n",
"max 3.599755e+02 7.787074e+01 8.928106e-01 -2.140464e+00 1.629286e+00 \n",
"\n",
" L B \n",
"count 1.302683e+07 1.302683e+07 \n",
"mean 1.800001e+02 0.000000e+00 \n",
"std 1.039238e+02 8.629918e+00 \n",
"min 0.000000e+00 -1.500000e+01 \n",
"25% 9.000000e+01 -7.000000e+00 \n",
"50% 1.800000e+02 0.000000e+00 \n",
"75% 2.700000e+02 7.000000e+00 \n",
"max 3.600000e+02 1.500000e+01 "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from astropy.io import fits\n",
"import pandas as pd\n",
"from astropy.coordinates import SkyCoord\n",
"import numpy as np\n",
"import astropy.units as u\n",
"from astropy.table import Table\n",
"\n",
"hdus=fits.open('EDA2_prior_mono_2048_si_gp15.fits')\n",
"\n",
"df_ = pd.DataFrame(hdus[1].data)\n",
"# .set_index('NAME')\n",
"# df_['RA'] = df_['RA'] % 360\n",
"coords = SkyCoord(ra=df_['RA'], dec=df_['DEC'], unit='deg')\n",
"# ras = coords.ra.degree\n",
"# decs = coords.dec.degree\n",
"gals = coords.galactic\n",
"df_['L'] = gals.l.degree.round()\n",
"df_['B'] = gals.b.degree.round()\n",
"\n",
"df_.describe()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"159058\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>UNQ_SOURCE_ID</th>\n",
" <th>NAME</th>\n",
" <th>RA</th>\n",
" <th>DEC</th>\n",
" <th>MOD_TYPE</th>\n",
" <th>COMP_TYPE</th>\n",
" <th>NORM_COMP_PL</th>\n",
" <th>ALPHA_PL</th>\n",
" <th>INT_FLX159.000</th>\n",
" <th>L</th>\n",
" <th>B</th>\n",
" <th>MAJOR_DC</th>\n",
" <th>MINOR_DC</th>\n",
" <th>PA_DC</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>7688456</th>\n",
" <td>270-15_014+4</td>\n",
" <td>270-15_014+4_C00</td>\n",
" <td>270.131836</td>\n",
" <td>-14.188759</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.075146</td>\n",
" <td>-2.757257</td>\n",
" <td>0.141456</td>\n",
" <td>14.0</td>\n",
" <td>4.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7690060</th>\n",
" <td>270-15_014+4</td>\n",
" <td>270-15_014+4_C00</td>\n",
" <td>270.153809</td>\n",
" <td>-14.207998</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.074759</td>\n",
" <td>-2.779807</td>\n",
" <td>0.141456</td>\n",
" <td>14.0</td>\n",
" <td>4.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7690061</th>\n",
" <td>270-15_014+4</td>\n",
" <td>270-15_014+4_C00</td>\n",
" <td>270.197754</td>\n",
" <td>-14.207998</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.074759</td>\n",
" <td>-2.779807</td>\n",
" <td>0.141456</td>\n",
" <td>14.0</td>\n",
" <td>4.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7691665</th>\n",
" <td>270-15_014+4</td>\n",
" <td>270-15_014+4_C00</td>\n",
" <td>270.131836</td>\n",
" <td>-14.227238</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.073807</td>\n",
" <td>-2.835628</td>\n",
" <td>0.141456</td>\n",
" <td>14.0</td>\n",
" <td>4.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7691666</th>\n",
" <td>270-15_014+4</td>\n",
" <td>270-15_014+4_C00</td>\n",
" <td>270.175781</td>\n",
" <td>-14.227238</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.073807</td>\n",
" <td>-2.835628</td>\n",
" <td>0.141456</td>\n",
" <td>14.0</td>\n",
" <td>4.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" UNQ_SOURCE_ID NAME RA DEC MOD_TYPE \\\n",
"7688456 270-15_014+4 270-15_014+4_C00 270.131836 -14.188759 pl \n",
"7690060 270-15_014+4 270-15_014+4_C00 270.153809 -14.207998 pl \n",
"7690061 270-15_014+4 270-15_014+4_C00 270.197754 -14.207998 pl \n",
"7691665 270-15_014+4 270-15_014+4_C00 270.131836 -14.227238 pl \n",
"7691666 270-15_014+4 270-15_014+4_C00 270.175781 -14.227238 pl \n",
"\n",
" COMP_TYPE NORM_COMP_PL ALPHA_PL INT_FLX159.000 L B \\\n",
"7688456 P 0.075146 -2.757257 0.141456 14.0 4.0 \n",
"7690060 P 0.074759 -2.779807 0.141456 14.0 4.0 \n",
"7690061 P 0.074759 -2.779807 0.141456 14.0 4.0 \n",
"7691665 P 0.073807 -2.835628 0.141456 14.0 4.0 \n",
"7691666 P 0.073807 -2.835628 0.141456 14.0 4.0 \n",
"\n",
" MAJOR_DC MINOR_DC PA_DC \n",
"7688456 0 0 0 \n",
"7690060 0 0 0 \n",
"7690061 0 0 0 \n",
"7691665 0 0 0 \n",
"7691666 0 0 0 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"maxl, maxb = 15, 5\n",
"df = df_.query(f'abs(L) < {maxl} & abs(B) < {maxb}').copy()\n",
"\n",
"def regname(row: pd.Series):\n",
" c = SkyCoord(row['L'], row['B'], unit='deg', frame='galactic').icrs\n",
" return f'{c.ra.degree:03.0f}{c.dec.degree:+02.0f}_{row[\"L\"]%360:03.0f}{row[\"B\"]:+02.0f}'\n",
"\n",
"df['UNQ_SOURCE_ID'] = df.apply(lambda row: regname(row), axis=1)\n",
"df['NAME'] = df['UNQ_SOURCE_ID'] + \"_C00\"\n",
"df.loc[:, 'RA'] %= 360\n",
"df['MAJOR_DC'] = np.full(len(df), 0)\n",
"df['MINOR_DC'] = np.full(len(df), 0)\n",
"df['PA_DC'] = np.full(len(df), 0)\n",
"\n",
"# write to a new fits file\n",
"def sanitize(arr):\n",
" if arr.dtype == np.dtype('O'):\n",
" return arr.astype('U')\n",
" return arr\n",
"hdus=fits.open('EDA2_prior_mono_2048_si_gp15.fits')\n",
"hdus[1] = fits.BinTableHDU(\n",
" data=Table({\n",
" col: sanitize(df[col].values) for col in df.columns\n",
" }), header=hdus[1].header)\n",
"sgr_fits = f'hyp_gp_sgr_{maxl}l{maxb}b.fits'\n",
"hdus.writeto(sgr_fits, overwrite=True)\n",
"print(len(df))\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(chararray(['G', 'P'], dtype='<U1'), array([ 14751, 211207]))\n",
"srclist_hyp_gp_sgr_15l5b.fits 385016\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>UNQ_SOURCE_ID</th>\n",
" <th>NAME</th>\n",
" <th>RA</th>\n",
" <th>DEC</th>\n",
" <th>MAJOR_DC</th>\n",
" <th>MINOR_DC</th>\n",
" <th>PA_DC</th>\n",
" <th>MOD_TYPE</th>\n",
" <th>COMP_TYPE</th>\n",
" <th>NORM_COMP_PL</th>\n",
" <th>ALPHA_PL</th>\n",
" <th>NORM_COMP_CPL</th>\n",
" <th>ALPHA_CPL</th>\n",
" <th>CURVE_CPL</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>COM000338-1517</td>\n",
" <td>COM000338-1517_C00</td>\n",
" <td>0.911602</td>\n",
" <td>-15.286037</td>\n",
" <td>0.066009</td>\n",
" <td>0.045800</td>\n",
" <td>89.070233</td>\n",
" <td>pl</td>\n",
" <td>G</td>\n",
" <td>0.264617</td>\n",
" <td>-0.95787</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>COM000338-1517</td>\n",
" <td>COM000338-1517_C01</td>\n",
" <td>1.008326</td>\n",
" <td>-15.296448</td>\n",
" <td>0.084755</td>\n",
" <td>0.041602</td>\n",
" <td>82.266527</td>\n",
" <td>pl</td>\n",
" <td>G</td>\n",
" <td>0.384634</td>\n",
" <td>-0.95787</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>COM000338-1517</td>\n",
" <td>COM000338-1517_C02</td>\n",
" <td>0.896579</td>\n",
" <td>-15.281036</td>\n",
" <td>0.061503</td>\n",
" <td>0.000638</td>\n",
" <td>140.549209</td>\n",
" <td>pl</td>\n",
" <td>G</td>\n",
" <td>0.096736</td>\n",
" <td>-0.95787</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>COM000338-1517</td>\n",
" <td>COM000338-1517_C03</td>\n",
" <td>1.031308</td>\n",
" <td>-15.301981</td>\n",
" <td>0.040026</td>\n",
" <td>0.034040</td>\n",
" <td>129.574036</td>\n",
" <td>pl</td>\n",
" <td>G</td>\n",
" <td>0.305631</td>\n",
" <td>-0.95787</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>COM000338-1517</td>\n",
" <td>COM000338-1517_C04</td>\n",
" <td>1.010680</td>\n",
" <td>-15.264188</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.052543</td>\n",
" <td>-0.95787</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>COM000338-1517</td>\n",
" <td>COM000338-1517_C05</td>\n",
" <td>0.949249</td>\n",
" <td>-15.294048</td>\n",
" <td>0.095115</td>\n",
" <td>0.023577</td>\n",
" <td>97.198351</td>\n",
" <td>pl</td>\n",
" <td>G</td>\n",
" <td>0.086258</td>\n",
" <td>-0.95787</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>COM000338-1517</td>\n",
" <td>COM000338-1517_C06</td>\n",
" <td>0.893303</td>\n",
" <td>-15.272500</td>\n",
" <td>0.072722</td>\n",
" <td>0.019135</td>\n",
" <td>66.731987</td>\n",
" <td>pl</td>\n",
" <td>G</td>\n",
" <td>0.351992</td>\n",
" <td>-0.95787</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>COM000338-1517</td>\n",
" <td>COM000338-1517_C07</td>\n",
" <td>1.017316</td>\n",
" <td>-15.311930</td>\n",
" <td>0.072610</td>\n",
" <td>0.037454</td>\n",
" <td>95.224727</td>\n",
" <td>pl</td>\n",
" <td>G</td>\n",
" <td>0.171064</td>\n",
" <td>-0.95787</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>COM000338-1517</td>\n",
" <td>COM000338-1517_C08</td>\n",
" <td>0.887199</td>\n",
" <td>-15.288618</td>\n",
" <td>0.035627</td>\n",
" <td>0.029226</td>\n",
" <td>114.567761</td>\n",
" <td>pl</td>\n",
" <td>G</td>\n",
" <td>0.642952</td>\n",
" <td>-0.95787</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>COM000810-1940</td>\n",
" <td>COM000810-1940_C00</td>\n",
" <td>2.042700</td>\n",
" <td>-19.669238</td>\n",
" <td>0.026494</td>\n",
" <td>0.016370</td>\n",
" <td>23.573330</td>\n",
" <td>cpl</td>\n",
" <td>G</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.455698</td>\n",
" <td>-0.773639</td>\n",
" <td>0.001758</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" UNQ_SOURCE_ID NAME RA DEC MAJOR_DC \\\n",
"0 COM000338-1517 COM000338-1517_C00 0.911602 -15.286037 0.066009 \n",
"1 COM000338-1517 COM000338-1517_C01 1.008326 -15.296448 0.084755 \n",
"2 COM000338-1517 COM000338-1517_C02 0.896579 -15.281036 0.061503 \n",
"3 COM000338-1517 COM000338-1517_C03 1.031308 -15.301981 0.040026 \n",
"4 COM000338-1517 COM000338-1517_C04 1.010680 -15.264188 NaN \n",
"5 COM000338-1517 COM000338-1517_C05 0.949249 -15.294048 0.095115 \n",
"6 COM000338-1517 COM000338-1517_C06 0.893303 -15.272500 0.072722 \n",
"7 COM000338-1517 COM000338-1517_C07 1.017316 -15.311930 0.072610 \n",
"8 COM000338-1517 COM000338-1517_C08 0.887199 -15.288618 0.035627 \n",
"9 COM000810-1940 COM000810-1940_C00 2.042700 -19.669238 0.026494 \n",
"\n",
" MINOR_DC PA_DC MOD_TYPE COMP_TYPE NORM_COMP_PL ALPHA_PL \\\n",
"0 0.045800 89.070233 pl G 0.264617 -0.95787 \n",
"1 0.041602 82.266527 pl G 0.384634 -0.95787 \n",
"2 0.000638 140.549209 pl G 0.096736 -0.95787 \n",
"3 0.034040 129.574036 pl G 0.305631 -0.95787 \n",
"4 NaN NaN pl P 0.052543 -0.95787 \n",
"5 0.023577 97.198351 pl G 0.086258 -0.95787 \n",
"6 0.019135 66.731987 pl G 0.351992 -0.95787 \n",
"7 0.037454 95.224727 pl G 0.171064 -0.95787 \n",
"8 0.029226 114.567761 pl G 0.642952 -0.95787 \n",
"9 0.016370 23.573330 cpl G NaN NaN \n",
"\n",
" NORM_COMP_CPL ALPHA_CPL CURVE_CPL \n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 NaN NaN NaN \n",
"3 NaN NaN NaN \n",
"4 NaN NaN NaN \n",
"5 NaN NaN NaN \n",
"6 NaN NaN NaN \n",
"7 NaN NaN NaN \n",
"8 NaN NaN NaN \n",
"9 0.455698 -0.773639 0.001758 "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>UNQ_SOURCE_ID</th>\n",
" <th>NAME</th>\n",
" <th>RA</th>\n",
" <th>DEC</th>\n",
" <th>MAJOR_DC</th>\n",
" <th>MINOR_DC</th>\n",
" <th>PA_DC</th>\n",
" <th>MOD_TYPE</th>\n",
" <th>COMP_TYPE</th>\n",
" <th>NORM_COMP_PL</th>\n",
" <th>ALPHA_PL</th>\n",
" <th>NORM_COMP_CPL</th>\n",
" <th>ALPHA_CPL</th>\n",
" <th>CURVE_CPL</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>385006</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.856934</td>\n",
" <td>-31.126351</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.099414</td>\n",
" <td>-2.806039</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>385007</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.900879</td>\n",
" <td>-31.126351</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.099414</td>\n",
" <td>-2.806039</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>385008</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.944824</td>\n",
" <td>-31.126351</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.099414</td>\n",
" <td>-2.806039</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>385009</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.791016</td>\n",
" <td>-31.148141</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.097779</td>\n",
" <td>-2.878339</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>385010</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.834961</td>\n",
" <td>-31.148141</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.097779</td>\n",
" <td>-2.878339</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>385011</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.878906</td>\n",
" <td>-31.148141</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.097779</td>\n",
" <td>-2.878339</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>385012</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.922852</td>\n",
" <td>-31.148141</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.098064</td>\n",
" <td>-2.865629</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>385013</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.856934</td>\n",
" <td>-31.169937</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.098214</td>\n",
" <td>-2.858952</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>385014</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.900879</td>\n",
" <td>-31.169937</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.098214</td>\n",
" <td>-2.858952</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>385015</th>\n",
" <td>270-31_000-4</td>\n",
" <td>270-31_000-4_C00</td>\n",
" <td>270.878906</td>\n",
" <td>-31.191737</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.100131</td>\n",
" <td>-2.774692</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" UNQ_SOURCE_ID NAME RA DEC MAJOR_DC \\\n",
"385006 270-31_000-4 270-31_000-4_C00 270.856934 -31.126351 0.0 \n",
"385007 270-31_000-4 270-31_000-4_C00 270.900879 -31.126351 0.0 \n",
"385008 270-31_000-4 270-31_000-4_C00 270.944824 -31.126351 0.0 \n",
"385009 270-31_000-4 270-31_000-4_C00 270.791016 -31.148141 0.0 \n",
"385010 270-31_000-4 270-31_000-4_C00 270.834961 -31.148141 0.0 \n",
"385011 270-31_000-4 270-31_000-4_C00 270.878906 -31.148141 0.0 \n",
"385012 270-31_000-4 270-31_000-4_C00 270.922852 -31.148141 0.0 \n",
"385013 270-31_000-4 270-31_000-4_C00 270.856934 -31.169937 0.0 \n",
"385014 270-31_000-4 270-31_000-4_C00 270.900879 -31.169937 0.0 \n",
"385015 270-31_000-4 270-31_000-4_C00 270.878906 -31.191737 0.0 \n",
"\n",
" MINOR_DC PA_DC MOD_TYPE COMP_TYPE NORM_COMP_PL ALPHA_PL \\\n",
"385006 0.0 0.0 pl P 0.099414 -2.806039 \n",
"385007 0.0 0.0 pl P 0.099414 -2.806039 \n",
"385008 0.0 0.0 pl P 0.099414 -2.806039 \n",
"385009 0.0 0.0 pl P 0.097779 -2.878339 \n",
"385010 0.0 0.0 pl P 0.097779 -2.878339 \n",
"385011 0.0 0.0 pl P 0.097779 -2.878339 \n",
"385012 0.0 0.0 pl P 0.098064 -2.865629 \n",
"385013 0.0 0.0 pl P 0.098214 -2.858952 \n",
"385014 0.0 0.0 pl P 0.098214 -2.858952 \n",
"385015 0.0 0.0 pl P 0.100131 -2.774692 \n",
"\n",
" NORM_COMP_CPL ALPHA_CPL CURVE_CPL \n",
"385006 0.0 0.0 0.0 \n",
"385007 0.0 0.0 0.0 \n",
"385008 0.0 0.0 0.0 \n",
"385009 0.0 0.0 0.0 \n",
"385010 0.0 0.0 0.0 \n",
"385011 0.0 0.0 0.0 \n",
"385012 0.0 0.0 0.0 \n",
"385013 0.0 0.0 0.0 \n",
"385014 0.0 0.0 0.0 \n",
"385015 0.0 0.0 0.0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"arrays = {}\n",
"obsid=1094656680\n",
"from astropy.time import Time\n",
"from astropy.coordinates import EarthLocation, AltAz\n",
"time = Time(obsid, format='gps')\n",
"loc = EarthLocation.from_geodetic(lon=116.670815, lat=-26.703319, height=377.827)\n",
"with fits.open('srclist_pumav3_EoR0LoBES_EoR1pietro_CenA-GP_2023-11-07.fits') as hdus:\n",
" coords = SkyCoord(ra=hdus[1].data['RA'], dec=hdus[1].data['DEC'], unit='deg')\n",
" gals = coords.galactic\n",
" ls = gals.l.degree.round()\n",
" bs = gals.b.degree.round()\n",
" azels = coords.transform_to(AltAz(obstime=time, location=loc))\n",
" els = azels.alt.degree.round()\n",
" cts = hdus[1].data['COMP_TYPE']\n",
" selection = np.logical_not((abs(ls) < maxl) & (abs(bs) < maxb)) \\\n",
" & (els > 0) \\\n",
" & (cts != 'S')\n",
" print(np.unique(cts[selection], return_counts=True))\n",
" cols = hdus[1].data.columns[:]\n",
" for col in cols:\n",
" arrays[col.name] = hdus[1].data[col.name][selection]\n",
" hdr0 = hdus[0].header\n",
" hdr1 = hdus[1].header\n",
"with fits.open(sgr_fits) as hdus:\n",
" for col in cols:\n",
" try:\n",
" array = hdus[1].data[col.name]\n",
" except:\n",
" array = np.full(len(hdus[1].data), 0)\n",
" arrays[col.name] = np.concatenate((arrays[col.name], array))\n",
"\n",
"srclist = f'srclist_{sgr_fits}'\n",
"fits.HDUList([\n",
" fits.PrimaryHDU(None, header=hdr0),\n",
" fits.BinTableHDU(data=Table(arrays), header=hdr1)\n",
"]).writeto(srclist, overwrite=True)\n",
"\n",
"df = pd.DataFrame(arrays)\n",
"print(srclist, len(df))\n",
"display(df.head(10))\n",
"display(df.tail(10))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>UNQ_SOURCE_ID</th>\n",
" <th>NAME</th>\n",
" <th>RA</th>\n",
" <th>DEC</th>\n",
" <th>MOD_TYPE</th>\n",
" <th>COMP_TYPE</th>\n",
" <th>NORM_COMP_PL</th>\n",
" <th>ALPHA_PL</th>\n",
" <th>INT_FLX159.000</th>\n",
" <th>L</th>\n",
" <th>B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C00</td>\n",
" <td>12.141509</td>\n",
" <td>77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.002681</td>\n",
" <td>-2.581816</td>\n",
" <td>0.004848</td>\n",
" <td>123.0</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C01</td>\n",
" <td>12.311321</td>\n",
" <td>77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.002687</td>\n",
" <td>-2.572464</td>\n",
" <td>0.004848</td>\n",
" <td>123.0</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C02</td>\n",
" <td>12.481132</td>\n",
" <td>77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.002682</td>\n",
" <td>-2.580143</td>\n",
" <td>0.004848</td>\n",
" <td>123.0</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C03</td>\n",
" <td>12.650943</td>\n",
" <td>77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.002681</td>\n",
" <td>-2.582949</td>\n",
" <td>0.004848</td>\n",
" <td>123.0</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C04</td>\n",
" <td>12.820755</td>\n",
" <td>77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>0.002681</td>\n",
" <td>-2.581816</td>\n",
" <td>0.004848</td>\n",
" <td>123.0</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13026821</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C13026821</td>\n",
" <td>192.820755</td>\n",
" <td>-77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>-0.003983</td>\n",
" <td>-2.831826</td>\n",
" <td>-0.007626</td>\n",
" <td>303.0</td>\n",
" <td>-15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13026822</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C13026822</td>\n",
" <td>192.990566</td>\n",
" <td>-77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>-0.003983</td>\n",
" <td>-2.831826</td>\n",
" <td>-0.007626</td>\n",
" <td>303.0</td>\n",
" <td>-15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13026823</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C13026823</td>\n",
" <td>193.160377</td>\n",
" <td>-77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>-0.003983</td>\n",
" <td>-2.831826</td>\n",
" <td>-0.007626</td>\n",
" <td>303.0</td>\n",
" <td>-15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13026824</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C13026824</td>\n",
" <td>193.330189</td>\n",
" <td>-77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>-0.003983</td>\n",
" <td>-2.831826</td>\n",
" <td>-0.007626</td>\n",
" <td>303.0</td>\n",
" <td>-15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13026825</th>\n",
" <td>EDA2_prior_mono_si</td>\n",
" <td>EDA2_prior_mono_si_C13026825</td>\n",
" <td>193.500000</td>\n",
" <td>-77.870744</td>\n",
" <td>pl</td>\n",
" <td>P</td>\n",
" <td>-0.003983</td>\n",
" <td>-2.831826</td>\n",
" <td>-0.007626</td>\n",
" <td>303.0</td>\n",
" <td>-15.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>13026826 rows × 11 columns</p>\n",
"</div>"
],
"text/plain": [
" UNQ_SOURCE_ID NAME RA \\\n",
"0 EDA2_prior_mono_si EDA2_prior_mono_si_C00 12.141509 \n",
"1 EDA2_prior_mono_si EDA2_prior_mono_si_C01 12.311321 \n",
"2 EDA2_prior_mono_si EDA2_prior_mono_si_C02 12.481132 \n",
"3 EDA2_prior_mono_si EDA2_prior_mono_si_C03 12.650943 \n",
"4 EDA2_prior_mono_si EDA2_prior_mono_si_C04 12.820755 \n",
"... ... ... ... \n",
"13026821 EDA2_prior_mono_si EDA2_prior_mono_si_C13026821 192.820755 \n",
"13026822 EDA2_prior_mono_si EDA2_prior_mono_si_C13026822 192.990566 \n",
"13026823 EDA2_prior_mono_si EDA2_prior_mono_si_C13026823 193.160377 \n",
"13026824 EDA2_prior_mono_si EDA2_prior_mono_si_C13026824 193.330189 \n",
"13026825 EDA2_prior_mono_si EDA2_prior_mono_si_C13026825 193.500000 \n",
"\n",
" DEC MOD_TYPE COMP_TYPE NORM_COMP_PL ALPHA_PL \\\n",
"0 77.870744 pl P 0.002681 -2.581816 \n",
"1 77.870744 pl P 0.002687 -2.572464 \n",
"2 77.870744 pl P 0.002682 -2.580143 \n",
"3 77.870744 pl P 0.002681 -2.582949 \n",
"4 77.870744 pl P 0.002681 -2.581816 \n",
"... ... ... ... ... ... \n",
"13026821 -77.870744 pl P -0.003983 -2.831826 \n",
"13026822 -77.870744 pl P -0.003983 -2.831826 \n",
"13026823 -77.870744 pl P -0.003983 -2.831826 \n",
"13026824 -77.870744 pl P -0.003983 -2.831826 \n",
"13026825 -77.870744 pl P -0.003983 -2.831826 \n",
"\n",
" INT_FLX159.000 L B \n",
"0 0.004848 123.0 15.0 \n",
"1 0.004848 123.0 15.0 \n",
"2 0.004848 123.0 15.0 \n",
"3 0.004848 123.0 15.0 \n",
"4 0.004848 123.0 15.0 \n",
"... ... ... ... \n",
"13026821 -0.007626 303.0 -15.0 \n",
"13026822 -0.007626 303.0 -15.0 \n",
"13026823 -0.007626 303.0 -15.0 \n",
"13026824 -0.007626 303.0 -15.0 \n",
"13026825 -0.007626 303.0 -15.0 \n",
"\n",
"[13026826 rows x 11 columns]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment