0.15 (Dec 3, 2019)#
Summary#
Released Dec 3, 2019
12 contributors
187 pull requests (not all listed below)
What’s new?#
For Gammapy v0.15 the high level Analysis
class was moved to the newly
introduced gammapy.analysis
sub-package. The syntax of the YAML config
file was simplified and validation of config parameters is now available
for interactive use of the Analysis
class as well. Both is demonstrated in the
first analysis with Gammapy notebook.
In addition a new gammapy analysis
command line tool was introduced,
which executes the data reduction part of an analysis, based on a given config
file.
Following the proposal in PIG 18 the structure of the documentation was improved. The new overview page gives an introduction and overview of the Gammapy analysis workflow and package structure. The structure and content of the tutorials page was simplified and cleaned up and a how to page was introduced. A tutorial notebook showing how to do a joint multi-instrument analysis of the Crab Nebula using H.E.S.S. and Fermi-LAT data and HAWC flux points was added.
Another focus of the work for Gammapy v0.15 was the clean-up and unification of
the spectrum and map data reduction. Gammapy now features a MapDatasetMaker
,
and SpectrumDatasetMaker
which directly produce a MapDataset
or
SpectrumDataset
from DL3 data. The existing background estimation classes
were adapted by introducing a ReflectedRegionsBackgroundMaker
,
RingBackgroundMaker
and AdaptiveRingbackgroundMaker
. Those makers can
also be chained to create custom data reduction workflows. The new data reduction
API is shown in the second analysis with Gammapy notebook
and corresponding docs page.
A MapDatasetOnOff
class was introduced to handle on-off observation based analyses
and as a container for image based ring-background estimation. All datasets now
have a .create()
method to allow an easy creation of the dataset from a map
geometry or energy specification. Gammapy now supports spatially varying PSF and
energy dispersion in the data reduction as well as during fitting. By introducing
an in memory Observation
class Gammapy now features unified support for
binned simulations of spectrum and map datasets. This is shown in the
1d simulation and
3d simulation tutorial notebooks.
The LightCurveEstimator
was improved to use the GTIs defined on datasets
and allow for grouping of datasets according to provided time intervals. Details
are explained on the time docs page
and the newly added flare light curve notebook.
The support for 2FHL and 4FGL was improved by adding attributes returning spatial and spectral models as well as lightcurves to the corresponding objects. The support for the Fermi-LAT 1FHL catalog was dropped. An overview can be found on the catalog docs page and the catalog tutorial notebook.
Error propagation is now fully supported for the AbsorbedSpectralModel
and
NaimaModel
.
For this release the dependency on reproject
and jsonschema
was dropped. The
latter was replaced by a new dependency on pydantic
. This release contains
several API breaking changes and removal of non-essential parts of Gammapy
(see PR list below). These changes are required to finally arrive at a more
consistent and stable API for Gammapy v1.0. Thanks for your understanding!
Contributors#
In alphabetical order by first name:
Atreyee Sinha
Axel Donath
Brigitta Sipocz
Bruno Khelifi
Christoph Deil
Fabio Pintore
Fabio Acero
José Enrique Ruiz
Luca Giunti
Léa Jouvin
Quentin Remy
Régis Terrier
Pull requests#
This list is incomplete. Small improvements and bug fixes are not listed here.
See the complete Gammapy v0.15 merged pull requests list on GitHub.
[#2660] Remove tutorials/source_population_model.ipynb (Christoph Deil)
[#2654] Remove HGPS map and catalog tutorial (Christoph Deil)
[#2651] Add SkyModels read and write methods (Christoph Deil)
[#2645] Remove FluxPointsDataset chi2assym option (Christoph Deil)
[#2637] Remove keepdims option from MapDataset.to_images() (Axel Donath)
[#2635] Change Datasets model to models (Christoph Deil)
[#2627] Activate PSFMap for fitting (Atreyee Sinha)
[#2619] Unify model setters of all datasets (Axel Donath)
[#2620] Make SkyModel.spatial_model optional (Axel Donath)
[#2616] Add MapDatasetEventSampler.sample_background() method (Fabio Pintore)
[#2604] Implement additional methods for SafeMaskMaker (Luca Giunti)
[#2595] Change SpectrumDataset and FluxPointDataset model to SkyModels (Quentin Remy)
[#2594] Add light curve flare tutorial notebook (Léa Jouvin)
[#2587] Activate EDispMap in MapEvaluator (Axel Donath)
[#2585] Improve spectral model error propagation (Christoph Deil)
[#2580] Speed up Observations.select_time (Régis Terrier)
[#2574] Generalise exponential cutoff power law spectral model (Bruno Khelifi)
[#2567] Add time intervals to LightCurveEstimator (Léa Jouvin)
[#2564] Remove HpxSparseMap class (Axel Donath)
[#2563] Add in memory Observation class (Atreyee Sinha)
[#2562] Remove map reprojection functionality (Axel Donath)
[#2561] Use dataset GTI table in LightCurveEstimator (Régis Terrier)
[#2559] Replace energy grid helper functions with MapAxis (Christoph Deil)
[#2558] Remove gammapy.utils.nddata.sqrt_space (Christoph Deil)
[#2557] Add more options to Minuit wrapper (Quentin Remy)
[#2553] Remove MapDataset cstat likelihood option (Christoph Deil)
[#2552] Remove unused functions from gammapy.irf (Axel Donath)
[#2551] Cleanup mask safe handling (Axel Donath)
[#2546] Rename likelihood to stat (Christoph Deil)
[#2540] Restructure tutorial notebooks (Christoph Deil)
[#2538] Move SafeMaskMaker and adapt mask_safe handling in MapDatasetMaker (Axel Donath)
[#2536] Add WcsGeom.cutout_info information to WCS header (Axel Donath)
[#2535] Remove gammapy.detect.CWT (Christoph Deil)
[#2528] Move Analysis to new gammapy.analysis (José Enrique Ruiz)
[#2525] Remove MapMakerRing (Luca Giunti)
[#2523] Add EDispMap and PSFMap to MapDataset io (Atreyee Sinha)
[#2521] Remove .to_sherpa() methods (Axel Donath)
[#2520] Refactor ring background maker (Luca Giunti)
[#2510] Add EdispMap.sample_coord method (Fabio Pintore)
[#2505] Add a tutorial for joint 1d/3d analysis (Quentin Remy)
[#2502] Remove ObservationStats, ObservationsSummary and BackgroundEstimate (Axel Donath)
[#2501] Add .to_region() test for each spatial model (Quetin Remy)
[#2499] Remove SpectrumExtraction class (Axel Donath)
[#2498] Add mask_safe handling in MapDataset.to_image (Luca Giunti)
[#2497] Refactor PhaseBackgroundEstimator to PhaseBackgroundMaker (Axel Donath)
[#2496] Add PSFMap.sample_coord method (Fabio Pintore)
[#2493] Add region info to CountsSpectrum and adapt tutorials (Axel Donath)
[#2492] Change MapDataset.mask_fit and MapDataset.mask_safe to maps (Atreyee Sinha)
[#2491] Add SpatialModel.position_error and SpatialModel.to_region (Quentin Remy)
[#2490] Improve Parameters class (Christoph Deil)
[#2486] Update default offset value in simulate_dataset (Fabio Acero)
[#2483] Fix elongated source frame in Fermi-LAT catalogs (Quentin Remy)
[#2481] Add MapDatasetOnOff (Luca Giunti)
[#2479] Change parametrisation from geom_true to energy_axis_true (Atreyee Sinha)
[#2478] Improve 2FHL catalog support (Quentin Remy)
[#2477] Add SafeMaskMaker (Axel Donath)
[#2476] Remove Fermi-LAT 1FHL catalog (Quentin Remy)
[#2475] Implement ReflectedRegionsBackgroundMaker (Axel Donath)
[#2472] Remove multiprocessing code (Christoph Deil)
[#2470] Add MapDataset.from_geoms (Atreyee Sinha)
[#2468] Improve map and spectrum events fill methods (Christoph Deil)
[#2464] Implement SpectrumDatasetMaker (Axel Donath)
[#2463] PIG 18: Documentation (Christoph Deil)
[#2461] Remove error raising, when model component moves out of the image (Axel Donath)
[#2459] Add FluxPointsDataset serialisation (Quentin Remy)
[#2455] Improve datasets serialisation (Quentin Remy)
[#2454] Add a norm parameter to the EBL model (Léa Jouvin)
[#2450] Rename and refactor MapMakerObs #2450 (Axel Donath)
[#2449] Fix and improve 2HWC catalog source models (Quentin Remy)
[#2448] Improve 4FGL catalog support (Quentin Remy)
[#2446] Implement WcsNDMap.stack() method (Axel Donath)
[#2444] Remove MapMaker class (Axel Donath)
[#2441] Add GTI export in datasets (Régis Terrier)
[#2435] Add modeling notebook with model plot examples (Christoph Deil)
[#2433] Update astropy and numpy versions in Travis-CI (Brigitta Sipocz)
[#2405] Change value clipping in LogScale class (Quentin Remy)
[#2350] Modernise Gammapy code base (Christoph Deil)