{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "
\n", "\n", "**This is a fixed-text formatted version of a Jupyter notebook**\n", "\n", "- Try online [![Binder](https://static.mybinder.org/badge.svg)](https://mybinder.org/v2/gh/gammapy/gammapy-webpage/v0.18.2?urlpath=lab/tree/overview.ipynb)\n", "- You can contribute with your own notebooks in this\n", "[GitHub repository](https://github.com/gammapy/gammapy/tree/master/docs/tutorials).\n", "- **Source files:**\n", "[overview.ipynb](../_static/notebooks/overview.ipynb) |\n", "[overview.py](../_static/notebooks/overview.py)\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Getting started with Gammapy\n", "\n", "## Introduction\n", "\n", "This is a getting started tutorial for Gammapy.\n", "\n", "In this tutorial we will use the [Second Fermi-LAT Catalog of High-Energy Sources (3FHL) catalog](http://fermi.gsfc.nasa.gov/ssc/data/access/lat/3FHL/), corresponding event list and images to learn how to work with some of the central Gammapy data structures.\n", "\n", "We will cover the following topics:\n", "\n", "* **Sky maps**\n", " * We will learn how to handle image based data with gammapy using a Fermi-LAT 3FHL example image. We will work with the following classes:\n", " - `~gammapy.maps.WcsNDMap`\n", " - [astropy.coordinates.SkyCoord](http://astropy.readthedocs.io/en/latest/coordinates/index.html)\n", " - [numpy.ndarray](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html)\n", "\n", "* **Event lists**\n", " * We will learn how to handle event lists with Gammapy. Important for this are the following classes: \n", " - `~gammapy.data.EventList`\n", " - [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html)\n", "\n", "* **Source catalogs**\n", " * We will show how to load source catalogs with Gammapy and explore the data using the following classes:\n", " - `~gammapy.catalog.SourceCatalog`, specifically `~gammapy.catalog.SourceCatalog3FHL`\n", " - [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html)\n", "\n", "* **Spectral models and flux points**\n", " * We will pick an example source and show how to plot its spectral model and flux points. For this we will use the following classes:\n", " - `~gammapy.modeling.models.SpectralModel`, specifically the `~gammapy.modeling.models.PowerLaw2SpectralModel`\n", " - `~gammapy.estimators.FluxPoints`\n", " - [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup\n", "\n", "**Important**: to run this tutorial the environment variable `GAMMAPY_DATA` must be defined and point to the directory on your machine where the datasets needed are placed. To check whether your setup is correct you can execute the following cell:\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Great your setup is correct!\n" ] } ], "source": [ "import os\n", "\n", "path = os.path.expandvars(\"$GAMMAPY_DATA\")\n", "\n", "if not os.path.exists(path):\n", " raise Exception(\"gammapy-data repository not found!\")\n", "else:\n", " print(\"Great your setup is correct!\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In case you encounter an error, you can un-comment and execute the following cell to continue. But we recommend to set up your environment correctly as described [here](../install/index.rst#download-tutorials) after you are done with this notebook." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# os.environ['GAMMAPY_DATA'] = os.path.join(os.getcwd(), '..')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can continue with the usual IPython notebooks and Python imports:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import astropy.units as u\n", "from astropy.coordinates import SkyCoord" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Maps\n", "\n", "The `~gammapy.maps` package contains classes to work with sky images and cubes.\n", "\n", "In this section, we will use a simple 2D sky image and will learn how to:\n", "\n", "* Read sky images from FITS files\n", "* Smooth images\n", "* Plot images\n", "* Cutout parts from images" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: FITSFixedWarning: 'datfix' made the change 'Set DATE-REF to '1858-11-17' from MJD-REF'. [astropy.wcs.wcs]\n" ] } ], "source": [ "from gammapy.maps import Map\n", "\n", "gc_3fhl = Map.read(\"$GAMMAPY_DATA/fermi-3fhl-gc/fermi-3fhl-gc-counts.fits.gz\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The image is a `~gammapy.maps.WcsNDMap` object:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "WcsNDMap\n", "\n", "\tgeom : WcsGeom \n", " \taxes : ['lon', 'lat']\n", "\tshape : (400, 200)\n", "\tndim : 2\n", "\tunit : \n", "\tdtype : >i8" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gc_3fhl" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The shape of the image is 400 x 200 pixel and it is defined using a cartesian projection in galactic coordinates.\n", "\n", "The ``geom`` attribute is a `~gammapy.maps.WcsGeom` object:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "WcsGeom\n", "\n", "\taxes : ['lon', 'lat']\n", "\tshape : (400, 200)\n", "\tndim : 2\n", "\tframe : galactic\n", "\tprojection : CAR\n", "\tcenter : 0.0 deg, 0.0 deg\n", "\twidth : 20.0 deg x 10.0 deg" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gc_3fhl.geom" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's take a closer look a the `.data` attribute:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " ...,\n", " [0, 0, 0, ..., 0, 0, 1],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 1]])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gc_3fhl.data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That looks familiar! It just an *ordinary* 2 dimensional numpy array, which means you can apply any known numpy method to it:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of counts in the image: 32684\n" ] } ], "source": [ "print(f\"Total number of counts in the image: {gc_3fhl.data.sum():.0f}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To show the image on the screen we can use the ``plot`` method. It basically calls [plt.imshow](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.imshow), passing the `gc_3fhl.data` attribute but in addition handles axis with world coordinates using [astropy.visualization.wcsaxes](https://docs.astropy.org/en/stable/visualization/wcsaxes/) and defines some defaults for nicer plots (e.g. the colormap 'afmhot'):" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "gc_3fhl.plot(stretch=\"sqrt\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To make the structures in the image more visible we will smooth the data using a Gaussian kernel." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "gc_3fhl_smoothed = gc_3fhl.smooth(kernel=\"gauss\", width=0.2 * u.deg)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "gc_3fhl_smoothed.plot(stretch=\"sqrt\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The smoothed plot already looks much nicer, but still the image is rather large. As we are mostly interested in the inner part of the image, we will cut out a quadratic region of the size 9 deg x 9 deg around Vela. Therefore we use `~gammapy.maps.Map.cutout` to make a cutout map:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# define center and size of the cutout region\n", "center = SkyCoord(0, 0, unit=\"deg\", frame=\"galactic\")\n", "gc_3fhl_cutout = gc_3fhl_smoothed.cutout(center, 9 * u.deg)\n", "gc_3fhl_cutout.plot(stretch=\"sqrt\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For a more detailed introduction to `~gammapy.maps`, take a look a the [maps.ipynb](maps.ipynb) notebook.\n", "\n", "### Exercises\n", "\n", "* Add a marker and circle at the position of `Sag A*` (you can find examples in [astropy.visualization.wcsaxes](https://docs.astropy.org/en/stable/visualization/wcsaxes/))." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Event lists\n", "\n", "Almost any high-level gamma-ray data analysis starts with the raw measured counts data, which is stored in event lists. In Gammapy event lists are represented by the `~gammapy.data.EventList` class. \n", "\n", "In this section we will learn how to:\n", "\n", "* Read event lists from FITS files\n", "* Access and work with the `EventList` attributes such as `.table` and `.energy` \n", "* Filter events lists using convenience methods\n", "\n", "Let's start with the import from the `~gammapy.data` submodule:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from gammapy.data import EventList" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Very similar to the sky map class an event list can be created, by passing a filename to the `~gammapy.data.EventList.read()` method:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "events_3fhl = EventList.read(\n", " \"$GAMMAPY_DATA/fermi-3fhl-gc/fermi-3fhl-gc-events.fits.gz\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This time the actual data is stored as an [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html) object. It can be accessed with `.table` attribute: " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=32843\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ENERGYRADECLBTHETAPHIZENITH_ANGLEEARTH_AZIMUTH_ANGLETIMEEVENT_IDRUN_IDRECON_VERSIONCALIB_VERSION [3]EVENT_CLASS [32]EVENT_TYPE [32]CONVERSION_TYPELIVETIMEDIFRSP0DIFRSP1DIFRSP2DIFRSP3DIFRSP4
MeVdegdegdegdegdegdegdegdegss
float32float32float32float32float32float32float32float32float32float64int32int32int16int16boolboolint16float64float32float32float32float32float32
12186.642260.45935-33.553337353.362731.753867671.977325125.5069459.22307231.79672239572401.29222104182304023957167000 .. 0False .. TrueFalse .. True0238.578372389078140.00.00.00.00.0
25496.598261.37506-34.395004353.096070.652065242.49406278.4934741.092773227.89838239577842.1621734255083323957766300 .. 0False .. TrueFalse .. False1176.168507546186450.00.00.00.00.0
15621.498259.56973-33.409416353.056732.445068464.32412234.2219466.526794232.75734239578244.7997108135317523957766300 .. 0False .. TrueFalse .. False19.3920756578445430.00.00.00.00.0
12816.32273.95883-25.3403916.45856-4.054887343.292503142.8739213.232716108.02273239605914.66160735963624123960127600 .. 0False .. TrueFalse .. False14.0347865521907810.00.00.00.00.0
18988.387260.8568-36.355804351.23734-0.10191239426.916113290.3933723.8726212.91147239611913.144604151123318823960687100 .. 0False .. TrueFalse .. True0131.601328969001770.00.00.00.00.0
11610.23266.15518-26.2244362.19860271.603481935.77363274.5338723.537594232.64166239623554.554147331415681123961832900 .. 0False .. TrueFalse .. False174.981109380722050.00.00.00.00.0
13960.802271.44742-29.6153161.6267247-4.143115525.917883238.036815.037035123.32094239634549.17487261414056923962978800 .. 0False .. TrueFalse .. False1106.373368173837660.00.00.00.00.0
10477.372266.3981-28.96814359.97003-0.01174817739.091587275.545733.02354229.59308239635161.879829821568839323962978800 .. 0False .. TrueFalse .. True0214.628174066543580.00.00.00.00.0
13030.88271.70428-20.6326279.593480.02624146852.622505161.320539.35084591.9986239639873.2076075173648223963943600 .. 0False .. TrueFalse .. True094.687530636787410.00.00.00.00.0
.....................................................................
387834.72270.3779-21.567118.1717490.6453147556.755512221.8471524.35845486.67913460185260.7970139759562646018126000 .. 0False .. TrueFalse .. True034.2146940231323240.00.00.00.00.0
20559.74268.5538-26.3456923.200638-0.3032898649.523575233.6728512.370642250.35716460185803.2027966878559046018126000 .. 0False .. TrueFalse .. True0103.176299691200260.00.00.00.00.0
27209.146266.59344-30.52607358.72775-0.9671817462.1856140.2743432.686306109.74662460190778.6372646727445346018697600 .. 0False .. TrueFalse .. True043.223347127437590.00.00.00.00.0
13911.061269.30997-27.2394392.7684028-1.336530165.15399224.5210153.017742242.62904460197889.26526911204988746019219800 .. 0False .. TrueFalse .. True095.463564038276670.00.00.00.00.0
13226.425265.16287-27.3442380.77969421.768017859.38332126.701932.12299246.97205460203215.108161451171688846019823500 .. 0False .. TrueFalse .. False13.7330975532531740.00.00.00.00.0
17445.463266.63342-28.8072010.21464892-0.103970555.48627135.5915514.227151106.7812460225372.9842249167908246022493300 .. 0False .. TrueFalse .. False180.522352814674380.00.00.00.00.0
13133.864270.42474-22.6510587.2511850.07135820448.704975134.731022.489122294.48605460225688.52486295287933546022493300 .. 0False .. TrueFalse .. False1117.881733417510990.00.00.00.00.0
32095.705266.0002-29.77206359.1034-0.1361523145.013103236.724986.92107212.86594460231367.1387127111370646023108400 .. 0False .. TrueFalse .. True0108.929764926433560.00.00.00.00.0
18465.783266.39728-29.105953359.85202-0.0829405855.97552135.8778718.909636112.137924459939497.057684768983145993557200 .. 0False .. TrueFalse .. True070.726386845111850.00.00.00.00.0
14457.25262.72217-34.388405353.7184-0.2690681245.683174237.7416225.728264240.87035459945845.47984051004968045994130200 .. 0False .. TrueFalse .. True0147.42747879028320.00.00.00.00.0
" ], "text/plain": [ "\n", " ENERGY RA DEC L ... DIFRSP1 DIFRSP2 DIFRSP3 DIFRSP4\n", " MeV deg deg deg ... \n", " float32 float32 float32 float32 ... float32 float32 float32 float32\n", "--------- --------- ---------- ---------- ... ------- ------- ------- -------\n", "12186.642 260.45935 -33.553337 353.36273 ... 0.0 0.0 0.0 0.0\n", "25496.598 261.37506 -34.395004 353.09607 ... 0.0 0.0 0.0 0.0\n", "15621.498 259.56973 -33.409416 353.05673 ... 0.0 0.0 0.0 0.0\n", " 12816.32 273.95883 -25.340391 6.45856 ... 0.0 0.0 0.0 0.0\n", "18988.387 260.8568 -36.355804 351.23734 ... 0.0 0.0 0.0 0.0\n", " 11610.23 266.15518 -26.224436 2.1986027 ... 0.0 0.0 0.0 0.0\n", "13960.802 271.44742 -29.615316 1.6267247 ... 0.0 0.0 0.0 0.0\n", "10477.372 266.3981 -28.96814 359.97003 ... 0.0 0.0 0.0 0.0\n", " 13030.88 271.70428 -20.632627 9.59348 ... 0.0 0.0 0.0 0.0\n", " ... ... ... ... ... ... ... ... ...\n", "387834.72 270.3779 -21.56711 8.171749 ... 0.0 0.0 0.0 0.0\n", " 20559.74 268.5538 -26.345692 3.200638 ... 0.0 0.0 0.0 0.0\n", "27209.146 266.59344 -30.52607 358.72775 ... 0.0 0.0 0.0 0.0\n", "13911.061 269.30997 -27.239439 2.7684028 ... 0.0 0.0 0.0 0.0\n", "13226.425 265.16287 -27.344238 0.7796942 ... 0.0 0.0 0.0 0.0\n", "17445.463 266.63342 -28.807201 0.21464892 ... 0.0 0.0 0.0 0.0\n", "13133.864 270.42474 -22.651058 7.251185 ... 0.0 0.0 0.0 0.0\n", "32095.705 266.0002 -29.77206 359.1034 ... 0.0 0.0 0.0 0.0\n", "18465.783 266.39728 -29.105953 359.85202 ... 0.0 0.0 0.0 0.0\n", " 14457.25 262.72217 -34.388405 353.7184 ... 0.0 0.0 0.0 0.0" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events_3fhl.table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can do *len* over event_3fhl.table to find the total number of events." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "32843" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(events_3fhl.table)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can access any other attribute of the `Table` object as well:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['ENERGY',\n", " 'RA',\n", " 'DEC',\n", " 'L',\n", " 'B',\n", " 'THETA',\n", " 'PHI',\n", " 'ZENITH_ANGLE',\n", " 'EARTH_AZIMUTH_ANGLE',\n", " 'TIME',\n", " 'EVENT_ID',\n", " 'RUN_ID',\n", " 'RECON_VERSION',\n", " 'CALIB_VERSION',\n", " 'EVENT_CLASS',\n", " 'EVENT_TYPE',\n", " 'CONVERSION_TYPE',\n", " 'LIVETIME',\n", " 'DIFRSP0',\n", " 'DIFRSP1',\n", " 'DIFRSP2',\n", " 'DIFRSP3',\n", " 'DIFRSP4']" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events_3fhl.table.colnames" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For convenience we can access the most important event parameters as properties on the `EventList` objects. The attributes will return corresponding Astropy objects to represent the data, such as [astropy.units.Quantity](http://docs.astropy.org/en/stable/api/astropy.units.Quantity.html), [astropy.coordinates.SkyCoord](http://docs.astropy.org/en/stable/api/astropy.coordinates.SkyCoord.html) or [astropy.time.Time](http://docs.astropy.org/en/stable/api/astropy.time.Time.html#astropy.time.Time) objects:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$[12.186643,~25.496599,~15.621499,~\\dots,~32.095707,~18.465784,~14.457251] \\; \\mathrm{GeV}$$" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events_3fhl.energy.to(\"GeV\")" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events_3fhl.galactic\n", "# events_3fhl.radec" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Source_NameRAJ2000DEJ2000GLONGLATConf_95_SemiMajorConf_95_SemiMinorConf_95_PosAngROI_numSignif_AvgPivot_EnergyFlux_DensityUnc_Flux_DensityFluxUnc_FluxEnergy_FluxUnc_Energy_FluxSignif_CurveSpectrumTypeSpectral_IndexUnc_Spectral_IndexbetaUnc_betaPowerLaw_IndexUnc_PowerLaw_IndexFlux_Band [5]Unc_Flux_Band [5,2]nuFnu [5]Sqrt_TS_Band [5]NpredHEP_EnergyHEP_ProbVariability_BayesBlocksExtended_Source_NameASSOC_GAMTEVCAT_FLAGASSOC_TEVCLASSASSOC1ASSOC2ASSOC_PROB_BAYASSOC_PROB_LRRedshiftNuPeak_obs
degdegdegdegdegdegdegGeV1 / (cm2 GeV s)1 / (cm2 GeV s)1 / (cm2 s)1 / (cm2 s)erg / (cm2 s)erg / (cm2 s)1 / (cm2 s)1 / (cm2 s)erg / (cm2 s)GeVHz
bytes18float32float32float32float32float32float32float32int16float32float32float32float32float32float32float32float32float32bytes11float32float32float32float32float32float32float32float32float32float32float32float32float32int16bytes18bytes18bytes1bytes21bytes7bytes26bytes26float32float32float32float32
3FHL J0001.2-07480.3107-7.807589.0094-67.31180.04240.0424nan645.36223.735.3174e-132.0975e-132.9593e-111.1704e-111.6752e-121.0743e-121.02PowerLaw1.67240.82740.59160.71292.22260.48081.1127661e-11 .. 1.1422301e-22-6.0763976e-12 .. 6.529277e-123.533989e-13 .. 1.1789072e-223.1458344 .. 0.07.6386.9750.996413FGL J0001.2-0748NbllPMN J0001-07460.99740.9721nan306196370000000.0
3FHL J0001.9-41550.4849-41.9303334.1216-72.06970.10180.1018nan4295.63828.425.4253e-131.6839e-134.3230e-111.3428e-113.4900e-121.8276e-120.45PowerLaw1.78190.49410.11870.27981.94180.31002.1003905e-11 .. 1.9287885e-18-8.032091e-12 .. 5.8594097e-126.7452245e-13 .. 2.078675e-184.899907 .. 0.012.51266.6250.962213FGL J0002.2-4152Nbcu1RXS J000135.5-4155190.99600.0000nan6309576500000000.0
3FHL J0002.1-67280.5283-67.4825310.0868-48.95490.03570.0357nan3868.47020.821.2062e-123.2106e-135.0093e-111.3349e-112.3058e-129.5580e-131.53PowerLaw1.81090.62600.79330.59562.42850.37102.4550664e-11 .. 1.9009976e-21-8.634195e-12 .. 4.8021903e-127.7340695e-13 .. 1.9026535e-215.900217 .. 0.017.1152.1520.998813FGL J0002.0-6722NbcuSUMSS J000215-6726530.00000.9395nan4466832000000000.0
3FHL J0003.3-52480.8300-52.8150318.9245-62.79360.04250.0425nan1457.22923.667.5065e-132.3102e-134.1560e-111.2839e-112.2874e-121.1145e-121.70PowerLaw1.60100.56440.99720.17212.24810.37322.0886386e-11 .. 7.5867555e-23-8.143967e-12 .. 5.31299e-126.6265456e-13 .. 7.800202e-235.298393 .. 0.013.0267.3100.963613FGL J0003.2-5246NbcuRBS 00060.99960.9716nan7.079464e+16
3FHL J0007.0+73031.764773.0560119.662510.46660.01010.0101nan27775.26512.801.7436e-107.5950e-121.5308e-096.1341e-113.6785e-111.5973e-123.24LogParabola3.17510.21030.90210.26593.83150.11411.3514667e-09 .. 3.839895e-18-5.7581186e-11 .. 4.060418e-124.109739e-11 .. 2.9231144e-1871.33829 .. 0.0654.1560.2920.997213FGL J0007.0+7302ECTA 1PSRLAT PSR J0007+73031.00000.0000nannan
3FHL J0007.9+47111.993147.1920115.3093-15.03540.01960.0196nan30217.77417.195.9778e-128.7683e-131.5131e-102.2181e-115.1444e-121.0540e-120.56PowerLaw2.67830.41960.16960.32822.85880.26851.0582407e-10 .. 1.9819723e-16-1.7538379e-11 .. 4.823511e-123.278615e-12 .. 1.8668298e-1615.209969 .. 0.050.9568.1520.975913FGL J0008.0+4713NbllMG4 J000800+47121.00000.98730.28002511884200000000.0
3FHL J0008.4-23392.1243-23.651450.2908-79.70210.03660.0366nan5179.67916.963.0610e-127.3475e-137.4602e-111.7896e-112.4733e-128.1716e-130.34PowerLaw2.73880.71450.17370.56182.90700.45205.804992e-11 .. 1.1117311e-20-1.4419374e-11 .. 6.10661e-121.7951775e-12 .. 1.0403958e-209.133706 .. 0.019.8371.1220.996813FGL J0008.6-2340NbllRBS 00160.99960.96730.1470524807800000000.0
3FHL J0009.1+06282.28746.4814104.4637-54.86690.03850.0385nan4026.28218.921.2691e-124.3696e-134.1597e-111.4317e-111.6903e-128.9372e-130.10PowerLaw2.55290.83630.01220.44772.58000.53912.4161059e-11 .. 6.6482124e-19-9.546595e-12 .. 6.287476e-127.566492e-13 .. 6.5095056e-194.678369 .. 0.010.9512.2560.972113FGL J0009.1+0630NbllCRATES J000903.95+062821.50.99930.9878nan663742400000000.0
3FHL J0009.4+50302.350450.5049116.1257-11.81050.01760.0176nan30222.40217.049.8252e-121.3192e-122.2191e-102.6212e-118.7336e-121.2488e-123.15LogParabola1.43050.35050.79650.30722.36100.16111.16274e-10 .. 9.252794e-17-1.8225135e-11 .. 4.417993e-123.8564165e-12 .. 7.0436765e-1715.780677 .. 0.078.5072.7620.995023FGL J0009.3+5030CbllNVSS J000922+5030281.00000.9698nan1412536400000000.0
....................................................................................................................................
3FHL J2347.9-1630356.9978-16.510665.5355-71.87660.02880.0288nan4509.29716.283.1279e-128.0896e-136.7585e-111.7478e-112.0267e-126.5608e-130.07PowerLaw3.12590.77810.01040.57563.13240.52595.2519888e-11 .. 1.0747592e-20-1.4230782e-11 .. 6.211813e-121.6103665e-12 .. 9.768252e-218.333468 .. 0.017.5550.2150.986933FGL J2348.0-1630NfsrqPKS 2345-160.99940.99990.57609332549000000.0
3FHL J2350.5-3006357.6354-30.107016.7759-76.31940.04910.0491nan706.49721.201.0879e-123.2997e-134.7039e-111.4274e-112.2909e-121.1390e-120.63PowerLaw2.10120.61730.28800.48702.36780.42342.1939225e-11 .. 4.5892933e-16-8.926376e-12 .. 6.097474e-126.927891e-13 .. 4.63469e-164.0536985 .. 0.012.8449.2860.964413FGL J2350.4-3004NbllNVSS J235034-3006030.99980.92180.22373981075200000000.0
3FHL J2351.5-7559357.8926-75.9890307.6546-40.58550.06500.0650nan556.06726.824.9826e-131.6350e-133.5689e-111.1769e-112.3897e-121.2622e-120.61PowerLaw1.84740.58020.20030.36612.08160.35322.3730832e-11 .. 6.9375605e-17-8.570627e-12 .. 4.7928705e-127.578736e-13 .. 7.316245e-175.2754674 .. 0.012.41134.7210.989213FGL J2351.9-7601NbllSUMSS J235115-7600120.00000.9625nannan
3FHL J2352.1+1753358.041517.8865103.5764-42.74660.08380.0838nan1854.11716.979.9227e-134.3475e-132.4254e-111.0640e-117.6327e-134.2356e-130.02PowerLaw3.01751.21640.01000.85243.01660.82701.5997077e-11 .. 2.9107688e-20-7.581037e-12 .. 5.821708e-124.926488e-13 .. 2.6849966e-203.5496242 .. 0.06.7343.1070.966813FGL J2352.0+1752NbllCLASS J2352+17490.99260.0000nan1737799900000000.0
3FHL J2356.2+4035359.074640.5985111.7521-21.07320.02980.0298nan3127.62529.015.2427e-131.5104e-134.3400e-111.2511e-113.6677e-121.8547e-120.35PowerLaw2.02330.4242-0.07060.19261.90950.29752.5777725e-11 .. 3.110794e-16-8.514681e-12 .. 5.4134618e-128.2889175e-13 .. 3.3694582e-166.2127647 .. 0.013.81417.8610.911913FGL J2356.0+4037NbllNVSS J235612+4036480.99980.91990.13106309576500000000.0
3FHL J2357.4-1717359.3690-17.299668.4009-74.12850.03270.0327nan4506.96129.525.4394e-131.7370e-134.6654e-111.4945e-113.7598e-121.9583e-121.11PowerLaw1.57620.51870.35130.37711.94300.31161.9003682e-11 .. 2.714288e-20-8.131149e-12 .. 6.4742196e-126.1025685e-13 .. 2.92465e-204.552822 .. 0.012.30146.7570.983813FGL J2357.4-1716NbllRBS 20660.99990.9631nan8.912525e+16
3FHL J2358.4-1808359.6205-18.140866.5520-74.85010.05110.0511nan4506.49318.231.6335e-124.9686e-134.8680e-111.4811e-111.7825e-127.6480e-131.83PowerLaw2.05320.66730.99990.01342.73120.50242.6735683e-11 .. 6.0349635e-21-9.960717e-12 .. 6.2551535e-128.323882e-13 .. 5.7844478e-214.3616037 .. 0.012.7428.3040.984513FGL J2358.6-1809N0.00000.0000nannan
3FHL J2358.5+3829359.626638.4963111.6905-23.21730.05840.0584nan3125.79718.241.4104e-124.4534e-134.2106e-111.3321e-111.7404e-129.8271e-130.44PowerLaw2.74660.6917-0.13290.30132.55760.57812.824428e-11 .. 9.750687e-17-9.458818e-12 .. 5.2791343e-128.852925e-13 .. 9.5778846e-175.7128677 .. 0.013.1357.3010.978213FGL J2358.5+3827NbcuB3 2355+3820.00000.9254nannan
3FHL J2359.1-3038359.7760-30.639712.7909-78.02680.02310.0231nan7011.55121.211.8903e-124.1965e-138.1774e-111.8149e-114.2849e-121.6806e-120.08PowerLaw2.28650.46320.01010.24342.29440.30925.5015617e-11 .. 6.037456e-17-1.3604539e-11 .. 8.488618e-121.7422797e-12 .. 6.164239e-179.39347 .. 0.022.41111.3660.960713FGL J2359.3-3038PH 2356-309bllH 2356-3090.99990.99750.16502.818388e+17
3FHL J2359.3-2049359.8293-20.825658.0522-76.54110.07220.0722nan5804.63819.029.1911e-133.6043e-133.0559e-111.1979e-111.2593e-127.4704e-130.32PowerLaw2.34020.94450.18510.66002.56150.58382.3253791e-11 .. 8.3778735e-21-8.939083e-12 .. 6.2386546e-127.2875863e-13 .. 8.224765e-214.8207045 .. 0.08.0664.1770.985913FGL J2359.5-2052NbllTXS 2356-2100.98940.99060.09604073799600000000.0
" ], "text/plain": [ "\n", " Source_Name RAJ2000 DEJ2000 ... Redshift NuPeak_obs \n", " deg deg ... Hz \n", " bytes18 float32 float32 ... float32 float32 \n", "------------------ -------- -------- ... -------- ------------------\n", "3FHL J0001.2-0748 0.3107 -7.8075 ... nan 306196370000000.0\n", "3FHL J0001.9-4155 0.4849 -41.9303 ... nan 6309576500000000.0\n", "3FHL J0002.1-6728 0.5283 -67.4825 ... nan 4466832000000000.0\n", "3FHL J0003.3-5248 0.8300 -52.8150 ... nan 7.079464e+16\n", "3FHL J0007.0+7303 1.7647 73.0560 ... nan nan\n", "3FHL J0007.9+4711 1.9931 47.1920 ... 0.2800 2511884200000000.0\n", "3FHL J0008.4-2339 2.1243 -23.6514 ... 0.1470 524807800000000.0\n", "3FHL J0009.1+0628 2.2874 6.4814 ... nan 663742400000000.0\n", "3FHL J0009.4+5030 2.3504 50.5049 ... nan 1412536400000000.0\n", " ... ... ... ... ... ...\n", "3FHL J2347.9-1630 356.9978 -16.5106 ... 0.5760 9332549000000.0\n", "3FHL J2350.5-3006 357.6354 -30.1070 ... 0.2237 3981075200000000.0\n", "3FHL J2351.5-7559 357.8926 -75.9890 ... nan nan\n", "3FHL J2352.1+1753 358.0415 17.8865 ... nan 1737799900000000.0\n", "3FHL J2356.2+4035 359.0746 40.5985 ... 0.1310 6309576500000000.0\n", "3FHL J2357.4-1717 359.3690 -17.2996 ... nan 8.912525e+16\n", "3FHL J2358.4-1808 359.6205 -18.1408 ... nan nan\n", "3FHL J2358.5+3829 359.6266 38.4963 ... nan nan\n", "3FHL J2359.1-3038 359.7760 -30.6397 ... 0.1650 2.818388e+17\n", "3FHL J2359.3-2049 359.8293 -20.8256 ... 0.0960 4073799600000000.0" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fermi_3fhl = SourceCatalog3FHL()\n", "fermi_3fhl.table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This looks very familiar again. The data is just stored as an [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html#astropy.table.Table) object. We have all the methods and attributes of the `Table` object available. E.g. we can sort the underlying table by `Signif_Avg` to find the top 5 most significant sources:\n", "\n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=5\n", "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Source_NameASSOC1ASSOC2CLASSSignif_Avg
bytes18bytes26bytes26bytes7float32
3FHL J0534.5+2201Crab NebulaPWN168.641
3FHL J1104.4+3812Mkn 421BLL144.406
3FHL J0835.3-4510PSR J0835-4510Vela X fieldPSR138.801
3FHL J0633.9+1746PSR J0633+1746PSR99.734
3FHL J1555.7+1111PG 1553+113BLL94.411
" ], "text/plain": [ "\n", " Source_Name ASSOC1 ... CLASS Signif_Avg\n", " bytes18 bytes26 ... bytes7 float32 \n", "------------------ -------------------------- ... ------- ----------\n", "3FHL J0534.5+2201 Crab Nebula ... PWN 168.641\n", "3FHL J1104.4+3812 Mkn 421 ... BLL 144.406\n", "3FHL J0835.3-4510 PSR J0835-4510 ... PSR 138.801\n", "3FHL J0633.9+1746 PSR J0633+1746 ... PSR 99.734\n", "3FHL J1555.7+1111 PG 1553+113 ... BLL 94.411" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# sort table by significance\n", "fermi_3fhl.table.sort(\"Signif_Avg\")\n", "\n", "# invert the order to find the highest values and take the top 5\n", "top_five_TS_3fhl = fermi_3fhl.table[::-1][:5]\n", "\n", "# print the top five significant sources with association and source class\n", "top_five_TS_3fhl[[\"Source_Name\", \"ASSOC1\", \"ASSOC2\", \"CLASS\", \"Signif_Avg\"]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you are interested in the data of an individual source you can access the information from catalog using the name of the source or any alias source name that is defined in the catalog:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "144.40611\n" ] } ], "source": [ "mkn_421_3fhl = fermi_3fhl[\"3FHL J1104.4+3812\"]\n", "\n", "# or use any alias source name that is defined in the catalog\n", "mkn_421_3fhl = fermi_3fhl[\"Mkn 421\"]\n", "print(mkn_421_3fhl.data[\"Signif_Avg\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercises\n", "\n", "* Try to load the Fermi-LAT 2FHL catalog and check the total number of sources it contains.\n", "* Select all the sources from the 2FHL catalog which are contained in the Galactic Center region. The methods `~gammapy.maps.WcsGeom.contains()` and `~gammapy.catalog.SourceCatalog.positions` might be helpful for this. Add markers for all these sources and try to add labels with the source names. The function [ax.text()](http://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.text.html#matplotlib.axes.Axes.text) might be also helpful.\n", "* Try to find the source class of the object at position ra=68.6803, dec=9.3331\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Spectral models and flux points\n", "\n", "In the previous section we learned how access basic data from individual sources in the catalog. Now we will go one step further and explore the full spectral information of sources. We will learn how to:\n", "\n", "* Plot spectral models\n", "* Compute integral and energy fluxes\n", "* Read and plot flux points\n", "\n", "As a first example we will start with the Crab Nebula:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PowerLawSpectralModel\n", "\n", " name value unit min max frozen error \n", "--------- ---------- -------------- --- --- ------ ---------\n", " index 2.2202e+00 nan nan False 2.498e-02\n", "amplitude 1.7132e-07 cm-2 s-1 TeV-1 nan nan False 3.389e-09\n", "reference 2.2726e-02 TeV nan nan True 0.000e+00\n" ] } ], "source": [ "crab_3fhl = fermi_3fhl[\"Crab Nebula\"]\n", "crab_3fhl_spec = crab_3fhl.spectral_model()\n", "print(crab_3fhl_spec)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `crab_3fhl_spec` is an instance of the `~gammapy.modeling.models.PowerLaw2SpectralModel` model, with the parameter values and errors taken from the 3FHL catalog. \n", "\n", "Let's plot the spectral model in the energy range between 10 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax_crab_3fhl = crab_3fhl_spec.plot(\n", " energy_range=[10, 2000] * u.GeV, energy_power=0\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We assign the return axes object to variable called `ax_crab_3fhl`, because we will re-use it later to plot the flux points on top.\n", "\n", "To compute the differential flux at 100 GeV we can simply call the model like normal Python function and convert to the desired units:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$6.3848913 \\times 10^{-12} \\; \\mathrm{\\frac{1}{GeV\\,s\\,cm^{2}}}$$" ], "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl_spec(100 * u.GeV).to(\"cm-2 s-1 GeV-1\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we can compute the integral flux of the Crab between 10 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$8.6745734 \\times 10^{-9} \\; \\mathrm{\\frac{1}{s\\,cm^{2}}}$$" ], "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl_spec.integral(energy_min=10 * u.GeV, energy_max=2000 * u.GeV).to(\n", " \"cm-2 s-1\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can easily convince ourself, that it corresponds to the value given in the Fermi-LAT 3FHL catalog:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$8.6589091 \\times 10^{-9} \\; \\mathrm{\\frac{1}{s\\,cm^{2}}}$$" ], "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl.data[\"Flux\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In addition we can compute the energy flux between 10 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$5.3114892 \\times 10^{-10} \\; \\mathrm{\\frac{erg}{s\\,cm^{2}}}$$" ], "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl_spec.energy_flux(energy_min=10 * u.GeV, energy_max=2000 * u.GeV).to(\n", " \"erg cm-2 s-1\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we will access the flux points data of the Crab:" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "FluxPoints(sed_type='flux', n_points=5)\n" ] } ], "source": [ "print(crab_3fhl.flux_points)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want to learn more about the different flux point formats you can read the specification [here](https://gamma-astro-data-formats.readthedocs.io/en/latest/spectra/flux_points/index.html).\n", "\n", "No we can check again the underlying astropy data structure by accessing the `.table` attribute:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=5\n", "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
e_mine_maxfluxflux_errnflux_errpe2dndee2dnde_errne2dnde_errpis_ulflux_ule2dnde_ulsqrt_ts
GeVGeV1 / (cm2 s)1 / (cm2 s)1 / (cm2 s)erg / (cm2 s)erg / (cm2 s)erg / (cm2 s)1 / (cm2 s)erg / (cm2 s)
float64float64float32float32float32float32float32float32boolfloat64float64float32
10.020.05.1698894e-091.3338798e-101.3338798e-101.6420408e-104.236619e-124.236619e-12Falsenannan125.15745
20.050.02.2450237e-098.671894e-118.671894e-111.1808442e-104.561268e-124.561268e-12Falsenannan88.71535
50.0150.09.2431746e-105.497474e-115.497474e-111.08686914e-106.464267e-126.464267e-12Falsenannan59.087498
150.0500.02.7589558e-102.9164688e-113.1360175e-119.2301645e-119.757128e-121.0491635e-11Falsenannan33.076164
500.02000.06.6840214e-111.4629655e-111.6916293e-116.9011685e-111.5104936e-111.746586e-11Falsenannan15.573053
" ], "text/plain": [ "\n", " e_min e_max flux ... flux_ul e2dnde_ul sqrt_ts \n", " GeV GeV 1 / (cm2 s) ... 1 / (cm2 s) erg / (cm2 s) \n", "float64 float64 float32 ... float64 float64 float32 \n", "------- ------- ------------- ... ----------- ------------- ---------\n", " 10.0 20.0 5.1698894e-09 ... nan nan 125.15745\n", " 20.0 50.0 2.2450237e-09 ... nan nan 88.71535\n", " 50.0 150.0 9.2431746e-10 ... nan nan 59.087498\n", " 150.0 500.0 2.7589558e-10 ... nan nan 33.076164\n", " 500.0 2000.0 6.6840214e-11 ... nan nan 15.573053" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl.flux_points.table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally let's combine spectral model and flux points in a single plot and scale with `energy_power=2` to obtain the spectral energy distribution:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = crab_3fhl_spec.plot(energy_range=[10, 2000] * u.GeV, energy_power=2)\n", "crab_3fhl.flux_points.to_sed_type(\"dnde\").plot(ax=ax, energy_power=2);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercises\n", "\n", "* Plot the spectral model and flux points for PKS 2155-304 for the 3FGL and 2FHL catalogs. Try to plot the error of the model (aka \"Butterfly\") as well. Note this requires the [uncertainties package](https://pythonhosted.org/uncertainties/) to be installed on your machine.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What next?\n", "\n", "This was a quick introduction to some of the high-level classes in Astropy and Gammapy.\n", "\n", "* To learn more about those classes, go to the API docs (links are in the introduction at the top).\n", "* To learn more about other parts of Gammapy (e.g. Fermi-LAT and TeV data analysis), check out the other tutorial notebooks.\n", "* To see what's available in Gammapy, browse the Gammapy docs or use the full-text search.\n", "* If you have any questions, ask on the mailing list." ] } ], "metadata": { "file_extension": ".py", "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.7.0" }, "mimetype": "text/x-python", "name": "python", "nbsphinx": { "orphan": true }, "npconvert_exporter": "python", "pygments_lexer": "ipython3", "version": 3.0 }, "nbformat": 4, "nbformat_minor": 4 }