0.20 (May 12th, 2022)#
Summary#
Released May 12th, 2022
15 contributors
184 pull requests (not all listed below)
What’s new?#
Support for energy dependent ON region spectral extraction has been added
The RADMAX IRF is now fully supported.
A specific
WobbleRegionFinder
has been introduced to find OFF regions at symmetric positions from the center of the field-of-view.A tutorial demonstrating how to perform a point-like analysis is provided. It uses a set of two test observations provided by the MAGIC collaboration to perform testing and validation of the method. We thank the Magic collaboration for their contribution.
New theme and re-structuration of the documentation
The documentation has been completely restructured. The PyData Sphinx theme is now applied.
An automated testing of docstring example code has been added. All docstrings have been fixed.
Package structure and dependencies#
This new release provides a release candidate for v1.0. It serves as the basis for the first long term stable (LTS) release of Gammapy. To ensure long term support, the minimal astropy version is 5.0, and the minimal python version is 3.8.
Because they are necessary to the vast majority of Gammapy use cases, iminuit and matplotlib are now required dependencies. Matplotlib >=3.5 is now supported as well as regions 0.6.
Bug fixes and improvements#
gammapy.data
To correctly track observation information for simulations,
Observation.create()
now takes anobservatory_location
argument (default isNone
).an
EventList.write()
convenience method has been added.the observation table is now optional on the
DataStore
as per g.a.d.f.a list of required irfs can be passed to
DataStore.get_observations()
. Predefined shortcuts are provided forfull-containment
(default) andpoint-like
.
gammapy.estimators
A method to resample the energy axis of a
Dataset
based on counts statistics criteria (e.g. minimum number ofcounts
orcounts_off
): gammapy.estimators.utils.resample_energy_axis()`
gammapy.makers
The behaviour of the
bkg-peak
method of theSafeMaskMaker
has been changed to avoid removing the first energy bin if the maximum number of background counts is in the first energy bin.
gammapy.modeling
A new
is_norm
property has been added to theParameter
object. It is used to determine the parameter giving the flux normalization and solves a bug with the flux point estimation using aCompoundModel
.Fit.covariance()
now correctly handles shared (linked) parameters.FitResult
now contains a copy of theModels
after the fit. Itsparameters
attribute is not modified by further manipulation of the initial model.
gammapy.analysis
DatasetsMaker
is now internally used and can be configured in the yaml file.
gammapy.catalog
The 4FGL data release 3 has been added.
Contributors#
Fabio Acero
Arnau Aguasca
Tyler Cahill
Alisha Chromey
Axel Donath
Luca Giunti
Cosimo Nigro
Maximilian Nöthe
Laura Olivera-Nieto
Dimitri Papadopoulos
Fabio Pintore
Quentin Rémy
Jose Enrique Ruiz
Atreyee Sinha
Régis Terrier
Pull Requests#
This list is incomplete. Small improvements and bug fixes are not listed here.
[#3941] Introduce matplotlib as required dependency (Régis Terrier)
[#3936] Introduce iminuit as required dependency (Axel Donath)
[#3933] Add support for regions v0.6 (Axel Donath)
[#3918] Improve fit results (Luca Giunti)
[#3915] Fix evaluate_containment calculation in class PSFKing(ParametricPSF) (Alisha Chromey)
[#3906] Require astropy v>=5.0 (Axel Donath)
[#3905] Use .is_norm property in FluxEstimator (Axel Donath)
[#3904] Fix bug on MC_ID when sampling IRF background events (Fabio Pintore)
[#3898] Add Map.resample method (Quentin Rémy)
[#3895] Add MapAxes .__eq__, .__neq__, and .copy() (Quentin Rémy)
[#3892] Allow for regular reflected region analysis with fixed rad_max IRFs (Régis Terrier)
[#3887] Implement __eq__ for DL3 IRFs (Atreyee Sinha)
[#3876] Add temporal model on flux point dataset (Atreyee Sinha)
[#3874] Allow MapDatasetOff in Datasets serialization and avoid read_lazy (Quentin Rémy)
[#3873] Modify SafeMaskMaker to ignore data only below the background peak (Atreyee Sinha)
[#3860] Introduce is_norm parameter property (Axel Donath)
[#3856] Make obs_table optional on DataStore (Régis Terrier)
[#3846] Allows DataStoreMaker to be used with IRFs not following CALDB structure (Quentin Rémy)
[#3842] Update SourceCatalog4FGL class to support changes in data release 3 (Quentin Rémy)
[#3837] Allow nearest neighbor interpolation with scalar data (Axel Donath)
[#3833] Automate generation of codemeta.json and .zenodo.json files (Jose Enrique Ruiz)
[#3817] Improve documentation theme (Jose Enrique Ruiz)
[#3810] Fix doc strings in estimators (Atreyee Sinha)
[#3806] Improve documentation for the DatasetsMaker (Quentin Rémy)
[#3804] Event wise rad max (Maximilian Nöthe)
[#3802] Use DatasetsMaker in Analysis class (Quentin Rémy)
[#3797] Refactor pointing information handling and Observation.create (Maximilian Nöthe)
[#3796] Helper function to rebin map axis (Luca Giunti)
[#3783] Speed docs building process (Jose Enrique Ruiz)
[#3777] Validate EnergyDispersion2D units (Fabio Pintore)
[#3761] Execute notebooks in parallel (Maximilian Nöthe)
[#3760] Fix issues reported by pyflakes and add pyflakes step to ci (Maximilian Nöthe)
[#3752] Human readable energy units string formatting for plot_interactive & plot_grid (Fabio Acero)
[#3748] Fix doc strings for makers and datasets (Atreyee Sinha)
[#3740] Common format axis labels (Fabio Pintore)
[#3733] Add new RegionsFinder that uses a fixed number of regions symmetrically distributed on the circle (Cosimo Nigro)
[#3728] Add missing required GADF headers in IRF classes (Maximilian Nöthe)
[#3722] Switch documentation to PyData Sphinx Theme (Jose Enrique Ruiz)
[#3720] Add convenience method to write EventLists to file (Laura Olivera Nieto)
[#3713] Fix matplotlib 3.5+ incompatibility with WcsNDMap.plot() (Tyler Cahill)
[#3712] Added a notebook tutorial showing an energy-dependent spectrum extraction (Cosimo Nigro)
[#3699] Use mamba in CI jobs (Maximilian Nöthe)
[#3684] Started to implement the energy-dependent 1D spectrum extraction (Cosimo Nigro)
[#3669] Add GeneralizedGaussianTemporalModel (Arnau Aguasca)
[#3535] Add TemplateNDSpectralModel (Quentin Rémy)