{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "adjustable-greece", "slideshow": { "slide_type": "slide" } }, "source": [ "Astronomical data analysis using Python\n", "=======\n", "\n", "Lecture 10\n", "-----------------\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: FITSFixedWarning: 'datfix' made the change 'Set MJD-OBS to 50255.000000 from DATE-OBS'. [astropy.wcs.wcs]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from astropy.io import fits\n", "import matplotlib.pyplot as plt\n", "from astropy.wcs import WCS\n", "from astropy.visualization import ZScaleInterval\n", "from astropy.coordinates import SkyCoord\n", "hdulist = fits.open('h_n4603_f555_mosaic.fits')\n", "wcs = WCS(hdulist[0].header)\n", "interval = ZScaleInterval()\n", "vmin,vmax = interval.get_limits(hdulist[0].data)\n", "ax = plt.subplot(111, projection=wcs)\n", "ax.imshow(hdulist[0].data, cmap='gray_r', vmin=vmin, vmax=vmax, interpolation=None, origin='lower')\n", "ax.set_xlabel(\"Right Ascension\"); ax.set_ylabel(\"Declination\")\n", "ax.coords.grid(color='red', alpha=0.5, linestyle='solid')\n", "ax.plot_coord(SkyCoord(\"12h40m57s\",\"-40d57m33s\", frame=\"fk5\"), \"ro\")\n", "hdulist.close()\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from astropy.io import fits\n", "import matplotlib.pyplot as plt\n", "from astropy.visualization import make_lupton_rgb # see Lupton et al. (2004)\n", "# These images are available at https://archive.stsci.edu/prepds/appp/lmc.html\n", "image_r = fits.getdata('h_pu4k2bs01_f814w_sci_v20.fits')/2\n", "image_g = fits.getdata('h_pu4k2bs01_f606w_sci_v20.fits')/3\n", "image_b = fits.getdata('h_pu4k2bs01_f450w_sci_v20.fits')\n", "image = make_lupton_rgb(image_r, image_g, image_b, stretch = 0.03, Q=10, filename='lmc.jpg')\n", "plt.imshow(image,origin='lower')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# The composite RGB image\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# astropy.stats\n", "\n", "The `astropy.stats` package holds statistical functions or algorithms used in astronomy. While the `scipy.stats` and `statsmodels` packages contains a wide range of statistical tools, they are general-purpose packages and are missing **some tools that are particularly useful or specific to astronomy** . This package provides this missing functionality, but will not replace scipy.stats if its implementation.\n", "\n", "You will find, in practice, that `scipy.stats` which is a huge package, contains almost everything you will need. `astropy.stats` adds a few missing pieces. We will discuss two topics from `astropy.stats` - sigma clipping and jackknife errors - which I have found useful. \n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Sigma Clipping" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 5 6 8 -- -- 3 2]\n", "34.375\n", "4.166666666666667\n" ] } ], "source": [ "from astropy import stats\n", "import numpy as np\n", "data = np.array([1, 5, 6, 8, 100, 150, 3, 2])\n", "clipped_data = stats.sigma_clip(data, sigma=2, maxiters=5)\n", "print (clipped_data)\n", "print (data.mean())\n", "print (clipped_data.mean())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# The jackknife statistic" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4.5\n", "0.0\n", "0.9574271077563383\n", "[2.62347735 6.37652265]\n" ] } ], "source": [ "from astropy.stats import jackknife_stats\n", "data = np.array([1,2,3,4,5,6,7,8,9,0]) \n", "test_statistic = np.mean\n", "estimate, bias, stderr, conf_interval = jackknife_stats(data, test_statistic, 0.95)\n", "print (estimate)\n", "print (bias)\n", "print (stderr) \n", "print (conf_interval)" ] }, { "cell_type": "markdown", "metadata": { "id": "grateful-possession", "slideshow": { "slide_type": "slide" } }, "source": [ "Cosmology\n", "=========\n", "\n", "This submodule of astropy allows you to do various cosmological calculations based on a model of cosmology.\n", "\n", "We begin by importing the cosmology sub-module." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "id": "pleasant-convert", "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "from astropy import cosmology" ] }, { "cell_type": "markdown", "metadata": { "id": "younger-sessions", "slideshow": { "slide_type": "-" } }, "source": [ "Now, before we can make do any cosmological calculations, we need to choose a model. Let's do that." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "id": "charitable-freedom", "outputId": "d7dc0a7a-b0b7-470e-fc99-6d97c4329605", "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('Planck18', 'Planck18_arXiv_v2', 'Planck15', 'Planck13', 'WMAP9', 'WMAP7', 'WMAP5', 'WMAP3', 'WMAP1')\n" ] } ], "source": [ "print (cosmology.parameters.available)" ] }, { "cell_type": "markdown", "metadata": { "id": "minute-guard", "slideshow": { "slide_type": "slide" } }, "source": [ "The above are the various models of cosmology available, you can choose one of them by saying, " ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "id": "searching-blend", "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "from astropy.cosmology import WMAP9" ] }, { "cell_type": "markdown", "metadata": { "id": "affecting-framing", "slideshow": { "slide_type": "-" } }, "source": [ "Or you could define your own cosmology by saying,\n", "\n", " from astropy.comsology import FlatLambdaCDM\n", " mycosmo = FlatLambdaCDM(..., ...., ....) \n", " \n", "Refer documentation for more details. From Astropy 5.0 onwards, you can read or write a cosmology from a file." ] }, { "cell_type": "markdown", "metadata": { "id": "cooked-quest", "slideshow": { "slide_type": "slide" } }, "source": [ "Performing Cosmological Calculations\n", "-----------------" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "id": "twelve-webcam", "outputId": "37051423-2cbb-4878-94a5-aa9bc21f617c", "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "0.03740695834664705" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "WMAP9.Ode(3) # density parameter for dark energy at redshift z=3 (in units of critical density)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "id": "human-background", "outputId": "712d67ec-cafa-4db9-d646-288e8878c9cb", "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/latex": [ "$1.7213943 \\times 10^{-28} \\; \\mathrm{\\frac{g}{cm^{3}}}$" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "WMAP9.critical_density(3) # critical density at z=3" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "id": "spare-phrase", "outputId": "4010044d-f5a0-49e0-8ff7-6cc9e811654b", "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/latex": [ "$3000.225 \\; \\mathrm{K}$" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "WMAP9.Tcmb(1100) # CMB temperature at z=1100" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "id": "referenced-celebration", "outputId": "48763751-1bab-45bb-82d2-2f74d77b7531", "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/latex": [ "$1763.9101 \\; \\mathrm{Mpc}$" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "WMAP9.angular_diameter_distance(2) # Angular diameter distance in Mpc at z=2." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "id": "joint-posting", "outputId": "7c4ca974-399c-45cf-d9c5-0e60149d30b0", "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/latex": [ "$0.03171401 \\; \\mathrm{\\frac{{}^{\\prime\\prime}}{kpc}}$" ], "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "WMAP9.arcsec_per_kpc_comoving(3) # Angular separation in arcsec corresponding to a comoving kpc at z=3" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "id": "pregnant-integer", "outputId": "8d0be5c1-680a-4c6e-cf3d-5df078365d68", "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "0.2" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "WMAP9.scale_factor(4) # a = 1/(1+z)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "id": "activated-composition", "outputId": "5c562177-6d6a-4cd4-81cc-fe6facfdcecf", "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/latex": [ "$0.00037004235 \\; \\mathrm{Gyr}$" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "WMAP9.age(1100) # Age of universe at z=1100" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "id": "devoted-storm", "outputId": "c8dbef18-c214-4805-e5d9-05aa285f8103", "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['H', 'H0', 'Neff', 'Ob', 'Ob0', 'Ode', 'Ode0', 'Odm', 'Odm0', 'Ogamma', 'Ogamma0', 'Ok', 'Ok0', 'Om', 'Om0', 'Onu', 'Onu0', 'Tcmb', 'Tcmb0', 'Tnu', 'Tnu0', '_EdS_age', '_EdS_comoving_distance_z1z2', '_EdS_lookback_time', '_H0', '_Neff', '_Ob0', '_Ode0', '_Odm0', '_Ogamma0', '_Ok0', '_Om0', '_Onu0', '_T_hypergeometric', '_Tcmb0', '_Tnu0', '__abstractmethods__', '__all_parameters__', '__astropy_table__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__equiv__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__parameters__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_abc_impl', '_abs_distance_integrand_scalar', '_age', '_comoving_distance_z1z2', '_comoving_transverse_distance_z1z2', '_critical_density0', '_dS_age', '_dS_comoving_distance_z1z2', '_dS_lookback_time', '_elliptic_comoving_distance_z1z2', '_flat_age', '_flat_lookback_time', '_h', '_hubble_distance', '_hubble_time', '_hypergeometric_comoving_distance_z1z2', '_init_arguments', '_init_signature', '_integral_age', '_integral_comoving_distance_z1z2', '_integral_comoving_distance_z1z2_scalar', '_integral_lookback_time', '_inv_efunc_scalar', '_inv_efunc_scalar_args', '_lookback_time', '_lookback_time_integrand_scalar', '_m_nu', '_massivenu', '_meta', '_name', '_neff_per_nu', '_nmassivenu', '_nmasslessnu', '_nneutrinos', '_optimize_flat_norad', '_w_integrand', 'abs_distance_integrand', 'absorption_distance', 'age', 'angular_diameter_distance', 'angular_diameter_distance_z1z2', 'arcsec_per_kpc_comoving', 'arcsec_per_kpc_proper', 'clone', 'comoving_distance', 'comoving_transverse_distance', 'comoving_volume', 'critical_density', 'critical_density0', 'de_density_scale', 'differential_comoving_volume', 'distmod', 'efunc', 'from_format', 'h', 'has_massive_nu', 'hubble_distance', 'hubble_time', 'inv_efunc', 'is_equivalent', 'kpc_comoving_per_arcmin', 'kpc_proper_per_arcmin', 'lookback_distance', 'lookback_time', 'lookback_time_integrand', 'luminosity_distance', 'm_nu', 'meta', 'name', 'nu_relative_density', 'read', 'scale_factor', 'to_format', 'w', 'write']\n" ] } ], "source": [ "print (dir(WMAP9))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# astropy.modeling\n", "\n", "astropy.modeling is a module in Python designed to give you\n", "\n", "* Access to commonly used models.\n", "* As well as fit them to various data.\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": true, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from astropy.modeling import models\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "x = np.linspace(9, 14, 100)\n", "gauss_example1 = models.Gaussian1D(amplitude=1.0, mean=12, stddev=0.5)\n", "gauss_example2 = models.Gaussian1D(amplitude=2.0, mean=13.5, stddev=0.2)\n", "gauss_total = gauss_example1 + gauss_example2\n", "y = gauss_total(x)\n", "\n", "plt.scatter(x,y)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy.random as nr\n", "\n", "y_noise = nr.normal(0, 0.1, len(x))\n", "y_obs = 12 + 0.01*x**2 + y + y_noise\n", "plt.scatter(x, y_obs)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "We saw how trivial it is to use a model and actually evaluate it over a range. But a more useful thing we need to do with models is to fit some data. Now, pretend that x and y_obs are two arrays that contain our observed data as in the plot above." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Once we have a plot, our next step is to choose a model. How do we choose a model? Let us assume that these are spectral features with some known wavelengths. Each feature can be assumed to be a Gaussian. To minimise the number of independent parameters, we may also consider that the difference in the wavelengths is a constant. \n", "\n", "Next, these emission features are sitting atop a continuum. Assuming that the continuum is not varying at a fast rate wrt wavelength, we can further assume that a quadratic polynomial suffices in accounting for this variation.\n", "\n", "So, our model could be a second order polynomial plus two Gaussians, with different means but separated by a fixed wavelength. *There are subjective decisions we have made here informed by our knowledge of the physical situation.*\n" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('amplitude_0', 'mean_0', 'stddev_0', 'amplitude_1', 'mean_1', 'stddev_1', 'c0_2', 'c1_2', 'c2_2')\n" ] } ], "source": [ "# So, let us define our model.\n", "model = models.Gaussian1D(amplitude=1.0, mean=12.1, stddev=0.5) +\\\n", " models.Gaussian1D(amplitude=1.0, mean=13.6, stddev=0.4) +\\\n", " models.Polynomial1D(degree=2)\n", "\n", "print(model.param_names)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "# Our model is not complete. We must supply our constraint.\n", "def constraint_mean(model):\n", " mean_0 = model.mean_1 - 1.5\n", " return mean_0\n", "\n", "model.mean_0.tied = constraint_mean" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "The model is now ready. We have the (simulated) data. What we now need is a fitting algorithm. Let us choose the Levenberg-Marquardt algorithm. For linear fits, use LinearLSQFitter()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('amplitude_0', 'mean_0', 'stddev_0', 'amplitude_1', 'mean_1', 'stddev_1', 'c0_2', 'c1_2', 'c2_2')\n", "[ 9.00855029e-01 1.19983648e+01 5.04935557e-01 1.90049177e+00\n", " 1.34983648e+01 1.89400891e-01 1.19672386e+01 -2.42278798e-02\n", " 1.26069165e-02]\n" ] } ], "source": [ "from astropy.modeling import fitting\n", "fitter = fitting.LevMarLSQFitter()\n", "\n", "model_fit = fitter(model, x, y_obs)\n", "print (model_fit.param_names)\n", "print(model_fit.parameters)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "{'amplitude_0': 0.9008550291939997,\n", " 'mean_0': 11.99836482236308,\n", " 'stddev_0': 0.5049355570557312,\n", " 'amplitude_1': 1.9004917740031733,\n", " 'mean_1': 13.49836482236308,\n", " 'stddev_1': 0.18940089113031516,\n", " 'c0_2': 11.967238550247895,\n", " 'c1_2': -0.024227879812165936,\n", " 'c2_2': 0.012606916479654182}" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dict(zip(model_fit.param_names, model_fit.parameters))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": true, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(x, y_obs, color='black', alpha=0.3)\n", "plt.plot(x, model_fit(x), color='red')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# `astropy.convolution`\n", "\n", "`astropy.convolution` provides convolution functions and kernels that offer improvements compared to the SciPy `scipy.ndimage` convolution routines, including:\n", "\n", "* Proper treatment of `NaN` values (ignoring them during convolution and replacing NaN pixels with interpolated values)\n", "* A single function for 1D, 2D, and 3D convolution\n", "* Improved options for the treatment of edges\n", "* Both direct and Fast Fourier Transform (FFT) versions\n", "* Built-in kernels that are commonly used in Astronomy" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "I have tried to cover the most frequently used aspects of `astropy`. But to learn more do check out the excellent tutorials and documentation of astropy available at:\n", "\n", "http://www.astropy.org\n", "\n", "Astropy is still undergoing rapid development and new features are being added continuously. The coordinated packages are also in a state of flux. An excellent resourse is the astropy mailing list:\n", "\n", "\n", "https://mail.python.org/pipermail/astropy/\n", "\n", "Do join this list to get answers to any issues you face with astropy and its affiliated packages.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Astroquery\n", "\n", "You may have accessed data in some online archives, one search at a time. This may be too slow if your sample contains thousands of objects. In such a situation, you must write a program to automatically access the data that you are interested in.Astroquery is the Python language package that will provide you with this capability and it is very easy to code. It contains a number of subpackages for each data repository.\n", "\n", "\n", "There are two other packages with complimentary functionality as Astroquery: pyvo is an Astropy affiliated package, and Simple-Cone-Search-Creator which generates a cone search service complying with the IVOA standard. They are more oriented to general virtual observatory discovery and queries, whereas Astroquery has web service specific interfaces.\n", "\n", "Astroquery follows a **continuous deployment model**.\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.4.4\n" ] } ], "source": [ "import astroquery\n", "print (astroquery.version.version)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "**Use the latest astroquery version available**. Website configurations change constantly and your programs could stop working suddenly because the website changed its interface.\n", "\n", "To help you get started, see the sample queries in the astroquery gallery.\n", "\n", "https://astroquery.readthedocs.io/en/latest/gallery.html\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "scrolled": true, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " MAIN_ID RA DEC ... COO_BIBCODE SCRIPT_NUMBER_ID\n", " \"h:m:s\" \"d:m:s\" ... \n", "------------------- ------------ ------------ ... ------------------- ----------------\n", " M 42 05 35 17.3 -05 23 28 ... 1981MNRAS.194..693L 1\n", " NAME Ori Region 05 35 17.30 -05 23 28.0 ... 1\n", " ... ... ... ... ... ...\n", " [OW94] 134-342 05 35 13.4 -05 23 42 ... 2003AJ....125..277O 1\n", " [SCB99] 181 05 35 17.608 -05 22 28.24 ... 1999AJ....117.1375S 1\n", "MMB G208.996-19.386 05 35 14.50 -05 22 45.0 ... 2010MNRAS.404.1029C 1\n", "Length = 704 rows\n" ] } ], "source": [ "from astroquery.simbad import Simbad\n", "from astropy import coordinates\n", "import astropy.units as u\n", "# works only for ICRS coordinates:\n", "c = coordinates.SkyCoord(\"05h35m17.3s -05d23m28s\", frame='icrs')\n", "r = 1 * u.arcminute\n", "result_table = Simbad.query_region(c, radius=r)\n", "result_table.pprint(show_unit=True, max_width=100, max_lines=10)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Cross match with any Vizier catalog" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ra,dec\r\n", "267.22029,-20.35869\r\n", "274.83971,-25.42714\r\n", "275.92229,-30.36572\r\n", "283.26621,-8.70756\r\n", "306.01575,33.86756\r\n", "322.493,12.16703\r\n", "\r\n" ] } ], "source": [ "!cat pos_list.csv" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Could not import regions, which is required for some of the functionalities of this module.\n", "\n", "['angDist', 'ra', 'dec', '2MASS', 'RAJ2000', 'DEJ2000', 'errHalfMaj', 'errHalfMin', 'errPosAng', 'Jmag', 'Hmag', 'Kmag', 'e_Jmag', 'e_Hmag', 'e_Kmag', 'Qfl', 'Rfl', 'X', 'MeasureJD']\n" ] } ], "source": [ "from astropy import units as u\n", "from astroquery.xmatch import XMatch\n", "table = XMatch.query(cat1=open('pos_list.csv'),\n", " cat2='vizier:II/246/out', # 2MASS catalog\n", " max_distance=5 * u.arcsec, colRA1='ra',\n", " colDec1='dec')\n", "print (type(table))\n", "print (table.colnames)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "angDist ra dec 2MASS ... Qfl Rfl X MeasureJD \n", "-------- --------- --------- ---------------- ... --- --- --- ------------\n", "1.352044 267.22029 -20.35869 17485281-2021323 ... EEU 226 2 2450950.8609\n", "1.578188 267.22029 -20.35869 17485288-2021328 ... UUB 662 2 2450950.8609\n", "3.699368 267.22029 -20.35869 17485264-2021294 ... UUB 662 2 2450950.8609\n", "3.822922 267.22029 -20.35869 17485299-2021279 ... EBA 222 2 2450950.8609\n", "4.576677 267.22029 -20.35869 17485255-2021326 ... CEU 226 2 2450950.8609\n", "0.219609 274.83971 -25.42714 18192154-2525377 ... AAA 211 0 2451407.5033\n", "1.633225 275.92229 -30.36572 18234133-3021582 ... EEE 222 2 2451021.7212\n", "0.536998 283.26621 -8.70756 18530390-0842276 ... AAA 222 0 2451301.7945\n", "1.178542 306.01575 33.86756 20240382+3352021 ... AAA 222 0 2450948.9708\n", "0.853178 322.493 12.16703 21295836+1210007 ... EEA 222 0 2451080.6935\n", " 4.50395 322.493 12.16703 21295861+1210023 ... EEE 222 0 2451080.6935\n" ] } ], "source": [ "print (table)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Getting data from the SDSS" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "scrolled": true, "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " ra dec objid ... run2d instrument\n", "---------------- ---------------- ------------------- ... ----- ----------\n", "2.02344596573482 14.8398237551311 1237652943176138868 ... 26 SDSS\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/yogesh/.local/lib/python3.9/site-packages/astroquery/sdss/core.py:862: VisibleDeprecationWarning: Reading unicode strings without specifying the encoding argument is deprecated. Set the encoding, use None for the system default.\n", " arr = np.atleast_1d(np.genfromtxt(io.BytesIO(response.content),\n" ] } ], "source": [ "from astroquery.sdss import SDSS\n", "from astropy import coordinates as coords\n", "pos = coords.SkyCoord('0h8m05.63s +14d50m23.3s', frame='icrs')\n", "xid = SDSS.query_region(pos, spectro=True)\n", "print(xid)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[, , , , , , , , , ]]\n" ] } ], "source": [ "sp = SDSS.get_spectra(matches=xid)\n", "print (sp)\n", "spec = sp[0][1].data" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "scrolled": true, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(numpy.record, [('flux', '>f4'), ('loglam', '>f4'), ('ivar', '>f4'), ('and_mask', '>i4'), ('or_mask', '>i4'), ('wdisp', '>f4'), ('sky', '>f4'), ('model', '>f4')])\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "print (spec.dtype)\n", "flux = spec['flux']\n", "loglam = spec['loglam']\n", "model = spec['model']\n", "plt.scatter(loglam,flux,marker='.',alpha=0.3,color='red')\n", "plt.plot(loglam,model)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[, , , ]]\n", "(1489, 2048)\n" ] } ], "source": [ "import numpy as np\n", "im = SDSS.get_images(matches=xid,band='r')\n", "print (im)\n", "image = im[0][0].data\n", "print (image.shape)\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Display the downloaded image" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ":1: RuntimeWarning: invalid value encountered in sqrt\n", " plt.imshow(np.sqrt(image),origin='lower',vmin=10)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(np.sqrt(image),origin='lower',vmin=10)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Be careful\n", "\n", "Astroquery can easily run amok and download a lot of data that you don't need. So, be a little cautious at the download steps and make sure that you are downloading what you expect. Setting up `assert` statements before you start the download will be very useful." ] } ], "metadata": { "celltoolbar": "Slideshow", "colab": { "name": "lect8.ipynb", "provenance": [] }, "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.9.7" } }, "nbformat": 4, "nbformat_minor": 1 }