0.11 (Mar 29, 2019)#

Summary#

  • Released Mar 29, 2019

  • 11 contributors

  • 2 months of work

  • 65 pull requests (not all listed below)

What’s new?#

Gammapy v0.11 implements a large part of the new joint-likelihood fitting framework proposed in PIG 8 - datasets . This includes the introduction of the FluxPointsDataset, MapDataset and Datasets classes, which now represent the main interface to the Fit class and fitting backends in Gammapy. As a first use-case of the new dataset classes we added a tutorial demonstrating a joint-likelihood fit of a CTA 1DC Galactic center observations. We also considerably improved the performance of the 3D likelihood evaluation by evaluating the source model components on smaller cutouts of the map. We also added a tutorial demonstrating the use of the MapDataset class for MCMC sampling and show how to interface Gammapy to the widely used emcee package. Gammapy v0.11 also includes a new pulsar analysis tutorial. It demonstrates how to compute phase curves and phase resolved sky maps with Gammapy. To better support classical analysis methods in our main API we implemented a MapMakerRing class, that provides ring and adaptive ring background estimation for map and image estimation.

Gammapy v0.11 improves the support for the scipy and sherpa fitting backends. It now implements full support of parameter freezing and parameter limits for both backends. We also added a reoptimize option to the Fit.likelihood_profile method to compute likelihood profiles with reoptimizing remaining free parameters.

For Gammapy v0.11 we added a SkyEllipse model to support fitting of elongated sources and changed the parametrization of the SkyGaussian to integrate correctly on the sphere. The spatial model classes now feature simple support for coordinate frames, such that the position of the source can be defined and fitted independently of the coordinate system of the data. Gammapy v0.11 now supports the evaluation non-radially symmetric 3D background models and defining multiple background models for a single MapDataset.

Gammapy v0.11 drops support for Python 2.7, only Python 3.5 or newer is supported (see PIG 3). If you have any questions or need help to install Python 3, or to update your scripts and notebooks to work in Python 3, please contact us any time on the Gammapy mailing list or Slack. We apologise for the disruption and are happy to help with this transition. Note that Gammapy v0.10 will remain available and is Python 2 compatible forever, so sticking with that version might be an option in some cases. pip and conda should handle this correctly, i.e. automatically pick the last compatible version (Gammapy v0.10) on Python 2, or if you try to force installation of a later version by explicitly giving a version number, emit an error and exit without installing or updating.

For Gammapy v0.11 we removed the unmaintained gammapy.datasets sub-module. Please use the gammapy download command to download datasets instead and the $GAMMAPY_DATA environment variable to access the data directly from your local gammapy-datasets folder.

Contributors#

In alphabetical order by first name:

  • Atreyee Sinha

  • Axel Donath

  • Brigitta Sipocz

  • Christoph Deil

  • Fabio Acero

  • hugovk

  • Jason Watson (new)

  • José Enrique Ruiz

  • Lars Mohrmann

  • Luca Giunti (new)

  • Régis Terrier

Pull requests#

This list is incomplete. Small improvements and bug fixes are not listed here.

See the complete Gammapy 0.11 merged pull requests list on GitHub.

  • [#2098] Remove gammapy.datasets submodule (Axel Donath)

  • [#2097] Clean up tutorial notebooks (Christoph Deil)

  • [#2093] Clean up PSF3D / TablePSF interpolation unit handling (Axel Donath)

  • [#2085] Improve EDispMap and PSFMap stacking (Régis Terrier)

  • [#2077] Add MCMC tutorial using emcee (Fabio Acero)

  • [#2076] Clean up maps/wcs.py (Axel Donath)

  • [#2071] Implement MapDataset npred evaluation using cutouts (Axel Donath)

  • [#2069] Improve support for scipy fitting backend (Axel Donath)

  • [#2066] Add SkyModel.position and frame attribute (Axel Donath)

  • [#2065] Add evaluation radius to SkyEllipse model (Luca Giunti)

  • [#2064] Add simulate_dataset() convenience function (Fabio Acero)

  • [#2054] Add likelihood profile reoptimize option (Axel Donath)

  • [#2051] Add WcsGeom.cutout() method (Léa Jouvin)

  • [#2050] Add notebook for 3D joint analysis (Léa Jouvin)

  • [#2049] Add EventList.select_map_mask() method (Régis Terrier)

  • [#2046] Add SkyEllipse model (Luca Giunti)

  • [#2039] Simplify and move energy threshold computation (Axel Donath)

  • [#2038] Add tutorial for pulsar analysis (Marion Spir-Jacob)

  • [#2037] Add parameter freezing for sherpa backend (Axel Donath)

  • [#2035] Fix symmetry issue in solid angle calculation for WcsGeom (Jason Watson)

  • [#2034] Change SkyGaussian to spherical representation (Luca Giunti)

  • [#2033] Add evaluation of asymmetric background models (Jason Watson)

  • [#2031] Add EDispMap class (Régis Terrier)

  • [#2030] Add Datasets class (Axel Donath)

  • [#2028] Add hess notebook to gammapy download list (José Enrique Ruiz)

  • [#2026] Refactor MapFit into MapDataset (Atreyee Sinha)

  • [#2023] Add FluxPointsDataset class (Axel Donath)

  • [#2022] Refactor TablePSF class (Axel Donath)

  • [#2019] Simplify PSF stacking and containment radius computation (Axel Donath)

  • [#2017] Updating astropy_helpers to 3.1 (Brigitta Sipocz)

  • [#2016] Drop support for Python 2 (hugovk)

  • [#2012] Drop Python 2 support (Christoph Deil)

  • [#2009] Improve field-of-view coordinate transformations (Lars Mohrmann)