Files
AstronomicalData/_sources/06_photo.ipynb
2020-12-29 11:59:26 -05:00

2087 lines
274 KiB
Plaintext

{
"cells": [
{
"cell_type": "raw",
"metadata": {},
"source": [
"---\n",
"title: \"Photometry\"\n",
"teaching: 3000\n",
"exercises: 0\n",
"questions:\n",
"\n",
"- \"How do we use Matplotlib to select a polygon and Pandas to merge data from multiple tables?\"\n",
"\n",
"objectives:\n",
"\n",
"- \"Use Matplotlib to specify a polygon and determine which points fall inside it.\"\n",
"\n",
"- \"Use Pandas to merge data from multiple `DataFrames`, much like a database `JOIN` operation.\"\n",
"\n",
"keypoints:\n",
"\n",
"- \"Matplotlib provides operations for working with points, polygons, and other geometric entities, so it's not just for making figures.\"\n",
"\n",
"- \"If you want to perform something like a database `JOIN` operation with data that is in a Pandas `DataFrame`, you can use the `join` or `merge` function. In many cases, `merge` is easier to use because the arguments are more like SQL.\"\n",
"\n",
"- \"Use Matplotlib options to control the size and aspect ratio of figures to make them easier to interpret.\"\n",
"\n",
"- \"Be sure to record every element of the data analysis pipeline that would be needed to replicate the results.\"\n",
"\n",
"---\n",
"\n",
"{% include links.md %}\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Photometry\n",
"\n",
"This is the sixth in a series of notebooks related to astronomy data.\n",
"\n",
"As a continuing example, we will replicate part of the analysis in a recent paper, \"[Off the beaten path: Gaia reveals GD-1 stars outside of the main stream](https://arxiv.org/abs/1805.00425)\" by Adrian M. Price-Whelan and Ana Bonaca.\n",
"\n",
"In the previous lesson we downloaded photometry data from Pan-STARRS, which is available from the same server we've been using to get Gaia data. \n",
"\n",
"The next step in the analysis is to select candidate stars based on the photometry data. \n",
"The following figure from the paper is a color-magnitude diagram showing the stars we previously selected based on proper motion:\n",
"\n",
"<img width=\"300\" src=\"https://github.com/datacarpentry/astronomy-python/raw/gh-pages/fig/gd1-3.png\">\n",
"\n",
"In red is a theoretical isochrone, showing where we expect the stars in GD-1 to fall based on the metallicity and age of their original globular cluster. \n",
"\n",
"By selecting stars in the shaded area, we can further distinguish the main sequence of GD-1 from mostly younger background stars."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Outline\n",
"\n",
"Here are the steps in this notebook:\n",
"\n",
"1. We'll reload the data from the previous notebook and make a color-magnitude diagram.\n",
"\n",
"2. We'll use an isochrone computed by MIST to specify a polygonal region in the color-magnitude diagram and select the stars inside it.\n",
"\n",
"3. Then we'll merge the photometry data with the list of candidate stars, storing the result in a Pandas `DataFrame`.\n",
"\n",
"After completing this lesson, you should be able to\n",
"\n",
"* Use Matplotlib to specify a `Polygon` and determine which points fall inside it.\n",
"\n",
"* Use Pandas to merge data from multiple `DataFrames`, much like a database `JOIN` operation."
]
},
{
"cell_type": "markdown",
"metadata": {
"tags": [
"remove-cell"
]
},
"source": [
"## Installing libraries\n",
"\n",
"If you are running this notebook on Colab, you can run the following cell to install Astroquery and the other libraries we'll use.\n",
"\n",
"If you are running this notebook on your own computer, you might have to install these libraries yourself. See the instructions in the preface."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"tags": [
"remove-cell"
]
},
"outputs": [],
"source": [
"# If we're running on Colab, install libraries\n",
"\n",
"import sys\n",
"IN_COLAB = 'google.colab' in sys.modules\n",
"\n",
"if IN_COLAB:\n",
" !pip install astroquery astro-gala wget"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Reload the data\n",
"\n",
"The following cell downloads the photometry data we created in the previous notebook."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from wget import download\n",
"\n",
"filename = 'gd1_photo.fits'\n",
"filepath = 'https://github.com/AllenDowney/AstronomicalData/raw/main/data/'\n",
"\n",
"if not os.path.exists(filename):\n",
" print(download(filepath+filename))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can read the data back into an Astropy `Table`."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from astropy.table import Table\n",
"\n",
"photo_table = Table.read(filename)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plotting photometry data\n",
"\n",
"Now that we have photometry data from Pan-STARRS, we can replicate the [color-magnitude diagram](https://en.wikipedia.org/wiki/Galaxy_color%E2%80%93magnitude_diagram) from the original paper:\n",
"\n",
"<img width=\"300\" src=\"https://github.com/datacarpentry/astronomy-python/raw/gh-pages/fig/gd1-3.png\">\n",
"\n",
"The y-axis shows the apparent magnitude of each source with the [g filter](https://en.wikipedia.org/wiki/Photometric_system).\n",
"\n",
"The x-axis shows the difference in apparent magnitude between the g and i filters, which indicates color.\n",
"\n",
"Stars with lower values of (g-i) are brighter in g-band than in i-band, compared to other stars, which means they are bluer.\n",
"\n",
"Stars in the lower-left quadrant of this diagram are less bright than the others, and have lower metallicity, which means they are [likely to be older](http://spiff.rit.edu/classes/ladder/lectures/ordinary_stars/ordinary.html).\n",
"\n",
"Since we expect the stars in GD-1 to be older than the background stars, the stars in the lower-left are more likely to be in GD-1."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following function takes a table containing photometry data and draws a color-magnitude diagram.\n",
"The input can be an Astropy `Table` or Pandas `DataFrame`, as long as it has columns named `g_mean_psf_mag` and `i_mean_psf_mag`.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"def plot_cmd(table):\n",
" \"\"\"Plot a color magnitude diagram.\n",
" \n",
" table: Table or DataFrame with photometry data\n",
" \"\"\"\n",
" y = table['g_mean_psf_mag']\n",
" x = table['g_mean_psf_mag'] - table['i_mean_psf_mag']\n",
"\n",
" plt.plot(x, y, 'ko', markersize=0.3, alpha=0.3)\n",
"\n",
" plt.xlim([0, 1.5])\n",
" plt.ylim([14, 22])\n",
" plt.gca().invert_yaxis()\n",
"\n",
" plt.ylabel('$Magnitude (g)$')\n",
" plt.xlabel('$Color (g-i)$')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`plot_cmd` uses a new function, `invert_yaxis`, to invert the `y` axis, which is conventional when plotting magnitudes, since lower magnitude indicates higher brightness.\n",
"\n",
"`invert_yaxis` is a little different from the other functions we've used. You can't call it like this:\n",
"\n",
"```\n",
"plt.invert_yaxis() # doesn't work\n",
"```\n",
"\n",
"You have to call it like this:\n",
"\n",
"```\n",
"plt.gca().invert_yaxis() # works\n",
"```\n",
"\n",
"`gca` stands for \"get current axis\". It returns an object that represents the axes of the current figure, and that object provides `invert_yaxis`.\n",
"\n",
"**In case anyone asks:** The most likely reason for this inconsistency in the interface is that `invert_yaxis` is a lesser-used function, so it's not made available at the top level of the interface."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's what the results look like."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_cmd(photo_table)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Our figure does not look exactly like the one in the paper because we are working with a smaller region of the sky, so we don't have as many stars. But we can see an overdense region in the lower left that contains stars with the photometry we expect for GD-1.\n",
"\n",
"In the next section we'll use an isochrone to specify a polygon that contains this overdense regioin."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Isochrone\n",
"\n",
"Based on our best estimates for the ages of the stars in GD-1 and their metallicity, we can compute a [stellar isochrone](https://en.wikipedia.org/wiki/Stellar_isochrone) that predicts the relationship between their magnitude and color.\n",
"\n",
"In fact, we can use [MESA Isochrones & Stellar Tracks](http://waps.cfa.harvard.edu/MIST/) (MIST) to compute it for us.\n",
"\n",
"Using the [MIST Version 1.2 web interface](http://waps.cfa.harvard.edu/MIST/interp_isos.html), we computed an isochrone with the following parameters:\n",
" \n",
"* Rotation initial v/v_crit = 0.4\n",
"\n",
"* Single age, linear scale = 12e9\n",
"\n",
"* Composition [Fe/H] = -1.35\n",
"\n",
"* Synthetic Photometry, PanStarrs\n",
"\n",
"* Extinction av = 0\n",
"\n",
"The following cell downloads the results:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from wget import download\n",
"\n",
"filename = 'MIST_iso_5fd2532653c27.iso.cmd'\n",
"filepath = 'https://github.com/AllenDowney/AstronomicalData/raw/main/data/'\n",
"\n",
"if not os.path.exists(filename):\n",
" print(download(filepath+filename))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To read this file we'll download a Python module [from this repository](https://github.com/jieunchoi/MIST_codes)."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from wget import download\n",
"\n",
"filename = 'read_mist_models.py'\n",
"filepath = 'https://github.com/jieunchoi/MIST_codes/raw/master/scripts/'\n",
"\n",
"if not os.path.exists(filename):\n",
" print(download(filepath+filename))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can read the file:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Reading in: MIST_iso_5fd2532653c27.iso.cmd\n"
]
}
],
"source": [
"import read_mist_models\n",
"\n",
"filename = 'MIST_iso_5fd2532653c27.iso.cmd'\n",
"iso = read_mist_models.ISOCMD(filename)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The result is an `ISOCMD` object."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"read_mist_models.ISOCMD"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(iso)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It contains a list of arrays, one for each isochrone."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"list"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(iso.isocmds)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We only got one isochrone."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(iso.isocmds)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So we can select it like this:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"iso_array = iso.isocmds[0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It's a NumPy array:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"numpy.ndarray"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(iso_array)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"But it's an unusual NumPy array, because it contains names for the columns."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"dtype([('EEP', '<i4'), ('isochrone_age_yr', '<f8'), ('initial_mass', '<f8'), ('star_mass', '<f8'), ('log_Teff', '<f8'), ('log_g', '<f8'), ('log_L', '<f8'), ('[Fe/H]_init', '<f8'), ('[Fe/H]', '<f8'), ('PS_g', '<f8'), ('PS_r', '<f8'), ('PS_i', '<f8'), ('PS_z', '<f8'), ('PS_y', '<f8'), ('PS_w', '<f8'), ('PS_open', '<f8'), ('phase', '<f8')])"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iso_array.dtype"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Which means we can select columns using the bracket operator:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0., 0., 0., ..., 6., 6., 6.])"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iso_array['phase']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can use `phase` to select the part of the isochrone for stars in the main sequence and red giant phases."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"354"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"phase_mask = (iso_array['phase'] >= 0) & (iso_array['phase'] < 3)\n",
"phase_mask.sum()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"354"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"main_sequence = iso_array[phase_mask]\n",
"len(main_sequence)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The other two columns we'll use are `PS_g` and `PS_i`, which contain simulated photometry data for stars with the given age and metallicity, based on a model of the Pan-STARRS sensors.\n",
"\n",
"We'll use these columns to superimpose the isochrone on the color-magnitude diagram, but first we have to use a [distance modulus](https://en.wikipedia.org/wiki/Distance_modulus) to scale the isochrone based on the estimated distance of GD-1.\n",
"\n",
"We can use the `Distance` object from Astropy to compute the distance modulus."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"14.4604730134524"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import astropy.coordinates as coord\n",
"import astropy.units as u\n",
"\n",
"distance = 7.8 * u.kpc\n",
"distmod = coord.Distance(distance).distmod.value\n",
"distmod"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can compute the scaled magnitude and color of the isochrone."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"mag_g = main_sequence['PS_g'] + distmod\n",
"color_g_i = main_sequence['PS_g'] - main_sequence['PS_i']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can plot it on the color-magnitude diagram like this."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_cmd(photo_table)\n",
"plt.plot(color_g_i, mag_g);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The theoretical isochrone passes through the overdense region where we expect to find stars in GD-1.\n",
"\n",
"Let's save this result so we can reload it later without repeating the steps in this section.\n",
"\n",
"So we can save the data in an HDF5 file, we'll put it in a Pandas `DataFrame` first:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"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>mag_g</th>\n",
" <th>color_g_i</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>28.294743</td>\n",
" <td>2.195021</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>28.189718</td>\n",
" <td>2.166076</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>28.051761</td>\n",
" <td>2.129312</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>27.916194</td>\n",
" <td>2.093721</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>27.780024</td>\n",
" <td>2.058585</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mag_g color_g_i\n",
"0 28.294743 2.195021\n",
"1 28.189718 2.166076\n",
"2 28.051761 2.129312\n",
"3 27.916194 2.093721\n",
"4 27.780024 2.058585"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"iso_df = pd.DataFrame()\n",
"iso_df['mag_g'] = mag_g\n",
"iso_df['color_g_i'] = color_g_i\n",
"\n",
"iso_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And then save it."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"filename = 'gd1_isochrone.hdf5'\n",
"\n",
"iso_df.to_hdf(filename, 'iso_df')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Making a polygon\n",
"\n",
"The following cell downloads the isochrone we made in the previous section, if necessary."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from wget import download\n",
"\n",
"filename = 'gd1_isochrone.hdf5'\n",
"filepath = 'https://github.com/AllenDowney/AstronomicalData/raw/main/data/'\n",
"\n",
"if not os.path.exists(filename):\n",
" print(download(filepath+filename))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can read it back in."
]
},
{
"cell_type": "code",
"execution_count": 24,
"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>mag_g</th>\n",
" <th>color_g_i</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>28.294743</td>\n",
" <td>2.195021</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>28.189718</td>\n",
" <td>2.166076</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>28.051761</td>\n",
" <td>2.129312</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>27.916194</td>\n",
" <td>2.093721</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>27.780024</td>\n",
" <td>2.058585</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mag_g color_g_i\n",
"0 28.294743 2.195021\n",
"1 28.189718 2.166076\n",
"2 28.051761 2.129312\n",
"3 27.916194 2.093721\n",
"4 27.780024 2.058585"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iso_df = pd.read_hdf(filename, 'iso_df')\n",
"iso_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's what the isochrone looks like on the color-magnitude diagram."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_cmd(photo_table)\n",
"plt.plot(iso_df['color_g_i'], iso_df['mag_g']);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the bottom half of the figure, the isochrone passes through the overdense region where the stars are likely to belong to GD-1.\n",
"\n",
"In the top half, the isochrone passes through other regions where the stars have higher magnitude and metallicity than we expect for stars in GD-1.\n",
"\n",
"So we'll select the part of the isochrone that lies in the overdense region.\n",
"\n",
"`g_mask` is a Boolean Series that is `True` where `g` is between 18.0 and 21.5."
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"117"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g = iso_df['mag_g']\n",
"\n",
"g_mask = (g > 18.0) & (g < 21.5)\n",
"g_mask.sum()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can use it to select the corresponding rows in `iso_df`:"
]
},
{
"cell_type": "code",
"execution_count": 27,
"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>mag_g</th>\n",
" <th>color_g_i</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>94</th>\n",
" <td>21.411746</td>\n",
" <td>0.692171</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>21.322466</td>\n",
" <td>0.670238</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>21.233380</td>\n",
" <td>0.648449</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>21.144427</td>\n",
" <td>0.626924</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>21.054549</td>\n",
" <td>0.605461</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mag_g color_g_i\n",
"94 21.411746 0.692171\n",
"95 21.322466 0.670238\n",
"96 21.233380 0.648449\n",
"97 21.144427 0.626924\n",
"98 21.054549 0.605461"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iso_masked = iso_df[g_mask]\n",
"iso_masked.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, to select the stars in the overdense region, we have to define a polygon that includes stars near the isochrone.\n",
"\n",
"The original paper uses the following formulas to define the left and right boundaries. "
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"g = iso_masked['mag_g']\n",
"left_color = iso_masked['color_g_i'] - 0.4 * (g/28)**5\n",
"right_color = iso_masked['color_g_i'] + 0.8 * (g/28)**5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The intention seems to be to define a polygon that gets wider as `g` increases.\n",
"\n",
"But we can do about as well with a simpler formula:"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"g = iso_masked['mag_g']\n",
"left_color = iso_masked['color_g_i'] - 0.06\n",
"right_color = iso_masked['color_g_i'] + 0.12"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's what these boundaries look like:"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_cmd(photo_table)\n",
"\n",
"plt.plot(left_color, g, label='left color')\n",
"plt.plot(right_color, g, label='right color')\n",
"\n",
"plt.legend();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Which points are in the polygon?\n",
"\n",
"Matplotlib provides a `Polygon` object that we can use to check which points fall in the polygon we just constructed.\n",
"\n",
"To make a `Polygon`, we need to assemble `g`, `left_color`, and `right_color` into a loop, so the points in `left_color` are connected to the points of `right_color` in reverse order.\n",
"\n",
"We'll use the following function, which takes two arrays and joins them front-to-back:"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"def front_to_back(first, second):\n",
" \"\"\"Join two arrays front to back.\"\"\"\n",
" return np.append(first, second[::-1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`front_to_back` uses a \"slice index\" to reverse the elements of `second`.\n",
"\n",
"As explained in the [NumPy documentation](https://numpy.org/doc/stable/reference/arrays.indexing.html), a slice index has three parts separated by colons:\n",
"\n",
"* `start`: The index of the element where the slice starts.\n",
"\n",
"* `stop`: The index of the element where the slice ends.\n",
"\n",
"* `step`: The step size between elements.\n",
"\n",
"In this example, `start` and `stop` are omitted, which means all elements are selected.\n",
"\n",
"And `step` is `-1`, which means the elements are in reverse order.\n",
"\n",
"We can use `front_to_back` to make a loop that includes the elements of `left_color` and `right_color`:"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(234,)"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"color_loop = front_to_back(left_color, right_color)\n",
"color_loop.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And a corresponding loop with the elements of `g` in forward and reverse order."
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(234,)"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mag_loop = front_to_back(g, g)\n",
"mag_loop.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's what the loop looks like."
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_cmd(photo_table)\n",
"plt.plot(color_loop, mag_loop);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To make a `Polygon`, it will be convenient to put `color_loop` and `mag_loop` into a `DataFrame`:"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"loop_df = pd.DataFrame()\n",
"loop_df['color_loop'] = color_loop\n",
"loop_df['mag_loop'] = mag_loop"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can pass `loop_df` to `Polygon`:"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.patches.Polygon at 0x7fe98cd29400>"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from matplotlib.patches import Polygon\n",
"\n",
"polygon = Polygon(loop_df)\n",
"polygon"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The result is a `Polygon` object , which provides `contains_points`, which figures out which points are inside the polygon.\n",
"\n",
"To test it, we'll create a list with two points, one inside the polygon and one outside."
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"points = [(0.4, 20), \n",
" (0.4, 16)]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can make sure `contains_points` does what we expect."
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ True, False])"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"inside = polygon.contains_points(points)\n",
"inside"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The result is an array of Boolean values.\n",
"\n",
"We are almost ready to select stars whose photometry data falls in this polygon. But first we need to do some data cleaning."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Save the polygon\n",
"\n",
"[Reproducibile research](https://en.wikipedia.org/wiki/Reproducibility#Reproducible_research) is \"the idea that ... the full computational environment used to produce the results in the paper such as the code, data, etc. can be used to reproduce the results and create new work based on the research.\"\n",
"\n",
"This Jupyter notebook is an example of reproducible research because it contains all of the code needed to reproduce the results, including the database queries that download the data and and analysis.\n",
"\n",
"In this lesson we used an isochrone to derive a polygon, which we used to select stars based on photometry. \n",
"So it is important to record the polygon as part of the data analysis pipeline.\n",
"\n",
"Here's how we can save it in an HDF file."
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"filename = 'gd1_polygon.hdf5'\n",
"loop_df.to_hdf(filename, 'loop_df')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Reloading the data\n",
"\n",
"Now we need to combine the photometry data with the list of candidate stars we identified in a previous notebook. The following cell downloads it:\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from wget import download\n",
"\n",
"filename = 'gd1_candidates.hdf5'\n",
"filepath = 'https://github.com/AllenDowney/AstronomicalData/raw/main/data/'\n",
"\n",
"if not os.path.exists(filename):\n",
" print(download(filepath+filename))"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"\n",
"candidate_df = pd.read_hdf(filename, 'candidate_df')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`candidate_df` is the Pandas DataFrame that contains the results from Lesson 4, which selects stars likely to be in GD-1 based on proper motion. It also includes position and proper motion transformed to the ICRS frame."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Merging photometry data\n",
"\n",
"Before we select stars based on photometry data, we have to solve two problems:\n",
"\n",
"1. We only have Pan-STARRS data for some stars in `candidate_df`.\n",
"\n",
"2. Even for the stars where we have Pan-STARRS data in `photo_table`, some photometry data is missing.\n",
"\n",
"We will solve these problems in two step:\n",
"\n",
"1. We'll merge the data from `candidate_df` and `photo_table` into a single Pandas `DataFrame`.\n",
"\n",
"2. We'll use Pandas functions to deal with missing data.\n",
"\n",
"`candidate_df` is already a `DataFrame`, but `results` is an Astropy `Table`. Let's convert it to Pandas:"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"source_id\n",
"g_mean_psf_mag\n",
"i_mean_psf_mag\n"
]
}
],
"source": [
"photo_df = photo_table.to_pandas()\n",
"\n",
"for colname in photo_df.columns:\n",
" print(colname)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we want to combine `candidate_df` and `photo_df` into a single table, using `source_id` to match up the rows.\n",
"\n",
"You might recognize this task; it's the same as the JOIN operation in ADQL/SQL.\n",
"\n",
"Pandas provides a function called `merge` that does what we want. Here's how we use it."
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"scrolled": true
},
"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>source_id</th>\n",
" <th>ra</th>\n",
" <th>dec</th>\n",
" <th>pmra</th>\n",
" <th>pmdec</th>\n",
" <th>parallax</th>\n",
" <th>radial_velocity</th>\n",
" <th>phi1</th>\n",
" <th>phi2</th>\n",
" <th>pm_phi1</th>\n",
" <th>pm_phi2</th>\n",
" <th>g_mean_psf_mag</th>\n",
" <th>i_mean_psf_mag</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>635860218726658176</td>\n",
" <td>138.518707</td>\n",
" <td>19.092339</td>\n",
" <td>-5.941679</td>\n",
" <td>-11.346409</td>\n",
" <td>0.307456</td>\n",
" <td>NaN</td>\n",
" <td>-59.247330</td>\n",
" <td>-2.016078</td>\n",
" <td>-7.527126</td>\n",
" <td>1.748779</td>\n",
" <td>17.8978</td>\n",
" <td>17.517401</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>635674126383965568</td>\n",
" <td>138.842874</td>\n",
" <td>19.031798</td>\n",
" <td>-3.897001</td>\n",
" <td>-12.702780</td>\n",
" <td>0.779463</td>\n",
" <td>NaN</td>\n",
" <td>-59.133391</td>\n",
" <td>-2.306901</td>\n",
" <td>-7.560608</td>\n",
" <td>-0.741800</td>\n",
" <td>19.2873</td>\n",
" <td>17.678101</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>635535454774983040</td>\n",
" <td>137.837752</td>\n",
" <td>18.864007</td>\n",
" <td>-4.335041</td>\n",
" <td>-14.492309</td>\n",
" <td>0.314514</td>\n",
" <td>NaN</td>\n",
" <td>-59.785300</td>\n",
" <td>-1.594569</td>\n",
" <td>-9.357536</td>\n",
" <td>-1.218492</td>\n",
" <td>16.9238</td>\n",
" <td>16.478100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>635497276810313600</td>\n",
" <td>138.044516</td>\n",
" <td>19.009471</td>\n",
" <td>-7.172931</td>\n",
" <td>-12.291499</td>\n",
" <td>0.425404</td>\n",
" <td>NaN</td>\n",
" <td>-59.557744</td>\n",
" <td>-1.682147</td>\n",
" <td>-9.000831</td>\n",
" <td>2.334407</td>\n",
" <td>19.9242</td>\n",
" <td>18.334000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>635614168640132864</td>\n",
" <td>139.592197</td>\n",
" <td>18.807956</td>\n",
" <td>-3.309603</td>\n",
" <td>-13.708905</td>\n",
" <td>0.583382</td>\n",
" <td>NaN</td>\n",
" <td>-58.938113</td>\n",
" <td>-3.024192</td>\n",
" <td>-8.062762</td>\n",
" <td>-1.869082</td>\n",
" <td>16.1516</td>\n",
" <td>14.666300</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" source_id ra dec pmra pmdec parallax \\\n",
"0 635860218726658176 138.518707 19.092339 -5.941679 -11.346409 0.307456 \n",
"1 635674126383965568 138.842874 19.031798 -3.897001 -12.702780 0.779463 \n",
"2 635535454774983040 137.837752 18.864007 -4.335041 -14.492309 0.314514 \n",
"3 635497276810313600 138.044516 19.009471 -7.172931 -12.291499 0.425404 \n",
"4 635614168640132864 139.592197 18.807956 -3.309603 -13.708905 0.583382 \n",
"\n",
" radial_velocity phi1 phi2 pm_phi1 pm_phi2 g_mean_psf_mag \\\n",
"0 NaN -59.247330 -2.016078 -7.527126 1.748779 17.8978 \n",
"1 NaN -59.133391 -2.306901 -7.560608 -0.741800 19.2873 \n",
"2 NaN -59.785300 -1.594569 -9.357536 -1.218492 16.9238 \n",
"3 NaN -59.557744 -1.682147 -9.000831 2.334407 19.9242 \n",
"4 NaN -58.938113 -3.024192 -8.062762 -1.869082 16.1516 \n",
"\n",
" i_mean_psf_mag \n",
"0 17.517401 \n",
"1 17.678101 \n",
"2 16.478100 \n",
"3 18.334000 \n",
"4 14.666300 "
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"merged = pd.merge(candidate_df, \n",
" photo_df, \n",
" on='source_id')\n",
"merged.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The first argument is the \"left\" table, the second argument is the \"right\" table, and the keyword argument `on='source_id'` specifies a column to use to match up the rows.\n",
"\n",
"The result is a `DataFrame` that contains the same number of rows as `photo_df`. "
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(7346, 3724, 3724)"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(candidate_df), len(photo_df), len(merged)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And it contains all columns from both tables."
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"source_id\n",
"ra\n",
"dec\n",
"pmra\n",
"pmdec\n",
"parallax\n",
"radial_velocity\n",
"phi1\n",
"phi2\n",
"pm_phi1\n",
"pm_phi2\n",
"g_mean_psf_mag\n",
"i_mean_psf_mag\n"
]
}
],
"source": [
"for colname in merged.columns:\n",
" print(colname)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Detail** You might notice that Pandas also provides a function called `join`; it does almost the same thing, but the interface is slightly different. We think `merge` is a little easier to use, so that's what we chose. It's also more consistent with JOIN in SQL, so if you learn how to use `pd.merge`, you are also learning how to use SQL JOIN.\n",
"\n",
"Also, someone might ask why we have to use Pandas to do this join; why didn't we do it in ADQL. The answer is that we could have done that, but since we already have the data we need, we should probably do the computation locally rather than make another round trip to the Gaia server."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Selecting based on photometry\n",
"\n",
"Now let's see how many of these points are inside the polygon we chose.\n",
"\n",
"We'll put color and magnitude data from `merged` into a new `DataFrame`:"
]
},
{
"cell_type": "code",
"execution_count": 46,
"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>color</th>\n",
" <th>mag</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.3804</td>\n",
" <td>17.8978</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1.6092</td>\n",
" <td>19.2873</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.4457</td>\n",
" <td>16.9238</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1.5902</td>\n",
" <td>19.9242</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1.4853</td>\n",
" <td>16.1516</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" color mag\n",
"0 0.3804 17.8978\n",
"1 1.6092 19.2873\n",
"2 0.4457 16.9238\n",
"3 1.5902 19.9242\n",
"4 1.4853 16.1516"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"points = pd.DataFrame()\n",
"\n",
"points['color'] = merged['g_mean_psf_mag'] - merged['i_mean_psf_mag']\n",
"points['mag'] = merged['g_mean_psf_mag']\n",
"\n",
"points.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Which we can pass to `contains_points`:"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([False, False, False, ..., False, False, False])"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"inside = polygon.contains_points(points)\n",
"inside"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The result is a Boolean array. We can use `sum` to see how many stars fall in the polygon."
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"454"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"inside.sum()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can use `inside` as a mask to select stars that fall inside the polygon."
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [],
"source": [
"selected2 = merged[inside]\n",
"points2 = points[inside]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's make a color-magnitude plot one more time, highlighting the selected stars with green markers."
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_cmd(photo_table)\n",
"plt.plot(color_g_i, mag_g)\n",
"plt.plot(color_loop, mag_loop)\n",
"\n",
"plt.plot(points2['color'], points2['mag'], 'g.');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It looks like the selected stars are, in fact, inside the polygon, which means they have photometry data consistent with GD-1.\n",
"\n",
"Finally, we can plot the coordinates of the selected stars:"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x180 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,2.5))\n",
"\n",
"x = selected2['phi1']\n",
"y = selected2['phi2']\n",
"\n",
"plt.plot(x, y, 'ko', markersize=0.7, alpha=0.9)\n",
"\n",
"plt.xlabel('ra (degree GD1)')\n",
"plt.ylabel('dec (degree GD1)')\n",
"\n",
"plt.axis('equal');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This example includes two new Matplotlib commands:\n",
"\n",
"* `figure` creates the figure. In previous examples, we didn't have to use this function; the figure was created automatically. But when we call it explicitly, we can provide arguments like `figsize`, which sets the size of the figure.\n",
"\n",
"* `axis` with the parameter `equal` sets up the axes so a unit is the same size along the `x` and `y` axes.\n",
"\n",
"In an example like this, where `x` and `y` represent coordinates in space, equal axes ensures that the distance between points is represented accurately. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Write the data\n",
"\n",
"Finally, let's write the merged DataFrame to a file."
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [],
"source": [
"filename = 'gd1_merged.hdf5'\n",
"\n",
"merged.to_hdf(filename, 'merged')\n",
"selected2.to_hdf(filename, 'selected2')"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-rw-rw-r-- 1 downey downey 1.1M Dec 29 11:51 gd1_merged.hdf5\r\n"
]
}
],
"source": [
"!ls -lh gd1_merged.hdf5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you are using Windows, `ls` might not work; in that case, try:\n",
"\n",
"```\n",
"!dir gd1_merged.hdf5\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summary\n",
"\n",
"In this lesson, we worked with three datasets: \n",
"\n",
"* The list of candidate stars from Gaia,\n",
"\n",
"* The photometry data from Pan-STARRS, and\n",
"\n",
"* An isochrone computed by MIST.\n",
"\n",
"We drew a color-magnitude diagram and used it to identify stars we think are likely to be in GD-1.\n",
"\n",
"We used the isochrone to define a polygon that includes those stars.\n",
"\n",
"Then we used a Pandas `merge` operation to combine Gaia and Pan-STARRS data into a single `DataFrame`.\n",
"\n",
"Plotting the results, we have a clear picture of GD-1, similar to Figure 1 in the original paper."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Best practices\n",
"\n",
"* Matplotlib provides operations for working with points, polygons, and other geometric entities, so it's not just for making figures.\n",
"\n",
"* If you want to perform something like a database `JOIN` operation with data that is in a Pandas `DataFrame`, you can use the `join` or `merge` function. In many cases, `merge` is easier to use because the arguments are more like SQL.\n",
"\n",
"* Use Matplotlib options to control the size and aspect ratio of figures to make them easier to interpret. In this example, we scaled the axes so the size of a degree is equal along both axes.\n",
"\n",
"* Be sure to record every element of the data analysis pipeline that would be needed to replicate the results."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"celltoolbar": "Tags",
"kernelspec": {
"display_name": "Python 3",
"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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}