{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "# Ground Based Observation\n", "\n", "\n", "If you make observations on the ground, the biggest problem is the atmosphere. The atmosphere makes two important problems:\n", "\n", "* Seeing\n", "* Extinction (= scattering + absorption)\n", "\n", "In the following, we will explore what seeing and extinction are, and learn how to get the \"real\" magnitude from instrumental magnitude (called the **standardization** process).\n", "\n", "Finally, I will show you some examples for you to understand how to do the real standardization process.\n", "\n", "-----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Seeing\n", "\n", "\n", "Seeing is one of the critical problems. You may refer to [here](https://drive.google.com/open?id=0B-MLFRYnMxUvWTNiZjhaZHA1cnM) and grasp the meaning of seeing. In this section, I will ignore the instrumental seeing, which usually is a low-frequency component.\n", "\n", "Because of the atmospheric seeing, the point source is smoothed from its own \"point\". The function which describes this spreadness is called the **point spread function**, or just **psf**.\n", "\n", "There are two most widely used analytic psfs: [Gaussian](https://en.wikipedia.org/wiki/Gaussian_function) and [Moffat](https://en.wikipedia.org/wiki/Moffat_distribution). The first suggestion of using Moffat profile was made in 1969 by A. F. J. Moffat in [this paper](http://adsabs.harvard.edu/cgi-bin/bib_query?bibcode=1969A%26A.....3..455M&db_key=AST) (Astronomy and Astrophysics, Vol. 3, p. 455 (1969)). \n", "\n", "Among parameters for psfs, one that is very widely used in astronomy is the FWHM (full width at half-maximum). FWHM is defined as the distance between the two points which have the value $\\frac{1}{2} f_{\\rm max}$. FWHM is also used for Lorenzian profile, which has infinite standard deviation (the second centered moment diverges, so the standard deviation is not defined, but FWHM can). The profiles of two psfs and their FWHMs are described below:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1. Gauss\n", "The circular, i.e., azimuthally symmetric Gauss psf is like this:\n", "\n", "$$ f_{\\rm Gauss}(r) = A e^{ -(r-r_0)^2/2\\sigma^2 } $$\n", "\n", "Here, $r$ is the distance from the center, $r_0$, and $\\sigma$ is the standard deviation of the profile. The normalization constant $A = \\frac{1}{\\sqrt{2 \\pi \\sigma^2}}$, such that the integration $ \\int_{-\\infty}^{+\\infty} f_{\\rm Gauss}(r) 2\\pi r dr = 1$. \n", "\n", "The FWHM is calculated by setting $f_{\\rm Gauss}(r_{1/2}) = \\frac{A}{2}$. First we obtain\n", "\n", "$$ (r_{1/2} - r_0)^2 = 2 \\log_e 2 \\sigma^2$$\n", "\n", "and thus\n", "\n", "$$ {\\rm FWHM} := 2(r_{1/2} - r_0) = 2 \\sqrt{2 \\log_e 2} \\sigma ~.$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2. Moffat\n", "The circular, i.e., azimuthally symmetric Moffat psf is like this:\n", "\n", "$$f_{\\rm Moffat} (r) = A \\left [ 1 + \\left ( \\frac{r-r_0}{R} \\right )^2 \\right ]^{-\\beta} ~.$$\n", "\n", "Here, $r$ is the distance from the center, $r_0$, as in Gauss psf. By integration, $ \\int_{-\\infty}^{+\\infty} f_{\\rm Moffat}(r) 2\\pi r dr = 1$, I obtained the normalization constant $ A = \\frac{\\beta - 1}{\\pi R^2} $. The parameter $R$ is called the core width and $\\beta$ is called the power. In [astropy Moffat 2D](http://docs.astropy.org/en/stable/api/astropy.modeling.functional_models.Moffat2D.html#astropy.modeling.functional_models.Moffat2D), `gamma` is used for the core width ($R$), and `alpha` is used for the power ($\\beta$), which might be confusing. [IRAF Moffat 2D](http://stsdas.stsci.edu/cgi-bin/gethelp.cgi?psfmeasure) uses `alpha` as the core width ($R$) and `beta` for the power ($\\beta$), which has been a more standard notation in astronomy. Moffat considered atmospheric turbulence, instrumental abberation, and photographic receiver when he first instroduced this profile, althought the profile itself is empirical.\n", "\n", "The FWHM is calculated by setting $f_{\\rm Moffat}(r_{1/2}) = \\frac{A}{2}$. As we did in Gauss example, we obtain\n", "\n", "$$ (r_{1/2} - r_0)^2 = R^2 (2^{1/\\beta}-1) $$\n", "\n", "and thus\n", "\n", "$$ {\\rm FWHM} := 2(r_{1/2} - r_0) = 2 R \\sqrt{2^{1/\\beta}-1} ~.$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3. Comparison (Gauss VS Moffat)\n", "\n", "In uniform atmospheric seeing condition and long exposure time, psf should converge to a symmetric shape, i.e., isophotal curves should look like a concentric circles. It actually is rarely the case. We encounter elliptical, or even irregularly shaped isophotes. In such cases, you may make elliptical model rotated by certain angle, or simulate the seeing. Those fitting or simulation can be done using Astropy if necessary. Usually we believe the tracking is perfect, and use circular aperture. \n", "\n", "In the following example, I will show you the difference between Gaussian and Moffat in 1-D simple case." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n7+/v4+Hh4ffmm29q/MXl6OgojY6ObtDX1++RsQ/Dhw8Xpaen8wEgOTmZv3DhwrJr164ZA0BSUpKJ\nv79/A5er2Wpl06dPr0xISLAEgISEBMu4uLhKbVzGjBlT7+LiIukoz4gRIxoFAoEEAEJDQ5vEYjGn\nsbGR/ZXZDprcuYsAPAkhrpAHYrMBzFXNQCl1Vf6t0jL3IyGE29mx2kIbqvFcTDAA4Oq9avgMHAB9\nPWYsT1RRUaFrBbUw1QtgrhtTvbpCR3WxfedtiM6eRfXhw3CZPx9VDRLsSLqNif72OvXSJUz1Apjr\n1lNe0z5L9QKA9bGB+b4OA8Sbfsu1S75ZZj5SaFP9j/FeD67fr+X98/urAgD4aWlkLgAs++ayS2Fl\ng+HCSNfSacGONT/9WWy2N/WuvbOlcdPWuYM7XBX7+++/H2Bvby9JTEy8paiHnmp6fn6+/saNGwde\nvnz5urm5uWz48OFCPz+/RmV6TU0N98qVKznffPON+ezZsz3++OOPnNDQ0MbAwECftLQ0o+HDhzdu\n3ry52M7OrkUqlWL48OFe58+fNwoPD2986aWXnM6ePftY12FsbGzlunXrSrt6DePj490MDQ1lACCR\nSAiHI/9+HD16tOijjz5yBIBz586ZrFmzpuTQoUOWVVVVnNTUVJOwsDCRsoxjx45ZeHt785XPCwsL\nearnmDNnTtWCBQtc16xZ8+DkyZPmBw4cuPPf//7XCgAyMzN5s2bNclfnlpqammttbd2ibZ327dtn\n4efn12BkZMQO6m2HToM5SqmUELIUwEkAegD2UkqvKVetp5Tu0PbY7ggLBAIAQE5pLaZtO4t3Jnrj\n1Wi1/2/6HKUb02CqF8BcN6Z6dYWO6sJzc4N5XByqDx5E9d69WP/ScliaGOjcS5cw1QtgrhtTvTpj\n8ODBje+//77Ta6+95jht2rSaiRMnilTTU1JSTMLDw+vs7OxaAGDGjBlVN2/ebB1LN2XKlGoOh4PB\ngwc3WFlZScLCwhoBQCgUNt6+fZs3fPjwxn379ll+9dVX1lKplJSVlelnZmYahoeHN+7Zs6cIvUBC\nQsKdtt2sCqdmiURCCgsLubdu3TIKCgpqCgkJaUhKSjI5f/48f+nSpa2TF6dOnVrVtptV9Ry2trYt\nZmZm0l27dll4eHg08vl8mTItKChInJOTc72n6nPp0iXDVatWOf766695PVXmk4hGbaqU0l8g32pI\n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\npexjma+9rG7t4bX8yV9C20nnBp5eFd1wCXY1UVFRxe+++25v4MrRo0etKioqVBqNRuzZs8cmMjKy\nqG7Z2NhYq40bN9onJSWdrKysJDg42C8kJKT0kUceKVi5cmWvd999N2vUqFGlNeUdHR21J0+eTHn7\n7bd7vv32272/+eabzM2bN9u+8MILDUZdLC0tdTX5WQHGjBnjZWJiojzyyCNXn3/++Rb34UtJSbFM\nTExMKSoqMgkJCfGbMWPG9d27d1snJSVZpqSknMjJyTENDw/3HT9+fHFkZGTR3r17bR944IHrly5d\nMr9y5YoCEBcXZ3v//ffnHz582OK7776zP3ToUKparVYefPDBAatWrXJ45pln8srKylQREREla9as\nyQZ9ALxv3z7b+j733HNPfk1+1tby6quvOi1ZsqRvZGRk0b///e/sltJ4ZWVlqeveTs3NzTV76qmn\nLgEMHTq0OC4uziY6OrpEpVIp48ePL3rhhRecgCuJiYk2b7zxRu18q3nz5rlbWFjoACorK0X9nLzT\np08v+OKLL+zCwsJKAwMDS9Vqda3X4sWLe69bt67BsPTQoUOLavKz/vLLL9ZPPPGE68WLF81XrVp1\nria4q8uyZcuypkyZ4rl48WJnnU5HXFxcaoNCLdDlRuZqduhvLeYDBwKgST/L+sMXCH1zF1kFpS2c\nZRhtdessZPUCed1k9TKEjmxLt569uP+1d/CMGE5FWSmHnHuSbWeLR3opm89ubniC60jwHA/56dL2\nsaxeIK+brF4tMXLkyNKkpCTr/Px8lVqtVsLCwopjY2OtEhISbKOjo28YvYmJibGZPHnyNVtbW529\nvb1u/Pjx15qre86cOQUA4eHhpVlZWWqAadOmFTWWmL1uIBcXF5dac1tuzZo1vbZv397iCNikSZOu\n2djYKH379tUOGzasMDY21jo2NtZ21qxZ+aampjg7O2sjIiKK4+LirMaNG1e8f/9+m8TERAsvL68y\nR0fHyszMTLPExETr6Ojo4h07dtgmJydbBQUF+fr4+PjFxcV1S09PV4N+1Ovhhx8uqHndjz/+OKux\n9rQ1kFu6dOmFc+fOJR87diyloKDAZPHixS0minZ2dtbUfc158+ZdrTk2cuTIkl9//dVmz5491sHB\nwaX+/v6ajIwM9cWLF01LS0tV/v7+tSuxPv/88/SaOrZt29Zg9da8efPyN27caL927VqHOXPm5Nc9\n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\n7P8Aep2bKjlYq64AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from astropy.modeling.functional_models import Moffat1D, Gaussian1D\n", "from scipy.special import gamma as G\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "\n", "def norm_gauss(sigma):\n", " return 1/np.sqrt(2 * np.pi * sigma**2)\n", "\n", "def norm_moffat(width, power):\n", " return G(power) / (width * np.sqrt(np.pi) * G(power - 1/2))\n", "\n", "def HWHM_moffat(width, power):\n", " return width * np.sqrt( 2**(1/power) - 1)\n", "\n", "x = np.arange(0,8,0.1)\n", "sigma = np.array([1, 2])\n", "width = np.array([2, 5])\n", "power = np.array([1.5, 2.5])\n", "\n", "\n", "ax1 = plt.subplot(1,2,1)\n", "ax2 = plt.subplot(1,2,2)\n", "for s in sigma:\n", " gauss = Gaussian1D(amplitude=1, mean=0, stddev=s) \n", " ax1.plot(x, norm_gauss(s)*gauss(x), ls=\":\", \n", " label=\"sigma={0:.0f}, HWHM={1:.1f}\".format(s, 2.355*s/2))\n", " ax2.plot(x, -2.5 * np.log10(norm_gauss(s)*gauss(x)), ls=\":\", \n", " label=\"sigma={0:.0f}, HWHM={1:.1f}\".format(s, 2.355*s/2))\n", "\n", "for w in width:\n", " for p in power:\n", " moffat = Moffat1D(amplitude=1, x_0=0, gamma=w, alpha=p)\n", " HWHM = HWHM_moffat(w, p)\n", " ax1.plot(x, norm_moffat(w, p) * moffat(x), lw=2,\n", " label='w={0:.0f}, p={1:.1f}, HWHM={2:.1f}'.format(w, p, HWHM))\n", " ax2.plot(x, -2.5*np.log10(norm_moffat(w, p) * moffat(x)), lw=2,\n", " label='width={0:.0f}, power={1:.1f}, HWHM={2:.1f}'.format(w, p, HWHM))\n", "\n", "ax1.grid(ls=\":\")\n", "ax2.grid(ls=\":\")\n", "ax2.set_ylim(1, 5)\n", "ax2.invert_yaxis()\n", "ax2.set_title('log scale = magnitude scale')\n", "plt.legend(bbox_to_anchor=(1.02, 1))\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Moffat describes in his 1969 paper that\n", "\n", "> Two-dimensional intensity profiles of focal stellar images in photographic emulsions were derived by convolving gaussian seeing distributions with diffraction proffles and emulsion scattering functions. **The results predict too low an intensity for large radial distances from the centre of the image**, contradicting the assumption that seeing is gaussian.\n", "\n", "He noted that the stellar profile is too bright than the good-fitted Gaussian at larger radius, and this contradicts with the old assumption that seeing profile is Gaussian. This can be seen from the above figure I drew. Compare blue dotted (Gauss) and red solid lines (Moffat). The HWHMs are 1.2 and 1.1, so you may expect the latter to have more \"concentrated\" profile. But at radius larger than about 1.5, latter becomes larger. \n", "\n", "This means the Gaussian fitting may not always be a good choice, especially in the presence of atmosphere.\n", "\n", "* **Question**: Why do you think I let the abscissa to be in a logarithmic scale? Can you guess what the $\\log_{10}$ of stellar profile means?\n", "\n", "* **TIP**: The reason I normalized psfs is that I wanted to simulate the psf of the same star with different atmospheric condition. The total flux of the star should be constant, but the psf changes due to the seeing.\n", "-----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Extinction\n", "\n", "Because of the atmosphere, stellar flux diminishes because of **absorption** and **scattering**. It is mainly because of the change in weather; the same star can appear to have different flux every time, even though the exposure time and instruments are exactly the same. This of course depends on the thickness of atmosphere in the line of sight. More complicated issue is that this extinction is also a function of wavelength, so you have to apply different extinction factor for different filters, *in principle*. \n", "\n", "\n", "### 2.1. Atmospheric Extinction\n", "Under parallel uniform atmosphere assumption, the flux diminishes by a factor of $e^{-\\tau}$, where $\\tau$ is the optical depth. In magnitude system, i.e., the logarithmic scale, this means the increase in magnitude is proportional to the airmass, $X = \\sec(z)$: \n", "\n", "\\begin{equation}\n", " m(X) = m_0 + k_X X\n", "\\end{equation}\n", "\n", "where $m$ is the observed magnitude, $m_0$ is the magnitude if it were not for the atmosphere, and $k_X$ is a constant called the *extinction coefficient*.\n", "\n", "\n", "### 2.2. Wavelength Dependence\n", "It is natural that the extinction, which include absorption and scattering, depends on wavelength. In [Rayleigh regime](https://en.wikipedia.org/wiki/Rayleigh_scattering), i.e., when wavelength is much longer than particles ($x \\ll \\lambda$ where $x$ is the size parameter), the extinction is approximately proportional to $\\lambda^{-4}$. So shorter wavelength must have larger $k_X$ value, which means it suffers more extinction from atmosphere. \n", "\n", "> $k_X$ is actually a wavelength dependent one ($k_{X, \\lambda}$). Typical values are\n", " * 0.4 in U-band\n", " * 0.2 in B-band\n", " * 0.1 in V-band\n", "\n", "\n", "In broad-band observation, the word \"wavelength\" can be substituted by \"filter\". For example, if we want the V band magnitude, we need to find coefficients $a$ and $k_{XC}$ from \n", "\n", "\\begin{equation}\n", " m_V = m_{V, 0} + k_{X, V} X + a({\\rm B}-{\\rm V}) + k_{XC, V} X ({\\rm B}-{\\rm V}) ~.\n", "\\end{equation}\n", "\n", "You can use U, R, I, or any other bands instead of B, but I used B which is conventional. The subscript C in $k_{XC}$ means \"color\".\n", "\n", "Fortunately, $a$ is very small ($|a| \\lesssim 0.1$), and $k_{\\rm XC}$ is nearly zero for most instances. Considering B-V color is usually less than unity, you can see that the color terms (the third and the fourth term) will be very negligible. Especially the introduction of $k_{XC}$ increases the uncertainty in many cases, so it is not usually used unless the sky is very clear.\n", "\n", "> The color dependent terms ($k_{XC, V}$ and even $a$) is not very useful unless you need very precise determination.\n", "\n", "\n", "-----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Zero-point\n", "\n", "What we will calculate from program or software is just $m_{\\rm inst} = 2.5 \\log_{10} ({\\rm photon~count~per~1s})$ (the **instrumental magnitude**). In such cases, even the Moon may appear to have magnitude of only 10-mag or so, which is non-sensical. The normalization to photon count can be done by subtracting certain value from instrumental magnitude, which is mathematically identical to the normalization using 0-mag star (think about Pogson's formula). \n", "\n", "The correction to this kind of problem is done by **zeropoint** magnitude. If the zeropoint is denoted as $m_z$, we get the real magnitude as $m = m_{\\rm inst} - m_z$.\n", "\n", "-----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Standardization\n", "\n", "### 4.1. Idea\n", "Combining the zeropoint correction and extinction correction and ignore the color terms, we get\n", "\n", "\\begin{equation}\n", "\tm_{0, V} = m_{{\\rm inst}, V} - m_{z, V} - k_{X, V} X \\quad( - {\\rm color~correction~terms})~,\n", "\\end{equation}\n", "\n", "or more frequently, changing $m_{0, V} $ to $V$, $m_{{\\rm inst}, V}$ to $v$, etc, \n", "\n", "\\begin{equation}\n", "\tv - V = z_{V} + k_{V} X \\quad( + {\\rm color~correction~terms})~,\n", "\\end{equation}\n", "\n", "for V-band, as an example. Conventionally people use upper case for the actual (apparent) magnitude and lower case for instrumental (apparent) magnitude. \n", "\n", "This process, *transforming the instrumental magnitude to the \"real\" magnitude*, is called the **standardization**.\n", "\n", "\n", "### 4.2. Standardization in Practice\n", "\n", "Now, how do we get $m_z$ and $k_X$? What we know is only $X$ and what we can calculate is only $m_{\\rm inst}$! Fortunately, we have some stars which have very accurately known $m_0$ values. These are called the **standard stars**. Some famous ones are **Landolt standard stars**.\n", "\n", "So the strategy is clear: Take images of standard stars at different airmasses, at nearly identical sky conditions. Plot $m_{\\rm inst} - m_0$ VS $X$, and the slope and intercept will be $k_X$ and $m_z$, respectively. This is only true when we neglect the wavelength (or color) dependency of extinction. Note that these two depends on sky condition, i.e., **these should be determined at each night**, in principle.\n", "\n", "The easiest case occurs if the targets of interst are at almost identical zenith distance (i.e., constant $X$). Observation of a bright star cluster is such a case. Then we can regard $k_X X$ as a constant, and set it as part of $m_z$, so $ m_0 = m_{\\rm inst} - m_z' $.\n", "\n", "\n", "\n", "\n", "-----" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 1: Calculating Instrumental Magnitude and Color\n", "\n", "Consider you have obtained images of two objects and three standard stars. (I have obtained these data from the tutorial examples of a class which I took in 2016, and the data are not very realistic, but good enough to use for our example, so I adopted)\n", "\n", "\n", "Each of the standard stars was taken at three different airmasses, named `X`: 1.0, 1.3, and 2.0. The exposure time in V and B bands are `T_B` and `T_V`. The photon counts are given in `count_V` and `count_B`. Say the gain value `gain=1.0` and ignore the readout noise. Also assume the sky conditions were prefectly good during the observation. \n", "\n", "> **How can we calculate the magnitudes, colors, and their uncertainties?** \n", "\n", "For brevity, I will use lower cased letters, `b` and `v` for the *instrumental* magnitudes, and `B`, `V` for the *real (literature)* magnitudes.\n", "\n", "Let me first load and show you the data:\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "text/plain": [ "\n", "Target X T_V T_B count_V count_B \n", " str4 float64 int64 int64 int64 int64 \n", "------ ------- ----- ----- -------- --------\n", " obj1 1.2 15 30 8695591 14211249\n", " obj2 1.4 200 400 180181 112201\n", " std1 1.0 5 10 12687301 22438244\n", " std2 1.0 5 10 5534312 7521077\n", " std3 1.0 5 10 2280320 1835230\n", " std1 1.3 7 12 14711983 25343232\n", " std2 1.3 7 12 6404748 8489650\n", " std3 1.3 7 12 2638025 2060068\n", " std1 2.0 9 15 15845201 25669738\n", " std2 2.0 9 15 6885820 8636456\n", " std3 2.0 9 15 2796503 2042511>" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from astropy.io.ascii import read\n", "data = read('Ground_Based_Tutorial/data_0.dat')\n", "print(type(data))\n", "data.pprint" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want further information of astropy tables, see [this manual page](http://docs.astropy.org/en/stable/table/).\n", "\n", "To calculate the instrumental magnitude, you have to calculate\n", "\n", "\\begin{equation}\n", "\tm_{\\rm inst} \\equiv -2.5 \\log_{10}\\left ( \\frac{N}{\\Delta t} \\right ) ~.\n", "\\end{equation}\n", "\n", "$m_{\\rm inst}$ equals to `b` or `v`, $N$ (\"count\") is the column named `count_V` or `count_B`, and $\\Delta t$ (exposure time in seconds) is the one named `T_V` or `T_B`, depending on the filters you are interested in. For the uncertainties, only the Poissonian error of stellar flux matters *if dark and readout noise are ignored, and sky noise is negligible to that of the stellar flux and perfectly constant *. Then $\\Delta N = \\sqrt{N}$, so \n", "\n", "\\begin{align}\n", "\t\\Delta m_{\\rm inst} &\\approx \\left | \\frac{\\partial m_{\\rm inst}}{\\partial n} \\Delta N \\right | \\\\\n", "\t\t\t&= \\frac{2.5}{\\log 10} \\frac{\\Delta N}{N} \\\\\n", "\t\t\t&\\approx \\frac{1.0857}{\\sqrt{N}} ~.\n", "\\end{align}\n", "\n", "\n", "The (instrumental) B-V color can be obtained easily by subtracting the instrumental magnitudes `v` from `b`. The uncertainty of color is, by assuming there is no correlation between `b` and `v` magnitudes, $\\Delta {\\rm color} = \\sqrt{\\Delta v^2 + \\Delta b^2}$.\n", "\n", "* **Question**: What if the sky value is constant but not zero? Can you guess the mathematical form of $\\Delta N$?\n", "* **Question**: What if the sky value has average of 0 but has fluctuation (so called standard deviation)? Can you guess the mathematical form of $\\Delta N$?\n", "\n", "* **TIP**: Check the Appendix A\n", "\n", "* **TIP**: For a *very accurate* error analysis using CCD, see Merline & Howell 1995 (Experimental Astronomy, **6**, *163*)\n", "\n", "* **TIP**: It's bothersome to think about the ADU and electron units all the time. As a rule of thumb, think you always have to change all the ADU's to the electrons unit. Then you can realize where the gain factor should be.\n", "\n", "* **Question**: If several images are combined by summing, averaging, or medianing to make one image, it means we have more *information* in that single image, and thus our intuition says that the uncertainty ($\\Delta N/N$) should become smaller. Which parameters do you think will be changed to diminish $\\Delta N/N$ ?\n", "\n", "To calculate these, let me use the `Astropy.Table`, which is a kind of variants of `numpy.ndarray`:\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Target X T_V T_B count_V count_B v dv b db color dcolor\n", "------ --- --- --- -------- -------- ------- ------- ------- ------- ------ -------\n", " obj1 1.2 15 30 8695591 14211249 -14.408 0.00037 -14.189 0.00029 0.219 0.00047\n", " obj2 1.4 200 400 180181 112201 -7.387 0.00256 -6.120 0.00324 1.267 0.00413\n", " std1 1.0 5 10 12687301 22438244 -16.011 0.00030 -15.877 0.00023 0.134 0.00038\n", " std1 1.3 7 12 14711983 25343232 -15.806 0.00028 -15.812 0.00022 -0.005 0.00036\n", " std1 2.0 9 15 15845201 25669738 -15.614 0.00027 -15.583 0.00021 0.031 0.00035\n", " std2 1.0 5 10 5534312 7521077 -15.110 0.00046 -14.691 0.00040 0.420 0.00061\n", " std2 1.3 7 12 6404748 8489650 -14.904 0.00043 -14.624 0.00037 0.279 0.00057\n", " std2 2.0 9 15 6885820 8636456 -14.709 0.00041 -14.401 0.00037 0.309 0.00055\n", " std3 1.0 5 10 2280320 1835230 -14.148 0.00072 -13.159 0.00080 0.988 0.00108\n", " std3 1.3 7 12 2638025 2060068 -13.940 0.00067 -13.087 0.00076 0.854 0.00101\n", " std3 2.0 9 15 2796503 2042511 -13.731 0.00065 -12.835 0.00076 0.896 0.00100\n" ] } ], "source": [ "import numpy as np\n", "from astropy.io.ascii import read\n", "from astropy import table\n", "\n", "# b, v, c means instrumental B, V magnitudes and instrumental B-V color.\n", "v = table.Column(name='v' , data = -2.5 * np.log10(data['count_V']/data['T_V']))\n", "b = table.Column(name='b' , data = -2.5 * np.log10(data['count_B']/data['T_B']))\n", "dv = table.Column(name='dv', data = 1.0857 / np.sqrt(data['count_V']))\n", "db = table.Column(name='db', data = 1.0857 / np.sqrt(data['count_B']))\n", "\n", "c = table.Column(name='color' , data = b-v)\n", "dc = table.Column(name='dcolor', data = np.sqrt(db**2 + dv**2) )\n", "\n", "# Only save upto 3 or 5 decimal points\n", "v.format ='%6.3f'\n", "b.format ='%6.3f'\n", "c.format ='%6.3f'\n", "dv.format ='%6.5f'\n", "db.format ='%6.5f'\n", "dc.format ='%6.5f'\n", "\n", "data.add_columns([v, dv, b, db, c, dc])\n", "\n", "# To be more visual, I will \"sort\" with respect to the column 'Target':\n", "data = data.group_by('Target') \n", "\n", "# Then print:\n", "data.pprint(max_width=200) # max_width is used to print out all the values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-----\n", "\n", "## Example 2: Merge Literature Data\n", "\n", "Because the standard stars are the \"standard\" stars, we know their accurately measured B and V magnitudes, and thus the colors. For simplicity, let me assume these literature values are exact, and thus no uncertainty is there. \n", "\n", "> ** Let me show you how the instrumental magnitudes differ from the literature values. **\n", "\n", " The literature values are given as:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "Target V COLOR B \n", " str4 float64 float64 float64\n", "------ ------- ------- -------\n", " std1 9.1 -0.3 8.8\n", " std2 10.0 0.0 10.0\n", " std3 11.0 0.6 11.6>" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "from astropy.io.ascii import read\n", "std = read('Ground_Based_Tutorial/data_std.dat')\n", "std.pprint" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let me 'join' the literature value to the observed data, only for standard stars for standardization:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Target X T_V T_B count_V count_B v dv b db color dcolor V COLOR B \n", "------ --- --- --- -------- -------- ------- ------- ------- ------- ------ ------- ---- ----- ----\n", " std1 1.0 5 10 12687301 22438244 -16.011 0.00030 -15.877 0.00023 0.134 0.00038 9.1 -0.3 8.8\n", " std1 1.3 7 12 14711983 25343232 -15.806 0.00028 -15.812 0.00022 -0.005 0.00036 9.1 -0.3 8.8\n", " std1 2.0 9 15 15845201 25669738 -15.614 0.00027 -15.583 0.00021 0.031 0.00035 9.1 -0.3 8.8\n", " std2 1.0 5 10 5534312 7521077 -15.110 0.00046 -14.691 0.00040 0.420 0.00061 10.0 0.0 10.0\n", " std2 1.3 7 12 6404748 8489650 -14.904 0.00043 -14.624 0.00037 0.279 0.00057 10.0 0.0 10.0\n", " std2 2.0 9 15 6885820 8636456 -14.709 0.00041 -14.401 0.00037 0.309 0.00055 10.0 0.0 10.0\n", " std3 1.0 5 10 2280320 1835230 -14.148 0.00072 -13.159 0.00080 0.988 0.00108 11.0 0.6 11.6\n", " std3 1.3 7 12 2638025 2060068 -13.940 0.00067 -13.087 0.00076 0.854 0.00101 11.0 0.6 11.6\n", " std3 2.0 9 15 2796503 2042511 -13.731 0.00065 -12.835 0.00076 0.896 0.00100 11.0 0.6 11.6\n", "Plot of literature VS instrumental magnitudes\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_std = table.join(data, std, keys='Target')\n", "# Joins two tables, data and std, based on the column 'Target'.\n", "# Columns with name 'obj1' and 'obj2' does not exist in table std,\n", "# so those rows will be deleted.\n", "data_std.pprint(max_width=200)\n", "\n", "print('Plot of literature VS instrumental magnitudes')\n", "from matplotlib import pyplot as plt\n", "plt.plot(data_std['B'], data_std['b'], marker='x', mfc='b', ls='', label='B')\n", "plt.plot(data_std['V'], data_std['v'], marker='+', mfc='r', ls='', label='V')\n", "plt.xlabel('Literature magnitude')\n", "plt.ylabel('Instrumental magnitude')\n", "plt.grid(ls=':')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, the literature and the instrumental magnitude differ a lot, by roughly about 25 magnitude, but in a good linear relationship. Since the literature values are exact, we have to find a way to tune the instrumental magnitude to match the literature magnitudes. This is the standardization, as mentioned before. \n", "\n", "-----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 3: Parameters for Standardization\n", "\n", "We will start from the following formula:\n", "\n", "\\begin{align}\n", "\tv - V &= z_{V} + k_{V} X \\quad( + {\\rm color~correction~terms})~,\\\\\n", " b - B &= z_{B} + k_{B} X \\quad( + {\\rm color~correction~terms})~,\n", "\\end{align}\n", "\n", "where $v(b)$ and $V(B)$ are the instrumental and literature magnitudes of standard stars. \n", "\n", "> ** How do we obtain the zero point ($z$) and the extinction coefficient ($k$)?**\n", "\n", "\n", "Answer is very simple: Fit a line to ($v - V$) and ($b-B$) versus $X$!\n", "\n", "I will use line fitting module from `scipy.optimize.curve_fit`, but you can also use `numpy.polyfit` or just make your own package to use. " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n8f8psFRJAFz+tAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "B: z_B & k_B = [-24.99762076 0.30163876]\n", "V: z_V & k_V = [-25.44562147 0.37269281]\n" ] } ], "source": [ "from scipy.optimize import curve_fit\n", "\n", "# Define a function that will be used for fitting.\n", "# Except for x, other two parameters (zero and k) should have 'default' value\n", "# to be used in scipy.optimize.curve_fit.\n", "def fitting(x, zero=0, k=1):\n", " return zero + k*x\n", "\n", "vV = data_std['v'] - data_std['V']\n", "bB = data_std['b'] - data_std['B']\n", "\n", "# curve_fit gives two outputs: fitted parameters & covariance matrix\n", "# The covariance matrix can be used for parameter error analysis and correlation check.\n", "fitted_V = curve_fit(fitting, data_std['X'], vV, sigma=data_std['dv'])\n", "fitted_B = curve_fit(fitting, data_std['X'], bB, sigma=data_std['db'])\n", "fitpar_V = fitted_V[0] # contains z_V and k_V\n", "fitpar_B = fitted_B[0] # contains z_B and k_B\n", "\n", "# In Python, *something means you \"unzip\" the variable named \"something\".\n", "# If something=[1, 2, 3], '*something' is identical to type '1, 2, 3'.\n", "plt.plot(data_std['X'], vV, 'o')\n", "plt.plot(data_std['X'], fitting(data_std['X'], *fitpar_V), label='V')\n", "plt.plot(data_std['X'], fitting(data_std['X'], *fitpar_B), label='B')\n", "plt.plot(data_std['X'], bB, 'o')\n", "plt.xlabel('Airmass (X)')\n", "plt.ylabel('obs - true magnitude')\n", "plt.legend()\n", "plt.show()\n", "print('B: z_B & k_B =',fitpar_B)\n", "print('V: z_V & k_V =',fitpar_V)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-----\n", "\n", "## Example 4: Standardization with One More Color Term\n", "Although we neglected the color terms in section 2.2, of course at some point you may want to get more accurate result. One possible way is to neglect the $k_{XC}$ term, but include $a$ term. Then you can combine the following two:\n", "\n", "\\begin{align}\n", "\tz_V' &= v - V - z_V \\\\\n", " &= k_V X + a_V({\\rm B}-{\\rm V}) \\\\\n", " z_B' &= b - v - z_C \\\\\n", " &= k_C X + a_C({\\rm B}-{\\rm V}) ~.\n", "\\end{align}\n", "The subscript $C$ means color. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "v-V: z_V , k_V , a_V = [-25.4652505 0.38337417 -0.03535229]\n", "b-v: z_C , k_C , a_C = [ 0.44555979 -0.07489208 0.95596985]\n" ] } ], "source": [ "def fitting2(INPUT, zero=0, k=1, a=1):\n", " X = INPUT['X']\n", " COLOR = INPUT['COLOR']\n", " return zero + k*X + a*COLOR\n", "\n", "vV = data_std['v'] - data_std['V']\n", "bv = data_std['color']\n", "\n", "fitted_vV = curve_fit(fitting2, data_std['X','COLOR'], vV)\n", "fitpar_vV = fitted_vV[0]\n", "fitted_bv = curve_fit(fitting2, data_std['X','COLOR'], bv)\n", "fitpar_bv = fitted_bv[0]\n", "print('v-V: z_V , k_V , a_V =',fitpar_vV)\n", "print('b-v: z_C , k_C , a_C =',fitpar_bv)" ] } ], "metadata": { "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.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }